微机原理与接口技术硬件实验报告北邮

上传人:枫** 文档编号:507271228 上传时间:2024-01-13 格式:DOC 页数:31 大小:734.50KB
返回 下载 相关 举报
微机原理与接口技术硬件实验报告北邮_第1页
第1页 / 共31页
微机原理与接口技术硬件实验报告北邮_第2页
第2页 / 共31页
微机原理与接口技术硬件实验报告北邮_第3页
第3页 / 共31页
微机原理与接口技术硬件实验报告北邮_第4页
第4页 / 共31页
微机原理与接口技术硬件实验报告北邮_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《微机原理与接口技术硬件实验报告北邮》由会员分享,可在线阅读,更多相关《微机原理与接口技术硬件实验报告北邮(31页珍藏版)》请在金锄头文库上搜索。

1、微原硬件实验报告班级:07118 班 学号:070547 班内序号:26 姓名:杨帆实验一 熟悉实验环境及IO的使用一, 实验目的1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用 Debug 的 I、O 命令来读写 IO 端口。 3. 学会 Debug 的使用及编写汇编程序二,实验内容1. 学习使用 Debug 命令,并用 I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用 EDIT 编辑工具)实现功能A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮)三,实验步

2、骤1.实验板的 IO 端口地址为EEE0H在 Debug 下, I 是读命令。(即读输入端口的状态-拨码开关的状态) O 是写命令。(即向端口输出数据-通过发光管来查看) 进入 Debug 后, 读端口 拨动实验台上八位拨码开关 输入 I 端口地址回车 屏幕显示xx表示从端口读出的内容,即八位开关的状态 ON 是 0,OFF 是 1 写端口输入O端口地址xx (xx 表示要向端口输出的内容)回车查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在 Debug 环境下,用 a 命令录入程序,用 g 命令运行CDebug -amovdx, 端口地址 moval,输出内容 outdx,

3、al movah, 0bhint21h oral, al jz0100 int20h -g 运行查看结果 ,修改输出内容 再运行查看结果 分析movah, 0bh int21h oral, al jz0100 int20h 该段程序的作用3.利用 EDIT 工具编写汇编写跑马灯程序程序 实现功能A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。B.通过输出端口控制灯的工作状态(低电平灯亮) CEDIT 文件名.asm录入程序 按 Alt 键 打开菜单 进行存盘或退出编译文件 CMASM 文件名.asm连接文件 CLINK 文件名.obj运行文件 或用 Debug 进

4、行调试。四,程序流程图图表 1:实验1的程序流程图五,源程序代码DATA SEGMENT;数据段BB DB 0FFH;DATA ENDSSTACK SEGMENT PARA STACK STACK;堆栈段DB 100 DUP(?)STACK ENDSCODE SEGMENT;代码段ASSUME CS:CODE, SS:STACK ,DS:DATABEGIN:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV BL,7FHBEG:MOV DX,0EEE0HMOV AL,BLOUT DX,AL;点亮第8盏灯CALL COUNT;延时MOV BL,ALIN AL

5、,DXTEST AL,01H;最低位拨码被按下?方向选择MOV AL,BLJZ RLRR: ROR AL,1;未按键,则向右点亮JMP R1RL:ROL AL,1;按下则向左点亮R1:MOV BL,ALMOV AH,0BHINT 21H;检查键盘缓冲区OR AL,ALJZ BEGINMOV AX,4C00HINT 21HCOUNT PROC NEAR;延时子程序PUSH AXMOV DX,0EEE0HIN AL,DX;检测拨码状态MOV AH,0MOV BX,0ADD BX,AXPOP AXCOU1: MOV CX,0FFFFHCOU2: LOOP COU2COU3: DEC BX;调速JNZ

6、 COU1RETCOUNT ENDPCODE ENDS END BEGIN六,思考题通过实验说明用 debug 中的 a 命令录入实验中给出的小程序中,有些语句可以不写出“h”字符的原因。通过观察可以发现,编码时,凡是十六进制数据都是要加H的,而地址则不用。这是因为编译时所能识别的数据有多种,为了保证编译正常进行,必须要告诉编译器数据的类型。而地址只有默认的16进制形式,所以不需指定类型就能完成正确的编译,所以无须加H。而在DEBUG环境下,它的默认数据格式就是十六进制的,所以就不需要写出“H”字符;否则通不过编译。七,实验收获和体会在这次实验中,我们初步熟悉了在Debug环境下使用I/O命令

