LED数码管显示实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LED数码管显示实验
一、实验目的:
(1)进一步掌握8255的工作原理。
(2)学习LED数码管的显示原理。
(3)熟悉LED数码管显示器的接口设计方法。
二、实验设备:
MUT—Ⅲ型实验箱、8086CPU模块。
三、实验内容:
编程实现在六位LED数码管上“E”字跑马灯。
四、实验电路原理图:
CPU 8255A
八段LED数码管显示器采用共阴极接法,其段码由8255A的A口输出,通过PA0~PA7分别送给LED1~LED6的段码输入端(LED-A,LED-B,…,LED-G,LED-DP)。显示器的位扫描信号经B口输出,通过PB0~PB5提供给数码管的公共极。数码管采用动态扫描的方式显示。
八段LED数码管显示原理:
如下图(a)所示,LED数码管的主要部分是由八段发光二极管构成,这八段发光二极管分别称为a,b,c,d,e,f,g和DP(小数点)。通过7个发光二极管的不同组合,可以显示数字0~9和字母A~F,从而实现十六进制数的显示。
LED数码管可以分为共阳极和共阴极两种结构,图(b)为共阳极结构,数码显示端输入低电平有效,当某一段为低电平时,该段便发光;图(c)为共阴极结构,数码显示端输
入高电平有效,当某一段得到高电平时,便发光。例如,当a,b,g,e,d为高电平,而其他段为低电平时,则显示数字“2”。
显示段码与各段的对应关系如下图所示。根据对应关系,LED数码管在共阴极结构下,数字“2”的显示段码为01011011 B(即5BH)
下表是数字0~9与字母A~F的七段数码管显示段码。
五、实验步骤:
(1)实验连线
PA0连LED-A,PA1连LED-B,PA2连LED-C,PA3连LED-D,PA4连LED-E,PA5
连LED-F,PA6连LED-G,PA7连LED-DP; PB0连LED1,PB1连LED2,PB2连LED3,
PB3连LED4,PB4连LED5,PB5连LED6。CS0 CS8255(注意:运行程序前,需
要除去电路板上数码管右侧的跳线!表示使用外部接口电路)
(2)编写程序,全速运行,观察实验结果
六、参考程序
CODE SEGMENT
ASSUME CS:CODE
ORG 0100H
START: MOV DX, 04A6H ;8255控制口地址
MOV AL, 80H ;A口和B口工作于方式0,输出
OUT DX, AL
COUNT: MOV CX, 6 ;循环次数
MOV BL, 11011111B ;位选码初值:PB5=0,选中LED6, 其它灭NEXT: MOV DX, 04A0H ;A口地址
MOV AL, 79H ;“E”的段码送AL
OUT DX, AL ;显示“E”
MOV DX, 04A2H ;B口地址
MOV AL, BL ;送位选码给AL
OUT DX, AL
CALL DELAY ;延时
SAR BL, 1 ;位选码右移1位,选择下一位数码管
LOOP NEXT
JMP COUNT ;显示完一轮后再继续显示下一轮
DELAY: MOV SI, 8FFFH ;延时约1秒的子程序
DELAY1: NOP
NOP
DEC SI
JNZ DELAY1
RET
CODE ENDS
END START
程序框图:
作业题:
1、修改上述程序,显示“8”字跑马。
2、如何显示“HELLO”