北京科技大学微机原理实验报告.docx
- 文档编号:4818578
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:16
- 大小:322.30KB
北京科技大学微机原理实验报告.docx
《北京科技大学微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《北京科技大学微机原理实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
北京科技大学微机原理实验报告
微机原理及应用实验报告
学院:
班级:
学号:
姓名:
微机实验报告书(Ⅰ)
学号:
姓名:
班级:
同组名单:
实验日期:
实验题目:
8253可编程定时器\计数器
实验目标:
掌握8253的基本工作原理和编程方法
实验步骤:
连接电路图
如图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N<=0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
程序框图:
程序清单:
;*************************;
;*8253方式0计数器实验*;
;*************************;
IOPORTEQU0C800H-0280H
IO8253AEQUIOPORT+283H
IO8253BEQUIOPORT+280H
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,00010000B;设置8253工作方式
MOVDX,IO8253A
OUTDX,AL
MOVDX,IO8253B;送计数初值为0FH
MOVAL,0FH
OUTDX,AL
LLL:
INAL,DX;读计数初值
CALLDISP;调显示子程序
PUSHDX
MOVAH,06H
MOVDL,0FFH
INT21H
POPDX
JZLLL;跳转到LLL
MOVAH,4CH;退出
INT21H
DISPPROCNEAR;显示子程序
PUSHDX
ANDAL,0FH;首先取低四位
MOVDL,AL
CMPDL,9;判断是否<=9
JLENUM;若是则为'0'-'9',ASCII码加30H
ADDDL,7;否则为'A'-'F',ASCII码加37H
NUM:
ADDDL,30H
MOVAH,02H;显示
INT21H
MOVDL,0DH;加回车符
INT21H
MOVDL,0AH;加换行符
INT21H
POPDX
RET;子程序返回
DISPENDP
CODEENDS
ENDSTART
运行结果:
每输入一个单脉冲,屏幕上的数值减1,从15减到0后(拨动16次后),检测到OUT0输出由低电平变为高电平。
小结(体会与收获):
通过预习和实验,学会了8253芯片和微机接口原理和方法,掌握8253定时器/计数器的基本工作原理、工作方式和编程原理,熟悉了汇编代码的编写。
实验中,连接电路,利用代码控制实验电路,深对了课本理论的理解。
由于是第一次实验,进程比较缓慢,所以仅进行了8253可编程定时器/计数器的一个实验,下次实验会熟练一些。
微机实验报告书(Ⅱ)
学号:
姓名:
班级:
同组名单:
实验日期:
实验题目:
1.8253可编程定时器\计数器
2.8255可编程并行接口(方式0)
3.七段数码管
实验目标:
1.掌握8253的基本工作原理和编程方法
2.掌握8255方式0的工作原理及使用方法
3.掌握数码管显示数字的原理
实验步骤:
实验一:
连接电路图
按上图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
实验二:
连接电路图
1)实验电路如图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2)编程从8255C口输入数据,再从A口输出。
实验三:
连接电路图
静态显示:
按图连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
程序框图:
实验一:
实验二:
实验三:
程序清单:
实验一:
;*******************
;*8253分频*
;*******************
IOPORTEQU0C800H-0280H
IO8253AEQUIOPORT+283H
IO8253BEQUIOPORT+280H
IO8253CEQUIOPORT+281H
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,IO8253A;向8253写控制字
MOVAL,36H;工作方式
OUTDX,AL
MOVAX,1000;写入循环计数初值1000
MOVDX,IO8253B
OUTDX,AL;先写入低字节
MOVAL,AH
OUTDX,AL;后写入高字节
MOVDX,IO8253A
MOVAL,76H;设工作方式
OUTDX,AL
MOVAX,1000;写入循环计数初值1000
MOVDX,IO8253C
OUTDX,AL;先写低字节
MOVAL,AH
OUTDX,AL;后写高字节
MOVAH,4CH;程序退出
INT21H
CODEENDS
ENDSTART
实验二:
;*************************;
;*8255A的基本输入输出*;
;*************************;
IOPORT EQU 0C800H‐280H
IO8255A EQU IOPORT+288H
IO8255B EQU IOPORT+ 28BH
IO8255C EQU IOPORT+28AH
CODE SEGMENT
ASSUME CS:
CODE
START:
MOV DX,IO8255B ;对8255进行设定,A输出,C输入
MOV AL,10001001B
OUT DX,AL
INPUT:
MOV DX,IO8255C ;从C输入
IN AL,DX
MOV DX,IO8255A ;从A输出
OUT DX,AL
MOV DL,0FFH ;判断是否有按键
MOV AH,06H
INT 21H
JZ INPUT ;若无,则继续C输入,A输出
MOV AH,4CH ;否则,返回DOS
INT 21H
CODE ENDS
END START
实验三:
;************************************;
;*键盘输入数据(0-9)控制LED数码管显示*;
;************************************;
DATASEGMENT
IOPORTEQU0C800H-280H
IO8255AEQUIOPORT+288H
IO8255BEQUIOPORT+28BH
IO8255CEQUIOPORT+28AH
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
MESG1DB0DH,0AH,'Inputanum(0--9),otherkeyisexit:
',0DH,0AH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,IO8255B;使8255的A口为输出方式
MOVAX,10000000B
OUTDX,AL
SSS:
MOVDX,OFFSETMESG1;显示提示信息
MOVAH,09H
INT21H
MOVAH,01;从键盘接收字符
INT21H
CMPAL,30H;是否小于0
JLEXIT;若是则退出
CMPAL,39H;是否大于9
JGEXIT;若是则退出
SUBAL,30H;将所得字符的ASCII码减30H
MOVBX,OFFSETLED;BX为数码表的起始地址
XLAT;求出相应的段码
MOVDX,IO8255A;从8255的A口输出
OUTDX,AL
JMPSSS;转SSS
EXIT:
MOVAH,4CH;返回
INT21H
CODEENDS
ENDSTART;
运行结果:
实验一:
8253通道0和通道1均工作在方式3,计数初值均为1000。
通道0的时钟输入为1MHz标准脉冲,产生1000Hz的方波;通道1以通道0输出的1000Hz方波脉冲为输入,产生1Hz的方波。
用逻辑笔发现,OUT1输出电平呈规律性高低变化(显示灯闪烁),时间间隔为1s,说明输出频率为1Hz,实现计时器功能。
实验二:
当逻辑开关K0~K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。
实验三:
静态显示:
当从键盘输入0~9任一数字时,七段数码管上便
会显示相应的数字,按下其他按键则退出程序。
小结(体会和收获):
通过本次实验,进一步了解了8253可编程定时器/计数器;巩固了可编程并行接口8255的基本知识点,了解了该芯片的应用。
通过编程实现,熟悉了8255方式控制字,了解了方式0和基本工作原理。
通过这三次实验的学习,对于可编程接口芯片有了更深的认识,掌握了基本的微机接口方法。
在实验过程中要细心,当编译、链接或者运行的时候遇到错误的时候,要仔细检查程序的输入是否正确,很容易输错字母数字。
微机实验报告书(Ⅲ)
学号:
姓名:
班级:
同组名单:
实验日期:
实验题目:
步进电机控制实验
实验目标:
1.了解步进电机控制的基本原理
2.掌握控制步进电机转动的编程方法
实验步骤:
连接电路图
1)按图14连接线路,利用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向。
8255CS接288H~28FH。
PA0~PA3接BA~BD;PC0~PC7接K0~K7。
2)编程:
当K0~K6中某一开关为“1”(向上拨)时步进电机启动。
K7向上拨电机正转,向下拨电机反转。
程序框图:
程序清单:
;*******************************;
;*步进电机*;
;*******************************;
DATASEGMENT
IOPORTEQU0E400H-280H
IO8255AEQUIOPORT+288H;8255A输出端口
IO8255BEQUIOPORT+28BH;8255B控制端口
IO8255CEQUIOPORT+28AH;8255C输入端口
BUFDB0
MESDB'K0-K6ARESPEEDCONTROL',0AH,0DH
DB'K6ISTHELOWESTSPEED',0AH,0DH
DB'K0ISTHEHIGHESTSPEED',0AH,0DH
DB'K7ISTHEDIRECTIONCONTROL',0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,CS
MOVDS,AX
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES
MOVAH,09
INT21H
MOVDX,IO8255B
MOVAL,10001001B
OUTDX,AL;8255C输入,A输出
MOVBUF,33H
OUT1:
MOVAL,BUF
MOVDX,IO8255A
OUTDX,AL
PUSHDX
MOVAH,06H
MOVDL,0FFH
INT21H
POPDX
JEIN1
MOVAH,4CH
INT21H
IN1:
MOVDX,IO8255C
INAL,DX;输入开关状态
TESTAL,01H
JNZK0
TESTAL,02H
JNZK1
TESTAL,04H
JNZK2
TESTAL,08H
JNZK3
TESTAL,10H
JNZK4
TESTAL,20H
JNZK5
TESTAL,40H
JNZK6
STOP:
MOVDX,IO8255C
MOVAL,0FFH
JMPOUT1
K0:
MOVBL,40H
SAM:
TESTAL,80H
JZZX0
JMPNX0
K1:
MOVBL,50H
JMPSAM
K2:
MOVBL,70H
JMPSAM
K3:
MOVBL,80H
JMPSAM
K4:
MOVBL,0A0H
JMPSAM
K5:
MOVBL,0C0H
JMPSAM
K6:
MOVBL,0FFH
JMPSAM
ZX0:
CALLDELAY
MOVAL,BUF
RORAL,1
MOVBUF,AL
JMPOUT1
NX0:
CALLDELAY
MOVAL,BUF
ROLAL,1
MOVBUF,AL
JMPOUT1
DELAYPROCNEAR
DELAY1:
MOVCX,0FFFFH
DELAY2:
LOOPDELAY2
DECBL
JNZDELAY1
RET
DELAYENDP
CODEENDS
ENDSTART
运行结果:
当K0~K6中任意一开关向上拨时步进电机启动,且K1速度最快,K6速度最慢;当K7向上拨电机正转,向下拨电机反转。
当键盘中有任意键输入的时候则程序终止。
小结(收获与体会):
实验和理论是相互检验,相互补充和相互促进的,在实际动手动脑运用理论知识的时候,能更深入地领会概念,熟练运用,在此基础上方能进行创新和自由发挥。
通过本次实验,我了解了步进电机控制的基本原理,掌握了控制步进电机转动的编程方法。
更加深入地了解了微机原理这门课程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京科技大学 微机 原理 实验 报告