微机原理.docx
- 文档编号:27224865
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:46
- 大小:238.66KB
微机原理.docx
《微机原理.docx》由会员分享,可在线阅读,更多相关《微机原理.docx(46页珍藏版)》请在冰豆网上搜索。
微机原理
成绩
本科实验报告
课程名称:
微机原理课程设计
院系:
电信学院
专业:
集成电路
班级:
电子0604
学号:
200661175
姓名:
王青鹏
指导老师:
实验日期:
目录content
页码
1.运算类程序设计编程训练--------------------------------------2
2.循环程序设计编程训练----------------------------------------4
3.排序程序设计编程训练----------------------------------------6
4.8255并行接口实验--------------------------------------------8
5.8259单片中断实验--------------------------------------------10
6.8259中断优先级实验------------------------------------------13
7.8253定时计数器实验------------------------------------------16
8.A/D转换接口实验---------------------------------------------18
9.步进电机实验-------------------------------------------------20
10.十字路口交通灯实验------------------------------------------22
11.实验体会----------------------------------------------------27
实验一运算类程序设计编程
1实验目的
1.掌握运算类指令编程及调试方法。
2.掌握运算类指令对各状态标志位的影响及控制条件转移的使用。
2实验内容
从键盘键入一个十进制数(00—99),将其转换为二进制数,并进行开平方运算。
若输入数的平方根是整数,则输出;否则,直接结束。
3实验程序
.MODELSMALL
.STACK200H
.DATADATA1DB1,3,5,7
.CODE
START:
MOVAX,16
MOVBX,OFFSETDATA1
LOOP1:
SUBAX,DATA1[BX]
INCBX
CMPAX,0
JNELOOP1
CMPBL,9H
JAENEXT
ADDBL,30H
MOVDL,BL
JMPDISP
NEXT:
MOVAL,BL
DIV0FH
ADDAL,30H
ADDDL,30H
PUSHDL
MOVDL,AL
MOVAH,02H
INT21H
POPDL
DISP:
MOVAH,02H
INT21H
MOVAX,4C00H
INT21H
END
4实验框图
5实验实现方法说明
实验开始时,输入两位十进制数。
十位和各位均以ASCII码的形式读入,
转换成十六进制后存储。
对此数进行减奇数法求得算数平方根。
即
12=1
22=1+3
32=1+3+5
42=1+3+5+7
52=1+3+5+7+9
……
要做平方根运算,就可以从输入数中逐次减去自然数中的奇数1,3,5,7…,直到结果为零,然后统计自然奇数的个数,它就是其平方根。
实验二循环程序设计编程
1实验目的
1.加深对循环程序结构的理解。
2.掌握循环结构程序设计的方法。
3.熟练掌握调试循环结构程序的方法。
2实验内容
在某数据存储区内存放一些有符号的数,他的第一单元存放该数据区数据的个数,从第二单元开始存放数据,在数据存储区的最后一个单元存放负数个数。
3实验程序
datasegment
dw6,1,0,-4,45,67,88,?
dataends
stacksegmentstack
dw200dup(0)
stackends
codesegment
assumecs:
code,ss:
stack,ds:
data
start:
movax,data
movds,ax
movdx,0
movbx,2
movcx,ds:
[0]
loop1:
movax,[bx]
cmpax,0
jgekkk
incdx
kkk:
addbx,2
looploop1
mov[bx],dx
movax,[bx]
callshow_int
movax,4c00h
int21h
dsp1proc
pushcx
pushbx
movcx,0
movbx,10
movdx,0
next:
divbx
inccx
pushdx
movdx,0
cmpax,0
janext
loop2:
popax
calldsp2
looploop2
popbx
popcx
ret
dsp1endp
dsp2proc
addax,30h
movdl,al
movah,2
int21h
ret
dsp2endp
codeends
endstart
4实验框图
5实验实现方法说明
为统计数据区内负数、整数和零的个数,需要逐个判断数据区内的每一个数
据,然后将所有数据中符号位为1的个数累加,即为负数的个数;符号位为0的个数累加,即为正数的个数;而和0FFH相与结果为0的数累加,即为零的个数。
在程序一开始时建立地址指针,每比较一次改变一次,比较结束后地址指针指向的为数据区的最末之后的位置,再依次存入统计所得的数字。
实验三排序程序设计编程
1实验目的
1.利用分支、循环、子程序调用等基本程序结构实现排序程序。
2.掌握综合程序的设计、编制及调试方法。
2实验内容
在数据区中存放一组数,数据个数就是数据缓冲区的长度,要求用气泡法,对该数据区的数据按递增(或递减)关系排序。
3实验程序
datasegment
bufferdw-10,30,52,
dw2,42,92,
dw22,-36,-31,
dw63
countequ($-buffer)/2;循环总次数
dataends
ss_segsegmentstack
db256dup(?
)
ss_segends
codesegment
assumecs:
code,ds:
data,ss:
ss_seg
mainprocfar
pushds
movax,0
pushax
movax,data
movds,ax
movsi,count;si存外层循环次数
sort1:
movdi,1;di存内层循环次数
movcx,di
leabx,buffer
circle:
movax,[bx]
incbx
incbx
cmpax,[bx]
jlenext
xchgax,[bx] ;交换
mov[bx-2],ax
movdi,cx
next:
inccx ;内层循环次数加一
cmpcx,si
jlcircle
decsi ;外层循环次数减一
cmpsi,1
jnesort1
ret
mainendp
codeends
endmain
4实验框图:
5实验实现方法说明
1.建立地址指针,从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N-1个数比较,若第N-1个数小于第N个数,则两者交换,否则不交换;然后再将第N-1个与第N-2个数比较……一直进行下去,直到N个数的相邻两个数都比较完位置。
此时,N个数中的最大数被排在第N个数的最前列。
2.对剩下的N-1个数重复第一步,找到N-1个数中的最大数。
3.重复第2步,直到N个数全部排序好为止。
实验四8255并行接口实验
1实验目的
1.学习利用并行接口芯片8255构成并行接口电路的基本方法。
2.熟悉掌握并行接口芯片8255的基本性能及在实际应用中硬件连接、初始化编程方法。
2实验内容
编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,再从PB口输出这一反码字节。
3实验程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,21BH
MOVAL,90H
OUTDX,AL
BG:
MOVDX,218H
INAL,DX
MOVDX,219H
OUTDX,AL
JMPBG
CODEENDS
ENDSTART
4实验框图
5实验电路
6实验实现方法说明
对8255写入控制字10010000,表示PA口工作在方式1,为输入端口;PB口工作在方式0,为输出端口。
这样既可实现从PA口读入K0~K7状态,再从PB口输出。
实验五8259单片中断实验
1实验目的
1.了解PC机的中断结构及8259中断控制器的初始化。
2.熟悉8259中断控制器的工作原理和硬件连线方法。
3.了解8259的应用和硬件编程方法。
4.了解8259中断屏蔽,以及优先级判别等特性。
5.了解8259的级联工作方式。
2实验内容
编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。
3实验程序
INT0EQU220h
INT1EQU221h
INT10EQU228h
INT11EQU229h
STACKSEGMENT
STADB50DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
CLI
MOVAX,TOP
MOVSP,AX
pushds
MOVAX,0000H;SETIRQ0
MOVDS,AX
MOVAX,OFFSETIRQ0
ADDAX,0000H
MOVSI,20H
MOV[SI],AX
MOVAX,CS
MOVSI,22H
MOV[SI],AX
popds
MOVAL,13H;ICW1
MOVDX,INT0
OUTDX,AL
MOVAL,8;ICW2
MOVDX,INT1
OUTDX,AL
movcx,0fffh
loop$
MOVAL,9;ICW4
MOVDX,INT1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT1
MOVAL,0FEH;OCW1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT0
MOVAL,20H
OUTDX,AL
movcx,0fffh
loop$
MOVAL,13H;ICW1
MOVDX,INT10
OUTDX,AL
MOVAL,8;ICW2
MOVDX,INT11
OUTDX,AL
movcx,0fffh
loop$
MOVAL,9;ICW4
MOVDX,INT11
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT11
MOVAL,0FFH;OCW1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT10
MOVAL,20H
OUTDX,AL
movcx,0fffh
loop$
STI
MOVDX,21BH
MOVAL,90H
OUTDX,AL
DSP:
MOVAL,0FFH
MOVDX,219H
OUTDX,AL
JMPDSP
IRQ0:
STI
movcx,0FFFFH
LOOP$
MOVAL,0FH
MOVDX,219H
OUTDX,AL
MOVDX,INT0
MOVAL,20H
OUTDX,AL
movcx,0FFFFH
LOOP$
movcx,0FFFFH
LOOP$
IRET
codeends
endstart
4实验框图
5实验电路
6实验实现方法说明
8259初始化时,ICW1写入00010011,即单片的边沿触发中断方式;ICW2写入00001000,即中断类型码为08H;ICW4写入00001001,即为8086系统的非自动中断方式,完全签到,且为单片工作;OCW1写入11111100,即屏蔽IRO和IR1,
之后再开中断,即可按设定的程序开始工作。
在中断程序的最后,再设置OCW2为00100000,即为普通EOI中断。
实验六8259中断优先级实验
1、实验目的
1.了解PC机的中断结构及8259中断控制器的初始化。
2.熟悉8259中断控制器的工作原理和硬件连线方法。
3.了解8259的应用和硬件编程方法。
4.了解8259中断屏蔽,以及优先级判别等特性。
5.了解8259的级联工作方式。
2实验内容
编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,IR0中断服务程序从PB口输出0FH,L0~L3灯亮,L4~L7灯灭,并延时一段时间后返回主程序。
IR1中断服务程序从PB口输出0FH,L0~L3灭,L4~L7亮,并延时一段时间后返回主程序。
3、实验程序
INT0EQU220h
INT1EQU221h
INT10EQU228h
INT11EQU229h
STACKSEGMENT
STADB50DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
CLI
MOVAX,TOP
MOVSP,AX
PUSHDS
MOVAX,0000H;SETIRQ0
MOVDS,AX
MOVAX,OFFSETIRQ0
ADDAX,0000H
MOVSI,20H
MOV[SI],AX
MOVAX,CS
MOVSI,22H
MOV[SI],AX
MOVAX,0000H;SETIRQ1
MOVDS,AX
MOVAX,OFFSETIRQ1
ADDAX,0000H
MOVSI,24H
MOV[SI],AX
MOVAX,CS
MOVSI,26H
MOV[SI],AX
POPDS
MOVAL,13H;ICW1
MOVDX,INT0
OUTDX,AL
MOVAL,8;ICW2
MOVDX,INT1
OUTDX,AL
movcx,0fffh
loop$
MOVAL,9;ICW4
MOVDX,INT1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT1
MOVAL,0FCH;OCW1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT0
MOVAL,20H
OUTDX,AL
movcx,0fffh
loop$
MOVAL,13H;ICW1
MOVDX,INT10
OUTDX,AL
MOVAL,8;ICW2
MOVDX,INT11
OUTDX,AL
movcx,0fffh
loop$
MOVAL,9;ICW4
MOVDX,INT11
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT11
MOVAL,0FFH;OCW1
OUTDX,AL
movcx,0fffh
loop$
MOVDX,INT10
MOVAL,20H
OUTDX,AL
movcx,0fffh
loop$
STI
MOVDX,21BH
MOVAL,90H
OUTDX,AL
DSP:
MOVAL,0FFH
MOVDX,219H
OUTDX,AL
JMPDSP
IRQ0:
STI
movcx,0FFFFH
LOOP$
MOVAL,0FH
MOVDX,219H
OUTDX,AL
MOVDX,INT0
MOVAL,20H
OUTDX,AL
movcx,0FFFFH
LOOP$
movcx,0FFFFH
LOOP$
IRET
IRQ1:
STI
movcx,0FFFFH
LOOP$
MOVAL,0F0H
MOVDX,219H
OUTDX,AL
MOVDX,INT0
MOVAL,20H
OUTDX,AL
movcx,0FFFFH
LOOP$
movcx,0FFFFH
LOOP$
IRET
codeends
endstart
4实验框图
5实验电路
实验七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
MOVAL,MODE23
OUTDX,AL
MOVDX,TIMER2
MOVAL,0FFh
OUTDX,AL
MOVAL,0FFh
OUTDX,AL
WT:
JMPWT
CODEENDS
ENDSTART
4实验框图
5实验电路
实验八A/D转换接口实验
1实验目的
1.了解模/数转换的工作原理。
2.掌握0809的使用方法。
2实验内容
编写程序,用0809的IN0通道采集数据并在数码管上显示。
旋转电位器旋钮,改变模拟量大小,转换值XX在00~FF范围内变化。
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
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
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实验电路
实验九步进电机实验
1实验目的
1.了解步进电机的工作原理,以及脉冲分配概念。
2.掌握计算机控制步进电机的方法。
2实验内容
编写程序,通过8255控制步进电机旋转。
1.检查实验平台电源供电是否正常。
2.用通讯电缆将实验台与实验微机连接好,上位机与实验平台通讯正常。
3.准备实验导线若干。
3参考程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,21BH
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理
![提示](https://static.bdocx.com/images/bang_tan.gif)