十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“python怎么实现数码管显示”,在日常操作中,相信很多人在python怎么实现数码管显示问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么实现数码管显示”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
缙云网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
import pyb from pyb import Pin #数码管a~g dp对应的开发板引脚 d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']] #数码管位段1 2 3 4对应的引脚 w_Pins=[Pin(i,Pin.OUT_PP) for i in ['Y9','Y10','Y11','Y12']] number={ '0': [0,0,0,0,0,0,1,1],#0 '1': [1,1,1,1,0,0,1,1],#1 '2': [0,0,1,0,0,1,0,1],#2 '3': [0,0,0,0,1,1,0,1],#3 '4': [1,0,0,1,1,0,0,1],#4 '5': [0,1,0,0,1,0,0,1],#5 '6': [0,1,0,0,0,0,0,1],#6 '7': [0,0,0,1,1,1,1,1],#7 '8': [0,0,0,0,0,0,0,1],#8 '9': [0,0,0,0,1,0,0,1],#9 } def display(num,dp): global number count=0 for pin in d_Pins:#显示num的值 pin.value(number[num][count]) count+=1 if dp==1: d_Pins[7].value(0) def clear(): for i in w_Pins: i.value(0) for i in d_Pins: i.value(1) def showData(num): #分割出数值的百位、千位、个位和小数位的值 d_num=num location=d_num.find('.') if location>0: d_num=d_num.replace('.','') while len(d_num)<4: d_num='0'+d_num for i in range(0,4): pyb.udelay(2000) clear() w_Pins[3-i].value(1) if i==location-1: display(d_num[i],1) else: display(d_num[i],0) if location<0: for i in range(0,4): pyb.udelay(2000) clear() w_Pins[3-i].value(1) display(d_num[i],0) while True: num='9016' showData(num)
所需原器件
1 TPYBoard v102 一块
2 四位数码管一个
3 杜邦线若干
4 面包板一块(为了接线方便,可不用)
接线图
四位数码管引脚图
开发板与四位数码管针脚对应:
程序源代码:
import pyb from pyb import Pin #数码管a~g dp对应的开发板引脚 d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']] #数码管位段1 2 3 4对应的引脚 w_Pins=[Pin(i,Pin.OUT_PP) for i in ['Y9','Y10','Y11','Y12']] number={ '0': [0,0,0,0,0,0,1,1],#0 '1': [1,1,1,1,0,0,1,1],#1 '2': [0,0,1,0,0,1,0,1],#2 '3': [0,0,0,0,1,1,0,1],#3 '4': [1,0,0,1,1,0,0,1],#4 '5': [0,1,0,0,1,0,0,1],#5 '6': [0,1,0,0,0,0,0,1],#6 '7': [0,0,0,1,1,1,1,1],#7 '8': [0,0,0,0,0,0,0,1],#8 '9': [0,0,0,0,1,0,0,1],#9 } def display(num,dp): global number count=0 for pin in d_Pins:#显示num的值 pin.value(number[num][count]) count+=1 if dp==1: d_Pins[7].value(0) def clear(): for i in w_Pins: i.value(0) for i in d_Pins: i.value(1) def showData(num): #分割出数值的百位、千位、个位和小数位的值 d_num=num location=d_num.find('.') if location>0: d_num=d_num.replace('.','') while len(d_num)<4: d_num='0'+d_num for i in range(0,4): pyb.udelay(2000) clear() w_Pins[3-i].value(1) if i==location-1: display(d_num[i],1) else: display(d_num[i],0) if location<0: for i in range(0,4): pyb.udelay(2000) clear() w_Pins[3-i].value(1) display(d_num[i],0) while True: num='9016' showData(num)
到此,关于“python怎么实现数码管显示”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!