串行接口实验—双机通信

上传人:z****2 文档编号:172129949 上传时间:2022-12-01 格式:DOCX 页数:23 大小:124.37KB
收藏 版权申诉 举报 下载
串行接口实验—双机通信_第1页
第1页 / 共23页
串行接口实验—双机通信_第2页
第2页 / 共23页
串行接口实验—双机通信_第3页
第3页 / 共23页
资源描述:

《串行接口实验—双机通信》由会员分享,可在线阅读,更多相关《串行接口实验—双机通信(23页珍藏版)》请在装配图网上搜索。

1、数学与信息技术学院计算机应用课程设计设计报告摘要微机与外部的信息交换称为通信,基本方式有并行与串行两种。本文主要说明 串行方式,主要掌握微机串行通信的连接方法,熟悉其工作方式及其功能,运用程序 流程图说明了其工作过程详细介绍了使用串行接口芯片8251A实现双CPU系统数据传输的设计和方法,接 着从8251A的基本原理、工作方式,以及硬件和软件设计方面进行了详细的说明。并 在两台微处理器的目标机上,用串口通信模式实现了两机之间的高效通信。关键词:8251A ;串口通信;数据传送AbstractExchange of information between computer and externa

2、l as communications.Basic methods are both parallel and serial.This paper shows the serial mode, the main control computer serial communication connection method, familiar with their work and their functions, the use of process flow chart illustrates the process of their work.Described in detail usi

3、ng the serial interface chip 8251A dual CPU system design and method of data transmission, then the basic principle from 8251A, work, and hardware and software design aspects in detail. Two microprocessors in the target machine, achieved with a serial communication mode efficient communication betwe

4、en the two machines.Keywords: 8251A; serial communication; data transfer目录摘 要 2Abstract 3第一章 系统的功能 5第二章 系统的设计方案 62.1 硬件设计 62.1.1 涉及的芯片 62.1.2 8251A 芯片62.1.3 8279 芯片82.2 软件设计92.2.1 设计简单介绍92.2.2 模块设计详细分析9第三章 操作说明11第四章 总结12参考文献13附:141、硬件原理图142、程序流程图153、源程序清单及注释17第一章 系统的功能随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机

5、,而且 这些计算机的牌号,后型号不同,而且有的格式不兼容。于是利用单片机串行口实 现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。另一方面, 在某计算机的软磁盘驱动器万一出现故障的情况下,也可以通过它将计算机硬盘的 数据或程序拷贝出来。文件传输程序可以用来在两个计算机之间传输任何类型的文件(包括二进制文 件),对于那些有不同类型的计算机特别有用。网络的发展,局域网的建立,使得一个文件服务器以及允许其他计算机从服务 器中装入文件或将它们存入文件服务器也可以通过串口来实现。第二章 系统的设计方案2.1硬件设计2.1.1 涉及的芯片1. 8251A接口芯片用于实现微机间的通信,发送数

6、据;2. 8279芯片用于微机间接受数据和显示数据;2.1.2 8251A 芯片8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发 送器,能实现单工、 半双工、双工通信。由于近距离传输,所以可以不用MODEM,而直接互连。同时采用查询方式, 故接收/发送程序中只需检查发送/接收的准备好状态是否置位,在准备好时就发送 或接收一个字节。(1) 在实验过程中,数据通信的基本方式可分为并行通信与串行通行,而我们的实验 正是采用了串行通行方式,这种方式通信线路简单,利用线路就可实现通信,这样 实验易于实现并且降低了成本,而且适合远距离通信。(2) 实验中用到的8251A就是一个可编

7、程的通用串行通信接口芯片,在使用时必须对 它进行初始化编程。编程的内容包括两大方面:一是由CPU发出的控制字,即方式 选择控制字和操作命令控制字;另一方面是由8251A向CPU送出的状态字。8251A的方式控制字和命令控制字方式控制字确定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字 符长度及波特率等,格式如下图5 16所示。命令控制字使8251A处于规定的状态以 准备收发数据,格式如下图。方式控制字和命令控制字无独立的端口地址,8251A根据写入的次序来区分。CPU对8251A初始化时先写方式控制字,后写命令控制字。方式选择控制字的格式如图所示。操作命令控制字的格式如下

