北京科技大学微机原理实验报告.docx_第1页
北京科技大学微机原理实验报告.docx_第2页
北京科技大学微机原理实验报告.docx_第3页
北京科技大学微机原理实验报告.docx_第4页
北京科技大学微机原理实验报告.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及应用实验报告学院:班级:学号:姓名:微机实验报告书()学号: 姓名: 班级: 同组名单: 实验日期: 实验题目: 8253可编程定时器计数器实验目标:掌握8253的基本工作原理和编程方法实验步骤:连接电路图如图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N=0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。程序框图:程序清单:;*; ;* 8253方式0计数器实验 *; ;*;IOPORT EQU 0C800H-0280H IO8253A EQU IOPORT+283H IO8253B EQU IOPORT+280H CODE SEGMENT ASSUME CS:CODE START: MOV AL,00010000B ;设置8253工作方式 MOV DX,IO8253A OUT DX,AL MOV DX,IO8253B ;送计数初值为0FH MOV AL,0FH OUT DX,AL LLL: IN AL,DX ;读计数初值 CALL DISP ;调显示子程序 PUSH DX MOV AH,06H MOV DL,0FFH INT 21H POP DX JZ LLL ;跳转到LLL MOV AH,4CH ;退出 INT 21H DISP PROC NEAR ;显示子程序 PUSH DX AND AL,0FH ;首先取低四位 MOV DL,AL CMP DL,9 ;判断是否=9 JLE NUM ;若是则为0-9,ASCII码加30H ADD DL,7 ;否则为A-F,ASCII码加37H NUM: ADD DL,30H MOV AH,02H ;显示 INT 21H MOV DL,0DH ;加回车符 INT 21H MOV DL,0AH ;加换行符 INT 21H POP DX RET ;子程序返回 DISP ENDP CODE ENDS END START运行结果:每输入一个单脉冲,屏幕上的数值减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口接逻辑电平开关K0K7,A口接LED显示电路L0L7。2)编程从8255C口输入数据,再从A口输出。实验三:连接电路图静态显示:按图连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端ag相连, 位码驱动输入端S1接+5V(选中), S0、dp接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。程序框图:实验一:实验二:实验三:程序清单:实验一:;* ;* 8253分频 * ;*IOPORT EQU 0C800H-0280H IO8253A EQU IOPORT+283H IO8253B EQU IOPORT+280H IO8253C EQU IOPORT+281H CODE SEGMENT ASSUME CS:CODE START: MOV DX,IO8253A ;向8253写控制字 MOV AL,36H ;工作方式 OUT DX,AL MOV AX,1000 ;写入循环计数初值1000 MOV DX,IO8253B OUT DX,AL ;先写入低字节 MOV AL,AH OUT DX,AL ;后写入高字节 MOV DX,IO8253A MOV AL,76H ;设工作方式 OUT DX,AL MOV AX,1000 ;写入循环计数初值1000 MOV DX,IO8253C OUT DX,AL ;先写低字节 MOV AL,AH OUT DX,AL ;后写高字节 MOV AH,4CH ;程序退出 INT 21H CODE ENDS END START 实验二:;*; ;* 8255A的基本输入输出 *; ;*;IOPORT EQU 0C800H280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+28BHIO8255C EQU IOPORT+28AHCODE SEGMENT ASSUME CS:CODESTART: MOV DX,IO8255B ;对 8255 进行设定,A 输出,C 输入 MOV AL,10001001B OUT DX,ALINPUT: 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 21HCODE ENDS END START实验三:;*; ;*键盘输入数据(0-9)控制LED数码管显示*; ;*;DATA SEGMENT IOPORT EQU 0C800H-280H IO8255A EQU IOPORT+288H IO8255B EQU IOPORT+28BH IO8255C EQU IOPORT+28AH LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH MESG1 DB 0DH,0AH,Input a num (0-9),other key is exit:,0DH,0AH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,IO8255B ;使 8255 的A口为输出方式 MOV AX,10000000B OUT DX,AL SSS: MOV DX,OFFSET MESG1 ;显示提示信息 MOV AH,09H INT 21H MOV AH,01 ;从键盘接收字符 INT 21H CMP AL,30H ;是否小于 0 JL EXIT ;若是则退出 CMP AL,39H ;是否大于9 JG EXIT ;若是则退出 SUB AL,30H ;将所得字符的 ASCII 码减 30H MOV BX,OFFSET LED ;BX为数码表的起始地址 XLAT ;求出相应的段码 MOV DX,IO8255A ;从 8255 的A口输出 OUT DX,AL JMP SSS ;转 SSS EXIT: MOV AH,4CH ;返回 INT 21H CODE ENDS END START ;运行结果:实验一:8253通道0和通道1均工作在方式3,计数初值均为1000。通道0的时钟输入为1MHz标准脉冲,产生1000Hz的方波;通道1以通道0输出的1000Hz方波脉冲为输入,产生1Hz的方波。用逻辑笔发现,OUT1 输出电平呈规律性高低变化(显示灯闪烁),时间间隔为 1s,说明输出频率为 1Hz,实现计时器功能。实验二:当逻辑开关K0K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。实验三:静态显示:当从键盘输入09任一数字时,七段数码管上便会显示相应的数字,按下其他按键则退出程序。小结(体会和收获):通过本次实验,进一步了解了8253可编程定时器/计数器;巩固了可编程并行接口8255的基本知识点,了解了该芯片的应用。通过编程实现,熟悉了8255方式控制字,了解了方式0和基本工作原理。通过这三次实验的学习,对于可编程接口芯片有了更深的认识,掌握了基本的微机接口方法。 在实验过程中要细心,当编译、链接或者运行的时候遇到错误的时候,要仔细检查程序的输入是否正确,很容易输错字母数字。微机实验报告书()学号: 姓名: 班级:同组名单: 实验日期:实验题目:步进电机控制实验实验目标:1.了解步进电机控制的基本原理2.掌握控制步进电机转动的编程方法实验步骤:连接电路图1) 按图14连接线路,利用8255输出脉冲序列,开关K0K6控制步进电机转速,K7控制步进电机转向。8255 CS接288H28FH。PA0PA3接BABD;PC0PC7接K0K7。2) 编程:当K0K6中某一开关为“1”(向上拨)时步进电机启动。K7向上拨电机正转,向下拨电机反转。程序框图:程序清单:;*; ;* 步进电机 *; ;*; DATA SEGMENT IOPORT EQU 0E400H-280H IO8255A EQU IOPORT+288H ;8255A 输出端口 IO8255B EQU IOPORT+ 28BH ;8255B 控制端口 IO8255C EQU IOPORT+ 28AH ;8255C 输入端口 BUF DB 0 MES DB K0-K6 ARE SPEED CONTROL,0AH,0DH DB K6 IS THE LOWEST SPEED ,0AH,0DH DB K0 IS THE HIGHEST SPEED,0AH,0DH DB K7 IS THE DIRECTION CONTROL,0AH,0DH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,CS MOV DS,AX MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES MOV AH,09 INT 21H MOV DX,IO8255B MOV AL, 10001001B OUT DX,AL ;8255 C输入, A 输出 MOV BUF,33H OUT1: MOV AL,BUF MOV DX,IO8255A OUT DX,AL PUSH DX MOV AH,06H MOV DL,0FFH INT 21H POP DX JE IN1 MOV AH,4CH INT 21H IN1: MOV DX,IO8255C IN AL,DX ;输入开关状态 TEST AL,01H JNZ K0 TEST AL,02H JNZ K1 TEST AL,04H JNZ K2 TEST AL,08H JNZ K3 TEST AL,10H JNZ K4 TEST AL,20H JNZ K5 TEST AL,40H JNZ K6 STOP: MOV DX,IO8255C MOV AL,0FFH JMP OUT1 K0: MOV BL,40H SAM: TEST AL,80H JZ ZX0 JMP NX0 K1: MOV BL,50H JMP SAM K2: MOV BL,70H JMP SAM K3: MOV BL,80H JMP SAM K4: MOV BL,0A0H JMP SAM K5: MOV BL,0C0H JMP SAM K6: MOV BL,0FFH JMP SAM ZX0: CALL DELAY MOV AL,BUF ROR AL,1 MOV BUF,AL JMP OUT1 NX0: CALL DELAY MOV AL,BUF ROL AL,1 MOV BUF,AL JMP OUT1 DELAY PROC NEAR DELAY1: MOV CX,0FFFFH DELAY2: LOOP DELAY2 DEC BL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论