请绘制计算机串行通信原理图,微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信...

《微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信》由会员分享,可在线阅读,更多相关《微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信(10页珍藏版)》请在人人文库网上搜索。

1、微机系统与接口实验报告班级:组员:一、 实验目的通过本实验了解串行通信原理;理解计算机软件、硬件如何配合工作,如何对计算机进行功能扩展;学会一般接口电路设计过程和驱动代码编写方法;学会如何进行软件、硬件调试。二、实验内容(1)实验任务利用两台TPC-ZK微机原理实验平台实现两机之间通信。(2)实验要求在实验台实现:设计硬件电路并在实验台上完成连接;双机通信时,一方用键盘或AD采集模拟信号,在另一方机器展示;完成程序的编写、调试工作。三、实验原理分析设计思想,绘制实验原理图、流程图。(1).实验原理图键盘扫描原理图按上图接线,8255C口接键盘(8255的C0C3接键盘的列0列3,C4C7接键盘。

2、的行0行3),片选CS接大板上地址译码输出的288h28fh。识别键盘上的闭合键,通过采用行扫描法(行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫完全部的行线为止)。数码管显示原理图电路原理如上图。8255CS接地址译码输出的288h28fh。用20芯扁平电缆连接实验板与主实验台上的20芯扩展插座。8255的A口(PA0PA6)与七段数码管的段码输入端a,8255的B口(PB0PB5)与位码驱动输入端已连好,不用再接线。(2).流程图开始初始化8251、8254和8255芯片置8255A控制字为8。

3、1H:PC0PC3输入,PC4PC7输出读入C口数据,判断小键盘上是否有键按下调用键盘扫描子程序,读入小键盘的按键值向8251数据口写入数据并发送读串行接口芯片8251状态口数据,判断其是否可以传送数据读8251状态口数据,判断其是否收到数据调数码管显示子程序,输出数据是是是否否否四、实验程序程序清单及相关注释:DATA SEGMENTDATAENDSSTACKSEGMENT STACKDW100H DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA;实验机器指定的端口地址PORTAEQU 288H ;8255端口地址PORTBEQU289HPO。

4、RTCEQU28AHTIMER EQU 280H ;8254的端口地址START:;初始化8251MOV DX,2B9H ;控制口地址为2B9HMOV AL,0OUTDX,ALOUT DX,ALOUTDX,ALMOV AL,40H ;IR(D6)置1(40H:01000000)使8251A复位(内部复位)OUT DX,AL ;方式控制字必须在复位后首先写入MOV AL,0CFH ;异步传送;帧的格式,8位字符,2个停止位,无校验;1200Baud/s,波特率因子64OUT DX,AL MOV AL,27H ;写入命令控制字,允许发送和接受,并使RTS输出为低OUT DX,AL;初始化8254计。

5、数器MOV AL,00110110B;方式3,作为方波发生器MOV DX,TIMER+3OUT DX,ALMOV AX,52;频率19.2KhzMOV DX,TIMEROUT DX,AL ;写入计数器初值的低字节MOV AL,AHOUT DX,AL ;写入计数器初值的高字节;初始化8255,工作方式0,A口输出,C口高位输出,低位输入,B口输出;A口输出段码;C口用于检测键盘输入MOVDX,PORTA+3MOVAL,81H ;10000001OUT DX,AL;从键盘获取输入X1:MOV AL, 00hMOVDX, PORTCOUTDX, AL ;00-C口,PC0置0WAIT:IN AL, 。

6、DX;读入列线值ANDAL, 0FH;只要低四位CMPAL, 0FH;无按键按下,则跳转至X2,判断是否收到数据JZX2CALL DELAYMOVBL, 4 ;行数MOV BH, 4 ;列数MOVAL, 0EFH ;扫描码MOV CL, 0FHMOV CH, 0FFH;键值-1ROW:OUTDX, ALROL AL, 1 ;左移生成下一个扫描码MOV AH, ALIN AL, DX ;读入列线值ANDAL, 0FHCMPAL, 0FHJNZCOL;有键按下转COLADDCH, BH ;指向某列按键号,开始编号MOVAL, AHDECBLJNZROWJMPX1COL:INC CHRCR AL,1。

