收藏 分销(赏)

微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信.doc

上传人:可**** 文档编号:4748595 上传时间:2024-10-11 格式:DOC 页数:10 大小:133.54KB
下载 相关 举报
微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信.doc_第1页
第1页 / 共10页
微机系统与接口实验——利用两台TPC-ZK微机原理实验平台实现两机之间通信.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
微机系统与接口实验报告 班级: 组员: 一、 实验目的 Ø 通过本实验了解串行通信原理; Ø 理解计算机软件、硬件如何配合工作,如何对计算机进行功能扩展; Ø 学会一般接口电路设计过程和驱动代码编写方法; Ø 学会如何进行软件、硬件调试。 二、实验内容 (1)实验任务 利用两台TPC—ZK微机原理实验平台实现两机之间通信。 (2)实验要求 在实验台实现: Ø 设计硬件电路并在实验台上完成连接; Ø 双机通信时,一方用键盘或AD采集模拟信号,在另一方机器展示; Ø 完成程序的编写、调试工作。 三、实验原理 分析设计思想,绘制实验原理图、流程图。 (1).实验原理图 Ø 键盘扫描原理图 按上图接线,8255C口接键盘(8255的C0~C3接键盘的列0~列3,C4~C7接键盘的行0~行3),片选CS接大板上地址译码输出的288h~28fh。识别键盘上的闭合键,通过采用行扫描法(行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫完全部的行线为止)。 Ø 数码管显示原理图 电路原理如上图。8255CS接地址译码输出的288h~28fh.用20芯扁平电缆连接实验板与主实验台上的20芯扩展插座。8255的A口(PA0~PA6)与七段数码管的段码输入端a~g,8255的B口(PB0~PB5)与位码驱动输入端已连好,不用再接线。 (2)。流程图 开始 初始化8251、8254和8255芯片 置8255A控制字为81H:PC0~PC3输入,PC4~PC7输出 读入C口数据,判断小键盘上是否有键按下 调用键盘扫描子程序,读入小键盘的按键值 向8251数据口写入数据并发送 读串行接口芯片8251状态口数据,判断其是否可以传送数据 读8251状态口数据,判断其是否收到数据 调数码管显示子程序,输出数据 是 是 是 否 否 否 四、实验程序 程序清单及相关注释: DATA  SEGMENT DATAﻩENDS STACK SEGMENT STACK ﻩDWﻩ100H DUP(?) STACK ENDS CODE SEGMENT ﻩASSUME CS:CODE,DS:DATA ;;实验机器指定的端口地址 PORTAﻩEQU ﻩ288H ﻩ;8255端口地址 PORTBﻩEQUﻩ289H PORTCﻩEQUﻩ28AH TIMER EQU ﻩ280H ﻩ;8254的端口地址 START: ;初始化8251 ﻩMOV ﻩDX,2B9H   ﻩ;控制口地址为2B9H MOV AL,0 ﻩOUTﻩDX,AL ﻩOUT ﻩDX,AL ﻩOUT DX,AL MOV AL,40H ;IR(D6)置1(40H:01000000)使8251A复位(内部复位) OUT DX,AL ;方式控制字必须在复位后首先写入 MOV AL,0CFHﻩ;异步传送;帧的格式,8位字符,2个停止位,无校验;1200Baud/s,波特率因子64 ﻩOUT ﻩDX,AL  MOV AL,27H   ﻩ;写入命令控制字,允许发送和接受,并使RTS输出为低 ﻩOUT ﻩDX,AL ﻩ;初始化8254计数器 ﻩMOV AL,00110110B ;方式3,作为方波发生器 ﻩMOV DX,TIMER+3 OUT ﻩDX,AL MOV AX,52ﻩ;频率19。2Khz MOV  DX,TIMER ﻩOUT ﻩDX,AL ;写入计数器初值的低字节 MOV ﻩAL,AH OUT DX,AL ﻩ;写入计数器初值的高字节 ;初始化8255,工作方式0,A口输出,C口高位输出,低位输入,B口输出 ;A口输出段码;C口用于检测键盘输入 ﻩMOVﻩDX,PORTA+3 MOVﻩAL,81H  ;10000001 OUT DX,AL ﻩ;从键盘获取输入 X1:ﻩMOV ﻩAL, 00h MOVﻩDX, PORTC ﻩOUTﻩDX, AL ﻩ;00—〉C口,PC0置0 WAIT:ﻩIN  AL, DXﻩ;读入列线值 ﻩANDﻩAL, 0FHﻩ;只要低四位 CMP AL, 0FH ;无按键按下,则跳转至X2,判断是否收到数据 JZ X2 CALL DELAY ﻩMOV BL, 4 ﻩ;行数 MOV ﻩBH, 4 ﻩ;列数 MOV AL, 0EFH ;扫描码 ﻩMOV  CL, 0FH MOV CH, 0FFH ;键值—1 ROW:ﻩOUT DX, AL ROL AL, 1 ﻩ;左移生成下一个扫描码 MOV ﻩAH, AL ﻩIN AL, DX ﻩ;读入列线值 ﻩANDﻩAL, 0FH CMPﻩAL, 0FH ﻩJNZ COL ;有键按下转COL ﻩADDﻩCH, BH  ;指向某列按键号,开始编号 ﻩMOVﻩAL, AH ﻩDEC BL ﻩJNZ ROW JMP X1 COL:ﻩINC  CH RCR   AL,1 ;根据接口可能需要改为SHL ﻩJC COL ﻩMOV  AL, CH   ;AL为键号 CALLﻩINPUT MOV BL, AL ;;在屏幕上显示 ﻩ;;发送输入的字符 SEND:ﻩMOV  DX,2B9H IN  AL,DXﻩ;读状态口 AND ﻩAL,01Hﻩ;TxRDY=1?是否可以传送 ﻩJZ SEND ﻩDEC ﻩDX ﻩMOV  AL, BL ﻩOUT ﻩDX, AL ;; X2:ﻩMOV DX,2B9H IN AL,DX ﻩ;读状态口 AND  AL,02H ;RxRDY=1?是否收到新消息 JZ X1 ;未接收到跳转到X1 ﻩDEC DX ﻩIN AL, DX ﻩCALLﻩQDM X3:ﻩMOVﻩDX, PORTA OUTﻩDX, AL JMP ﻩX1 E: MOVﻩAX,4C00H INT ﻩ21H DELAYﻩPROCﻩNEAR PUSH CX MOV CX, 7FFFH ;有按键按下 LP0: LOOP LP0 ﻩ;延时 POP CX RET DELAY ENDP ﻩ;;子程序INPUT,将小键盘输入的键号,转换成相对应的ASCII码 ;;输入的存储在AL中,转换结果成储存在AL中 INPUT PROC ﻩNEAR PUSH ﻩBX CMPﻩAL, 6 ﻩJB IN1 MOV ﻩBL, 0FH SUB BL, AL ﻩMOV AL, BL ADD  AL, ’0' ﻩJMP ﻩINEND IN1: MOVﻩBL, 'f' ﻩSUB BL, AL ﻩMOV   AL, BL INEND:POP BX RET INPUT ENDP ;;子程序QDM,将数字转换成七段码在数码管上显示 ﻩ;;AL储存要转换的字符的ASCII码,转换结果在AL中 QDMﻩPROC NEAR CASE0:ﻩCMP ﻩAL,’0’ JNE CASE1 MOV ﻩAL,3FH ﻩJMP CASEEND CASE1: CMP ﻩAL,’1’ ﻩJNEﻩCASE2 ﻩMOV AL,06H ﻩJMP CASEEND CASE2: CMP AL,'2’ JNEﻩCASE3 MOV AL,5BH ﻩJMP CASEEND CASE3: CMP  AL,’3’ ﻩJNEﻩCASE4 ﻩMOV AL,4FH ﻩJMP CASEEND CASE4:ﻩCMP ﻩAL,'4' JNE CASE5 MOV AL,66H JMP CASEEND CASE5: CMP  AL,’5’ ﻩJNE CASE6 ﻩMOV AL,6DH JMP CASEEND CASE6:ﻩCMP ﻩAL,'6' JNE CASE7  MOV AL,7DH JMP CASEEND CASE7: CMP ﻩAL,’7’ ﻩJNE CASE8 ﻩMOV AL,07H JMP CASEEND CASE8:ﻩCMP AL,'8' ﻩJNE CASE9 MOV AL,7FH JMP CASEEND CASE9: CMP AL,’9' JNE CASEA ﻩMOV AL,6FH JMP CASEEND CASEA:ﻩCMP AL,’a' ﻩJNE CASEB ﻩMOV AL,77H ﻩJMP CASEEND CASEB: CMP AL,’b' ﻩJNE CASEC MOV AL,7CH ﻩJMP CASEEND CASEC: CMP AL,'c’ JNE CASED MOV AL,39H JMP CASEEND CASED: CMP AL,'d’ ﻩJNE CASEE MOV AL,5EH JMP CASEEND CASEE: CMP AL,’e’ JNE CASEF MOV AL,79H ﻩJMP CASEEND CASEF:ﻩCMP AL,’f’ ﻩJNE DEFAULT ﻩMOV AL,71H ﻩJMP CASEEND DEFAULT: ﻩMOV AL,0H CASEEND:ﻩRET QDM ﻩENDP CODE ﻩENDS ﻩEND START     CODE ﻩENDS END START 五、实验结果 描述实验现象及结果并给予分析。 实验现象: 按照上述实验原理图连接好每台机器的电路,然后把把两台机器的TxD和RxD分别互联起来。双机通信时,在每台机器上的小键盘上按键时,都可立刻在另一台机器的数码管上显示输入的数据,两台机器是异步双工通信的,发送和接受可同时进行且互不干扰。 结果分析: 由上述的实验流程图可知,当机器甲没有按键时,程序中会转到检查是否收到数据的部分,若机器乙有数据传来,则接收数据并调用数码管显示模块输出;若有按键,则调用键盘扫描程序读入按键值,并把数据传到串行接口芯片8251,由其与机器乙按照事先规定好的帧的格式传送数据,对机器乙也是执行与机器甲相同的流程. 六、问题解决及收获体会 本次试验首先的问题便是4乘4键盘输入的识别,通过首先确定列号再通过行扫描的方式解决了问题,而后关于芯片的具体作用通过翻阅课本得到了复习和巩固,同时在连线的时候对于软件给出的连线方式一开始有疑惑,感觉似乎少了几根线,后来才知道,实验板内部本省已有部分连线,如此给我们节省了时间也给查错带来了方便。在验收前的实验中,同旁边组的一起由于带电操作的问题把板子左上边的那一块给烧了,刚开始不知道原因,通过更换那一小块板子后整体工作正常找到了故障的所在。总体来说这次试验还算顺利,相关知识遗忘较为严重,某些考研的同学竟然也都不知道,今后在知识的学习上以及在实际的操作上都要更加的细心,更加的有条理。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服