当前位置:文档之家› 北京理工大学自动化专业微机原理硬件软件实验

北京理工大学自动化专业微机原理硬件软件实验

北京理工大学自动化专业微机原理硬件软件实验
北京理工大学自动化专业微机原理硬件软件实验

微机原理与接口技术

硬件实验报告

班级:

姓名:

学号:

实验一: 8259中断控制器实验

一、实验目的

1. 掌握8259的工作原理。

2. 掌握编写中断服务程序的方法。

3. 掌握初始化中断向量的方法。

二、实验内容

用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。

三、实验设备

微机实验教学系统实验箱、8086CPU模块

四、连线

①单脉冲发生器输出P+与8259的IR0相连

②8259的片选CS8259与CS0相连

③8259的INT与8086的INT相连

④8259的INTA与8086的INTA相连

⑤CS273与CS1相连

⑥00与LED1相连

其它线均已连好如下图:

五、实验步骤

(1)连线。

(2)编辑程序,编译链接后,调试程序。

(3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。

(4)撰写实验报告。

六、实验源程序

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START: MOV DX,4A0H ;写ICW1

MOV AX,13H

OUT DX,AX

MOV DX,4A2H ;写ICW2

MOV AX,80H ;IR0的中断向量码为80H

OUT DX,AX

MOV AX,01

OUT DX,AX ;一般嵌套,非缓冲,非自动EOI

MOV AX,0 ;写OCW1

OUT DX,AX ;允许中断

;中断向量存放在(0000H:0200H)开始的四个单元里

MOV AX,0

MOV DS,AX

MOV SI,200H ;中断类型号为80H

MOV AX,OFFSET HINT ;中断服务程序的入口地址

MOV DS:[SI],AX

ADD SI,2

MOV AX,CS

MOV DS:[SI],AX

STI ;开中断,设置IF=1

JMP $ ;原地跳转

HINT: ;中断服务程序

XOR CX,0FFH ;CX取反

MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连

MOV AX,CX ;输出高低电平控制LED灯的亮灭

OUT DX,AX

MOV DX,4A0H ;OCW2的地址

MOV AX,20H ;一般EOI命令,全嵌套方式

OUT DX,AX

IRET ;中断返回

CODE ENDS

END START

七、实验思考题

1.将P+连线连接到IR1—IR7任意一个;重新编写程序。

将P+接到IR1,在原程序的基础上,把写ICW2的控制字改为81H,再把中断向量的入口地址改为0204H即可。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START: MOV DX,4A0H ;写ICW1

MOV AX,13H

OUT DX,AX

MOV DX,4A2H ;写ICW2

MOV AX,81H ;IR0的中断向量码为81H

OUT DX,AX

MOV AX,01

OUT DX,AX ;一般嵌套,非缓冲,非自动EOI

MOV AX,0 ;写OCW1

OUT DX,AX ;允许中断

;中断向量存放在(0000H:0200H)开始的四个单元里

MOV AX,0

MOV DS,AX

MOV SI,204H ;中断类型号为81H

MOV AX,OFFSET HINT ;中断服务程序的入口地址

MOV DS:[SI],AX

ADD SI,2

MOV AX,CS

MOV DS:[SI],AX

STI ;开中断,设置IF=1

JMP $ ;原地跳转

HINT: ;中断服务程序

XOR CX,0FFH ;CX取反

MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连

MOV AX,CX ;输出高低电平控制LED灯的亮灭

OUT DX,AX

MOV DX,4A0H ;OCW2的地址

MOV AX,20H ;一般EOI命令,全嵌套方式

OUT DX,AX

IRET ;中断返回

CODE ENDS

END START

实验现象:

运行程序,触发脉冲发生器产生中断请求,相应二极管点亮。

2.设置OCW1,屏蔽某个中断请求,运行程序观察现象。

将IR0重新接入LED0,设置OWC1为01H,屏蔽中断IR0,则IR0的中断无法得到响应。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START: MOV DX,4A0H ;ICW1的地址,写初始化命令字ICW1 MOV AX,13H ;上升沿触发单片8259,要写ICW4

OUT DX,AX

MOV DX,4A2H ;ICW2的地址,写中断向量码ICW2

MOV AX,80H ;IR0的中断向量码为80H

OUT DX,AX

MOV AX,01 ;写中断结束控制字ICW4

OUT DX,AX ;一般嵌套,非缓冲,非自动EOI

MOV AX,01H ;写中断屏蔽字OCW1

OUT DX,AX ;屏蔽IR0中断

;中断向量存放在(0000H:0200H)开始的四个单元里

MOV AX,0

MOV DS,AX

MOV SI,200H ;中断类型号为80H

MOV AX,OFFSET HINT ;中断服务程序的入口地址

MOV DS:[SI],AX

ADD SI,2

MOV AX,CS

MOV DS:[SI],AX

STI ;开中断,设置IF=1

JMP $ ;原地跳转

HINT: ;中断服务程序

XOR CX,0FFH ;CX取反

MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连

MOV AX,CX ;输出高低电平控制LED灯的亮灭

OUT DX,AX

MOV DX,4A0H ;OCW2的地址

MOV AX,20H ;一般EOI命令,全嵌套方式

OUT DX,AX

IRET ;中断返回

CODE ENDS

END START

实验现象:

每按单脉冲发生器一次产生一次中断申请,但连接的发光二极管一直不亮。

3. 设置OCW2,了解中断结束方式与设置优先权。

将IR0和IR1都连接到P+上,分别连接LED0和LED1到00和01。一般EOI命令,将IR0设置为最低中断优先级。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START: MOV DX,4A0H ;ICW1的地址

MOV AX,13H ;上升沿触发,单片8259,要写ICW4

OUT DX,AX

MOV DX,4A2H ;ICW2的地址

MOV AX,80H ;IRO的中断向量码为80H,第三位自动写入

OUT DX,AX

MOV AX,01 ;写ICW4

OUT DX,AX ;一般嵌套,非缓冲,非自动EOI

MOV AX,0 ;写OCW1

OUT DX,AX ;允许中断

;IR0的中断向量存放在(0000H:0200H)开始的四个单元里

MOV AX,0

MOV DS,AX

MOV SI,200H

MOV AX,OFFSET HINT

MOV DS:[SI],AX

ADD SI,2

MOV AX,CS

MOV DS:[SI],AX

STI ;开中断,设置IF=1

;IR1的中断向量存放在(0000H:0204H)开始的四个单元里

MOV AX,0

MOV DS,AX

MOV SI,204H

MOV AX,OFFSET HINT2

MOV DS:[SI],AX

ADD SI,2

MOV AX,CS

MOV DS:[SI],AX

JMP $ ;原地跳转

HINT1: ;中断服务程序1

XOR CX,0F0H ;CX高四位取反

MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连MOV AX,CX ;输出高低电平控制LED灯的亮灭

OUT DX,AX

MOV DX,4A0H ;OCW2的地址

MOV AX,E0H ;一般EOI命令,IR0优先级最低

OUT DX,AX

IRET ;中断返回

HINT2: ;中断服务程序2

XOR CX,00FH ;CX低四位取反

MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连MOV AX,CX ;输出高低电平控制LED灯的亮灭

OUT DX,AX

MOV DX,4A0H ;OCW2的地址

MOV AX,E0H ;一般EOI命令,IR0优先级最低

OUT DX,AX

IRET ;中断返回

CODE ENDS

END START

实验现象:

CS273的00与LED0相连,01与LED1相连,02与LED2相连,依次下去,直至07与LED7相连。每按单脉冲发生器一次产生一次中断申请,由于IR0的优先级比IR1低,故先响应IR1,后响应IR0,观察到第四位的LED灯先点亮或熄灭,高四位的LED灯后点亮或熄灭。

八、实验心得

本次实验让我熟悉了8086硬件实验系统的使用,对8259的内部寄存器的功能也有了更加深入的认识,掌握了8259的初始化步骤和工作方式的选择,以及中断服务程序的编写。使用实验箱和编译软件对学习内容的掌握的理解有很大帮助,让我更透彻地学习了知识。

实验二 8255并行接口实验

一、实验内容

8255的A口作为输入口,与逻辑电平开关相连。8255的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

二、实验目的

掌握8255的编程原理

三、实验设备

微机实验教学系统实验箱、8086CPU模块

四、连线

1.8255的PA0—PA7分别与逻辑电平开关的K1—K8相连。

2.PB0—PB7分别与发光二极管电路的LED1—LED8相连。

3.CS0与8255的片选CS8255相连。

4.其它线路均已连好。

五、实验步骤

(1)连线。

(2)编辑程序,编译链接后,

单步运行,调试程序。

(3)调试通过后,全速运行,

观察实验结果。

(4)撰写实验报告。

六、实验源程序

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,90H

OUT DX,AX

START1:

MOV DX,04A0H

IN AX,DX

MOV DX,04A2H

OUT DX,AX

JMP START1

CODE ENDS

END START

七、思考题

1.将片选线接到CS1—CS7;重新编写程序。

将片选线接到CS1上。在原程序的基础上,将控制口的地址改成04B6H,将A口的地址改成04B0H,将B口的地址改成04B2H。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04B6H

MOV AX,90H

OUT DX,AX

START1:

MOV DX,04B0H

IN AX,DX

MOV DX,04B2H

OUT DX,AX

JMP START1

CODE ENDS

END START

实验现象:

实验将刚才的实验地址CS0换成了CS2。这里CS0的地址为04A0H,CS1->04B0H,CS2->04C0H,CS3->04D0H,CS4->04E0H,CS5->04F0H。这里我们将CS0换成了CS2。实验现象和上一个程序的实验现象相同。

2.交换A B接线,A口输出、B口输入;重新编写程序。

将A口接LED,B口接开关。原程序中,将方式控制字90H改成82H,START1中A、B口地址互换。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,82H

OUT DX,AX

START1:

MOV DX,04A2H

IN AX,DX

MOV DX,04A0H

OUT DX,AX

JMP START1

CODE ENDS

END START

实验现象:

PB口的逻辑电平开关对应PA口的LED灯,对应的PB口开关给高电平,LED灯亮,对应的PB口开关给低电平,LED灯灭

3.C口4位接LED;4位接开关;重新编写程序。

将C口的高四位接开关,低四位接LED灯。在原程序的基础上,方式控制字改成88H,加逻辑右移语句。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,88H

OUT DX,AX

START1:

MOV DX,04A4H

IN AX,DX

MOV CL,4

ROR AX,CL

MOV DX,04A4H

OUT DX,AX

JMP START1

CODE ENDS

END START

实验现象:

设置PC口低4位输入,高4位为输出。低四位接逻辑电平开关,高四位接LED灯。将8255控制字修改为将PC口低四位设置为输入,高四位设置为输出。PC口低四位的逻辑电平开关对应PC口高四位的LED灯,对应的PC口低四位开关给高电平,LED灯亮,对应的PC口低四位开关给低电平,LED灯灭。

实验三8253可编程定时器

一、实验目的

掌握8253定时/计数器的编程原理。

二、实验内容

8253计数器0,1,2工作于方波方式,观察其输出。

三、实验设备

微机实验教学系统实验箱、8086CPU模块。

四、连线

1. CS0与8253的片选CS8253相连

2. CLK3(750KHz)与8253CLK0相连

3. 8253的OUT0与8253CLK2相连

4. OUT2与发光二极管LED1相连

其它线均已连好。

五、实验步骤

1.连线。

2.编辑程序,编译链接后,跟踪运行,调试程序。

3.调试通过后,全速运行,观察实验结果。

4.撰写实验报告。

六、实验源程序

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,36H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0B6H

OUT DX,AX

MOV DX,04A4H

MOV AX,4

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

LED灯一亮一灭时间频率一样。

七、思考题

1. 定时器2计数值改为20H;观察其现象。

实验程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,36H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0B6H

OUT DX,AX

MOV DX,04A4H

MOV AX,20H

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

LED灯一亮一灭,灭的时间比亮的时间长一些。

2. 将定时器2改为方式2分频器方式;观察其现象。实验程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,36H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0B4H

OUT DX,AX

MOV DX,04A4H

MOV AX,20H

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

LED灯在开始一段时间后亮灭一次就不再有现象

3. 将GATE2 接到开关上;观察其现象。

实验程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,34H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0B4H

OUT DX,AX

MOV DX,04A4H

MOV AX,20H

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

将GATE2接到逻辑电平开关上,GATE2高电平时,LED亮灭有序,GATE2低电平时,LED不会有现象。

4. 将GATE2 接到PUL P+开关上,计数器2 改为方式1 ;观察其现象。

实验程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,36H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0B2H

OUT DX,AX

MOV DX,04A4H

MOV AX,4

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

为了使实验更加准确,我们先测试了一下PUL P+在没有按下时的电平状态为高电平。在改为该题的要求后,测试结果是,在没有按下PUL P+时,LED灯没有任何现象。在按下PUL P+时,按下后,灯亮灭一次就不再有变化。说明是下降沿使能。

5. 将GATE2 接到PUL P+开关上,计数器2 改为方式5 ;观察其现象。

实验程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,36H

OUT DX,AX

MOV DX,04A0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H

OUT DX,AX

MOV DX,04A6H

MOV AX,0BAH

OUT DX,AX

MOV DX,04A4H

MOV AX,20H

OUT DX,AX

MOV AX,0

OUT DX,AX

JMP $

CODE ENDS

END START

实验现象:

在没有按下PUL P+时,LED灯没有任何现象。在按下PUL P+时,按下后松手的瞬间开始,灯

亮灭一次就不再有变化。说明是上升沿使能。

八、心得体会:

计数器方式等知识在理论课上并没有能够理解其用处,在调整计数器方式和分频器方式的过程中慢慢得到了了解。

实验四8250串行接口实验

一、实验目的

在实验箱与PC机(上位机)之间实现串行通信,主机每下传一个字符,若通讯正确,则下位机返回一个同样的字符;若不正确,则无返回值或者返回值不同。

二、实验内容

1.熟悉串行通信的一般原理和8250的工作原理。

2.了解RS—232串行接口标准及连接方法。

3.掌握8250芯片的编程方法。

三、实验设备

微机实验教学系统实验箱、8086CPU模块

四、连线

五、实验步骤

(1)无须连

线,内部已经连

好。8250的端口

地址为0480H起

始的偶地址单

元。

(2)编写下

位机程序,编译

链接后,全速运

行。

(3)退出

“8086实验系

统”,运行“串口调试助手”上位机程序。

(4)将“串口调试助手”程序输入和输出都调整为16进制格式,发送一个16进制数,观察返回的是否是同样一个16进制数。

六、实验源程序

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,486H MOV AX,80H OUT DX,AX MOV DX,480H MOV AX,12 OUT DX,AX MOV DX,482H MOV AX,0 OUT DX,AX MOV DX,486H MOV AX,3 OUT DX,AX MOV DX,482H MOV AX,0 OUT DX,AX MOV DX,48AH IN AX,DX MOV DX,480H IN AX,DX LOOP1:

CALL RECV CALL SEND JMP LOOP1 SEND:

PUSH AX MOV DX,48AH IN AX,DX TEST AX,20H JNZ SEND2 POP AX

JMP SEND SEND2:

POP AX MOV DX,480H OUT DX,AX RET

RECV:

MOV DX,48AH IN AX,DX TEST AX,1

JZ RECV MOV DX,480H IN AX,DX RET

CODE ENDS

END START

七、思考题

1.连接8255,将接收到的16进制数;驱动8个彩灯;观察其现象。

硬件将CS0与CS8255片选端相连,将PB0~PB7与LED1~LED8依次相连。程序如下:CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,486H

MOV AX,80H

OUT DX,AX

MOV DX,480H

MOV AX,12

OUT DX,AX

MOV DX,482H

MOV AX,0

OUT DX,AX

MOV DX,486H

MOV AX,3

OUT DX,AX

MOV DX,482H

MOV AX,0

OUT DX,AX

MOV DX,48AH

IN AX,DX

MOV DX,480H

IN AX,DX

MOV DX,04A6H ;设置8255的控制字

MOV AX,80H

OUT DX,AX

LOOP1:

CALL RECV

CALL SEND

MOV DX,04A2H ;设置A口为输出口

OUT DX,AX

JMP LOOP1

SEND:

PUSH AX

MOV DX,48AH

IN AX,DX

TEST AX,20H

JNZ SEND2

JMP SEND

SEND2:

POP AX

MOV DX,480H

OUT DX,AX

RET

RECV:

MOV DX,48AH

IN AX,DX

TEST AX,1

JZ RECV

MOV DX,480H

IN AX,DX

RET

CODE ENDS

END START

实验现象:

将A口的八个口与八个LED灯相连接,给一个01H的数时,PA0口是不亮灯的,其余口都亮灯。

2.连接8255,将开关的状态以16 进制数的方式发送到PC机;观察其现象。

硬件将PB0~PB7改为依次与开关1~开关8相连,程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,486H

MOV AX,80H

OUT DX,AX

MOV DX,480H

MOV AX,12

OUT DX,AX

MOV DX,482H

MOV AX,0

OUT DX,AX

MOV DX,486H

MOV AX,3

OUT DX,AX

MOV DX,482H

MOV AX,0

OUT DX,AX

MOV DX,48AH

IN AX,DX

MOV DX,480H

MOV DX,04A6H ;设置8255的初始化控制字

MOV AX,90H ;PA口为输入,接逻辑电平开关

OUT DX,AX

LOOP1:

CALL SEND ;将8250的接收程序去掉

JMP LOOP1

SEND:

MOV DX,04A0H

IN AX,DX

PUSH AX

MOV DX,48AH

IN AX,DX

TEST AX,20H

JNZ SEND2

POP AX

JMP SEND

SEND2:

POP AX

MOV DX,480H

OUT DX,AX

RET

CODE ENDS

END START

实验现象:

将逻辑电平的开关信号表示成十六进制的数送到PC机上,接收框中有逻辑电平的信号十六进制表示。比如逻辑开关表示的十六进制为05H,接收框显示的为05.

3.连接8255和8253的GATE0 ;使用“串口调试助手”程序控制8253的振荡。

硬件将8255的片选接到CS0,将8253的片选接到CS1,8255的B口输出,其中PB0与GATE0相连,CLK3(750KHz)与8253CLK0相连,8253的OUT0与8253CLK2相连,OUT2与发光二极管LED1相连。程序如下:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,04A6H

MOV AX,90H

OUT DX,AX

MOV DX,04B6H

MOV AX,36H

OUT DX,AX

MOV DX,04B0H

MOV AX,7CH

OUT DX,AX

MOV AX,92H OUT DX,AX MOV DX,04B6H MOV AX,0B6H OUT DX,AX MOV DX,04B4H MOV AX,4 OUT DX,AX MOV AX,0 OUT DX,AX MOV DX,486H MOV AX,80H OUT DX,AX MOV DX,480H MOV AX,12 OUT DX,AX MOV DX,482H MOV AX,0 OUT DX,AX MOV DX,486H MOV AX,3 OUT DX,AX MOV DX,482H MOV AX,0 OUT DX,AX MOV DX,48AH IN AX,DX MOV DX,480H IN AX,DX LOOP1:

CALL RECV

MOV DX,04A2H OUT DX,AX CALL SEND JMP LOOP1 SEND:

PUSH AX

MOV DX,48AH IN AX,DX TEST AX,20H JNZ SEND2 POP AX

JMP SEND SEND2:

POP AX

MOV DX,480H

OUT DX,AX

RET

RECV:

MOV DX,48AH

IN AX,DX

TEST AX,1

JZ RECV

MOV DX,480H

IN AX,DX

RET

CODE ENDS

END START

实验现象:

在“串口调试助手”的发送区中输入最低位为1的十六进制数,例如FFH,可以使8253的GATE0口变为高电平,从而使LED灯闪烁;输入最低位为0的十六进制数,例如00H,可以使8253的GATE0口变为低电平,从而使LED灯停止闪烁。

八、实验心得

课堂上对8250知识的学习还并没有融会贯通,很多功能还不明白,在调试程序的时候并不能做到熟练,所以在调试程序的时候较为吃力。

实验五A/D0809实验

一、实验目的

1.掌握A/D转换的基本原理。

2.掌握ADC0809的使用方法。

二、实验内容

按查询方式采样一路A/D转换数据,用简单输入口74LS244查询EOC信号。每循环一次通道采样一次。0通道的采样结果放入AX中,AL有效。

三、实验设备

微机实验教学系统实验箱、8086CPU模块。

四、连线

1. 将可变电位器AN0与ADC0809的ADIN0相连;

2. 将CS0与ADC0809的片选CS0809端相连;

3. 将ADC0809的EOC与74LS244的IN0相连;

4. 将CS1与74LS244的片选CS244端相连。

五、实验步骤

1.连线

2.编先程序并调试。

3.调试通过后设置断点全速运行,并观察实验结果。

4.撰写实验报告

六、实验源程序:

CODE SEGMENT PUBLIC

ASSUME CS:CODE

ORG 100H

START:

MOV DX,4A0H

CALL GETAD

NOP

JMP START

DELAY:

MOV BP,1000H

DELAY1:

DEC BP

CMP BP,0

JNE DELAY1

RET

GETAD:

PUSH DX

MOV AX,34H

OUT DX,AX

CALL DELAY

MOV DX,4B0H

WAIT1:

IN AX,DX

微机原理及应用实验(题目)

微机原理及应用实验 实验一开发环境的使用 一、实验目的 掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。二、实验内容 在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的 30H~7FH 单元清零。 三、实验设备 PC机一台。 四、实验步骤 用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。五、实验思考 1.如果需把30H-7FH 的内容改为55H,如何修改程序? 2.如何把128B的用户RAM全部清零? 六、程序清单 文件名称:CLEAR.ASM ORG 0000H CLEAR: MOV R0,#30H ;30H 送R0寄存器 MOV R6,#50H ;50H 送R6寄存器(用作计数器) CLR1: MOV A,#00H ;00 送累加器A MOV @R0,A ;00 送到30H-7FH 单元 INC R0 ;R0 加1 DJNZ R6,CLR1 ;不到50H个字节,继续 WAIT: LJMP WAIT END 实验二数据传送 一、实验目的 掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。 二、实验内容 1.编制一段程序,要求程序中包含7中不同寻址方式。 2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。 3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。 4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。 三、实验设备 PC机一台。

微机原理与接口技术硬件实验报告

微原硬件实验报告 班级:07118 班 学号:070547 班内序号:26 姓名:杨帆

实验一熟悉实验环境及IO的使用 一,实验目的 1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。 3. 学会Debug 的使用及编写汇编程序 二,实验内容 1. 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用EDIT 编辑工具)实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度 等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) 三,实验步骤 1.实验板的IO 端口地址为EEE0H 在Debug 下, I 是读命令。(即读输入端口的状态---拨码开关的状态) O 是写命令。(即向端口输出数据---通过发光管来查看) 进入Debug 后, 读端口拨动实验台上八位拨码开关 输入I 端口地址回车 屏幕显示xx 表示从端口读出的内容,即八位开关的状态ON 是0,OFF 是 1 写端口 输入O 端口地址xx (xx 表示要向端口输出的内容)回车 查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在Debug 环境下,用a 命令录入程序,用g 命令运行 C>Debug -a mov dx, 端口地址 mov al,输出内容 out dx, al

