8255a1(七段数码管)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4七段数码管
教具、教学素材准备:实验箱,多媒体
教学方法:网络讲授与实作
教学时数:2
一、实验目的
掌握数码管显示数字的原理
二、实验原理和内容
按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动
输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程
从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
三、编程
1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码,位码加反相驱动器,位码输入端高电平选中。
2、七段数码管的字型代码表如下表:
data segment
ioport equ 0d400h-0280h
io8255a equ ioport+288h
io8255b equ ioport+28bh
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num(0--9h):',0dh,0ah,'$' data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov dx,io8255b;使8255的A口为输出方式mov ax,80h
out dx,alsss:mov dx,offset mesg1;显示提示信息mov ah,09h
int 21h
mov ah,01;从键盘接收字符
int 21h
cmp al,'0';是否小于0
jl exit;若是则退出
cmp al,'9';是否大于9
jg exit;若是则退出
sub al,30h;将所得字符的ASCII码减30H mov bx,offset led;bx为数码表的起始地址xlat;求出相应的段码
mov dx,io8255a;从8255的A口输出
out dx,al
jmp sss;转SSS
exit:mov ah,4ch;返回DOS
int 21h
code ends
end start
教学后记: