1、最开始,我们先打开keil。
2、接着,我们要定义好库函数,想要实现动态数码灯,这个步骤是很重要的。
3、接着,我们加上一条循环语句。
4、最后,我们把先前定义的延时语句delayms写好。
5、最后,点击这里进行编译,生成一个hex文件。
6、如果这里无错误警告的话,就说明我们的程序写对了,那我们就可以点亮动态数码管了。
亲,很高兴为您解答:使用锁存器驱动方式设计八位共阳极数码管的驱动电路答:亲亲你好 锁存器驱动方式 通过锁存器74HC573的方式,来做数码管的电路搭建。 该方式,8位数码管,需要10个IO口来驱动,由于锁存器拥有数据锁存的功能,故可以分时复用IO口在数码管的段与位处理上。通过数码管驱动芯片CH451的方式,来做数码管的电路搭建。 该方式,8位数码管,需要6个IO口来驱动。数码管的控制逻辑全部集成在驱动芯片CH451上了,只需要将所需显示的数值,根据CH451芯片手册对应的驱动时序,传输给到CH451芯片,就能实现数码管的显示。共阳数码有8个发光二极管,其余的8个负板引出后称为a,b,c,d,e,f,g,Dp,应该接驱动电路或译码器。 而两个公共端接+5V的接法,是静态显示电路,那8个负极怎么接要看是用什么译吗啦,如果用74LS247七段显示译码来译码的话,则74LS247的7个输出端Ya,Yb,Yc,Yd,Ye,Yf,Yg就接数码管a,b,c,d,e,f,g,不能显示小数点,就不接Dp了。 如果是用单片机设计的电路,就可以用锁存器或8位驱动器的8位输出端接数码管,需要由单片机编程输出显示的段码才能显示出相应的字符来。感谢您的耐心等待。 希望您对我的回答满意,再次祝您事事顺心!平安喜乐!设置一个数码管段位表ledtable,共16个,值就是共阴8 段(含小数点)数码管的段码。 8 段从上面一横开始顺时针依次为a、b、c、d、e、f、g(中间的横)和h(小数点),分别接在单片机IO口的0~7 ,例如要显示0,则段码为0011 1111 即0x3f 。 其它,你可自行推出。
程序上实现:
ORG 0000HMAIN:
MOV R0,#0
LOOP:
MOV A,RO
MOV DPTR,#LEDTABLE
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
MOV A,R0
DJNE A,#16,LOOP
MOV RO,#0
AJMP LOOP
DELAY:
NOP
RET
ORG 0500H
LEDTABLE:
DB 3FH,....
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)