8、:1允许发送1数据终端淮备好1活除错误标记1允许接收1发斷缺字符1洁求发送 状态寄存器状态寄存器用于寄存8251A的状态信息,供CPU查询。各位定义如下:TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件(数据缓冲器 空/CTSTXE)成立时才置位。溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。 帧错误:在字符结尾没检测到停止位,称为帧错误。状态字的格式如下:DSRSYNDET/BRKDETFEOEFETxERkRDYTxRDYD?Dt Dj D(- Eh Dj Di Do数据装置堆备好奇偶错标志溢出错标志I帧校验错标志pSYNDETLj-brkdetEJ1发

9、送器淮备好1接收器准备好1发送器空饗豐缺字符2.1.3 8279 芯片8279芯片介绍:8279是一种可编程键盘/显示接口芯片,它共有3种工作方式:编码扫描方式、 传感器扫描方式、时钟脉冲选通方式。固只需通过编程就可用8279来实现各种键盘/ 显示器的接口,几乎不需附加任何电路。本系统8279接口规定的小键盘的键名和键值对照表及数码管组显示代码表如 下。键名键值对照表:键名0123456789A键值000102030405060708090A键名BCDEFEXECNEXTMOVMONLASTSTEP键值0B0C0D0E0F101112131415显示代码表显示值01234567显示代码3FH0

10、6H5BH4FH66H6DH7DH07H显示值89ABCDEF显示代码7FH6FH77H7CH39H5EH79H71H2.2软件设计2.2.1设计简单介绍本系统的软件设计流程图参见附录部分(图2)。系统设计代码分为以下几个部分:初始化8251A、发送数据、接收数据、键盘输 入、数值转换、LED显示。2.2.2 模块设计详细分析1. 初始化8251A:8251A工作在同步方式下,方式选择控制字为00H,工作命令控制字为40H.代码如下:KEYLED: MOV AL,00HOUT DX,ALOUT DX,ALOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,4EHOUT DX,

11、ALMOV AL,27HOUT DX,AL2. 键盘输入键盘的输入由8279控制,再输入之前要现判断键盘是否允许按键,则只需读取 8279的状态即可;通过数据口读取键值。然后对输入的数据进行判断,若为数字键, 只需判断其高四位,高四位为零,则为数字键;不为零则不是数字键;再判断是否 为EXEC键,此时只需和10H比较,相同则为EXEC键。KEY0: MOV DX,CONTPORT;读8279状态IN AL,DXTEST AL,07HJZ KEY0MOV CX,0FFFH;判断是否有键按下;读取键值; 判断是否为数字键DELAY1: LOOP DELAY1MOV DX,DATAPORTIN AL

12、,DXMOV DI,AXAND AL,0F0HJZ KEY1MOV AX,DICMP AL,10H;判断是否为EXEC键JNZ KEY0CMP WORD PTR DS:0601H,0000H ;判断按EXEC键前是否按过数字键JZ SERERR1MOV SI,DATA3CALL LEDDISP3. 数值转换数值转换就是将输入的键值转换成发送代码。转换代码实现部分:CONVERS:MOV BH,0HMOV AX,DIAND AL,0FHMOV BL,ALMOV AL,CS:BX+DATA4MOV BYTE PTR DS:0602H,ALRET4. 发送数据1号机用于键盘的控制以及数据的发送。首先

13、判断1号机器键盘的状态,由8279控制,则只需读取8279的状态即可;再判 断按键值,若为数字键,则计算次数,再将按键值转换为显示代码;若为EXEC键, 再判断按此键之前是否按过数字键,若没按过,则调用显示,显示Errl,若按过再将 按键值转换为显示代码。接下来就是判断是否允许发送数据了,发送数据由8251控 制,则只需读取8251的状态。允许发送就开始发送数据。部分代码如下:;读取8251状态;判断是否允许发送;显示代码送给AL;发送显示代码WATTXD: MOV DX,SECOPORTIN AL,DXTEST AL,01HJZ WATTXDMOV AL,BYTE PTR DS:0602HM

14、OV DX,SEDAPORTOUT DX,ALMOV CX,0FFFFHDELAY2: LOOP DELAY2 JMP KEY0SEREND: JMP SEREND5. 接收数据并显示2号机用于接受1号机发送的数据并将其显示出来。数据接收由8251控制,则先判断其状态,允许接收则转入接收程序,从数据口读取数据,然后将接收到的数据 存入到RAM区暂存。再将数据发送到控制口进行显示。;读取8251状态;判断是否允许接受;接受数据;将接受的数据存入RAM区;从RAM区取出数据?;显示接受的数据接收数据部分代码如下:WATRXD:MOV DX,SECOPORTIN AL,DXTEST AL,02HJZ

15、 WATRXDMOV DX,SEDAPORTIN AL,DXMOV BYTE PTR DS:0600H,ALMOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV AL,BYTE PTR DS:0600HMOV DX,DATAPORTOUT DX,ALMOV AL,00HOUT DX,ALJMP WATRXD详见源程序清单及注释附录部分。第三章 操作说明1、准备2台本系统,确定1号为发送,2号为接收。2、将1号RXD插孔和2号的TXD插孔相连。3、将1号TXD插孔和2号的RXD插孔相连。4、将1号GND插孔和2号的GND插孔相连(共地)。5、先运行2号机,显示器显示“825

16、12”,进入等待接收状态。6、再运行1号机,显示器显示“82511”,进入串行发送状态。7、在1号机的键盘上输入数字键,在2号机显示器上显示对应数字值。8、输入数字键后再按EXEC键,1号机显示“8251 good”。如果不输入数字键直接 按EXEC键,则显示“Err”,如果双机通信不能正常进行,也显示“Err1”。第四章 总结1 设计中遇到的问题及解决过程当遇到处理由于两个系统上电后各自都需要初始化,事先无法预料哪能一个系 统先初始化好的问题,而束手无策时,有上网查过,向同学请教过。2 设计中产生的错误及原因分析在这次程序设计中负责的串行接口数据传送,而在处理 8251A 芯片的初始化程 序

17、设计时,由于对微机接口知识的生疏,产生不少细微的错误。这的都得归咎于我 们平时打好基础。在最终的运行实现阶段,出现一些不明原因的错误,如:在 1 号机还未进行数 据传送的时候,2 号机的显示屏上已显示一个未知字符;无论怎样对 2 号机的屏幕 进行清零,这个未知字符始终存在。3 设计体会和收获最初选择串行通信这个实验时,由于从未接触过这类设计,感到新鲜的同时不 乏焦虑。现在终于将它完成了,感到受益颇多。第一,这是一份考验我们自觉性、 动手能力与协作意识的任务。在长达一个月的时间里,我们不断发现自身不足也不 断自我完善。第二,未知并不可怕,可怕的是因未知而止步。我们在课堂上所学的 知识是非常有限的

18、,这次的课程设计就是个很好的体现。很多函数的运用我们还没 掌握,一些简单的循环语句都可能出错。实践后才能真的知道我们真正掌握了多少。 第三,团结就是力量一点都不假,三个臭皮匠顶一个诸葛亮。在团组合作时我们更 便于互相取长补短,相互讨论,效果很好。参考文献1C语言程序设计清华大学出版社;谭浩强主编1999.122C语言程序设计技巧及应用上海科学普及出版社;陈进编著1992.63微型计算机原理与应用(第二版)西安电子科技大学出版社;王永山,杨宏五杨婵娟编著 1999.124单片机原理及应用教程北京大学出版社;范立南,谢子殿编著 2007.8附:1、硬件原理图UB3 18 25 3UB2 18 25

19、 1vccVCC*UB312 2;U/1C0VEC31220U/10VCC33104GNDD0D1D2D3 _L5D4 4D5GN3D6D78_cc8H1 04) D1D2D3D4D5D6D7VCC14TCLK1 15GATE1CLKUB32CCB3174CB3=1HC041011 01 1K RB31GNDGNDD38D7E7ZD35D44jUT3D5fTK3D6D7C|AtE2CLK2TCL KIOUT1CSVCCRD14WR1 5 aoA12UB32D160.017 4HC0 4RBHc04Y311 8432M1K1K RB3 1D0D1D2D3D4D5D6D713212223T0OUT

