微机原理综合实验报告.docx

上传人:b****6 文档编号:5040184 上传时间:2022-12-12 格式:DOCX 页数:35 大小:433.39KB
下载 相关 举报
微机原理综合实验报告.docx_第1页
第1页 / 共35页
微机原理综合实验报告.docx_第2页
第2页 / 共35页
微机原理综合实验报告.docx_第3页
第3页 / 共35页
微机原理综合实验报告.docx_第4页
第4页 / 共35页
微机原理综合实验报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

微机原理综合实验报告.docx

《微机原理综合实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理综合实验报告.docx(35页珍藏版)》请在冰豆网上搜索。

微机原理综合实验报告.docx

微机原理综合实验报告

微机原理综合实验报告

 

一.8255并行口实验

二.8259中断实验

(一)

三.8253定时/计数器实验

四.A/D转换实验

五.步进电机实验

六.综合实验:

十字路口交通灯实验

七.实验体会

四.8255并行口实验

1.实验目的:

(1)学习利用并行接口芯片8255构成并行接口电路的基本方法

(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法

2.实验内容:

编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。

3.实验程序:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,21BH;8255初始化命令字

MOVAL,90H

OUTDX,AL

BG:

MOVDX,218H;从PA口读入数据

INAL,DX

XORAL,FFH;求反

MOVDX,219H

OUTDX,AL;从PB口输出

JMPBG

CODEENDS

ENDSTART

4.实验框图

5.实验电路图

6.实验方法说明

通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。

8259中断实验

(一)

1.实验目的:

(1)了解PC机的中断结构及8259中断控制器的初始化

(2)熟悉8259中断控制器的工作原理和硬件连线方法

(3)了解8259的应用和硬件编程方法

了解8259中断屏蔽

2.实验内容:

编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

3.实验程序

INT0EQU220h

INT1EQU221h

P8255B EQU 219H

P8255K EQU 21BH

STACKSEGMENT

STADB50DUP(?

TOP    EQU  LENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVAX,TOP

MOVSP,AX

PUSHDS

MOVAX,0000H;定义IRQ0中断

MOVDS,AX

MOVAX,OFFSETIRQ0

ADDAX,0000H

MOVSI,20H

MOV[SI],AX

MOVAX,CS

MOVSI,22H

MOV[SI],AX

POPDS

MOVAL,13H;对8259进行初始化ICW1

MOVDX,INT0

OUTDX,AL

MOVAL,8;对8259进行初始化ICW2

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVAL,9;对8259进行初始化ICW4

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVDX,INT1

MOVAL,0FEH;对8259进行初始化OCW1

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVDX,INT0;对8259进行初始化OCW2,普通EOI返回

MOVAL,20H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

STI

MOVDX,P8255K;对8255进行初始化

MOVAL,90H

OUTDX,AL

DSP:

MOVAL,0FFH

MOVDX,P8255B

OUTDX,AL

JMPDSP

IRQ0:

STI

MOVCX,0FFFFH

LOOP$

MOVAL,0FH

MOVDX,P8255B

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVCX,0FFFFH

LOOP$

IRET

CODEENDS

ENDSTART

4.实验框图

5.实验电路图

6.实验方法说明

主程序使8255输出高电平,实现L0~L7指示灯全亮。

设置中断IRQ0,实现L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

将中断向量的入口地址写入后,通过对8259初始化命令字的写入,实现中断的调用。

六.8259中断实验

(二)

1.实验目的

(1)了解PC机的中断结构及8259中断控制器的初始化

(2)熟悉8259中断控制器的工作原理和硬件连线方法

(3)了解8259的应用和硬件编程方法

(4)了解8259中断屏蔽,以及优先级的判别等特性

2.实验内容:

编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,IR0中断服务程序从PB口输出0FH,L0~L3灯亮,L4~L7灯灭,并延时一段时间后返回主程序。

IR1中断服务程序从PB口输出0F0H,L0~L3灭,L4~L7亮,并延时一段时间后返回主程序。

3.实验程序

INT0EQU220h

INT1EQU221h

P8255B EQU 219H

P8255K EQU 21BH

STACKSEGMENT

STADB50DUP(?

TOP    EQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVAX,TOP

MOVSP,AX

PUSHDS

MOVAX,0000H;设置中断向量IRQ0

MOVDS,AX

MOVAX,OFFSETIRQ0

ADDAX,0000H

MOVSI,20H

MOV[SI],AX

MOVAX,CS

MOVSI,22H

MOV[SI],AX

MOVAX,0000H;设置中断向量IRQ1

MOVDS,AX

MOVAX,OFFSETIRQ1

ADDAX,0000H

MOVSI,24H

MOV[SI],AX

MOVAX,CS

MOVSI,26H

MOV[SI],AX

POPDS

MOVAL,13H;对8259进行初始化ICW1

MOVDX,INT0

OUTDX,AL

MOVAL,8;对8259进行初始化ICW2

MOVDX,INT1

OUTDX,AL

movcx,0fffh

loop$

MOVAL,9;对8259进行初始化ICW4

MOVDX,INT1

OUTDX,AL

movcx,0fffh

loop$

MOVDX,INT1

MOVAL,0FCH;对8259进行初始化OCW1

OUTDX,AL

movcx,0fffh

loop$

MOVDX,INT0

MOVAL,20H   ;普通EOI返回

OUTDX,AL

movcx,0fffh

loop$

STI

MOVDX,P8255K   ;对8255进行初始化

MOVAL,90H

OUTDX,AL

DSP:

MOVAL,0FFH

MOVDX,P8255B

OUTDX,AL

JMPDSP

IRQ0:

STI

MOVCX,0FFFFH

LOOP$

MOVAL,0FH

MOVDX,P8255B

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

movcx,0FFFFH

LOOP$

movcx,0FFFFH

LOOP$

IRET

IRQ1:

STI

movcx,0FFFFH

LOOP$

MOVAL,0F0H

MOVDXP8255B

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

movcx,0FFFFH

LOOP$

movcx,0FFFFH

LOOP$

IRET

codeends

endstart

4.实验框图

 

5.实验电路图

 

6.实验方法说明

主程序使8255输出高电平,实现L0~L7指示灯全亮。

设置中断IRQ0,实现L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

设置中断IRQ1,实现L0~L3灭,L4~L7亮,并延时一段时间后返回主程序。

将中断向量的入口地址写入后,通过对8259初始化命令字的写入,使8259工作在全嵌套方式下,中断优先级IRQ0大于IRQ1,这样通过8259对中断的判断来实现中断的响应。

七.8253定时/计数器实验

1.实验目的:

(1)了解定时器8253的初始化及用法

(2)会用逻辑笔或示波器观察8253的工作状态

2实验内容:

编写程序,使8253工作的定时/计时器2工作在方式3下

3.实验程序:

TIM_CTLEQU203H

TIMER0EQU200H

TIMER1EQU201H

TIMER2EQU202H

MODE23EQU0B6H

MODE13EQU76H

CODESEGMENT

ASSUMECS:

CODE

START:

TT:

CLI

MOVDX,TIM_CTL;初始化8253

MOVAL,MODE23

OUTDX,AL

MOVDX,TIMER2;先写低8位

MOVAL,0FFh

OUTDX,AL

MOVAL,0FFh;后写低8位

OUTDX,AL

WT:

JMPWT

CODEENDS

ENDSTART

4.实验框图

5.实验电路

6.实验方法说明

设置8253计时器工作在方式2实现分频器功能,将实验箱上的频率Q0经行65535分频,再由OUT口输出接到逻辑笔,观察逻辑笔的变化。

八.A/D转换实验

1.实验目的:

(1)了解模/数转换的工作原理

(2)掌握0809的使用方法

2.实验内容:

编写程序,用0809的IN0通道采集数据并在数码管上显示

3.实验程序

B8279EQU212H

D8279EQU210H

LED0EQU00

LED1EQU38H

DATASEGMENT

LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H

DB5EH,79H,71H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVDX,B8279;对8279进行初始化

MOVAL,0D0H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVDX,B8279

MOVAL,LED0

OUTDX,AL

MOVAL,LED1

OUTDX,AL

MOVDX,B8279

MOVAL,95H

OUTDX,AL

MOVDX,D8279;数码管显示

MOVAL,40H

OUTDX,AL

MOVDX,D8279

MOVAL,5eH

OUTDX,AL

MOVDX,D8279

MOVAL,77H

OUTDX,AL

TT:

MOVDX,230H;选通IN0通道

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVDX,B8279

MOVAL,83H

OUTDX,AL

MOVDX,230H

INAL,DX

ANDAL,0FH

LEABX,LED

XLAT

MOVDX,D8279

OUTDX,AL

MOVDX,B8279

MOVAL,84H

OUTDX,AL

MOVDX,230H

INAL,DX

MOVCL,4H

RORAL,CL

ANDAL,0FH

LEABX,LED

XLAT

MOVDX,D8279

OUTDX,AL

JMPTT

CODEENDS

ENDSTART

4.实验框图

5.实验电路图

6.实验方法说明

通过A/D转换接口芯片0809实现模拟量到数据量的转变,并通过键盘显示芯片8279将转换后的数据量显示出来。

步进电机实验

1.实验目的:

(1)了解步进电机的工作原理,以及脉冲分配概念

(2)掌握计算机控制步进电机的方法

2.实验内容

编写程序,通过8255控制步进电机的旋转

3.实验程序

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,21BH;8255初始化

MOVAL,90H

OUTDX,AL

BG:

MOVDX,218H

INAL,DX

CMPAL,01H

JNZC2

MOVBX,0FFFFH

JMPWORK

C2:

CMPAL,02H

JNZC4

MOVBX,07FFFH

JMPWORK

C4:

CMPAL,04H

JNZC8

MOVBX,0FFFH

JMPWORK

C8:

CMPAL,08H

JNZCC

MOVBX,07FFH

JMPWORK

CC:

MOVAL,00H

MOVDX,219H

OUTDX,AL

JMPBG

WORK:

MOVAL,01H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,03H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,02H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,06H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,04H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,0CH

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,08H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

MOVAL,09H

MOVDX,219H

OUTDX,AL

MOVCX,BX

LOOP$

JMPBG

CODEENDS

ENDSTART

4.实验框图

5.实验电路图

6.实验方法说明

初始化8255使PA口为输入口,PB口为输出口,通过判别PA口的数据来使步进电机工作在不同的状态。

步进电机的旋转由OUT指令控制,实现步进电机按照预定指令旋转。

十.综合实验:

十字路口交通灯实验

1.实验要求:

(1)正常情况下,红灯、绿灯5~10秒定时变化

(2)分别设置南北行人中断按钮和东西行人中断按钮,当行人过马路是绿灯亮并延时5秒

(3)设置紧急开关,当按下开关时所以路口的信号灯全为红色

2.发挥部分:

(1)红灯和绿灯转换之间设置黄灯,并且黄灯闪烁3次

(2)紧急红灯按下时发出警报声

3.实验电路图

 

4.实验框图

5.实验程序

P8255AEQU218H;8255连接端口定义

P8255BEQU219H

P8255CEQU21AH

P8255KEQU21BH

TIM_CTLEQU203H;8253连接端口定义

TIMER0EQU200H

TIMER1EQU201H

INT0EQU220H;8259连接端口定义

INT1EQU221H

MDACEQU228H;0832连接端口定义

;'''''''''''''''''''''''

STACKSEGMENTSTACK

STADB50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVAX,TOP

MOVSP,AX

PUSHDS

MOVAX,0000H;定义中断向量IRQ0

MOVDS,AX

MOVAX,OFFSETIRQ0

ADDAX,0000H

MOVSI,20H

MOV[SI],AX

MOVAX,CS

MOVSI,22H

MOV[SI],AX

;'''''''''''''''''''''''''''

MOVAX,0000H;定义中断向量IRQ1

MOVDS,AX

MOVAX,OFFSETIRQ1

ADDAX,0000H

MOVSI,24H

MOV[SI],AX

MOVAX,CS

MOVSI,26H

MOV[SI],AX

;............................

MOVAX,0000H;定义中断向量IRQ2

MOVDS,AX

MOVAX,OFFSETIRQ2

ADDAX,0000H

MOVSI,28H

MOV[SI],AX

MOVAX,CS

MOVSI,2AH

MOV[SI],AX

POPDS

;............................

MOVDX,TIM_CTL;计数器0工作在方式1构成单稳态触发器

MOVAL,00100010B

OUTDX,AL

MOVDX,TIMER0

MOVAL,0F0H;只写低8位

OUTDX,AL

MOVDX,TIM_CTL

MOVAL,01110110B;计数器1工作在方式3构成方波发生器

OUTDX,AL

MOVDX,TIMER1

MOVAL,0FFH;写低8位

OUTDX,AL

MOVAL,0FFH;写高8位

OUTDX,AL

;............................

MOVAL,13H;初始化ICW1,沿触发且需要ICW4

MOVDX,INT0

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVAL,8;初始化ICW2,自定义8号中断

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVAL,9;初始化ICW3,自定义9号中断

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVAL,10;初始化ICW2,自定义10号中断

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVDX,INT1;设置命令字OCW1,只响应IR0、IR1、IR2引脚中断请求

MOVAL,0F8H

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVDX,INT0;设置命令字OCW2,普通EOI命令

MOVAL,20H

OUTDX,AL

MOVCX,0FFFH

LOOP$

STI

;'''''''''''''''''''''''''''''

MOVDX,P8255K;8255初始化,B口输出接LS240

MOVAL,10000001B

OUTDX,AL

;'''''''''''''''''''''''''''''

STATE1:

MOVDX,P8255B;东西红,南北绿

MOVAL,01011010B

OUTDX,AL

MOVCX,10;计时10秒

S1:

CALLDELAY

LOOPS1

STATE2:

MOVDX,P8255B;东西绿,南北黄

MOVAL,00000101B

OUTDX,AL

CALLSHANSHUO

STATE3:

MOVDX,P8255B;东西绿,南北红

MOVAL,10100101B

OUTDX,AL

MOVCX,10;计时10秒

S3:

CALLDELAY

LOOPS3

STATE4:

MOVDX,P8255B;东西黄,南北绿

MOVAL,00001010B

OUTDX,AL

MOVCX,3

CALLSHANSHUO

JMPSTATE1;循环到状态STATE1,即东西红,南北绿

;**----------------------------------------------------**

DELAYPROC;延时子程序1,交通灯持续时间

PUSHCX

PUSHDX

MOVDX,20

DL500:

MOVCX,2801

DL10ms:

LOOPDL10ms

DECDX

JNZDL500

POPDX

POPCX

RET

DELAYENDP

;**----------------------------------------------------**

HALF_DELAYPROC;延时子程序2,黄灯闪烁时间

PUSHAX

PUSHCX

MOVAX,2

DELAY1:

MOVCX,50000

DELAY2:

LOOPDELAY2

DECAX

JNZDELAY1

POPCX

POPAX

RET

HALF_DELAYENDP

;**----------------------------------------------------**

SHANSHUOPROC;黄灯闪烁子程序

PUSHAX

PUSHDX

PUSHCX

MOVCX,6

ZAIYICI:

MOVDX,P8255B

INAL,DX

CMPAL,00000101B

JZFLITTER1

CMPAL,10101111B

JZFLITTER1

CMPAL,00001010B

JZFLITTER2

CMPAL,01011111B

JZFLITTER2

FLITTER1:

CMPAL,00000101B

JZMIE1

MOVAL,00000101B

OUTDX,AL

CALL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1