51单片机显示八位数码管的C语言程序

51单片机显示八位数码管的C语言程序,第1张

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 0000H

MAIN:

    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,....


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11421416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存