7、;根据接口可能需要改为SHLJC COLMOV AL, CH ;AL为键号CALLINPUTMOV BL, AL;在屏幕上显示;发送输入的字符SEND:MOV DX,2B9HIN AL,DX;读状态口AND AL,01H;TxRDY=1?是否可以传送JZ SENDDEC DXMOV AL, BLOUT DX, AL;X2:MOV DX,2B9HIN AL,DX ;读状态口AND AL,02H ;RxRDY=1?是否收到新消息JZX1;未接收到跳转到X1DECDXIN AL, DXCALLQDMX3:MOVDX, PORTAOUTDX, ALJMP X1E:MOVAX,4C00HINT 21HD。

8、ELAYPROCNEARPUSHCXMOV CX, 7FFFH;有按键按下LP0:LOOPLP0 ;延时POPCXRETDELAYENDP;子程序INPUT,将小键盘输入的键号,转换成相对应的ASCII码;输入的存储在AL中,转换结果成储存在AL中INPUTPROC NEARPUSH BXCMPAL, 6JBIN1MOV BL, 0FHSUB BL, ALMOV AL, BLADD AL, 0JMP INENDIN1:MOVBL, fSUBBL, ALMOV AL, BLINEND:POPBXRETINPUTENDP;子程序QDM,将数字转换成七段码在数码管上显示;AL储存要转换的字符的ASC。

9、II码,转换结果在AL中QDMPROC NEARCASE0:CMP AL,0JNECASE1MOV AL,3FHJMP CASEENDCASE1:CMP AL,1JNECASE2 MOV AL,06HJMP CASEENDCASE2:CMP AL,2JNECASE3 MOV AL,5BHJMP CASEENDCASE3:CMP AL,3JNECASE4 MOV AL,4FHJMP CASEENDCASE4:CMP AL,4JNECASE5 MOV AL,66HJMP CASEENDCASE5:CMP AL,5JNECASE6 MOV AL,6DHJMP CASEENDCASE6:CMP AL,。

10、6JNECASE7 MOV AL,7DHJMP CASEENDCASE7:CMP AL,7JNECASE8 MOV AL,07HJMP CASEENDCASE8:CMP AL,8JNE CASE9 MOV AL,7FHJMP CASEENDCASE9:CMP AL,9JNE CASEAMOV AL,6FHJMP CASEENDCASEA:CMP AL,aJNE CASEBMOV AL,77HJMP CASEENDCASEB:CMP AL,bJNE CASECMOV AL,7CHJMP CASEENDCASEC:CMP AL,cJNE CASEDMOV AL,39HJMP CASEENDCASE。

11、D:CMP AL,dJNE CASEEMOV AL,5EHJMP CASEENDCASEE:CMP AL,eJNE CASEFMOV AL,79HJMP CASEENDCASEF:CMP AL,fJNE DEFAULTMOV AL,71HJMP CASEENDDEFAULT: MOV AL,0HCASEEND:RETQDM ENDPCODE ENDSEND START CODE ENDSEND START五、实验结果描述实验现象及结果并给予分析。实验现象:按照上述实验原理图连接好每台机器的电路,然后把把两台机器的TxD和RxD分别互联起来。双机通信时,在每台机器上的小键盘上按键时,都可立刻在另。

12、一台机器的数码管上显示输入的数据,两台机器是异步双工通信的,发送和接受可同时进行且互不干扰。结果分析:由上述的实验流程图可知,当机器甲没有按键时,程序中会转到检查是否收到数据的部分,若机器乙有数据传来,则接收数据并调用数码管显示模块输出;若有按键,则调用键盘扫描程序读入按键值,并把数据传到串行接口芯片8251,由其与机器乙按照事先规定好的帧的格式传送数据,对机器乙也是执行与机器甲相同的流程。六、问题解决及收获体会本次试验首先的问题便是4乘4键盘输入的识别,通过首先确定列号再通过行扫描的方式解决了问题,而后关于芯片的具体作用通过翻阅课本得到了复习和巩固,同时在连线的时候对于软件给出的连线方式一开始有疑惑,感觉似乎少了几根线,后来才知道,实验板内部本省已有部分连线,如此给我们节省了时间也给查错带来了方便。在验收前的实验中,同旁边组的一起由于带电操作的问题把板子左上边的那一块给烧了,刚开始不知道原因,通过更换那一小块板子后整体工作正常找到了故障的所在。总体来说这次试验还算顺利,相关知识遗忘较为严重,某些考研的同学竟然也都不知道,今后在知识的学习上以及在实际的操作上都要更加的细心,更加的有条理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值