mov ah, 0bh int 21h or al, al jz 0100 int 20h -g 运行查看结果,修改输出内容 再运行查看结果 分析 mov ah, 0bh int 21h or al, al jz 0100 int 20h 该段程序的作用 3.利用EDIT 工具编写汇编写跑马灯程序程序 实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) C>EDIT 文件名.asm 录入程序 按Alt 键打开菜单进行存盘或退出 编译文件 C>MASM 文件名.asm 连接文件 C>LINK 文件名.obj 运行文件或用Debug 进行调试。 四,程序流程图

微机原理及应用实验

实验报告1 实验项目名称:I/O地址译码;简单并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握I/O地址译码电路的工作原理,简单并行接口的工作原理及使用方法。 二、预备知识: 输入、输出接口的基本概念,接口芯片的(端口)地址分配原则,了解译码器工作原理及相应逻辑表达式,熟悉所用集成电路的引线位置及各引线用途;74LS245、74LS373的特性及作用。 三、实验内容245输入373输出 使用Protues仿真软件制作如下电路图,使用EMU8086编译软件编译源程序,生成可执行文件(nn . exe),在Protues仿真软件中加载程序并运行,分析结果。 编程实现:读8个开关的状态,根据输入信号控制8个发光二极管的亮灭。 图1-1 245输入373输出 四、程序清单