20、VCCT0CLKVCCT2OUTT2CLKTCOUT1CS3IORIOWGATEdICLK1D1Y3-1CB30.0 11.8 4 32 M2-*D0D1D2D3D4D5D6D7272812567892522232416189UB21T0825 0CLK0GATE 2UT2CLK2D4D5OUt1TxCICRxCSDWR dsrA0 RTS dtrA SYNDETTxEMPTT0OUTM9T0CLK16T2OUT20tLCT2CLK:2C/D 12WR 13RDVCC3 2D874HC0 4RB3 2VCCPCLKADD0IOWIORtCS TCOUT4 CS3 REIORIOW 3919 A

21、DDL19 2-ADD-TxRDYRxRDYD3D12 8D21D32D45D56D7-925012345 6 7 DDDDDDDDRST11514TXDRXD2号机22RXD 2416-8TXD、TxCLK Rx CLKDSRRTS.DTR SYNDET TxEMPT2、程序流程图发送数据:N判有键按下否YY是数字键?NNNY,N判允许发送否YN判允许接收否YYN按MON键前未按过数字 键?结 束结 束延 时调用显示“82511”子程序显示“Err”I读取键值I显示 8251good键值转戈显示代码读取串行口状态发送键值所对应的显示代码显示“Err”判是MONY十读取串亍口状态I从串行口读数

