2012年自考微型计算机及接口技术题四_第2页
来源:
考试网 [ 2012年2月29日 ] 【大 中 小】
(04年)9月6日接口上机试题(上午)
题目:8255A c口低四位输入,a口输出到数码段,当pc0=0 时,a口输出是加一循环(0~f),pc0=1时,a口输出是减一循环(f~0),输出时延一秒钟,有键按下就退出...
程序如下:
data segment
led db 71h,79h,3fh,39h,7fh,77h,67h,7fh
db 07h,7ch,6dh,6eh,4fh,5bh,06h,3fh
count db 0(定义循环初始值为零)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,28bh
mov al,81h
out dx,al(8255初始化)
input:
mov dx,28ah
in al,dx
and al,0fh
and al,01h(判断pc0)
jz a1
mov al,count
and al,0fh(要屏蔽高四位,以免超过15后出乱码)
lea bx,led
xlat
mov dx,288h
out dx,al
call delay(延迟子程序老师会给出)
dec count
mov ah,1
int 16h
jz input(判断是否有键按下,无则继续判断pc0)
jmp a2(有则返回dos)
a1: mov al,count
责编:snrvge