五、实验结果 六、结果分析 七、思考题: 1、如果用74LS373作输入接口,是否可行?说明原因;用74LS245作输出接口,是否可行?说明原因。

实验报告2 实验项目名称:可编程定时器/计数器;可编程并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握8253的基本工作原理和编程应用方法。掌握8255的工作原理及使用方法。 二、预备知识: 8253的结构、引脚、控制字,工作方式及各种方式的初始化编程及应用。 8255的内部结构、引脚、编程控制字,工作方式0、1、2的区别,各种方式的初始化编程及应用。 三、实验内容: ⑴8253输出方波 利用8253的通道0和通道1,设计产生频率为1Hz的方波。设通道0的输入时钟频率为2MHz,8253的端口地址为40H,42H,44H,46H。通道0的输入时钟周期0.5μs,其最大定时时间为:0.5μs×65536 = 32.768ms,要产生频率为1Hz(周期= 1s)的方波,利用;一个通道无法实现。可用多个通道级连的方法,将通道0的输出OUT0作通道1的输入时钟信号。设通道0工作在方式2(频率发生器),输出脉冲周期= 10 ms,则通道0的计数值为20000(16位二进制)。周期为4 ms的脉冲作通道1的输入时钟,要求输出端OUT1输出方波且周期为1s,则通道1工作在方式3(方波发生器),计数值为100(8位;二进制)。硬件连接如图2-1。

