微机原理实验硬件部分
原创 心怀不惧365 微代码人生
微机原理实验硬件部分,仅供参考,18题尚未证实,谨慎查看
11:利用实验箱中的8255并口芯片实现1个发光二极管的闪烁。
code segment
assume cs:code
start: mov dx,283h
mov al,80h
out dx,al
lop: mov al,00h
out dx,al
call delay
mov al,01h
out dx,al
call delay
jmp lop
mov ah,4ch
int 21h
delay proc
mov cx,60000
lop1: mov bx,200
lop2: dec bx
jnz lop2
loop lop1
ret
delay endp
code ends
end start
12:在交通灯实验中请使用8255的C口 按位输出,置1/置0 的功能实现如下现象: 南北路口的绿灯、东西路口的红灯同时亮30秒左右。
code segment
assume cs:code
start:
mov dx,283h
mov al,80h
out dx,al
mov al,00001011b
out dx,al
mov al,00000101b
out dx,al
mov cx,20000
k2: mov bx,18000
k1: dec bx
jnz k1
loop k2
mov dx,282h
mov al,0
out dx,al
mov ah,4ch
int 21h
code ends
end start
13:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:东西路口的黄灯闪烁5次。
code segment
assume cs:code
start: mov di,5
mov dx,283h
mov al,80h
out dx,al
mov al,00000010b
out dx,al
lop: mov al,00000011b
out dx,al
mov cx,2000
k2: mov bx,3000
k1: dec bx
jnz k1
loop k2
mov al,00000010b
out dx,al
mov cx,2000
k3: mov bx,3000
k4: dec bx
jnz k4
loop k3
dec di
jnz lop
mov ah,4ch
int 21h
code ends
end start
14:利用8255A的PC7产生负脉冲:
code segment
assume cs:code
start: mov dx,283h
mov al,80h
out dx,al
mov al,0fh
out dx,al
call delay
mov al,0eh
out dx,al
call delay
mov al,0fh
out dx,al
call delay
mov ah,4ch
int 21h
delay proc
mov cx,3000
lop1: mov bx,2000
lop2: dec bx
jnz lop2
loop lop1
ret
delay endp
code ends
end start
15:在使用8个开关控制8个LED的实验中,请利用8255的A口 作为输入端口,C口作为输出端口实现原来的实验现象。
code segment
assume cs:code
start: mov dx,283h
mov al,90h
out dx,al
lop: mov dx,280h
in al,dx
mov dx,282h
out dx,al
mov ah,06h
mov dl,0ffh
int 21h
jz lop
mov ah,4ch
int 21h
code ends
end start
16:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:南北路口的红灯、东西路口的绿灯同时亮30秒左右。
code segment
assume cs:code
start:
mov dx,283h
mov al,80h
out dx,al
mov al,00001111b
out dx,al
mov al,00000001b
out dx,al
mov cx,20000
k2: mov bx,9000
k1: dec bx
jnz k1
loop k2
mov ah,4ch
int 21h
code ends
end start
17:在交通灯实验中,请使用8255的C口 按位输出,置1/置0 的功能实现如下现象:南北路口的黄灯闪烁5次。
code segment
assume cs:code
start: mov di,5
mov dx,283h
mov al,80h
out dx,al
lop: mov al,00001101b
out dx,al
mov cx,2000
k2: mov bx,3000
k1: dec bx
jnz k1
loop k2
mov al,00001100b
out dx,al
mov cx,2000
k3: mov bx,3000
k4: dec bx
jnz k4
loop k3
dec di
jnz lop
mov ah,4ch
int 21h
code ends
end start
18: 在模/数转换器实验中,实现以下条件下的A/D转换,模拟量的输入通道:IN1;A/D转换器的地址:2B8H;显示结果中不出现大写字母。(此实验未经证实)
code segment
assume cs:code
start: nop
lop: mov dx,280h
out dx,al
mov cx,0ffh
delay: loop delay
in al,dx ;4c
mov bl,al
mov cl,4
shr al,cl ;04
call disp
mov al,bl
and al,0fh
call disp
mov dl,20h
mov ah,02h
int 21h
int 21h
mov ah,06h
mov dl,0ffh
int 21h
jz lop
mov ah,4ch
int 21h
disp proc
mov dl,al
cmp dl,9
jbe next
add dl,27h
next: add dl,30h
mov ah,02h
int 21h
ret
disp endp
code ends
end start
19:利用可编程计数定时器8253A的计数器0和计数器2,输出100Hz的的信号,连接必要的连线,编写初始化程序。上机调试出程序,并将程序记录下来。
code segment
assume cs:code
start: mov dx,283h
mov al,00010110b
out dx,al
mov al,100
mov dx,280h
out dx,al
mov dx,283h
mov al,10010110b
out dx,al
mov al,100
mov dx,282h
out dx,al
mov ah,4ch
int 21h
code ends
end start
20:利用可编程计数定时器8253A的计数器1和计数器2,输出50Hz的的信号,连接必要的连线,编写初始化程序。上机调试出程序,并将程序记录下来。
code segment
assume cs:code
start: mov dx,283h
mov al,01010110b
out dx,al
mov al,200
mov dx,281h
out dx,al
mov dx,283h
mov al,10010110b
out dx,al
mov al,100
mov dx,282h
out dx,al
mov al,ah
out dx,al
mov ah,4ch
int 21h
code ends
end start
这世上多一个笑,就少一个人哭。——《煎饼侠》