两个共阴极数码管显示88程序

两个共阴极数码管显示88程序,第1张

需要NPN三极管。数码管又分为共阴极和共阳极两种类型,两个共阴极数码管显示88程序是需要NPN三极管进行驱动电路,三极管的集电极连接电源,发射极连接数码管的位选端,基极连接单片机进行控制。

将dispcode[]部分是数字显示的控制,输出时取反

将dispbitcode[]部分是数字显示的控制,输出时取反

还需要将电路中驱动的三极管由PNP改成NPN接地

    你所说的“8”  0xff是共阴的,那么要是他点亮,8段数码管abcdefg都应该为1,h是小数点,没有用到,则是0

              abcdefgh则为:11111110 

              把顺序倒过来就是01111111

把八为二进制分2组,四位一组

根据8421码:

 8  4  2  1      8   4  2  1

-----------------------------------------------------

 0  1  1  1     1   1   1   1

4+2+1=7        8+4+2+1=15  (分数下面是0的不用和上面相加的)

16进制中  10=a  11=b  12=c 13=d 14=e 15=f

即  0x7f

你上面说的8=0xff是把小数点也算上去了的!

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-10000)

MOV TL0,#LOW(65536-10000)

SETB ET0

SETB EA

MOV R0,#9

MOV R1,#9

MOV R2,#0

MOV R3,#9

CLR 00H

CLR 01H

LOOP:

JB P10,LP01

JNB P10,$

SETB TR0

CLR 01H

SJMP LOOP0

LP01:

JB P11,LP02

JNB P11,$

SETB 01H

SJMP LOOP0

LP02:

JB P12,LOOP0

JNB P11,$

CLR TR0

MOV P3,#0FDH

MOV P2,#0

MOV P3,#0FEH

MOV P2,#0

SJMP MAIN

LOOP0:

JB 00H,LOOP1

MOV A,R0

SJMP LOOP2

LOOP1:

MOV A,R1

LOOP2:

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV R3,A

SJMP LOOP

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-10000)

MOV TL0,#LOW(65536-10000)

SETB TR0

JB 01H,T0C

INC R2

T0C:

CPL 00H

MOV A,R3

JB 00H,T001

MOV P3,#0FDH

MOV P2,A

SJMP T002

T001:

MOV P3,#0FEH

MOV P2,A

T002:

MOV A,R2

CJNE A,#100,T0E

MOV R2,#0

MOV A,R0

JZ T003

DEC R0

SJMP T0E

T003:

MOV A,R1

JZ T004

DEC R1

MOV R0,#9

T0E:

RETI

T004:

CLR TR0

RETI

TABLE: ; 共阴极数码管显示代码表

DB 3FH,06H,5BH,4FH,66H ;01234

DB 6DH,7DH,07H,7FH,6FH ;56789

END

这程序很难写,简单给你分析一下原因。

数码管其实也是LED二极管,你的接法是数码管和LED灯的正负极刚好相反,是这样吧?那数码管亮,LED灯就灭。反之,数码管灭,LED灯就亮。在数码管动态扫描显示时,不亮的段所对应的LED灯就会亮,数码管扫描显示一遍,数码管是动态显示的,那LED灯也是动态点亮的,即都是在间断点亮,那效果就是全亮,与数码管显示的原理是相同的。

数码管可以控制显示数字,可LED灯却无法控制点亮几个,而是全亮,不能控制。

如果想特意控制LED灯几个亮,几个灭,那就有几个数码管的几段会亮,显示的肯定是乱码。

这数码管和LED灯互相影响,无法正常显示。你可以正常写一个数码管的程序,先不管LED灯,看实际效果是什么,是不是上述说的?

为什么要这么复用?是单片机I/O脚不够吗,那有很多扩展方法,也不能用这种方法,如果这种方法能行的话,早就有人这么做了,你以为,你很聪明能想到这种方法吗?

还是把电路改了吧,别自找麻烦,设计电路的时候也要考虑能不能写程序。

以上就是关于两个共阴极数码管显示88程序全部的内容,包括:两个共阴极数码管显示88程序、共阴极数码管替换成共阳极数码管如何改程序,希望高手帮忙..、单片机 共阴数码管。如何编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9507347.html

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

发表评论

登录后才能评论

评论列表(0条)

保存