微机原理实验报告大汇总.docx
- 文档编号:2008742
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:25
- 大小:391.65KB
微机原理实验报告大汇总.docx
《微机原理实验报告大汇总.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告大汇总.docx(25页珍藏版)》请在冰点文库上搜索。
微机原理实验报告
课程名称:
计算机原理课程设计
学院(系):
电气工程学院
专 业:
电气工程及其自动化
班 级:
学 号:
学生姓名:
成 绩:
2012 年 4 月 10 日
一、接口训练
实验一 拨动开关和LED显示实验
1、实验目的和要求
掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。
2、实验内容
按图将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择
8255 为方式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。
开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。
编程涉及8255端口地址有四个,由于8255片选信号线与地址译码区的200~2FH连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。
注意,该地址一定是一个16位数,所以I/O操作要使用INAL,DX和OUTDX,AL指令。
3、实验框图及电路图
-24-
4、程序清单
汇编程序代码如下:
.Modelsmall
.386
io8255_a equ200h
io8255_b equ201h
io8255kz equ203hcodesegment
assume cs:
codestart:
mov dx,io8255kz
mov al,90h ;设置8255控制字,A口输入,B口输出
out dx,al
aa:
mov dx,io8255_a
in al,dx ;输入开关状态mov dx,io8255_b
out dx,al ;把A口数据送B口寄存器,用LED显示输出
jmp aa ;循环
code ends
end start
5、实验结果与分析
通过开关从PA口输入数据,观察灯可知,PB口输出。
实现了设计的功能。
1、实验目的和要求
实验二8259中断控制器实验
了解8259中断控制器的基本使用,掌握中断程序编程技术。
2、实验内容
使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲按键,触发一次中断,使7段数码管显示的“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。
3、实验框图与电路图
4、程序清单
Modelsmall
.386
data segment
led_cs equ 200hled_cs1 equ 201h
ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67hold dd ?
data endscodesegment
assumecs:
code,ds:
data
start:
cli
mov ax,data
mov ds,ax
mov es,ax
in al,21h
and al,11011111b ;maskbyteout 21h,al
push ds
mov bx,0
mov ds,bx
lea ax,cs:
int_proc ;WRITEINTERRUPTPROGRAMEMTRYADDRESS
mov bx,5 ;n=IRx
mov si,30h ;base=30Hadd si,bx
sal si,2 ;typenumX4mov ds:
[si],ax
push cs
pop ax
mov ds:
[si+2],axpop ds
ttt:
lea bx,ledcodesti
sss:
mov ch,1
lll:
cmp ch,40hje sss
jmp lllint_procproc far
push ax
call disp
mov al,20h
out 20h,al
pop axsti
iretint_procendpdisp proc
push dx
push bx
push ax
l:
mov al,6dhmov dx,led_csnop
nop
out dx,al
mov al,ch
e:
mov dx,led_cs1out dx,al
shl ch,1
exitdisp:
pop axpop bx
pop dxret
disp endp
delay proc
push ecx
mov ecx,0fffffffh
kk1:
loop kk1pop ecxret
delay endp
code ends
end start
5、实验结果与分析
单片8259实验中,每按一次单脉冲按键,触发一次中断,使7段数码管显示的
“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。
实验三 定时/计数器8254实验
1、实验目的和要求
熟悉8254在系统中的电路接法,掌握8254的工作方式及应用编程。
二、实验内容
使用8254两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二极管各1秒。
3、实验框图及电路图
四、程序清单
汇编程序代码如下:
.Modelsmall
.386
datasegment
i8254_0EQU200H
i8254_1equ201hi8254kzequ203hdata ends
code segment
assume cs:
code,ds:
data
start:
mov
movmov
ax,data
ds,axdx,i8254kz
mov
al,36h
;计数器0方式3,BCD码计数
out
dx,al
mov
ax,1000
;写入循环计数初值1000
mov
dx,i8254_0
;计数器0设置初值
out
dx,al
;先写低字节
mov
al,ah
out
dx,al
;后写高字节
mov
dx,i8254kz
mov
al,76h
;计数器1方式3,二进制计数
out
dx,al
mov
ax,1000
mov
dx,i8254_1
ddd:
out
dx,al
;先写低字节
mov
al,ah
out
dx,al
;后写高字节
nop
jmp
ddd
hlt
code
ends
end
start
五、实验结果与分析
可以看到周期性的点亮及熄灭发光二极管各1秒。
通过本次实验,掌握了8253的使用方法。
对于时定时时间超出计时器计时范围的情况,可先通过一个计时器对时钟信号进行分频,再用其输出作为另一定时器的时钟信号。
用这种方法可以极大地拓展计时的范围。
实验四 8位A/D转换实验(查询方式)
1、实验目的和要求
掌握模/数信号转换的基本原理,掌握ADC0809芯片的应用方法。
2、实验内容
从ADC0809通道0输入+5V可变电压,使用查询方式读取转换数据并在数码管上显示两位16进制数。
3、实验框图与电路图
4、程序清单
汇编程序代码如下:
Modelsmall
.386
AD_CS EQU 200h ;LED_CS EQU 210H
DATA SEGMENT
LEDCODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71HDATA ENDS
CODE SEGMENT
ASSUMECS:
CODE,DS:
DATASTART:
MOV AX,DATA
MOV DS,AX
RPT:
MOV DX,AD_CS ;ADC启动转换地址
OUT DX,AL
MOV DX,AD_CS ;获取ADCEOC状态地址
ADD DX,2
L1:
IN AL,DX
TEST AL,01H ;测试EOC=1?
JZ L1
MOV DX,AD_CS ;读数据地址INC DX
IN AL,DX
CALL DISP ;显示数据JMP RPT
DISP PROC
MOV SI,OFFSETLEDCODEMOV BX,SI
MOV CH,AL
MOV CL,4
ROR AL,CL ;截取AL高四位并转换。
AND AL,0FH
MOV AH,0
ADD BX,AX
MOV AL,[BX] ;获取LED显示编码
MOV DX,LED_CSOUT DX,AL
MOV AL,02H
INC DXNOP
OUT DX,AL ;显示CALL DELAY
MOV AL,CH
AND AL,0FH ;截取低四位,并转换MOV AH,0
ADD SI,AX
MOV AL,[SI]MOV DX,LED_CSOUT DX,AL
MOV AL,01H
INC DX
OUT DX,AL ;显示CALL DELAY
RET
DISP ENDP
DELAY PROCPUSH CX
MOV CX,50H
X1:
LOOPX1POPCXRET
DELAY ENDP
CODE ENDS
END START
5、实验结果与分析
旋转电位器旋钮,改变模拟量大小,转换值××在00~FF之间变化。
实验五 步进电机实验
1、实验目的和要求
掌握步进电机的控制方法。
二、实验内容
编写实验程序,利用8255A口控制步进电机的运转。
步进电机型号为20BY20H04,电压5V,每转一圈需48步,每步旋转7.5度。
三、实验框图及电路图
四、程序清单
汇编程序代码如下:
.model small
.386
io_address equ 200hdatasegment
speeddb2dataendscodesegment
assumecs:
code,ds:
datastart:
mov ax,data
mov ds,ax
mov dx,IO_ADDRESSadd dx,03
mov al,80h ;输出8255控制字out dx,al
speedin:
a1:
mov dx,IO_ADDRESS ;输出步进代码顺序为1,3,2,6,4,c,8,9mov al,01h
out dx,al
call delay
mov al,03h
out dx,al
call delay
mov al,02h
out dx,al
call delay
mov al,06h
out dx,al
call delay
mov al,04h
out dx,al
call delay
mov al,0Ch
out dx,al
call delay
mov al,08h
out dx,al
call delay
mov al,09h
out dx,al
call delay
jmp a1
delay proc ;延时子程序push ax
push cx
push dx
movdh,speedx1:
movcx,0f00hx2:
loopx2
dec dh
jnz x1
pop dx
pop cx
pop axret
delay endpcode ends
end start
实验结果与分析
步进电机选全速旋转。
通过本次实验,了解了步进电机的工作原理,以及脉冲分配概念;掌握了计算机控制步进电机的方法。
实验六扩展8259中断控制器实验
1、实验目的和要求
1、掌握中断控制器8259管理
2、掌握扩展中断
2、实验内容
1、采用查询方式
2、如图接线,按单脉冲请求一次中断,屏幕上显示相应的中断请求号
3、实验框图及电路图
4、程序清单
.modelsmall
.386
data segment
led_cs equ 210h
i8259_1
equ
200H
;8259的ICW1端口地址
i8259_2
equ
201H
;8259的ICW2端口地址
i8259_3
equ
201H
;8259的ICW3端口地址
i8259_4
equ
201H
;8259的ICW4端口地址
o8259_1
equ
201H
;8259的OCW1端口地址
o8259_2
equ
200H
;8259的OCW2端口地址
o8259_3
equ
200H
;8259的OCW3端口地址
ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67hdata ends
codesegment
assumecs:
code,ds:
data
start:
cli
mov ax,data
mov ds,ax
mov es,ax
;----设置386的8259中断屏蔽字----
in al,21h
and al,11011111b ;maskbyteout 21h,al
push ds
;----初始化8259----
ui:
mov
movout
dx,i8259_1
al,13hdx,al
;设置8259的ICW1
;中断请求为边沿触发,单片8259、需要ICW4
mov
dx,i8259_4
;设置8259的ICW4
mov
al,01h
out
dx,al
mov dx,o8259_1 ;设置8259的OCW1mov al,00h ;打开所有中断允许out dx,al
mov ax,0
mov ds,ax
lea ax,cs:
int_proc ;WRITEINTERRUPTPROGRAMEMTRYADDRESS
mov bx,5 ;n=IRx
mov si,30H ;base=30Hadd si,bx
add si,si ;typenum
add si,si ;X4mov ds:
[si],ax
push cs
pop ax
mov ds:
[si+2],axpop ds
sti
sss:
mov ch,1LLL:
cmp ch,40h
je sss
jmp lllINT_PROC PROCfar
push ax
push cx
QUERY:
mov dx,o8259_3 ;向8259的OCW3发送查询命令
mov al,0ch
out dx,al
in al,dx ;读出查询字,读出8259的中断号and al,07h
call disp
mov al,20h
out 20h,al
mov dx,o8259_2 ;向8259发送中断结束命令mov al,20h
out dx,al
pop ax
pop cxsti
iret
int_proc ENDPdisp proc
push bx
push dx
mov si,offsetledcodemov bx,si
mov ah,0
add bx,ax
mov
al,[bx]
mov
dx,led_cs
out
dx,al
mov
al,01h
inc
dx
nop
nop
nop
out
dx,al
call
delay
mov
al,00h
out
dx,al
pop
dx
pop
bx
ret
disp
endp
delay
proc
push
cx
push
ax
kk2:
mov
ax,0fh
mov cx,0ffffh
x1:
loop x1dec ax
jnz x1
pop ax
pop cxret
delay endpcode ends
end start
5、实验结果与分析
单片8259实验中,每按一次单脉冲按键,触发一次中断,屏幕上显示相应的中断请求号。
二.综合训练
空调风机盘管制/冷热的控制(P140)
1、实验题目
在现代建筑中,都设有集中空调。
空调制冷/热是为了调节空气中的温度。
在日常生活中夏天室外温度很高,需要降温。
所以空调制冷,给空气降温,达到调节空气温度的目的。
一般采用风机盘管调节温度。
工作原理如下:
室外温度升高,空调需要置换的冷量增加,流过风机的水流量增加,用一个电动阀调节水流量,保证进入室内的空气温度恒定。
同样,冬季室外温度低,空调制热。
从而保证进入大厦的客人有很舒适的环境。
根据题意设计一个实验电路。
2、题目分析
模拟空调风机设备控制过程。
冬季,空气要加热,室内温度较低,需要加大风机盘管里的热水流量(电磁阀用步进电机代替)。
夏季室外温度高,需要风机盘管加大往外的排水量以使压缩制冷达到降温的目的。
每次调解电动阀记录当时时间。
3、原理分析
利用步进电机,模拟阀开启状况,这个阀连续可调,即步进电机的调速。
同时具有夏季排水,冬季入水,即步进电机的的正转和反转的功能,需要8255。
同时需要24小时定时电路以记录按下空调按键时的时间,需要8259中断控制和8253定时记录。
4、步进电机调速换向控制模块
P55Aequ 200h;8255A口输出P55Cequ 202h;8255C口输入P55CTRLequ 203h;8255控制口DATASEGMENT
BUF db0DATAENDS
CODE SEGMENT
ASSUMECS:
CODE,DS:
DATASTART:
MOVDX,P55CTRLMOVAL,89H
OUTDX,AL ;8255C输入,A输出
MOVBUF,33HOUT1:
MOVAL,BUFMOVDX,p55aOUTDX,AL
IN1:
MOVDX,P55C
INAL,DX ;读开关状态TESTAL,01H
JNZK0
TESTAL,02HJNZK1
TESTAL,04H
JNZK2
TESTAL,08HJNZK3
TESTAL,10HJNZK4
TESTAL,20HJNZK5
TESTAL,40HJNZK6
STOP:
JMPOUT1K0:
MOVBL,10HSAM:
TESTAL,80H ;K7是否为1JZZX0
JMPNX0K1:
MOVBL,18HJMPSAM
K2:
MOVBL,20HJMPSAM
K3:
MOVBL,40HJMPSAM
K4:
MOVBL,80HJMPSAM
K5:
MOVBL,0C0HJMPSAM
K6:
MOVBL,0FFHJMPSAM
ZX0:
CALLDELAYMOVAL,BUF
RORAL,1 ;循环右移MOVBUF,AL
JMPOUT1NX0:
CALLDELAYMOVAL,BUF
ROLAL,1 ;循环左移MOVBUF,AL
JMPOUT1
DELAYPROCNEARDELAY1:
MOVCX,0100HDELAY2:
LOOPDELAY2DECBL
JNZDELAY1RET
DELAYENDPCODEENDSENDSTART
5、24小时定时模块
DATA SEGMENT
HOUR DB 00H
MIN DB 00H
SEC DB 00HLED_CS EQU200HLED_CS1 EQU201H
LEDCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67HI8254_0 EQU210H
I8254_1EQU211HI8254_KZEQU213HDATAENDS
STACK SEGMENT STACK
DB 100 DUP(?
)
STACK ENDS
CODE SEGMENT
ASSUMEDS:
DATA,ES:
DATA,SS:
STACK,CS:
CODE
START:
CLI
MOV AX,DATAMOV DS,AXMOV ES,AX
MOV DX,I8254_KZ ;8254INITMOV AL,36H
OUT DX,ALMOV DX,I8254_0MOV AX,1000OUT DX,ALMOV AL,AHOUT DX,AL
MOV DX,I8254_KZMOV AL,76H
OUT DX,ALMOV DX,I8254_1MOV AX,1000
OUTDX,ALMOVAL,AHOUTDX,AL
PUSHDS ;8259INITMOV AX,0
MOV DS,AX
LEA AX,CS:
TIME_PROCMOV BX,5
MOV SI,30HADD SI,BXADD SI,SIADD SI,SI
MOV DS:
[SI],AXPUSHCS
POP AX
MOV DS:
[SI+2],AXPOP DS
IN AL,21H ;8259MASKWORDAND AL,11011111B
OUT 21H,ALLEA SI,BUFFERXOR DI,DI
STI
TTT:
CALLDISP1CALLDISP2CALLDISP3JMPTTT
TIME_PROC PROC ;TIMINGINTERRUPTSTI
PUSHAXPUSHBXPUSHCXPUSHDXXOR CX,CXXOR BX,BX
MOV AL,SEC ;SECCMP AL,59H
JB INC1MOV AL,0MOV SEC,ALMOV CX,1JMP MIN1
INC1:
MIN1:
ADD AL,1DAA
MOV SEC,AL
INC2:
HOUR1:
INC3:
OVER1:
MOV AL,MIN ;MINUTECMP AL,59H
JB INC2CMP CX,1JNE HOUR1MOV AL,0MOV MIN,ALMOV BX,1JMP HOUR1
CMP CX,1JNE H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 报告 汇总