ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:483.14KB ,
资源ID:7119136      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7119136.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北交 微机原理与接口实验.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北交 微机原理与接口实验.docx

1、北交北交 微机原理与接口实验微机原理与接口实验 微机原理与接口技术 实验报告 姓 名 学 号 班 级 老 师 时 间 2014年 12 月 23日 目录 实验一 交通灯控制实验 1 一、实验时间 1 二、实验目的 1 三、实验内容 1 四、实验提示 1 五、实验流程 2 六、实验程序 2 七、实验现象 4 八、实验收获 4 实验二 可编程定时器/计数器(8253)5 一、实验时间 5 二、实验目的 5 三、实验内容 5 四、实验提示 6 五、实验流程 6 六、实验程序 6 七、实验现象 8 八、实验收获 8 实验三 PC 机串行通信实验 9 一、实验时间 9 二、实验目的 9 三、实验内容 9

2、 四、实验提示 9 五、实验流程 10 六、实验程序 11 七、实验现象 14 八、实验收获 14 实验四 竞赛抢答器 15 一、实验时间 15 二、实验目的 15 三、实验内容 15 四、实验提示 15 五、实验流程 16 六、实验程序 16 七、实验现象 17 八、实验收获 17 实验一实验一 交通灯控制实验交通灯控制实验 一、实验时间一、实验时间 2014年 11 月 29日 星期六 10:0012:00 二、实验目的二、实验目的(1)通过并行接口 8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。(2)掌握利用 X86 汇编语言技巧(3)掌握 X86微处理器与可编程并行接

3、口芯片 8255A硬件电路设计(4)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。三、实验内容三、实验内容 如下图所示,L7、L6、L5 作为南北路口的交通灯与 PC7、PC6、PC5 相连,L2、L1、L0作为东西路口的交通灯与 PC2、PC1、PC0 相连。编程使六个灯按交通灯变化规律燃灭。四、实验提示四、实验提示 1、8255控制寄存器端口地址:28BH A口地址:288H C 口地址:28AH 2、十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮 3 秒左右;(2)南北路口的黄灯闪烁 3次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时

4、亮 3 秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁 3 次;(5)转(1)重复。五、实验流程五、实验流程 六、实验程序六、实验程序 DATA SEGMENT X DB?DATA ENDS STACK1 SEGMENT STACK DW 100H DUP(0)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX;-INIT-MOV DX,0EC0BH ;写控制字 MOV AL,80H OUT DX,AL L3:MOV DX,0EC0AH MOV AL,24H ;南北

5、绿灯,东西红灯亮 OUT DX,AL CALL DELAY CALL DELAY ;长延时,3s 左右 CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY MOV BL,8 MOV AL,04H L0:XOR AL,40H;南北黄灯闪,东西红灯亮 OUT DX,AL CALL DELAY ;延时 CALL DELAY DEC BL;闪烁几次 JNZ L0 CALL DELAY MOV AL,81H ;南北红灯亮,东西绿灯亮 OUT DX,AL CALL DELAY CALL DELAY CALL DELAY;长延时,3s 左右 CALL

6、 DELAY CALL DELAY CALL DELAY CALL DELAY MOV BL,9 MOV AL,80H L1:XOR AL,02H;南北红灯亮,东西黄灯闪 OUT DX,AL CALL DELAY ;延时 CALL DELAY DEC BL JNZ L1;闪烁几次 CALL DELAY MOV DL,0FFH MOV AH,06H INT 21H JZ L3 ;六号功能判断若无字符输入 ZF=1 继续循环 MOV AH,4CH INT 21H;-延时函数-DELAY:PUSH CX PUSH DX MOV CX,1FFFH LOP1:MOV DX,0FFFFH LOP2:DEC

7、 DX JNZ LOP2 LOOP LOP1 POP DX POP CX RET CODE ENDS END START 七、实验现象七、实验现象 南北路口的绿灯、东西路口的红灯同时亮 3 秒左右,然后南北路口的黄灯闪烁若干次,东西路口的红灯继续亮,接着南北路口的红灯、东西路口的绿灯同时亮 3 秒左右,然后南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。如此循环,结果与实验要求相符。八、实验收获八、实验收获 这是我们的第一个微机实验,对于全新的试验箱和全新的软件都比较陌生,所以在实验开始时花费了一些时间来熟悉实验环境。我认为如何实现延时是本实验最大的困难,因为要亮三秒钟左右,因此要使用双

8、层嵌套的延迟方式才能满足要求。同时要不断调整延迟的次数,才能保证交通灯点亮的时间满足要求。在验收时,助教主要考察了对 TPC-2003A集成开发环境的应用情况。在 ASM 程序正常汇编与链接之后,选择菜单栏中的“ASM 调试”菜单,选择开始调试选项,则进入调试工具 TD(turbo debug)调试窗口,在调试窗口中可以用热键 F2 设置断点、用F8 分步执行等。这个实验让我想起了设置在九教和五教附近的两个红绿灯,据说是咱们电信学院用于教学实践的。虽然真正的红绿灯控制肯定比这个小实验要复杂的多,但我想,基本原理应该还是差不多的。实验二实验二 可编程定时器可编程定时器/计数器(计数器(8253)

9、一、实验时间一、实验时间 2014年 12 月 6日 星期六 10:0012:00 二、实验目的二、实验目的 掌握 8253的基本工作原理和编程方法。(1)掌握 8253与 X86微机处理硬件连接原理。(2)掌握 8253计数定时应用编程。(3)熟悉掌握 8253 在 PC 机系统中典型应用方法并思考如何应用在其他系统中。三、实验内容三、实验内容 1、按下图虚线连接电路,将计数器 0设置为工作方式 0,计数器初值为 N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0电平变化(当输入 N+1 个脉冲后 OUT0 遍高电平)。2、按下图连接电路,将计数器

10、0、计数器 1 分别设置为方式 3,计数初值设为1000,用逻辑笔观察 OUT1 输出电平的变化(频率 1Hz)。四、实验提示四、实验提示 8253控制寄存器地址 283H 计数器 0地址 280H 计数器 1地址 281H CLK0连接时钟 1MHZ 五、实验流程五、实验流程 六、实验程序六、实验程序 1、实验 1 DATA SEGMENT N EQU 0BH ;计数器初值,不大于 0FH CHL DB 0AH,0DH,$;换行 DATA ENDS STACK1 SEGMENT STACK DW 100 DUP(0)STACK1 ENDS CODE SEGMENT ASSUME CS:COD

11、E,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX;-INIT-MOV DX,283H ;控制寄存器地址 MOV AL,10H ;计数器 0,低字节,方式 0,二进制计数 OUT DX,AL ;写入控制字 MOV DX,280H MOV AL,N OUT DX,AL;写入计数初值 MOV CL,N L0:;MOV AL,0 ;计数器 0 锁存 ;MOV DX,IO8253 ;OUT DX,AL MOV DX,280H IN AL,DX ;读取当前数值 CMP AL,CL JNE L0 ;若 AL不等于 CL,则继续到 L0循环 DEC CL ;更改

12、CL值 MOV DL,AL CMP DL,09H;是 09 吗?JLE ASCI ADD DL,07H;是 AF ASCI:ADD DL,30H MOV AH,02H;单字符输出计数器当前值 INT 21H MOV DX,OFFSET CHL;输出字符串换行 MOV AH,09H INT 21H CMP CL,0 JNL L0 ;CL不小于 0 时,继续循环;-MOV AH,4CH INT 21H CODE ENDS END START 2、实验二 DATA SEGMENT X DB?DATA ENDS STACK1 SEGMENT STACK DW 100H DUP(0)STACK1 END

13、S CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV AL,36H MOV DX,283H;写计数器 0控制字 OUT DX,AL MOV AX,1000;写计数器 0初值 MOV DX,280H OUT DX,AL;先写低字节后写高字节 MOV AL,AH OUT DX,AL ;-MOV AL,76H MOV DX,283H OUT DX,AL;写计数器 1 控制字 MOV AX,1000;写计数器 0初值 MOV DX,281H OUT DX,AL MOV AL,AH;先写低字节后写高

14、字节 OUT DX,AL CODE ENDS END START 七、实验现象七、实验现象 1、实验 1 开始时,逻辑笔显示为低电平,绿灯亮,按下脉冲键屏幕显示 10,之后每按一次脉冲键,计数器值将减 1并在屏幕上显示,当减到 0的时候,逻辑笔显示为高电平,红灯亮。2、实验 2 逻辑笔高低电平交替变换,红绿灯交替亮,1 秒变 1次。八、实验收获八、实验收获 本次实验遇到的最大问题就是设备问题。我在调试的时候,电脑和实验箱都是时好时坏的,甚至有时自己调试时是好的,但是找老师验收的时候就坏了。具体表现在屏幕上不显示计数或者指示灯不变化。具体原因我也不知道,我觉得应该是设备的问题吧。验收时,主要考察

15、的对象是实验 2的计数初值,若将 1000换为 2000,则红绿灯变换频率将由 1秒 1 次改为 1秒 2 次。通过这次实验,我再一次巩固了 8253的相关知识,也对实验所用到的软件和实验箱更加了解。实验三实验三 PC 机串行通信实验机串行通信实验 一、实验时间一、实验时间 2014年 12 月 13日 星期六 10:0012:00 二、实验目的二、实验目的 1、进一步了解串行通信的基本原理。2、掌握串行接口芯片 8250的工作原理和编程方法。3、熟悉 PC 机串行口的基本连接方法 三、实验内容三、实验内容 1、PC 机 RS-232串口自发自收。按照 PC 机串口自发自收的连接方法连线。编写

16、 PC 机自发自收串行通信程序,要求:从键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。2、两台 PC 机间 RS-232串口通信。按照 PC 机 RS-232 串口直接互连的方法连接两台 PC 机。编写 PC 机直接互连串行通信程序;要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。当键入感叹号“!”,结束收发过程。四、实验提示四、实验提示 1、连线图 DB-9 连接器 双机近距离通信连接图 2、8250寄存器地址 PC 机自带两个串口,分为 COM1和 COM2,地址分别在 3F8-3FFH 和 2F8-2FF

17、H,接口芯片选用 8250。8250片内有 10个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR)的最高位 DLAB来决定。各寄存器的地址和格式如下所示:.五、实验流程五、实验流程 1、实验 1自发自收 2、实验 2双机通信 六、实验程序六、实验程序 1、实验 1自发自收 CODE SEGMENT ASSUME CS:CODE START:MOV AL,80H;初始化 MOV DX,3FBH OUT DX,AL MOV AX,30H MOV DX,3F8H OUT DX,AL;写入除数低字节 MOV AL,AH MOV DX,3F9H OUT DX,AL;写入除数高字节 MOV

