利用单片机io端口线模拟串行口通讯

利用单片机io端口线模拟串行口通讯

ID:34054722

大小:161.36 KB

页数:3页

时间:2019-03-03

利用单片机io端口线模拟串行口通讯_第1页
利用单片机io端口线模拟串行口通讯_第2页
利用单片机io端口线模拟串行口通讯_第3页
资源描述:

《利用单片机io端口线模拟串行口通讯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第13卷第5期安徽建筑工业学院学报(自然科学版)Vol.13No.52005年10月JournalofAnhuiInstituteofArchitecture&IndustryOct.2005利用单片机I/O端口线模拟串行口通讯12王新,周良民(1.安徽大学电子科学与技术学院,合肥230039;2.涡阳烟叶复烤厂,涡阳233606)摘要:介绍一种采用单片机I/O端口线模拟串行通讯的技术,用于多MCU系统中的串行通讯。该技术可以高效实现系统内的数据通讯,减少系统复杂度,有效提高系统稳定性、可靠性。关键词:串行通讯;口线模拟串口

2、;多MCU系统中图分类号:TP399文献标识码:A文章编号:100624540(2005)052067203UsingI/OportlineofMCUsimulateUART12WANGXin,ZHOULiang2ming(1.CollegeofElectronicScience&Technique,AnhuiUniversity,Hefei230039,China;2.GuoyangCigaretteFactory,Guoyang233606,China)Abstract:Thispaperintroducesatechn

3、iqueusingI/OportlineofMCUSimulateUART,itcanbeuseinmulti2MCUsystem.Thetechniqueachievecommunicationinthesystemefficiently,decreasecom2plexity,stabilityandreliabilityinthesystemwillbeimprovedeffectively.Keywords:serialcommunication;simulateURAT;multi2MCUsystem现代单片机应用

4、系统中,由于应用需求的不接收端,与双机系统中的另一MCU(定义为从断提高,系统的复杂性越来越高,为完成复杂的功MCU)的串行口的RXD和TXD相联,从MCU能,通常采用2个或多个MCU协同工作、组成多的P2.7输出串行通讯低电平中断信号(该中断MCU系统来完成。常用的MCU一般只有1个信号比串口输出数据信号提前10μs),与主串行通信口,虽然通过专用芯片扩展可以实现多MCU的INT1相联。其硬件电路如图1所示。串口的通讯,但这样会使系统复杂,降低可靠性。主从MCU之间的通讯格式采用模式1,即:1位多MCU系统中各MCU的I/

5、O端口通常会有富起始位(0),8位数据位,1位停止位(1),无校验余,我们可以利用其中的2~3根I/O端口线与另位。波特率为9600bps。主从MCU的时钟振荡外的MCU标准串口相联,并通过软件编程来实频率均为11.0592MHz。现多MCU系统中的口线模拟串行通讯技术。本文以常用的51系列单片机为例来讨论双MCU系统的口线模拟串口通讯技术。1系统组成图1系统硬件示意图双MCU系统中的一个MCU定义为主2原理分析MCU,其串口用来与系统外部的PC机通讯,其用口线模拟串行通讯,必须熟悉串行通讯的P2口的P2.6和P2.7口线分

6、别模拟串口的发送、原理。下面以模式1为例简要介绍一下51系列收稿日期:2004205217作者简介:王新(1968-),男,高级实验师,主要研究方向为计算机科学。68安徽建筑工业学院学报(自然科学版)第13卷单片机的串行通讯的工作原理。Read_Byte_Loop:串行口工作于模式1时,传输的是10位:1LCALLReceive_Bits;调用接收一个字节位起始位(低电平),8位数据位(低位在前),1位的子程序:MOV@R1,A;读取的数据送入缓存停止位(高电平),由TXD发送,由RXD接收,其INCR1波形图如图2所示。D

7、JNZByte_Count,Read_Byte_Loop;未读完,继续读取由图2可以看出,串行通讯时每个字节的发RET送是由低电平的起始位开始,至高电平的停止位(2)接收一个字节的子程序清单结束。在9600bps的通讯速率下,每位的脉宽为:Receive_Bits:1/9600s,即104μs。因此,用口线接收时可以先LCALLDelay_104us;延时至D0位MOVBitCount,#08H;字节长度为8将口线P2.7置位,等待输入到INT1的低电平中GetBitLoop:断信号,一旦接收到中断信号,即检测P2.7是否M

8、OVC,P2.7;读数据位出现低电平,当出现低电平时,说明一帧数据传送RRCA;右移一位开始。延时104μs后即为数据信号,为准确接收LCALLDelay_104us;延时至下一位数据位D0位数据信号,需在D0的脉冲中间检测,即再DJNZBitCount,GetBitLoop;未读完数据位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。