数码管简介

 图片来源:《霖锋-带你征服嵌入式》

数码管有7段发光二极管组成一个“日” ,dp是小数点;分为共阴(左图)和共阳(右图)两种情况,因为发光二极管的电流是3mA-10mA,所以,我们需要添加限流电阻。

B(0x7C),显示的是小写的b,(区别于8)

D (0x5e),显示的是小写的d.(区别于0)

数码管静态显示和动态显示:

静态显示:一组I/O口接一组数码管,4组I/O口接四组数码管;

动态显示:数码管的段选(7段)控制数码管显示的数字;位选控制哪个数码管显示;

采用动态扫描显示的方式,轮流向各位数码管送出字形码和相应的位选,利用发光二极管的余晖和人眼视觉暂留作用,

使人感觉各位数码管同时都在显示。动态相较静态,光线会暗,所以限流电阻要小一些,使电流大写,以增加亮度。

373芯片是起到放大电流的作用。可以看做是直连过去的。

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这里是一个简单的Python代码,用于绘制七段数码管。代码使用了turtle库进行绘制,并且使用了time模块进行动态显示。 ``` import turtle import time def drawLine(draw): # 绘制单段数码管 turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90) def drawDigit(digit): # 根据数字绘制七段数码管 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) turtle.left(180) turtle.penup() turtle.fd(20) def drawDate(date): # 获取当前日期,格式为 "%Y-%m=%d+" turtle.pencolor("red") for i in date: if i == '-': turtle.write('年',font=("Arial", 18, "normal")) turtle.pencolor("green") turtle.fd(40) elif i == '=': turtle.write('月',font=("Arial", 18, "normal")) turtle.pencolor("blue") turtle.fd(40) elif i == '+': turtle.write('日',font=("Arial", 18, "normal")) else: drawDigit(eval(i)) def main(): turtle.setup(800, 350, 200, 200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) turtle.hideturtle() turtle.done() main() # 调用主函数 ``` 代码中定义了三个函数,分别用于绘制单段数码管、根据数字绘制七段数码管和获取当前日期。在主函数中,设置了画布大小、画笔位置和大小,并且调用了drawDate函数进行绘制。通过time模块获取当前日期,并将日期格式化为"%Y-%m=%d+"的形式,然后调用drawDigit函数进行绘制。最后隐藏画笔,完成绘制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值