18、 AL,0AH;7 位数据,1位停止,奇数校验 MOV DX,3FBH OUT DX,AL;写入线路控制寄存器 MOV AL,0FH MOV DX,3FCH OUT DX,AL;写入 Modem 控制寄存器 MOV AL,0;屏蔽全部中断 MOV DX,3F9H OUT DX,AL;写中断允许寄存器 0.WAIT_FOR:MOV DX,3FDH;读线路状态寄存器 IN AL,DX TEST AL,00011110B;出错否 JNZ ERROR;不为零转 ERROR TEST AL,00000001B;接收数据就绪否 JNZ RECEIVE TEST AL,01000000B;发送寄存器空否,不

19、空,返回等待 JZ WAIT_FOR MOV AH,1 INT 21H;读键盘 MOV DX,3F8H;发送 OUT DX,AL JMP WAIT_FOR;返回等待 RECEIVE:MOV DX,3F8H;读接收数据 IN AL,DX AND AL,01111111B;保留 7 位数据 CMP AL,21H;是否!JNZ CHAR MOV AH,4CH;返回 DOS INT 21H CHAR:PUSH AX MOV DL,AL MOV AH,02H;显示接收字符 INT 21H POP AX JMP WAIT_FOR;返回等待 ERROR:MOV DX,3FDH;出错则清除线路状态寄存器 IN

20、 AL,DX MOV DL,?;显示?MOV AH,02H INT 21H JMP WAIT_FOR CODE ENDS END START 2、实验 2双机通信 DATA SEGMENT D1 DB?CHL DB 0AH,0DH,$;换行 DATA ENDS STACK1 SEGMENT STACK DW 100H DUP(?)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV AX,DATA MOV DS,AX MOV DX,3FBH MOV AL,1000000

21、0B OUT DX,AL;置线路控制寄存器 DLAB为“1”MOV DX,3F8H MOV AX,60H OUT DX,AL INC DX MOV AL,AH OUT DX,AL;波特率 1200 MOV DX,3FBH MOV AL,00001010B OUT DX,AL MOV DX,3FCH MOV AL,00000011B OUT DX,AL MOV DX,3F9H MOV AL,00000000B OUT DX,AL WAIT1:MOV DX,3FDH;读线路状态寄存器 IN AL,DX TEST AL,00011110B;判断是否有错:终止符、帧格式、奇偶、溢出 JNZ ERROR

