忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 14322 | 回复: 2

Micropython实例之TPYBoardv102位数码管显示实验 [复制链接]

论坛徽章:
0
发表于 2018-06-19 16:42 |显示全部楼层
    所需原器件

    1   TPYBoard v102 一块
    2   四位数码管一个
    3   杜邦线若干
    4   面包板一块(为了接线方便,可不用)

    接线图
    四位数码管引脚图
1.jpg
2.jpg

    开发板与四位数码管针脚对应:
3.png

    程序源代码:
  1. import pyb
  2. from pyb import Pin

  3. #数码管a~g dp对应的开发板引脚
  4. d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']]
  5. #数码管位段1 2 3 4对应的引脚
  6. w_Pins=[Pin(i,Pin.OUT_PP) for i in ['Y9','Y10','Y11','Y12']]

  7. number={
  8. '0':
  9. [0,0,0,0,0,0,1,1],#0
  10. '1':
  11. [1,1,1,1,0,0,1,1],#1
  12. '2':
  13. [0,0,1,0,0,1,0,1],#2
  14. '3':
  15. [0,0,0,0,1,1,0,1],#3
  16. '4':
  17. [1,0,0,1,1,0,0,1],#4
  18. '5':
  19. [0,1,0,0,1,0,0,1],#5
  20. '6':
  21. [0,1,0,0,0,0,0,1],#6
  22. '7':
  23. [0,0,0,1,1,1,1,1],#7
  24. '8':
  25. [0,0,0,0,0,0,0,1],#8
  26. '9':
  27. [0,0,0,0,1,0,0,1],#9
  28. }

  29. def display(num,dp):
  30.     global number
  31.     count=0
  32.     for pin in d_Pins:#显示num的值
  33.         pin.value(number[num][count])
  34.         count+=1
  35.     if dp==1:
  36.         d_Pins[7].value(0)
  37. def clear():
  38.     for i in w_Pins:
  39.         i.value(0)
  40.     for i in d_Pins:
  41.         i.value(1)
  42. def showData(num):
  43.     #分割出数值的百位、千位、个位和小数位的值
  44.     d_num=num
  45.     location=d_num.find('.')
  46.     if location>0:
  47.         d_num=d_num.replace('.','')
  48.         while len(d_num)<4:
  49.             d_num='0'+d_num
  50.         for i in range(0,4):
  51.             pyb.udelay(2000)
  52.             clear()
  53.             w_Pins[3-i].value(1)
  54.             if i==location-1:
  55.                 display(d_num[i],1)
  56.             else:
  57.                 display(d_num[i],0)
  58.     if location<0:
  59.         for i in range(0,4):
  60.             pyb.udelay(2000)
  61.             clear()
  62.             w_Pins[3-i].value(1)
  63.             display(d_num[i],0)
  64. while True:

  65.     num='9016'
  66.     showData(num)
复制代码


论坛徽章:
0
发表于 2018-06-20 15:12 |显示全部楼层
膜拜技术大佬

论坛徽章:
21
黄金圣斗士
日期:2015-11-30 13:20:27技术图书徽章
日期:2018-08-22 12:23:35技术图书徽章
日期:2018-08-22 12:23:43技术图书徽章
日期:2018-08-22 12:23:52技术图书徽章
日期:2018-08-22 12:24:05技术图书徽章
日期:2018-08-22 12:24:12技术图书徽章
日期:2018-08-22 12:24:20技术图书徽章
日期:2018-08-22 12:24:27技术图书徽章
日期:2018-08-22 12:24:40技术图书徽章
日期:2018-08-22 12:23:27技术图书徽章
日期:2018-08-22 12:23:15技术图书徽章
日期:2018-08-22 12:23:02
发表于 2018-06-20 20:11 |显示全部楼层
     厉害了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

【重磅资料】多云网络实战的相关问题汇总!
云网融合的多云网络

本文介绍如何管理私有云数据中心,构建数据中心互联和混合云解决方案。对于OTT 网络架构的深入理解,基本上来源于SIGCOM 的白皮书和一些公开视频。

Overlay SDN 控制器详解

云计算为了适应业务/APP 的快速开发和部署,会把网络分为两层:Overlay 和 Underlay 网络。本文主要讲Overlay网络层面的问题。

超级核心路由器演进

2016 年,网络连接已经采用100G/200G/400G(虽然 400GE 接口技术还未成熟),互联网出口也已经增长到了 T 级别。

获得资料 >>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP