8段数码管编程 8个数码管依次显示的程序

来源:大业商务网 2019-06-25 18:12:16

1, 8个数码管依次显示的程序



请问朋友你开关是电源开关还是控制键盘?
如果是电源开关,那么汇编程序好写。
程序如下:
P2口送位控制,P0口送显示数据(P1.0——P1.6对应数码管abcdefg),用于共阳数码管,
ORG 0000H;跳过中断入口
LJMP START;
ORG 0030H;主程序开始
START:MOV SP,#60;初始化堆栈
MOV DPTR,#TAB;显示数据表格首址送数据指针
MOV R0,#0FEH;位控制寄存器
MOV R1,#0;取码寄存器
MOV P2,#0FFH;
MOV R4,#255;延时控制
MOV P0,#0FFH;
MOV R2,#8;要显示8个数,既8个数码管同时显示01234567;
L1:MOV A,R1;
MOVC A,@A+DPTR;
MOV P0,A;送显示数据
MOV P2,R0;送位控制
DJNZ R4,$;延时
MOV P2,#0FFH;关显示
INC R1;显示下一个数据,
MOV A,R0;
RL A;下一位数码管显示
MOV R0,A;
DJNZ R2,L1;
AJMP START;
TAB:DB 0C0H;0
DB 0F9H;1
DB 0A4H;2
DB 0B0H;3
DB 99H; 4
DB 92H; 5;
DB 82H; 6
DB 0F8H;7
END

2, 8段数码管的原理



单片机i/o的应用最典型的是通过i/o口与7段led数码管构成显示电路,我们从常用的led显示原理开始,详尽讲解利用单片机驱动led数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解i/o口的编程原理,意在起举一反三,抛砖引玉的作用。
led的发光原理,稍有电子技术基础的人士都很清楚,我们不想作过多的介绍,7段led数码管,则在一定形状的绝缘材料上,利用单只led组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。
led数码管根据led的接法不同分为共阴和共阳两类,了解led的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
将多只led的阴极连在一起即为共阴式,而将多只led的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,led的电流通常较小,一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。

3, 8段数码管的原理



由横、竖笔划构成一个 8 字,共有几个笔划?你数数看,对,是 7 笔划----- 也就叫做 7 段;
在此 7 段的基础上再加入一个点(8字的右下侧)的笔划,共有8个笔划----- 也就叫做 8 段;
这里的每一笔划,用一个LED发光表示,要显示8字,则对应的7个笔划LED都要发光,要显示7字,则对应的3个笔划LED都要发光,等等。将这些LED集合在一起,就构成了 7 段或 8 段数码管;
如何集合就不说了,一楼也答了,你也可以到网上查看;

相关概念


led

发光二极管简称为LED是指由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成的可以把电能转化为光能的半导体二极管的一种。 当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。因化学性质又分有机发光二极管OLED和无机发光二极管LED。

编程

编程,是让计算机为解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。 随计算机语言的种类非常多,可分成机器语言,汇编语言,高级语言三大类。计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。程序设计语言编写的源程序转换到机器目标程序有:解释方式和编译方式两种。

相关阅读