22、 TEST AL,00000001B;判断是否收到 JNZ RECEIVE TEST AL,00100000B;判断发送端是否空 JZ WAIT1 MOV DL,0FFH;六号功能调用读入待发送数据 MOV AH,06H INT 21H JZ WAIT1 MOV DX,3F8H;写发送 REG OUT DX,AL JMP WAIT1;返回 WAIT1 CHAR:PUSH AX MOV DL,AL;显示接收 MOV AH,02H INT 21H MOV DX,OFFSET CHL;输出字符串换行 MOV AH,09H INT 21H POP AX JMP WAIT1 ERROR:MOV DX,3

23、FDH;读线路状态寄存器 IN AL,DX MOV DL,?;对于错误显示?MOV AH,02H INT 21H JMP WAIT1 RECEIVE:MOV DX,3F8H IN AL,DX;读数据接收寄存器 CMP AL,!;判断是否结束 JNE CHAR MOV AH,4CH INT 21H CODE ENDS END START 七、实验现象七、实验现象 1、实验 1自发自收 在屏幕上输入一个字符,屏幕显示输入字符,还将显示自行接收回来的字符,即每个字符显示两次。2、实验 2双机通信 将两台计算机 RS-232 串口用交叉线连接起来,同时运行接收和发送程序。在计算机 A输入字符将在计算机

24、 B显示该字符,而在计算机 B输入字符将在计算机 A显示该字符。八、实验收获八、实验收获 这个实验的难点在于编写程序,为了完成这个实验,我们查阅了很多参考程序,也失败了很多次,后来在询问老师同学的基础上才使实验得以顺利完成。自发自收比较简单,在双机通信那里我们花费了许多时间,因为一开始我们只能实现计算机 A输入、计算机 B显示,而不能实现计算机 B输入、计算机 A显示,也就是只能实现半双工。后来改进了程序才实现了全双工。通过此次实验,我了解了计算机通信的基本原理,学会了实现两台计算机数据通信的方法,并掌握了通信相关的协议与标准、通信软件的编程与调试、串行接口芯片 8250 的工作原理和编程方法

25、等,还熟悉了 PC 机串行口的基本连接方法。实验四实验四 竞赛抢答器竞赛抢答器 一、实验时间一、实验时间 2014年 12 月 20日 星期六 10:0012:00 二、实验目的二、实验目的 1、了解微机化竞赛抢答器的基本原理。2、进一步学习使用并行接口。三、实验内容三、实验内容 下图为竞赛抢答器(模拟)的原理图:逻辑开关 K0K7 代表竞赛抢答按钮 07 号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使喇叭响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出。四、实验提示四、实验提示 设置 8255为 C 口输入、A口输出,读取 C 口

26、数据,若为 0表示无人抢答,若不为0 则有人抢答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。响铃的 DOS 功能调用:MOV DL,7;响铃 ASCII码为 07 MOV AH,2 INT 21H 五、实验流程五、实验流程 六、实验程序六、实验程序 DATA SEGMENT LIST DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DATA ENDS STACK1 SEGMENT STACK DW 100H DUP(0)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 ST

27、ART:MOV AX,DATA MOV DS,AX MOV DX,0EC0BH MOV AL,89H OUT DX,AL;对 8255 进行初始化 L0:MOV DX,0EC0AH IN AL,DX;读 C 口状态 CMP AL,0;如果为 0则循环 JZ L0 MOV BL,0 L1:INC BL SHR AL,1;将 AL逻辑右移 JNC L1 DEC BL MOV AL,BL;求出组号 MOV BX,OFFSET LIST;七段显示代码表的首址送 BX AND AX,00FFH;屏蔽 AX高字节,组号 ADD BX,AX;形成显示字符的地址 MOV AL,BX;取出字符送 AL MOV

28、DX,0EC08H OUT DX,AL;送到 A 口输出显示 MOV DL,7 MOV AH,2 INT 21H;响铃功能调用 MOV AH,01H INT 21H CMP AL,20H;当为空格时跳到 CLOSE JZ CLOSE MOV AH,4CH INT 21H CLOSE:MOV AL,0 MOV DX,0EC08H OUT DX,AL JMP L0 CODE ENDS END START 七、实验现象七、实验现象 在逻辑开关 K0K7 中,当某个开关逻辑电平置“1”时,则数码管上显示相应数字,并且蜂鸣器响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出。八、实验收获八、实验收获 这次实验是本次微机实验的最后一次实验,实验过程中涉及到本课程中的接口芯片、中断、定时、DOS 功能调用等知识,是一个综合性的实验。本实验比较有趣,程序也较简单,所以比较顺利。在验收时,通过将 DEC BL改为 INC BL,可以实现数码管显示内容加 2,即开关K0 推上时,数码管显示 2,以此类推。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1