7、,实现了对拨码开关状态的读取以及对发光二极管亮灭的控制,即初步尝试了对于微机接口的控制。通过控制发光二极管的亮与灭,结合相关程序的设计,我们实现了一个简单的跑马灯程序。结合查询拨码开关的状态,能够实现点亮发光二极管的方向、模式和速度的调整。这个跑马灯实验的程序使用的是简单的分支结构。这次实验的要点是对I/O接口译码电路的理解以及使用,通过在Debug环境下的I/O命令,我们测试了外设功能,这使我们了解了地址与端口的对应情况,从而明确了跑马灯程序编写的流程和注意事项。通过该译码电路实验,我掌握了地址译码电路的设计方法和实现原理,对硬件的I/O接口技术有了进一步的认识。这次实验也为以后的实验打下了

8、基础,特别是,应先理解了译码电路的工作原理,然后才能进行编程。实验二 8255A并行接口应用一, 实验目的1.掌握 8255A 的功能及方式 0、1 的实现 2.熟悉 8255A 与 CPU 的接口,以及传输数据的工作原理及编程方法。 3.了解七段数码管显示数字的原理。 4.掌握同时显示多位数字的技术。二,实验内容在实验一的基础上学习 PIO 芯片(8255)编程应用,熟悉平台的主要内容。CS 用 Y0 (EE00H)(一) 简要说明:在方式 0(输入/输出)下,以 A 口为输出口,B 口为输出口, A 口接六个共阴极数码 管的八位段码,高电平点亮数码管的某一段, B 口接数码管的位选(即要使

9、哪个数码管亮), 高电平选中某一位数码管点亮。8255A 中A 端口地址EE00H B 端口地址EE01HC 端口地址EE02H控制地址EE03H 八段数码管的显示规律及数码管的位选规律自己查找,可用实验一中,学过的 I、O 命令来做。(二)6 位数码管静态显示 在数码管电路上静态地显示 6 位学号,当主机键盘按下任意键时,停止显示,返回 DOS。 提示:该电路 6 个数码管的同名阳极段已经复接,当段选寄存器寄存了一个字型编码之后,6 个数码管都有可能显示出相同的数字。如果要使 6 个数码管“同时”显示不同的数 字,必须采用扫描显示的方法,通过选位寄存器选择某一位数码管,显示其数字(对应段值

10、为 1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位数码 管都能显示 30 次以上,则人眼看到的是几位数码管同时在显示。实验证明,在扫描显示过程中,每一位显示延迟 1ms 是最佳选择。(三)6 位数码管动态显示要求在数码管电路 1-6 位数码管上按图 3.2 所示的规律,动态显示字符串 HELLO,当 主机键盘按下任意键时结束。二, 程序流程图程序一:静态显示学号图表 2:静态显示学号的程序流程图四,源程序代码 程序一:显示静态学号DATA SEGMENT ;数据段SHOW DB 0EDH,61H,0EDH,0d9H,39H,61H;”0”,”7”,”0”,”5”,”

11、4”,”7”COUNT EQU $-SHOWCAT DB 01H;8段数码管选通信号DATA ENDSSTACK SEGMENT STACKSTACKDB 100H DUP(?)STACK ENDS ;代码段CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AX NEXT: MOV CX,COUNT LEA BX,SHOWMOV CAT,01H;最先点亮第1个数字AGAIN:MOV AL,80H;8255的方式选择MOV DX,0EE03H;A

12、口方式0输出OUT DX,AL;B口方式0输出MOV AL,CATMOV DX,0EE01H;B口为数码管选通端口OUT DX,ALMOV AL,BXMOV DX,0EE00H;A口为8段数码管OUT DX,AL;依次显示学号数字MOV AL,00H MOV DX,0EE00HOUT DX,AL;熄灭INC BXSHL CAT,1;左移点亮数字位置LOOP AGAINMOV AH,0BH;检测键盘缓冲区INT 21HOR AL,ALJZ NEXTRETSTART ENDPCODE ENDSEND START程序二:动态显示HELLODATA SEGMENT;数据段COUNTDOWN DW ?

13、;时延计数器SPDCOUNT DW 00H ;控速计数器LEDCOUNT DB 00H ;LED COUNTCATCOUNT DB 00H ;CAT COUNTTMP DB 00HLED DB ?CAT DB 01H;数码管选通信号SPEED DW 0000HDATA ENDSSTACK SEGMENT STACK STACKDB 100 DUP(?)STACK ENDSCODE SEGMENT;代码段ASSUME CS:CODE, DS:DATA, SS:STACK;延时子程序DELAY1 PROCMOV COUNTDOWN,03FFHLOOPD: DEC COUNTDOWNJNZ LOOPDRETDELAY1 ENDP;给变量LED赋值的子程序ENCODE PROC;根据LEDCOUNT的当前值,给变量LED赋值;使其显示相应的字符CMP LEDCOUNT,00HJA EN1MOV LED,00H ;BLANK _JMP NEXTEN1: CMP LEDCOUNT,01HJA EN2MOV LED,00H ;BLANK _JMP NEXTEN2:CMP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号