您好,欢迎访问三七文档
计算机与电子信息学院通信工程专业课程设计报告题目串口RS232通信队员队员指导老师2015年7月摘要摘要串行接口的有异步和同步两种基本通信方式。串行通信中,每秒传送的数据位称为波特率。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232接口(又称EIARS-232)是目前最常用的一种串行通讯接口。89C51单片机通过普通I/O口与PC机RS232串口实现通信。关键词:通信RS-232标准接口AbstractTheserialinterfacehastwobasiccommunicationmodesofasynchronousandsynchronous.Intheserialcommunication,thedatabitspersecondtransmissioncalledbaudrate.Inserialcommunication,thetwopartiesarerequiredtoadoptastandardinterface,sothatdifferentdevicescanbeeasilyconnectedtocommunicate.RS-232interface(alsoknownasEIARS-232)isthemostcommonlyusedserialcommunicationinterface.89C51microcontrollerthroughthecommonI/OportandPCRS232serialcommunication.目录一、串行接口的基本通信方式………………………………………………...1二、硬件电路设计……………………………………………………………...1三、测试程序设计……………………………………………………………...2四、作品完成情况………........................………….…………………………..2五、设计制作感想…………………………………….………………………..2六、附录………………………………………………….……………………..31、电路dxp图……………………………………..………....……………32、源程序……………………………………………..…………...........….4七、参考文献………………………………………………...………………….4一、串行接口的基本通信方式串行接口的有异步和同步两种基本通信方式。异步通信采用用异步传送格式,数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),用来表示字符开始。其后为7或8位的数据编码,第8位通常做为奇偶校验位。最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.8.1帧格式。串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.833ms。同样,如数据传送的波特率为9600波特,则字节中每一位传送时间为T=1/9600=0.104ms。根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通I/O口来模拟实现串行通信的时序。二、硬件电路设计89C51单片机通过普通I/O口与PC机RS232串口实现通信的硬件接口电路如图1所示。图1由于PC系列微机串行口为RS232C标准接口,与输入、输出均采用TTL电平的89C51单片机在接口规范上不一致,因此TTL电平到RS232接口电平的转换按陈老师给的项目说明书,采用MAXIM公司的MAX232标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~15V)和逻辑“0”(+3V~15V)的电平转换。图中89C51的P1.0模拟发送端,P1.1模拟接收端。三、测试程序设计单片机串行通信口通过RS232总线与PC进行通信的测试程序,无需扩展。可将DB9的第2和第3脚短路,进行自收自发测试.采用串行中断接收,速率:9600,通信方式2,晶振使用:osc=11.0592MHz。使用SW1-SW6键盘发送文本数字1-6,数码管显示接收的ASCII数据。四、作品完成情况经过测试,PC机能通过RS232总线与单片机进行通信。达到了实验要求。五、设计制作感想通信工程一直以来都是一门比较难的专业,不仅因为它比较难理解,而且在于这门课学习的东西都是比较抽象的,需要良好的理论和动手基础,同时,因为平时比较缺少这方面知识的接触,所以学习这个专业的时候还是感觉到了比较大的压力。开始做时从网上找了先代码看,找了很多RS232电路图。通过本次课程设计,我们意识到了通信的实时性要求很高,意识到了理论学习的重要性,没有理论知识的认知及学习,就不可能完成好一项实验设计。在拿到题目后,我们首先根据课本了解了基本的实验要求,去图书馆借阅了相关的书籍,然后自学完成了本次RS232串口通信设计,通过这次课程设计我们的确受益匪浅,不仅巩固加强了基础知识,扩展了自己的思维,在设计过程中,学长也不厌其烦的为我们排忧解难。当然,这次的课程设计也让我们暴露了不少的缺点,让我们看到了自己的很多不足。因为对理论知识不是理解很透彻,在设计过程中也遇到了很多的困难,对软件的不熟悉也让我们花费了较多的时间去熟悉软件,以前在课堂上没有学过的东西,这些都需要我们重新去学习。六、附录1、电路dxp图DocPcb2、源程序#includepic.h//包含单片机内部资源预定义__CONFIG(0x3F52);//10M晶体HS振荡/************延时1MS带参数(int)子程序*************/voiddelay(unsignedinttime){unsignedinta,b;for(a=0;atime;a++){for(b=0;b88;b++);}}//主程序voidmain(){unsignedchari;unsignedcharstring[]={0xBB,0xB6,0xD3,0xAD,0xB9,0xE2,0xC1,0xD9,0xC1,0xD6,0xBE,0xA9,0xBF,0xC6,0xBC,0xBC,0xD3,0xD0,0xCF,0xDE,0xB9,0xAB,0xCB,0xBE,0x0D,0x0A,0xB3,0xCC,0xD0,0xF2,0xA3,0xBA,0xD6,0xD0,0xB9,0xFA,0x20,0x51,0x51,0x3A,0x35,0x37,0x33,0x31,0x39,0x32,0x39,0x35,0x34,0x0D,0x0A};TRISC7=1;TRISC6=0;SPBRG=25;//设置波特率为9600BPSTXSTA=0X24;//使能串口发送,选择高速波特率RCSTA=0X80;//使能串口工作,禁止接收INTCON=0X00;while(1){for(i=0;i51;i++){while(!TRMT){;}TXREG=string[i];}delay(2000);}}七、参考文献1.RS-232作用和特点.21IC中国电子网[引用日期2015-02-4]
本文标题:rs232串口通信
链接地址:https://www.777doc.com/doc-5693590 .html