微机原理实验指导书-硬件部分(2015)

微机原理实验指导书硬件实验部分 东华大学信息学院 信息与控制实验中心 2015.12

关于微机原理硬件部分实验的说明 ●硬件实验主要分为基础实验和综合设计实验两部分。 基础实验部分每个实验需完成各自的实验报告。报告内容以每项实验的思考题内容为主,不需要抄录实验指导书提供的范例程序。报告内容具体要求为: 1、实验名称、所需设备、实验要求; 2、实验步骤简述 3、思考题解答; 4、有关思考题的程序的流程框图及源程序代码,源程序 需加上必要的注释; 5、思考题的程序在调试中出现的问题及解决过程。 综合设计实验须按照设计要求,利用实验设备提供的软硬件条件设计一个简单的红绿灯模拟系统。要求每小组完成硬件连线设计、连接,软件编程及调试,并提交相关的设计和调试报告。系统运行情况需进行实际运行检查。 ●基础实验必须完成,综合实验部分根据自身能力选做。 ●实验中先完成基础实验部分,再做综合设计实验。 ●硬件实验成绩按考勤情况(5%)、基本实验情况(85%)和综合设 计实验情况(10%)综合评定。

一、实验设备及软件介绍 第1部分硬件系统介绍 1. CPU单元及外围芯片 1)、微处理器:8086 2)、时钟频率:6MHz 3)、存储器 6264 系统RAM,地址范围 0~3FFFH,奇地址有效 6264 系统RAM,地址范围0~3FFFH,偶地址有效 27C64 系统ROM,地址范围 FC000~FFFFFH,奇地址有效 27C256 系统ROM,地址范围 FC000~FFFFFH,偶地址有效4)、可提供的对8086的基本实验 (1).简单I/O扩展实验 (2).存储器扩展实验 (3).CPLD地址译码实验 (4).8255可编程并口实验 (5).8253定时/计数器实验 (6).A/D0809实验 (7).D/A0832实验 (8).8250可编程串口实验 (9).8279显示器接口实验 (10).8279键盘扩展实验 (11).8259可编程中断控制器实验 (12).8237DMA控制器实验 5)、系统资源分配 本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程,可完成系统器件,如监控程序 存储器、用户程序存储器、数据存储器、系统显示控制器、系统串行通讯控制器 等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0---CS5)给 用户使用,他们的地址固定,用户不可改变。

