三、实验代码:
data segment io8255a equ 288h io8255c equ 28ah
io8255_mode equ 28bh
mesg1 db 0dh,0ah,'Input a num(00-99) for high exit:',0dh,0ah,'$'
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh data ends
code segment
assume cs:code,ds:data start:
mov ax,data mov ds,ax
mov dx,io8255_mode mov ax,89h
position,other key is out dx,al L1:
mov dx,offset mesg1 mov ah,9 int 21h mov ah,1 int 21h cmp al,'0' jl exit cmp al,'9' jg exit sub al,30h
mov bx,offset led add bl,al adc bh,0 mov al,[bx] mov dx,io8255a out dx,al jmp L1
exit: mov ah,4ch int 21h
code ends end start
四、实验结果:
从键盘输入一位十进制数字(0~9),数字会在七段数码管上显示出来。
——————————————————————————————— 评语:
成绩:
批阅教师:
日 期
实 验 报 告 单
实验名称: 端口地址译码 1
同组人 实验室 时间
一、实验目的:
掌握I/O 地址译码电路的工作原理。
二、实验内容:
实验电路如图(1)所示,其中74LS74 为D 触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138 为地址译码器。译码输出端Y0~Y7 在实验台上“I/O 地址“输出端引出,每个输出端包含8 个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU 执行I/ O 指令且地址在280H~2BFH 范围内,译码器选中,必有一根译码线输出负脉冲。
利用这个负脉冲控制L7 闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
三、实验代码:
outport1 equ 2a0h outport2 equ 2a8h code segment
assume cs:code start:
mov dx,outport1 out dx,al
call delay;调用延时子程序 mov dx,outport2 out dx,al
call delay;调用延时子程序 mov ah,11;中断处理 int 21h inc al jnz start mov ah,4ch int 21h
delay proc near;延时子程序 mov bx,100 again1:mov cx,0 again2:loop again2 dec bx jne again1 ret delay endp
四、实验结果:
L7 闪烁发光(亮、灭、亮、灭、……)
———————————————————————————————评语:
成绩:
批阅教师:
日 期