8255和led数码管显示-微机原理8255和led数码管显示-微机原理
data segment
ioport equ 2400h
io8255a equ ioport+008h io8255b equ ioport+00bh 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 a...
8255和led数码管显示-微机原理
data segment
ioport equ 2400h
io8255a equ ioport+008h io8255b equ ioport+00bh 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 al,80h ;10000000B,控制字PA以方式0输出
out dx,al
zby: mov dx,offset mesg1 ;显示提示信息
mov ah,09h
int 21h
mov ah,01 ;从键盘接收字符
int 21h
cmp al,'0' ;是否小于0
jl exit ;如若小于0,则跳转到exit退出程序
cmp al,'9' ;是否大于9
jg exit ; 如若大于9,则跳转到exit退出程序
sub al,30h ;将所得字符的ASCII码减30H,数字键ascii码同数值转换
mov bx,offset led ;bx为数码表的起始地址
xlat ;求出相应的段码
mov dx,io8255a ;从8255的A口输出
out dx,al
jmp zby ;转zby
exit: mov ah,4ch ;返回DOS
int 21h
code ends
end start
动态显示:
data segment
ioport equ 0c800h-0280h io8255a equ ioport+28ah io8255b equ ioport+28bh io8255c equ ioport+288h led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码 buffer1 db 5,6 ;存放要显示的个位和十位 bz dw ? ;位码
data ends
code segment
assume cs:code,ds:data start: mov ax,data
mov ds,ax
mov dx,io8255b ;将8255设为A口输出
mov al,80h ;10000000B,控制字PA以方式0输出
out dx,al
mov di,offset buffer1 ;设di为显示缓冲区 loop2: mov bh,02
zby: mov byte ptr bz,bh
push di
dec di
add di, bz
mov bl,[di] ;bl为要显示的数
pop di
mov al,0
mov dx,io8255a
out dx,al
mov bh,0
mov si,offset led ;置led数码表偏移地址为SI
add si,bx ;求出对应的led数码
mov al,byte ptr [si]
mov dx,io8255c ;自8255A的口输出
out dx,al
mov al,byte ptr bz ;使相应的数码管亮
mov dx,io8255a
out dx,al
mov cx,3000
delay: loop delay ;延时
mov bh,byte ptr bz
shr bh,1
jnz zby
mov dx,0ffh
mov ah,06
int 21h
je loop2 ;有键按下则退出
mov dx,io8255a
mov al,0 ;关掉数码管显示
out dx,al
mov ah,4ch ;返回
int 21h
code ends
end start
本文档为【8255和led数码管显示-微机原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。