微机原理实验(含程序)
微机原理实验(含程序)
实验一 基本I/O口扩展实验(请在实验课前写好预习报告)
实验目的:
1.了解并熟悉8086K实验系统
2.掌握汇编语言基本程序框架
实验内容:
1.利用实验箱上的输入接口芯片74LS244连接8个开关,输出接口芯片74LS273连接8个发光二极管,通过INTEL的8088CPU进行控制,使得开关状态变化时对应的二极管也随之发生变化。
实验连线:
CS1-8000H
CS2-9000H
IORD-IORD
IOWR-IOWR
Q0-Q7---L1-L8
JX7---JX17\
Y0-Y7-----K1-K8
实验流程图
参考实验程序:
code segment
assume cs:code
org 1000h
start:
mov dx,8000h
in al,dx ;读开关
mov dx,9000h
out dx,al ;写二极管
jmp start
code ends
end start
实验内容:
2.利用实验箱上的输入接口芯片74LS244连接8个开关,输出接口芯片74LS273连接8个发光二极管,通过INTEL的8088CPU进行控制,使得开关状态变化时对应的二极管也随之发生变化。同时将开关的向上扳动的个数在led数码管的最后一位上显示出来。已知led数码管得字形端口号地址是0FF22H,位码端口号是0FF21H.
实验连线:
CS1-8000H
CS2-9000H
IORD-IORD
IOWR-IOWR
Q0-Q7---L1-L8
JX7---JX17\
Y0-Y7-----K1-K8
实验流程图
参考实验程序:
code segment
assume cs:code
org 1000h
start:
mov ax,cs
mov ds,ax ;代码段的段地址送入数据段段寄存器
mov dx,8000h
in al,dx ;读开关
mov dx,9000h
out dx,al ;写二极管
lea bx,tab ;将开关向上的个数送入数码管显示
xlat
mov dx,0ff22h
out dx,al
mov dx,0ff21h
mov al,0feh
out dx,al
jmp start
tab db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;定义字形码表
code ends
end start
要求:观察上述两个实验结果写出实验报告
思考题:
如果想将开关向下的个数显示出来,如何修改上面的程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果想显示二极管点亮的个数,如何修改程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果开关向上使得对应的二极管点亮,开关向下使得对应二极管熄灭,如何修改程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果不论开关如何变化,始终使得L1,L2常亮,如何修改程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果不论开关如何变化,始终使得L1,L2常灭,如何修改程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果让其他灯开关向上时熄灭,向下时点亮,而只让L2,L1开关向上时点亮,向下时熄灭,如何修改程序,修改程序运行并在实验报告中写明改动地方和实验结果。
如果想使得等L1-L8依次一个一个循环点亮,如何编写程序,运行编写的程序并写在实验报告中,说明执行结果。
提示,以上思考题涉及到逻辑运算及移位操作指令。