一、前言
二、芯片使用
1、74hc245
2、74ls138译码器
三、硬件连接
四、软件代码
五、效果展示
六、代码链接
一、前言
数码管进行显示成果后,可根据自己的想法进行改进。本设计采用八位数码管进行循环显示0~f,其中涉及到段码及位码的调用,可更深一步的理解数码管的使用。
二、芯片使用
1、74hc245

本设计中数码管的段选使用74hc245进行驱动。可以为数码管提供足够且稳定的电压,数码管与74hc245芯片之间需加电阻进行分压以保护数码管不会因为电压过大而烧毁。
芯片引脚功能:
第1脚DIR,为输入输出端口转换用, DIR=“1”高电平时信号由“A”端输入“B”端输出, DIR=“0”低电平时信号由“B”端输入“A”端输出。
第2~9脚“A”信号输入输出端,A1=B1﹑﹑﹑﹑﹑﹑A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第11~18脚“B”信号输入输出端,功能与“A”端一样,不在描述。
第19脚G,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用
第10脚GND,电源地。
第20脚VCC,电源正极。
序号名称功能1DIR输入输出转换端口,高电平A到B,低电平B到A。2~9A0~A7输入输出端口10GND电源负极11~18B7~B0输入输出端口19OE使能端,高电平信号不导通,低电平导通20VCC电源正极2、74ls138译码器

本设计中数码管的位选使用138译码器进行驱动,使用的数码管为共阴极数码管。
芯片引脚功能:
A0~A2对应Y0——Y7;A0,A1,A2以二进制形式输入,然后转换成[十进制,对应相应Y的序号输出低电平,其他均为高电平;
序号名称功能1~3A0、A1、A2地址输入端4、5E3、E2选通端(低电平有效)6E1选通端(高电平有效)8GND电源负极7、9~15Y7~Y0输出端16VCC电源正极三、硬件连接
实物图

原理图

最小单片机系统

驱动电路

位码控制电路

四、软件代码

main主函数
主函数较为简单,对数码管显示函数的调用,以及定时器函数的初始化。
void Timer0() interrupt 1
定时器函数,用于调整循环的快慢以及显示数字的变化
大致讲解:在进行位选后,相对应的段码就会选出来。程序中i用于位选。对应的段码是m。m=j+i是由于0~f有16位
数码管段码、位码显示函数。
五、效果展示
视频拍摄效果较差多多包涵。
六、代码链接
关注公众号“小小创客者”回复“数码管循环显示数字”获得代码及仿真,如有错误欢迎指正。
免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:数码管循环显示数字 https://www.zentong.com/zt/8800.html