微机原理实验报告软件实验1-4

微机原理实验报告 学院:算机科学与软件教育学院 1. 掌握存储器读写方法 2. 了解存储器的块操作方法 二、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WA VE 6000软件 四、实验过程 S1.asm 代码流程图 data segment Block db 256 dup(55h) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 256 ; 清256 字节Again: mov [bx], byte ptr 0 inc bx ; 地址+1 Loop Again ; 记数减一jmp $ ;死循环code ends end start

五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) “全速执行”程序。 (4) “暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。 (5) 在指令“jmp $”处设断点。“全速执行”程序。 (6) 在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。 六、实验结果及总结 运行前:运行后: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH)? 总结:通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。

微机原理实验报告 学院:算机科学与软件教育学院 实验 课程 名 微机原理实验成绩实验 项目名称实验二、二进制到BCD码转换 指导老 师 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理 ASCII码表 三、实验设备仪器及材料 计算机,WA VE 6000软件 data segment Result db 3 dup(?) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 123 mov cl, 100 div cl mov Result, al ; 除以 100, 得百位数 mov al, ah mov ah, 0 mov cl, 10 div cl mov Result+1, al ; 余数除以 10, 得十位数 mov Result+2, ah ; 余数为个位 数 jmp $ code ends end start 代码流程图

武汉理工大学微机原理接口实验报告

学生学号22实验课成绩 学生实验报告书 实验课程名称微机原理与接口技术 开课学院计算机科学与技术学院 指导教师姓名何业兰 学生姓名高胜洋 学生专业班级计算机1404 2016-- 2017学年第二学期

实验课程名称:微机原理及接口技术 第一部分:实验准备 一、实验目的和意义 1.熟悉接口试验箱的使用环境。 2.体会接口电路通过外部总线与处理器连接原理。 3.掌握可编程芯片8253的编程方法。 二、实验内容和环境 实验内容: 1、编写程序,将 8254 的计数器 0 和计数器 1 都设为方式 3,用信号源 1MHz 作为 CLK0时钟,OUT0 为波形输出 1ms 方波,再通过 CLK1 输入,OUT1 输出 1s 方波。 2、编写程序,将 8254 的计数器 0 设为方式 3,计数值为十进制数 4,用单次脉冲 KK1+作为 CLK0 时钟,OUT0 连接 MIR7,每当 KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。改变计数值,验证 8254 的计数功能。 实验设备: PC 机一台,TD-PITE 实验装置一套。 三、实验基本原理与方法 (1)8254的功能 ?8253具有三个独立的16位计数器(0#~2#通道); ?每个通道有6种工作方式; ?可以进行二进制或十进制计数,计数方式为减1计数。 (最高计数频率2.6MHZ) (2)8254 的内部结构和外部引脚 图1.1 8254内部结构图1.2 8254外部引脚 (3)8254 的工作方式 ●方式0:计数到0 结束输出正跃变信号方式。 ●方式1:硬件可重触发单稳方式。 ●方式2:频率发生器方式。

微机原理课程设计 电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19) 一、设计目的

课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。(电压值以一种方式正确显示,无报警◆)(电压值以一种方式正确显示,且有一种形式的报警◆)(电压值以2 种方式正确显示,且有2种形式的报警★)(电压值以3种方式正确显示,且有2种形式的报警★☆) 三、设计要求 在课程设计时,2~4人一组,在教师指导下,各组可以集体讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同组同学要发扬团队协作精神,积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。