22、据判接收到的数据是否和按键次数加1I读取键盘状态接收数据:3、源程序清单及注释Send程序段代码CODE SEGMENTASSUME CS:CODESTART: JMP SERIALCONTPORT EQU 00DFH DATAPORT EQU 00DEH SECOPORT EQU 0051H SEDAPORT EQU 0050H DATA0 EQU 0500H DATA1 EQU 0508H DATA2 EQU 0510H DATA3 EQU 0518H DATA4 EQU 0520H SERIAL: CALL FORMAT MOV SI,DATA2 CALL LEDDISP;8279端口地

23、址;8279端口地址;8251端口地址;8251端口地址;显示8251-2MOV BYTE PTR DS:0601H,0HMOV WORD PTR DS:0602H,0HCLDMOV DI,0602HMOV CX,08HXOR AX,AXREP STOSWMOV DX,SECOPORTMOV AL,00HOUT DX,ALOUT DX,ALOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,4EHOUT DX,ALMOV AL,27HOUT DX,ALKEY0: MOV DX,CONTPORTIN AL,DXTEST AL,07HJZ KEY0MOV CX,0FFFHDELA

24、Y1: LOOP DELAY1 MOV DX,DATAPORTIN AL,DXMOV DI,AXAND AL,0F0HJZ KEY1MOV AX,DICMP AL,10H;初始化8251;读8279状态;判断是否有键按下;读取键值; 判断是否为数字键;判断是否为EXEC键JNZ KEY0CMP WORD PTR DS:0601H,0000H ;判断按EXEC键前是否按过数字键 JZ SERERR1MOV SI,DATA3CALL LEDDISPJMP SEREND;显示Err1;键值转换成显示代码;读取8251状态;判断是否允许发送;显示代码送给AL;发送显示代码SERERR1:MOV SI,

