微机接口实验报告验证性实验Word格式文档下载.docx
- 文档编号:22981635
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:21
- 大小:343.60KB
微机接口实验报告验证性实验Word格式文档下载.docx
《微机接口实验报告验证性实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机接口实验报告验证性实验Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
OUTDX,AL;
计数器0,方式0,二进制
MOVDX,0C400H
MOVAL,N
计数器赋值
MOVBL,N
LOP:
MOVDX,0C403H
MOVAL,0;
锁存
OUTDX,AL
MOVDX,0C400H;
读计数器0
INAL,DX
ANDAL,0FH
CMPBL,AL;
判断计数值是否改变
JZLOP2
MOVBL,AL;
改变将AL赋给BL
CMPAL,9;
判断是否大于9
JLELOP1;
小于等于9跳转LOP1,加30H变为ASCII码
ADDAL,7;
大于9加37H变为其ASCII码
LOP1:
ADDAL,30H
MOVDL,AL
MOVAH,02H;
显示
INT21H
MOVDL,0DH;
回车
MOVAH,02H
INT21H
MOVDL,0AH;
换行
lop2:
MOVDL,0FFH;
判断是否有键按下
MOVAH,6
JZLOP
MOVAH,4CH
CODEENDS
ENDSTART
2.按图5-2连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
图5-2
本实验是个分频器,运行程序,通过观察试验箱的LED逻辑笔交替闪亮,可发现由OUT1口输出的信号是被分频之后的脉冲信号。
A0EQU04C00h
A1EQU04C01h
A2EQU04C02h
A3EQU04C03h;
8253端口地址
NEQU1000;
计数初值
CODE
MOVDX,A3
MOVAL,00110110B;
计数器0控制字,方式3
MOVDX,A0
MOVAX,N
OUTDX,AL;
写计数初值低字节
MOVAL,AH
写计数初值高字节
MOVAL,01110110B;
计数器1控制字,方式3
MOVDX,A1
写计数初值高字节
MOVAH,01H
CMPAL,03H;
CTR-C结束
JZOUTER
JMPL
OUTER:
MOVAX,4C00H
CODEENDS
实验中遇到问题及解决办法:
本次实验,第二个实验的基本原理比较简单,编译程序过程中基本没遇到大问题,但是在实验中发现在屏幕显示效果不够理想,具体为屏幕上重复的显示一个数字当输入令一个脉冲时屏幕上全屏显示令一个数字。
所以我在程序上更改了下,具体是首先将初始值赋值给BL,再读计数器0值判断是否和BL相等,如相等再重新读计数器值直到计数器值和BL值不相等(也就是输入一个脉冲时)再显示计数器值,同时将AL值赋值给BL。
如此就能解决在屏幕上全屏显示计数器值的缺陷。
实验也圆满完成。
实验二交通灯控制实验
一.实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二.实验内容
如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律燃灭。
图5-3
通过对8255并行接口输入不同的控制指令来实现交通灯的相互转换,具体现象如下所示
(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。
(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5)转
(1)重复。
A0EQU04C08h
A1EQU04C09h
A2EQU04C0Ah
A3EQU04C0Bh;
8255端口地址
D1EQU0005h
D2EQU0FFFFh;
调整闪烁时间
L:
MOVAL,10000000B;
控制字,C口方式0
MOVDX,A2
MOVAL,00000000B;
清零,灯全灭
L1:
MOVAL,00101000B;
南北路口绿灯亮,东西路口红灯亮
CALLDELLAY1;
延时3秒左右
MOVCX,D1
L2:
MOVAL,01001000B;
南北路口黄灯亮,东西路口红灯亮
CALLDELLAY2
MOVAL,00001000B;
南北路口黄灯灭,东西路口红灯亮
LOOPL2;
形成闪烁
L3:
MOVAL,10000001B;
南北路口红灯亮,东西路口绿灯亮
CALLDELLAY1
L4:
MOVAL,10000010B;
南北路口红灯亮,东西路口黄灯亮
南北路口红灯亮,东西路口黄灯灭
LOOPL4;
JMPL1
DELLAY1PROC
PUSHCX
PUSHAX
MOVCX,0FFFFh
T10:
LOOP$
MOVCX,00FFh
T11:
MOVAX,00FFh
T12:
DECAX
JNZT12
LOOPT11
POPAX
POPCX
RET
DELLAY1ENDP
DELLAY2PROC
MOVAX,D2
T21:
JNZT21
DELLAY2ENDP
ENDL
本实验在原理上不难,但在编译过程中需要头脑清醒,运行程序时过,程序经常出现死循环,主要是因为在写程序时过分相信自己的记忆力了,没有写注释,以后要注意!
而且在实现黄灯闪亮的时候遇到困难,在程序设计时,我是以为时钟频率是1.8432MHZ所以我以两重循环,内层0FFFFH,外层3CH次刚好能使延时达到3秒,但是实验证明,时钟频率不是1.8432MHZ所以我增加了外层循环次数,使得长延时基本上在三秒左右,段延时在0.3秒左右,经过多次计算和调试终于通过调用合适的短延时来实现黄灯的闪亮,并实现了最后的实验效果。
实验三竞赛抢答器
1.了解抢微机化竞赛答器的基本原理。
2.进一步学习使用并行接口。
二、实验内容
图5-4为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来,并使喇叭响一下。
从键盘上按空格键开始下一轮抢答,按其它键程序退出。
图5-4
设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。
根据读取数据可判断其组号,从键盘上按空格键开始下一轮抢答,按其它键程序退出。
运行程序,当随机按下电路板上0—7的数字时,与之相对应的LED会发亮并且微机喇叭会响一下,当想进行下一轮抢答时,必须按空格键。
A1EQU04C01h
A2EQU04C02h
A3EQU04C03h;
8255端口地址
LISTDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;
显示表数据
ASSUMECS:
MOVDX,A3
MOVAL,10001001B;
控制字,A口输出,C口输入
INAL,DX;
读C口
MOVBX,OFFSETLIST
MOVCX,0
CMPAL,CX;
C口输入是否为零
JZL2
SHRAL,1
INCCX
CMPAL,0
JNZL3;
求出组号,存入CL
DECCX
ADDBX,CX
MOVAL,[BX];
查出显示段码
MOVDL,7;
响铃功能
MOVAX,0200H
CMPAL,'
'
;
是否为空格
JNZOUTER;
退出
JZL5
L5:
MOVAL,11111111B
清除显示
JMPL;
重新开始
MOVAX,4C00H
CODEENDS
ENDL
MOVAX,0FFFFh
DECAX
DELLAY1ENDP
本实验从原理上讲跟上以实验基本相同,在区分组数的时候遇到了一些问题,最初我开始设置的CX为8,从C口输入的数据同8比较,后来发现设置成0就简单了很多。
实验四PC机串行通讯实验
1、进一步了解串行通信的基本原理。
2、掌握串行接口芯片8250的工作原理和编程方法。
3、熟悉PC机串行口的基本连接方法。
1、PC机RS-232串口自发自收。
按照PC机串口自发自收的连接方法连线。
编写PC机自发自收串行通信程序,要求:
从键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。
2、两台PC机间RS-232串口通信。
按照PC机RS-232串口直接互连的方法连接两台PC机。
编写PC机直接互连串行通信程序;
要求:
由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。
当键入感叹号“!
”,结束收发过程。
单机通信时,运行程序,当键盘输入一个字符时,比如按“A”,屏幕上显示“AA?
”,实现自发自收功能。
双机通信时,运行程序,由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。
1.单机通信
MOVAL,80H
MOVDX,3FBH
MOVAL,0CH
MOVDX,3F8H
OUTDX,AL
MOVAL,00H
MOVDX,3F9H
MOVAL,0AH
MOVAL,00H
MOVDX,3FCH
MOVAL,0
WAIT_FOR:
MOVDX,3FDH
TESTAL,00011110B
JNZERROR
TESTAL,00000001B
JNZRECEIVE
TESTAL,00100000B
JZWAIT_FOR
MOVAH,1
JMPWAIT_FOR
RECEIVE:
MOVDX,3F8H
ANDAL,01111111B
CMPAL,03H
JNZCHAR
CHAR:
MOVDL,AL
MOVAH,2
JMPWAIT_FOR
ERROR:
MOVDX,3FDH
MOVDL,'
?
'
双机通信:
A8EQU2F8h
A9EQU2F9h
AAEQU2FAh
ABEQU2FBh
ACEQU2FCh
ADEQU2FDh
AEEQU2FEh;
发送8251端口地址,COM2
BODEVEQU0030H;
除数寄存器初值(1.8432Mhz)
发送8251初始化
MOVAL,80h;
置DLAB=1
MOVDX,AB
MOVDX,A8
MOVAX,BODEV
写除数寄存器低字节
INCDX
写除数寄村器高字节
MOVAL,0Ah
写线路控制寄存器,7位数据,1位停止,奇校验
MOVAL,03h
MOVDX,AC
写MODEM控制寄存器
MOVDX,A9
写中断允许寄存器,屏蔽全部中断
WAIT1:
MOVDX,AD
TESTAL,00100000B;
发送寄存器为空
JZWAIT1
MOVAH,01h
MOVDX,A8
JMPWAIT1
在本次实验过程中,首先调试的是串口通信,串口通信相对简单,书上都以个基本一样的例题,只是将MODEM控制寄存器自检改成非自检就可以实现功能了。
在是实现双机通信时,本来我是打算可以两台机器同时发送和接受,但是如果甲机发送数据乙机的按个键才能接受,应为他开始程序奇偶,一值呆在,读键盘那步骤,后来一想,放弃了,直接以台机器发送,一台机器接受就能满足实验要求了。
所以我分开编写程序,接受的机器只管接受,发送的机器只管发送,按照这种思想,实验要求所要求的功能就实现了。
实验感想:
本次实验是一次硬件、软件联合在一起的综合性实验,对我们更透彻地掌握书本上的内容有很大的帮助,实验用的8253、8255、8250等芯片都是在通信领域中最基本的功能芯片,透彻掌握这些芯片的原理和使用方法对我们将来的学习帮助不言而喻,特别是在自己编译程序的过程中,对自己的编译水平会有重新的把握和认识,还有在自己连接电路的过程中,对电路的构造也会有更深的认识。
在自己一遍遍调试过程中,锻炼了我们发现问题、解决问题的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验 报告 验证