微机原理实验程序

实验一两个多位十进制数相减实验 一、实验要求:将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序 存放在以DATAI和DATA2为首的5个内存单元中(低位在前>,结果送回 DATAI处。 二、实验目的:1.学习数据传送和算术运算指令的用法。 2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 三、实验步骤:连好实验箱后接通电源,打开上位机软件88TE进入软件调试界面: 点击“文件\打开”文件路径为C: \88TE\cai\asm\Ruanjian\Rjexp1.asm。具体操作如图所示: b5E2RGbCAP

点击编译连接生成可执行的exe文件。 通过单步运行调试程序,打开寄存器查看其变量变化情况。 四、实验程序框图: 五、实验程序:

文件路径为C:\88TE\cai\asm\Ruanjian\Rjexp1.asm DATA SEGMENT DATA1 DB 33H,39H,31H,37H,38H 。第一个数据<作为被减数)DATA2 DB 36H,35H,30H,38H,32H 。第二个数据<作为减数)MES1 DB '-','$' MES2 DB '=','$'p1EanqFDPw Array DATA ENDS STACK SEGMENT STA DB 20 DUP(?> TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL MOV AH,09H LEA DX,MES1 INT 21H MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL MOV AH,09H LEA DX,MES2 INT 21H MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 CALL SUBA 。减法运算 MOV SI,OFFSET DATA1 MOV BX,05 。显示结果 CALL DISPL MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H INT 21H MOV AX,4C00H INT 21H DISPL PROC NEAR 。显示子功能 DSI: MOV AH,02 MOV DL,[SI+BX-1] 。显示字符串中一字符 INT 21H

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0~65535)进行+、-、×运算,计算结果限制在范围-65535~65535,超过范围在数码管最低位显示E; 2)16个按键的分配可以自行指定; 【扩展要求】 1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535~999999时,显示E; 2)增加÷的功能,有小数显示; 【实验程序】 ;该程序实现了基本要求及扩展要求的2) DSEG SEGMENT BUFF DB 6 DUP(?) LED_7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7C H,39H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 COUNT DB 0 FLAG DB 0 ;是否有键按下的标志 NEGTI DB 0 ;是否为负数的标志 NUM DW 0 NUM1 DW 0 NUM2 DW 0 TAG DB 0 ;运算种类标志 POINT DB 0 ;除法结果添加小数点标志 RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV DX,300CH ;8255初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV CX,6 NEXT: MOV BYTE PTR[SI],16 INC SI LOOP NEXT CALL SHOW ;将显示缓冲区中内容在LED上一次显示出来 MOV COUNT,0 ;记按下了几位数 NEXT2: CALL SHOW CALL SCAN ;判断是否有按键按下 CMP FLAG,1 JZ OK JMP NEXT2 OK: MOV FLAG,0 MOV POINT,0 MOV DX,3000H ;判断是哪一个键被按下 MOV AL,0FFH OUT DX,AL MOV CH,-1 ;CH用于保存当前被扫描的列号MOV CL,07FH XL: ROL CL,1 INC CH MOV DX,3000H MOV AL,CL .

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

北京理工大学自动化专业微机原理硬件软件实验

微机原理与接口技术 硬件实验报告 班级: 姓名: 学号: 实验一: 8259中断控制器实验 一、实验目的 1. 掌握8259的工作原理。 2. 掌握编写中断服务程序的方法。 3. 掌握初始化中断向量的方法。 二、实验内容 用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。 三、实验设备 微机实验教学系统实验箱、8086CPU模块 四、连线 ①单脉冲发生器输出P+与8259的IR0相连 ②8259的片选CS8259与CS0相连 ③8259的INT与8086的INT相连 ④8259的INTA与8086的INTA相连 ⑤CS273与CS1相连 ⑥00与LED1相连 其它线均已连好如下图: 五、实验步骤 (1)连线。 (2)编辑程序,编译链接后,调试程序。 (3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。 (4)撰写实验报告。

六、实验源程序 CODE SEGMENT PUBLIC ASSUME CS:CODE ORG 100H START: MOV DX,4A0H ;写ICW1 MOV AX,13H OUT DX,AX MOV DX,4A2H ;写ICW2 MOV AX,80H ;IR0的中断向量码为80H OUT DX,AX MOV AX,01 OUT DX,AX ;一般嵌套,非缓冲,非自动EOI MOV AX,0 ;写OCW1 OUT DX,AX ;允许中断 ;中断向量存放在(0000H:0200H)开始的四个单元里 MOV AX,0 MOV DS,AX MOV SI,200H ;中断类型号为80H MOV AX,OFFSET HINT ;中断服务程序的入口地址 MOV DS:[SI],AX ADD SI,2 MOV AX,CS MOV DS:[SI],AX STI ;开中断,设置IF=1 JMP $ ;原地跳转 HINT: ;中断服务程序 XOR CX,0FFH ;CX取反 MOV DX,4B0H ;CS273接口的地址,与8个LED灯相连 MOV AX,CX ;输出高低电平控制LED灯的亮灭 OUT DX,AX MOV DX,4A0H ;OCW2的地址 MOV AX,20H ;一般EOI命令,全嵌套方式 OUT DX,AX IRET ;中断返回 CODE ENDS END START 七、实验思考题 1.将P+连线连接到IR1—IR7任意一个;重新编写程序。 将P+接到IR1,在原程序的基础上,把写ICW2的控制字改为81H,再把中断向量的入口地址改为0204H即可。程序如下: CODE SEGMENT PUBLIC ASSUME CS:CODE

北京邮电大学_微机原理软件实验报告

微机原理软件实验报告 学院:信息与通信工程学院班级:XXXXXX 姓名:XXXXX 学号:XXXXXXXX 班内序号:XXXXX 日期:2017年11月30日

目录 微机原理软件实验报告.................................................. 错误!未定义书签。 1. 实验一................................................................................. 错误!未定义书签。 2. 实验二 (7) 3. 实验三 (13) 4. 实验四 (20) 5. 实验五 (30) 6. 总结及结论 (39) 7. 参考文献 (39)

实验一DEBUG的使用 一、实验目的: 1.掌握汇编程序的编辑,编译,连接和执行的全过程; 2.学习和掌握用DEBUG调试程序的方法. 二、实验内容:

2.通过编译,连接形成可执行文件。 3.用DEBUG 将可执行文件调入,并进行调试。 (1)用D 命令观察数据区在内存中的具体内容,记录单元A 和B 的具体地址。 (2)用U 命令对目标代码反汇编,观察反汇编后的结果.注意发现源程序的起始 位置, 并记录这个起始地址。 (3)用T 命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否 一致。得出程序运行的结果:它们是写在什么单元,具体内容是什么; 并判断结果是 否正确。 (4)用E 命令修改单元A,B 的内容,重新执行程序,并记录结果。 (5)退出DEBUG。 三、预习题: 1.熟悉常用的DEBUG 命令。

微机原理实验指导书-硬件部分(2017)

微机原理实验指导书 硬件实验部分 东华大学信息科学与技术学院信息与控制实验中心 2017.11

关于微机原理硬件部分实验的说明 硬件部分包含5个基本实验和一个综合设计实验。综合设计实验为选作部分。每个实验需完成各自的实验报告。报告内容以每项实验的思考题内容为主,不需要抄录实验指导书提供的范例程序。基本实验的报告内容具体要求为: 1、实验名称、所需设备、实验目的。 2、思考题要求。 3、有提问的思考题分析解答。 4、需要编程的思考题的程序的流程框图 5、思考题的全部源程序代码,源程序需加上必要的注释。 6、思考题的程序在调试中出现的问题及解决过程。 ●实验必须完成基础实验部分,综合设计实验选作。 ●硬件实验成绩按基本实验情况(85%)和选作实验情况(15%)综 合评定。

一、实验设备及软件介绍 第1部分硬件系统介绍 1. CPU单元及外围芯片 1)、微处理器:8086 2)、时钟频率:6MHz 3)、存储器 6264 系统RAM,地址范围 0~3FFFH,奇地址有效 6264 系统RAM,地址范围0~3FFFH,偶地址有效 27C64 系统ROM,地址范围 FC000~FFFFFH,奇地址有效 27C256 系统ROM,地址范围 FC000~FFFFFH,偶地址有效4)、可提供的对8086的基本实验 (1).简单I/O扩展实验 (2).存储器扩展实验 (4).8255可编程并口实验 (5).8253定时/计数器实验 (6).A/D0809实验 (7).D/A0832实验 (8).8250可编程串口实验 (9).8279显示器接口实验 (10).8279键盘扩展实验 (11).8259可编程中断控制器实验 5)、系统资源分配 本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程,可完成系统器件,如监控程序 存储器、用户程序存储器、数据存储器、系统显示控制器、系统串行通讯控制器 等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0---CS5)给 用户使用,他们的地址固定,用户不可改变。 2.地址资源分配 本系统采用可编程逻辑器件(CPLD)EPM7128作为地址译码器,完成系统器件如存

