东华大学微机硬件实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东华大学微机原理实验

班级:电气

姓名:

学号:

东华大学信息学院

硬件实验部分

一、综合设计实验部分

一、设计要求

参考基础实验的实验1~实验5所使用的硬件和例程序,设计一个简单的红绿灯控制系统,用LED1~LED4表示两组红绿灯,每组红灯、绿灯各1只。要现以下功能:

(1) 红绿灯的定时切换(每10秒切换一次)

(2) 设置灯光测试开关K1,当K1打开(高电平)时,LED1~LED4全亮,关闭

时恢复正常切换。

提示:

(1) 定时功能可利用8253实现,利用定时器输出作为中断申请,利用中断处理

切换LED的显示;LED状态可用存保存或用I/O口读取。

(2) 测试功能运行可在主循环过I/O口读取开关状态后判定,或利用中断处理方

式运行。

二、报告要求:

1 外围芯片信号连接原理图(与CPU连接部分可省略)

2 程序的流程图、源代码和源代码行中必要的注释

3 调试中遇到的问题和解决方法

三、程序源代码及流程框图:

assume cs:code

code segment public

org 100h

st: mov dx,04c0h ;74LS244地址

in al,dx ;读输入开关量

mov dx,04d0h ;74LS273地址

out dx,al ;输出至LEd

test al,18h

jne start

jmp st

start: mov dx,04b6h ;控制寄存器

mov ax,36h ;计数器0,方式3

out dx,ax

mov dx,04b0h

mov ax,7Ch

out dx,ax

mov ax,92h

out dx,ax ;计数值927C

mov dx,04b6h

mov ax,0b6h ;计数器2,方式3

out dx,ax

mov dx,04b4h

mov ax,90h

out dx,ax

mov ax,01

out dx,ax

next:

nop

start1: mov dx,04a6h ;控制寄存器地址

mov ax,90h ;设置为A口输入,B口输出,c口输出

out dx,ax

mov dx,04c0h ;74LS244地址

in al,dx ;读输入开关量

test al,18h

je st

start2: mov dx,04a0h ;A口地址

in ax,dx ;输入

mov dx,04a2h ;B口地址

out dx,ax ;输出

mov dx,04a4h ;c口地址

not ax

out dx,ax ;输出

mov dx,04c0h ;74LS244地址

in al,dx ;读输入开关量

test al,18h

je st

jmp start2

jmp next

code ends

end st

四:解决问题及原理图

二、基础实验部分

实验1 存储器读写实验

一、实验设备

微机实验箱、8086CPU模块。

二、实验步骤和要求

1、实验接线:本实验无需接线。

2、编写调试程序

3、运行实验程序,可采取单步、设置断点方式,打开存窗口可看到存区的变化。

三、思考题源程序代码及流程框图

code segment

assume cs:code

org 0100h

start: mov ax,0100h

mov ds,ax ;数据段地址

mov es,ax

mov si,1000h ;偏移地址

mov cx,010h ;循环次数

mov al,0

intram: mov [si],al

inc si

loop intram ;清零

mov si,1000h ;设置断点处

mov cx,10h

mov di,0

fil: mov ax,di

mov [si],al ;RAM区循环置数

inc di

inc si

loop fil

nop ;设置断点处

jmp start

code ends

end start

四、思考题:

1、单步执行到“intram”标号的语句时,ds寄存器的数据是什么?采用断点

方式运行时执行到第一个断点处,2000H~202FH存单元的数据是什

么?执行到第二个断点处,2000H~200FH存单元的数据是什么?并根

据观察结果和对源程序的判读简述源程序的运行效果。

2 、修改程序,实现从2000H到200FH单元依次赋值00H~0FH的功能。

解决问题:刚开始,没有注意将循环次数改掉,CX依旧弄成了100H,后来弄成010H,正好和要求一样。之后的目标单元置数是正确的,符合要求。

实验2 简单I/O口扩展实验

一、实验设备

微机实验箱、8086CPU模块。

二、实验步骤

1、实验接线:(↔表示相互连接)

CS2 ↔CS244;CS3↔CS273;平推开关的输出K1~K8 ↔ IN0~IN7(对应连接);O0~O7↔LED1~LED8。

2、编辑程序,单步运行,调试程序

3、调试通过后,全速运行程序,观看实验结果。

4、编写实验报告。

三、思考题源程序代码及流程框图

assume cs:code

code segment public

org 100h

start: mov dx,04c0h ;74LS244地址

in al,dx ;读输入开关量

mov dx,04d0h ;74LS273地址

相关文档
最新文档