25、DATA1CALL LEDDISPJMP SERENDKEY1: CALL CONVERSWATTXD: MOV DX,SECOPORTIN AL,DXTEST AL,01HJZ WATTXDMOV AL,BYTE PTR DS:0602HMOV DX,SEDAPORTOUT DX,ALMOV CX,0FFFFHDELAY2: LOOP DELAY2JMP KEY0SEREND: JMP SERENDKEY2:CALL LEDDISPADD BYTE PTR DS:0601H,01H JMP KEY0CONVERS:MOV BH,0HMOV AX,DIAND AL,0FHMOV BL,ALMO

26、V AL,CS:BX+DATA4MOV BYTE PTR DS:0602H,ALRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1: CMP BYTE PTR DS:0600H,07H JA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+SIMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01H JNZ LED1LED2: RETLEDDISPD:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV

27、 BYTE PTR DS:0600H,00LEDD1: CMP BYTE PTR DS:0600H,07H JA LEDD2MOV BL,DS:0600HMOV BH,0HMOV AL,DS:BX+0602HMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01H JNZ LEDD1LEDD2: RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,5050H ADD BX,2MOV WORD PTR DS:BX+0500H,0079H ADD BX,2MOV WORD PTR DS:BX+0500H,0000H AD

28、D BX,2MOV WORD PTR DS:BX+0500H,0000H ADD BX,2MOV WORD PTR DS:BX+0500H,503FH ADD BX,2MOV WORD PTR DS:BX+0500H,7950H ADD BX,2MOV WORD PTR DS:BX+0500H,0000H ADD BX,2MOV WORD PTR DS:BX+0500H,0000H ADD BX,2MOV WORD PTR DS:BX+0500H,405BH ADD BX,2MOV WORD PTR DS:BX+0500H,4040H ADD BX,2MOV WORD PTR DS:BX+05

29、00H,6D06H ADD BX,2MOV WORD PTR DS:BX+0500H,7F5BH ADD BX,2MOV WORD PTR DS:BX+0500H,5C5EH ADD BX,2MOV WORD PTR DS:BX+0500H,6F5CH ADD BX,2MOV WORD PTR DS:BX+0500H,6D06H ADD BX,2MOV WORD PTR DS:BX+0500H,7F5BH ADD BX,2MOV WORD PTR DS:BX+0500H,063FH ADD BX,2MOV WORD PTR DS:BX+0500H,4F5BH ADD BX,2MOV WORD

30、PTR DS:BX+0500H,6D66H ADD BX,2MOV WORD PTR DS:BX+0500H,077DH ADD BX,2MOV WORD PTR DS:BX+0500H,6F7FH;ERR2显示代码;ERR 1显示代码;8251-1显示代码;8251good显示代码;0-F显示代码ADD BX,2MOV WORD PTR DS:BX+0500H,7C77HADD BX,2MOV WORD PTR DS:BX+0500H,5E39HADD BX,2MOV WORD PTR DS:BX+0500H,7179HRETCODE ENDS END STARTRecive程序段代码COD

31、E SEGMENTASSUME CS:CODECONTPORT EQU 00DFH DATAPORT EQU 00DEH SECOPORT EQU 0051H SEDAPORT EQU 0050HORG 1800HSTART: JMP KEYLEDKEYLED: MOV AL,00HOUT DX,ALOUT DX,ALOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,4EH OUT DX,AL MOV AL,27H OUT DX,AL;8279控制口;8279数据口;8251端口地址;8251端口地址;初始化8251WATRXD:MOV DX,SECOPORTIN AL,DXTEST AL,02HJZ WATRXD;读取8251状态;判断是否允许接受MOV DX,SEDAPORT;接受数据IN AL,DXMOV BYTE PTR DS:0600H,ALMOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV AL,BYTE PTR DS:0600HMOV DX,DATAPORTOUT DX,ALMOV AL,00HOUT DX,AL;将接受的数据存入RAM区;从RAM区取出数据?;显示接受的数据JMP WATRXDCODE ENDSEND START

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!