北京邮电大学微机原理与接口技术硬件实验报告

信息与通信工程学院 微机原理与接口技术硬件实验报告 班级: 姓名: 学号: 序号: 日期: 2015-10-30——2015-12-26

目录 实验一I/O地址译码 (3) 一、实验目的 (3) 二、实验原理及内容 (3) 三、硬件接线图与软件程序流程图 (3) 四、源程序 (4) 五、实验结果 (5) 六、实验总结 (5) 七、实验收获与心得体会 (5) 实验二简单并行接口 (5) 一、实验目的 (5) 二、实验原理及内容 (5) 三、硬件接线图与软件程序流程图 (6) 四、源程序 (6) 五、实验结果 (7) 六、实验总结 (7) 七、实验收获与心得体会 (7) 实验四七段数码管 (7) 一、实验目的 (7) 二、实验原理及内容 (8) 三、硬件接线图与软件程序流程图 (8) 四、源程序 (9) 五、实验结果 (11) 六、实验总结 (11) 七、实验收获与心得体会 (11) 实验八可编程定时器/计数器(8253/8254) (11) 一、实验目的 (11) 二、实验原理及内容 (11) 三、硬件接线图与软件程序流程图 (12) 四、源程序 (13) 五、实验结果 (17) 六、实验总结与思考题 (17) 七、实验收获与心得体会 (17) 实验十六串行通讯8251 (18) 一、实验目的 (18) 二、实验原理及内容 (18) 三、硬件接线图与软件程序流程图 (18) 四、源程序 (19) 五、实验结果 (22) 六、实验总结与思考题 (22) 七、实验收获与心得体会 (22)

实验一 I/O地址译码 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理及内容 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。2、接线: Y4/IO地址接 CLK/D触发器 Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D角发器接 +5V Q/D触发器接 L7(LED灯)或逻辑笔 三、硬件接线图与软件程序流程图 硬件连接图如下:

北京邮电大学微机原理与接口技术软件件实验报告

信息与通信工程学院 微机原理软件实验报告 班级:学号:姓名:序号:时间:2015-11-6——2015-11-29 实验二分支,循环程序设计 一、实验目的:

1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的 DOS 功能调用. 二、实验内容: 1.安排一个数据区(数据段),内存有若干个正数,负数和零.每类数的个数都不 超过 9。 2.编写一个程序统计数据区中正数,负数和零的个数。 3.将统计结果在屏幕上显示。 4.(选做)统计出正奇数,正偶数,负奇数,负偶数以及零的个数。 三、预习题: 1、十进制数 0 -- 9 所对应的 ASCII 码是什么? 如何将十进制数 0 -- 9 在屏幕上显示出来? 答:十进制数0——9对应的二进制数为30H——39H。要屏显0-9的数码,只需将AH 置成02H(DOS功能调用),然后将要显示的数码的ASCII码存进DL里,然后执行INT 21H 就可以打印字符。或者,若这些数码是以字符串的格式存储,则可以将AH置成09H,(最后以’$’字符结束,)然后将串首地址传给DS,然后执行INT 21H就可以打印字符串。 2、如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 答:可以将待检验数与0比较(使用CMP指令后用JZ指令判断ZF是否为零),也可以将待检验数与80H相与,判断ZF的值。二是和0相比是否相等,然后用该数(假设为8位)和10000000相与,取出符号位判断,可区分正负。本次试验中我使用的方法是与0比较,所有判决方法的核心思想要么是直接和0相比,要么使用逻辑或移位运算,取出符号进行判断。 四、实验过程: 流程图:

微机原理硬件实验报告

