3290|0

212

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

PYB Nano驱动数码管模拟红绿灯 [复制链接]

 
        此次使用PYB Nano开发板的GPIO直接驱动LIN-3643SR四位共阴数码管显示,实现模拟红绿灯的功能,这个实验可以用于大家练习在MicroPython下如何使用GPIO。
【1】硬件连接:

【2】程序源码:
  1. # main.py -- put your code here!
  2. import pyb
  3. from pyb import LED
  4. ledR = LED(1)
  5. ledG = LED(2)
  6. ledY = LED(3)
  7. ledB = LED(4)
  8. seg1 = pyb.Pin("Y5",pyb.Pin.OUT_PP)
  9. seg2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
  10. seg3 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
  11. seg4 = pyb.Pin("X4",pyb.Pin.OUT_PP)
  12. a = pyb.Pin("Y4",pyb.Pin.OUT_PP)
  13. b = pyb.Pin("Y0",pyb.Pin.OUT_PP)
  14. c = pyb.Pin("X6",pyb.Pin.OUT_PP)
  15. d = pyb.Pin("X8",pyb.Pin.OUT_PP)
  16. e = pyb.Pin("X9",pyb.Pin.OUT_PP)
  17. f = pyb.Pin("Y3",pyb.Pin.OUT_PP)
  18. g = pyb.Pin("X5",pyb.Pin.OUT_PP)
  19. dp= pyb.Pin("X7",pyb.Pin.OUT_PP)
  20. seg1.low()
  21. seg2.low()
  22. seg3.low()
  23. seg4.low()
  24. dp.value(0)
  25. def nine():
  26.    a.value(1)
  27.    b.value(1)
  28.    c.value(1)
  29.    d.value(1)
  30.    f.value(1)
  31.    g.value(1)
  32.    pyb.delay(1000)
  33.    a.value(0)
  34.    b.value(0)
  35.    c.value(0)
  36.    d.value(0)
  37.    f.value(0)
  38.    g.value(0)
  39. def eight():
  40.    a.value(1)
  41.    b.value(1)
  42.    c.value(1)
  43.    d.value(1)
  44.    e.value(1)
  45.    f.value(1)
  46.    g.value(1)
  47.    pyb.delay(1000)
  48.    a.value(0)
  49.    b.value(0)
  50.    c.value(0)
  51.    d.value(0)
  52.    e.value(0)
  53.    f.value(0)
  54.    g.value(0)
  55. def seven():
  56.    a.value(1)
  57.    b.value(1)
  58.    c.value(1)
  59.    pyb.delay(1000)
  60.    a.value(0)
  61.    b.value(0)
  62.    c.value(0)
  63. def six():
  64.    a.value(1)
  65.    f.value(1)
  66.    e.value(1)
  67.    d.value(1)
  68.    c.value(1)
  69.    g.value(1)
  70.    pyb.delay(1000)
  71.    a.value(0)
  72.    f.value(0)
  73.    e.value(0)
  74.    d.value(0)
  75.    c.value(0)
  76.    g.value(0)
  77. def five():
  78.    a.value(1)
  79.    f.value(1)
  80.    g.value(1)
  81.    c.value(1)
  82.    d.value(1)
  83.    pyb.delay(1000)
  84.    a.value(0)
  85.    f.value(0)
  86.    g.value(0)
  87.    c.value(0)
  88.    d.value(0)
  89. def four():
  90.    b.value(1)
  91.    c.value(1)
  92.    g.value(1)
  93.    f.value(1)
  94.    pyb.delay(1000)
  95.    b.value(0)
  96.    c.value(0)
  97.    g.value(0)
  98.    f.value(0)
  99. def three():
  100.    a.value(1)
  101.    b.value(1)
  102.    g.value(1)
  103.    c.value(1)
  104.    d.value(1)
  105.    pyb.delay(1000)
  106.    a.value(0)
  107.    b.value(0)
  108.    g.value(0)
  109.    c.value(0)
  110.    d.value(0)
  111. def two():
  112.    a.value(1)
  113.    b.value(1)
  114.    g.value(1)
  115.    e.value(1)
  116.    d.value(1)
  117.    pyb.delay(1000)
  118.    a.value(0)
  119.    b.value(0)
  120.    g.value(0)
  121.    e.value(0)
  122.    d.value(0)
  123. def one():
  124.    b.value(1)
  125.    c.value(1)
  126.    pyb.delay(1000)
  127.    b.value(0)
  128.    c.value(0)
  129. def zero():
  130.    a.value(1)
  131.    b.value(1)
  132.    c.value(1)
  133.    d.value(1)
  134.    e.value(1)
  135.    f.value(1)
  136.    pyb.delay(1000)
  137.    a.value(0)
  138.    b.value(0)
  139.    c.value(0)
  140.    d.value(0)
  141.    e.value(0)
  142.    f.value(0)
  143. while True:
  144.    ledR.on()
  145.    nine()
  146.    eight()
  147.    seven()
  148.    six()
  149.    five()
  150.    four()
  151.    three()
  152.    two()
  153.    one()
  154.    zero()
  155.    ledR.off()
  156.    ledG.on()
  157.    nine()
  158.    eight()
  159.    seven()
  160.    six()
  161.    five()
  162.    four()
  163.    three()
  164.    two()
  165.    one()
  166.    zero()
  167.    ledG.off()
  168.    ledY.on()
  169.    three()
  170.    two()
  171.    one()
  172.    zero()
  173.    ledY.off()
复制代码

【3】效果演示:



视频演示:
PYB Nano驱动数码管模拟红绿灯


赞赏

1

查看全部赞赏

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表