




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机接口实验报告实验一:I/O地址译码一、实验目的掌握I/O 地址译码电路的工作原理。二、实验原理和内容实验电路如图(1)所示,其中74LS74 为D 触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138 为地址译码器。译码输出端Y0Y7 在实验台上I/O 地址输出端引出,每个输出端包含8 个地址,Y0:280H287H,Y1:288H28FH, 当CPU 执行I/ O 指令且地址在280H2BFH 范围内,译码器选中,必有一根译码线输出负脉冲。例如:执行下面两条指令Y4 输出一个负脉冲,执行下面两条指令MOV DX, 2A0HOUT DX,AL(或IN AL,DX)Y5 输出一个负脉冲。MOV DX,2A8HOUT DX,AL(或IN AL,DX)利用这个负脉冲控制L7 闪烁发光(亮、灭、亮、灭、),时间间隔通过软件延时实现。三、实验程序L1: MOV DX, 2A0H/选通74LS138的11口OUT DX, AL/使端口A输出,给D触发器一个时钟信号LOOP $/延时LOOP $/延时MOV DX, 2A8H/选用74LS138的10口OUT DX, AL/使D触发器清零LOOP $/延时LOOP $/延时MOV AH, 11/十一号功能调用INT 21H/如果有键按下INC AL/AL加一,退出循环JNZ L1/ 如果没键按下,则继续循环四、总结第一次实验比较简单、主要是学会了通过程序控制芯片及其端口的选通,其方法是根据芯片外围搭建的电路使DX进行写或读的操作、例如本实验里,要想选通74LS138的11口操作8255的端口A,则需要使A9A8A7A6A5A4A3A2A1A0=1010100000=2A0H,同理操作10口时,则使DX=2A8H,再加上延时DELAY功能,即可使LED灯循环亮灭。但是如果不给芯片断电,则LED灯会一直循环,不能进进行人为的控制,所以又在后面加上了11号功能调用,只要当AL=0,循环结束。实验二:可编程并行接口一、实验目的掌握8255 方式0 的工作原理及使用方法。二、实验内容实验电路如图,8255C口接逻辑电平开关K0K7,A 口接LED 显示电路L0L7。编程从8255C口输入数据,再从A口输出。三、编程提示1、8255 控制寄存器端口地址28BHA 口的地址288HC 口的地址28AH2、参考流程图四、实验程序MOV DX,28BH/写端口CMOV AL , 10001001BOUT DX, AL /8255初始化L1:MOV DX, 28AHIN AL,DX /读取C口数据MOV DX, 288H/写端口AOUT DX,AL /从A口输出MOV AH,11/十一号功能调用INT 21HINC ALJNZ L1MOV AH, 4CHINT 21H五、实验总结这个实验可以看作是第一个实验的加强,同样也考验的是对端口的读写操作,因为有了第一次实验的经验、所以这次实验特别顺利,没有出现什么问题。实验三:七段数码管静态显示一、实验目的掌握数码管显示数字的原理二、实验内容静态显示:按图1连接好电路,将8255 的A 口PA0PA6 分别与七段数码管的段码驱动输入端ag相连,位码驱动输入端S1 接+5V(选中),S0、dp 接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。 图1图2 三、编程提示1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。2、段数码管的字型代码表如下表:3、参考流程图(见图3)四、实验程序LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/建立表格用于显示数字MOV DX,28BH/写控制字寄存器MOV AL, 10000000B/使端口C按方式0输出OUT DX,AL/8255初始化,A口为输出L2:MOV AH, 1INT 21HCMP AL,30H/和0比较JB L1/小于则结束程序CMP AL,39H/和9比较JA L1/大于则结束程序SUB AL,30H/ASCII码减30得到对应数字MOV BX,OFFSET LED/将表LED的首地址赋值给BXADD BL, AL/将AL的值加给BLADC BH, 0MOV AL, BX/查表MOV DX, 288H/通过A口输出OUT DX, ALJMP L2/继续循环L1:MOV AH, 4CH INT 21H五、实验总结因为以前在学习单片机和FPGA的时候都做过静态数码管的实验,所以实验原理已经非常了解了,这里的难点就是用汇编语言来实现。首先,要建立一个表以便于快速得到数字对应的数码管的值;其次写一个比较程序来确定输入的值是否是自然数;然后再通过ASCII码减30即可得到这个数的值,经过查表就可以输出了,实验思路清晰,所以做起来并不难。实验四:七段数码管动态显示一、实验目的掌握数码管显示数字的原理二、实验内容动态显示:按图2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0 接8255 C 口的PC1,PC0。编程在两个数码管上显示56。三、参考流程图四、实验程序MOV DX, 28BH/写控制字寄存器MOV AL, 80H/使端口C按方式0输出OUT DX, ALL1: MOV DX, 28AH/写端口CMOV AL, 01H/控制第一个数码管的位码OUT DX, ALMOV DX, 288H/写端口AMOV AL, 7DH/使第一个数码管显示6OUT DX, ALCALL DEALY/延时MOV DX, 28AH/写端口CMOV AL, 02H/控制第二个数码管的位码OUT DX, ALMOV DX, 28BH/写端口AMOV AL, 6DH/使第一个数码管显示5CALL DELAY/延时MOV AH,11/十一号功能调用INT 21HINC ALJNZ L1MOV AH, 4CHINT 21HDELAY PROC/延时子程序 MOV CX, 00FFHD2:MOV BX, 00FFHD1:PUSH AXPUSH DXPOP DXPOP AXDEC BXJNZ D1LOOP D2RETDELAY ENDP五、实验总结在做完了静态数码管之后,我尝试做了一下动态数码管。再画了动态数码管流程图之后实验思路非常清晰,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市2024-2025学年八年级上学期语文期中测试试卷
- 高速公路档案培训课件
- 高血压因素课件
- 高能相机基础知识培训课件
- 建设工程压覆矿产资源评估服务合同
- QMS考试试题及答案
- 电网知识新员工培训课件
- 【Nox聚星】2025年欧洲网红营销生态报告
- 高考加油课件app
- 电瓶车充电安全知识培训课件
- 上海牛津英语9A教案
- 绿色施工及环境保护施工方案
- 人教部编版道德与法治九年级下册教材解读及单元目标
- 外请手术医师知情同意书
- 财务尽职调查工作方案
- 焊接和切割作业的防火、防爆措施
- 公路工程质量监督综合检查内容
- 人事任命书红头文件模板
- 纽扣参考资料专用英语名词08.4
- 《导游英语》全套课件(完整版)
- SAE_USCAR2_Rev3_2001 汽车电子连接器性能标准
评论
0/150
提交评论