微机原理课程实验报告 实验题目 简易微型计算机控制系统的设计与接口芯片的使用,8259A、8254、8255A、8251A 的联合编程。 实验目的 掌握简易微型计算机控制系统的设计和搭建的步骤和方法,理解并使用8259A、8254、8255A、8251A接口芯片进行联合编程,实现双机通讯、基本输入输出、计数\定时、中断响应的基本功能,在此基础上,达到实验设计构想。 设计思路 1. 使用两台实验装置,一台为发送机,一台为接收机,进行两机间的串行通讯。 2. 运行各自对应程序后,发送机在DOS界面下显示开始信息“START”,接收机显示程序启动、等待接受的信息“BEGUN,RECEIVING INFO”。 3. 输入控制指令“TURN”(8路LED灯轮流闪动,每次灯闪0.5s),或“BLINK”(8路LED灯一同闪动,每次灯闪0.5s),或“FORWARD”(8路LED从两边向中间闪动,每次灯闪0.5s),回车后则接收机上8路LED灯出现各自对应效果,屏幕上显示“IT’S SHOW TIME”。 4. 显示15次(1min)后,演示结束,接收机LED灯出现OVER状态(每隔一灯亮),屏幕上显示“SHOW OVER”,并将结果传回发送机,发送机屏幕上显示同样内容。 5. 按ESC键退出程序。 程序思路 分为发送机程序和接收机程序两大部分 发送机程序思路(SENDER.ASM) 1. 程序启动时显示提示信息。指令字符串、提示信息的输入、显示、存储操作采用INT 21H的DOS中断功能调用。 2. 得到指令字符串后,判断其类型后,向发送机发送指令类型,功能实现通过8251A的双机通信,S/R(发送机、接收机,下同)设置相同的波特率、数据格式(1个停止位、偶检验、字符长度8位),均允许收发数据。 3. 发送完指令类型后,开始等待接收演示结束的指令。 4. 程序结束。 综上,发送机端主要用到8255的基本输入输出、8251A的双机串行异步通信、DOS功能调用等主要功能。 接收机程序思路(RECEIVER.ASM) 接收机程序中需要用到中断处理,因此设计思路分为主程序和中断处理子程序两部分。 接收机主程序

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a)I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 2、接线:Y4/IO地址接 CLK/D触发器 Y5/IO地址接CD/D触发器 D/D触发器接 SD/D触发器接+5V

Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273 插通用插座,74LS32用实验台上的“或门”)。74LS273为八D 触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LE D显示电路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接 口输出,根据8个发光二极管发光情况验证正确性。 3、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244 插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓 冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输 出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ 码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验台逻辑或 门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实验台逻辑或 门) 三、硬件连线图 1、I/O地址译码

微机原理实验报告软件实验1

一、实验目的 1.掌握存储器读写方法 2.了解存储器的块操作方法 、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WAVE 6000软件

data ends code segme nt assume cs:code, ds:data start proc n ear mov ax, data mov ds, ax mov bx, offset Block ;起始地址 mov cx, 256 ; 清256字节 Agai n mov [bx], byte ptr 0 inc bx ;地址+1 Loop Agai n ;记数减一 jmp $ ; 死循环 code ends end start 四、实验过程 Sl.asm data segme nt Block db 256 dup(55h) 代码流程图

(1)进入Wave6000,输入程序并检查,保存程序。 ⑵“编译”程序。 (3) “全速执行”程序。 ⑷“暂停”程序运行,在“数据窗口( MEMOREY )”查看0400H 起始的单元 内容,并记录。 (5)在指令“jmp $”处设断点。“全速执行”程序。 ⑹ 在“数据窗口( MEMOREY )”查看0400H 起始的单元内容,记录并分析实 验结果。 六、实验结果及总结 1、在“数据窗口( MEMOREY )”查看0400H 起始的单元内容 运行前: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH) ? 总结:通过本实验,我了解到单片机读写存储器的读写方法, 同时也了解到单片 机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。 实验步骤 运行后: 511H C \UB200Qf \E X&6ASM \S1. ASM (0400 00 0G 00 00 (I) 00 00 CO 00 00 0410 00 00 00 OG oo 10420 00 □0 00 oo □0 關 皿 00 GO oo □ 0 0440 oa 00 00 oo oo 00 □0 co oo oo 0400 00 00 DC oo □ .1JJ 00 00 0D □0 00 oo_ tJ D 00 oa tK 00 ao on XJ 00 (K 0D oo 00 00 co 00 00 oo 00 00 co (K ) 00 oo C - \LAB2000F\EXS6kSM \51. ASM 地址: 0400)( oa 00 W W 00 OO^d r.

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级:通信1309 姓名:张哲熙 学号:

指导教师:周永华 实验一交通信号灯模拟控制 一.实验目的 交通信号灯模拟控制是一个基于实际工程原理,结合文献、现实十字路口交通等得研究,对工程问题进行确定、表述和建模分析,获得最优设计方案,理解并在工程实践中遵守工程职业道德规范,根据实验室实验环境限定条件确定实验方案。所有知识涵盖本课程中的并行接口芯片、汇编语言程序设计、算法分析、接口地址的确定、外围设备的控制等。通过此实验可以理解微机系统中接口电路的作用,掌握软件硬件协同工作原理,熟悉微机原理与接口技术的综合应用。最终达到如下实验目的: (1)掌握可编程并行接口 8255 芯片的工作原理 (2)掌握利用并行接口芯片 8255 实现信号灯控制的硬件设计和软件设计(3)掌握接口电路及汇编语言程序设计的调试方法 (4)了解 PC 机和实验系统板的连接原理,理解系统机扩展原理 (5)了解并行接口芯片在工程实践中的典型应用及实现方式。 二.实验内容 设计利用 TPC-2003A 实验系统提供的 8255 芯片和信号灯设计实现十字路

口交通灯的模拟控制的硬件连接和程序设计。 1.设计要求 (1)通过实际调研了解十字路口交通灯原理,确定实现的算法流程。 (2)利用实验系统设计硬件电路,明确 8255 芯片端口地址。 (3)编程实现并调试完成交通信号灯的模拟控制。 (4)分析设计方案并比较和实际交通信号灯的技术性能差别。 2.设计目标和性能指标 (1)考察一个实际十字交通等路口交通控制,模拟在实验室实现。 (2)扩展功能:用 LED 应倒计时方式显示各路口灯亮时间。 (3)对于复杂多路口应该如何设计。例如结合车流、人流等多方因素方案如何确定。 三.实验电路 如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:28BH A口地址: 288H C口地址: 28AH 红黄绿红黄绿

相关主题
文本预览
相关文档 最新文档