1、(2011届)毕业设计题目基于单片机的串行通信发射机设计姓名专业电子信息工程班级学号指导教师导师职称年月日I基于单片机的串行通信发射机设计摘要本设计是以STC89C51单片机作为主控芯片,采用串口通信,把数据显示在计算机界面上,从而实现向计算机发送数据。本系统的设计包括硬件和软件两大部分。采用MAX232芯片实现RS232的EIA电平与单片机TTL电平的转换,通过电平转换电路把有效数据发送给PC机。系统的硬件部分大致可分为四部分单片机处理部分、显示电路部分、键盘控制电路、与计算机串口通信部分。系统的软件部分分为三大部分多个按键组成的控制模块、数码显示部分、串口通信部分。关键词单片机、C语言、串
2、行通信、MAX232、发射IIBASEDONSCMSERIALCOMMUNICATIONTRANSMITTERDESIGNABSTRACTTHISDESIGNUSESTHESTC89C51UNIPOLESLABMACHINEASTHELORDCONTROLSCHIP,ADOPTIONSTRINGORIFICECORRESPONDENCE,SHOWATTHECALCULATORINTERFACETOTHEDATAUP,THUSREALIZETOTHECALCULATORTRANSMITDATATHEDESIGNINCLUDINGHARDWAREANDSOFTWAREOFTHISSYSTEMIST
3、WOGREATESTFRACTIONSADOPTINGEIATHATTHEMAX232CHIPSESCARRYOUTRS232TOGIVEORGETANELECTRICSHOCKISEVENANDUNIPOLESLABMACHINETTLGIVEORGETANELECTRICSHOCKAFLATCONVERT,PASSGIVEORGETANELECTRICSHOCKEVENCONVERTTELEPHONETOSENDOUTTHEEFFECTIVEDATATOTHEPCMACHINETHEHARDWAREFRACTIONOFSYSTEMMOSTLYCANISDIVIDEDINTOAFOURPAR
4、TDECIUNIPOLESLABTHEMACHINEHANDLEFRACTION,DISPLAYTELEPHONEFRACTION,KEYBOARDCONTROLCIRCUIT,ANDCALCULATORSTRINGTHEORIFICECORRESPONDBYLETTERFRACTIONTHESOFTWAREFRACTIONOFSYSTEMISDIVIDEDINTOTHREEBIGFRACTIONSSEVERALKEYSCONSTITUTEOFTHECONTROLMOLDMASS,FIGURESDISPLAYFRACTION,STRINGORIFICECORRESPONDENCEFRACTIO
5、NKEYWORDSSCM,CLANGUAGE,SERIALCOMMUNICATION,MAX232,LAUNCHIII目录摘要IABSTRACTII1绪论511课题的背景512串行通信技术国内外发展现状513课题研究的主要内容62系统设计方案721设计要求722系统总体设计框图723STC89C51引脚说明824单片机的串行接口825MCS51的串行和控制寄存器9251串行口和控制寄存器9252串行口工作方式103系统硬件设计1231晶振电路设计1232复位电路设计1233RS232串行接口电路1334数码管显示电路1535键盘控制电路184系统软件设计2041程序流程图2042通信协议的实现
6、21421串行口控制寄存器SCON的设置21422定时器的初始化设置21423波特率计算22424发射部分22425单片机接收2643显示部分26结论28参考文献29致谢错误未定义书签。附录30附录图1系统原理图和PCB板图30IV附录图2作品实物正面32附录图3作品实物反面32附录图4发射时的图片33附录5软件程序36基于单片机的串行通信发射机设计51绪论11课题的背景随着微机和单片机技术的不断发展,由PC机与多台单片机构成的多机网络监控系统已成为单片机技术发展的一个方向。它结合了单片机在采集实时数据和微机对图形处理显示的优点。同时,在WINDOWS环境下后台微机在数据库管理上有明显的优势,
7、二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,并且形成以网络为核心的分布或多点系统发展的趋势。然而这些单片机的发展方向和趋势的前提是必须有一个良好的通信,使得微机能良好的采集单片机传来的数据。介于串行通信是一种简单易行、可靠的通信方式,所以在工业控制中已被大量采用。在许多工业生产中用计算机对生产过程实行实时监控,对下位机发送来的数据进行实时数据处理,以及控制信号的产生与传输等功能。在这种工业生产的特定环境下,计算机要与过程控制的实时信号相联系,因此要求计算机能实现对串行端口的直接操作。故本设计就是要通过单片机的发送,让PC机能对单片机发送的数据进行接收。12串行通信技术国
8、内外发展现状至今,微机与下位单片机的通信发展已经有十几年的历史了,随着越来越成熟的通信技术和控制系统,PC机与下位机的通信已经实现产品化、工业化。但是越来越多的现实问题对该通信领域的要求越来越高。如便捷问题,无线的通信。近年来,上位机与下位机的通信领域研究的势头与日俱增,成果也越来越多。现在该通信领域正朝着网络化、便捷化、无线化发展。网络化就是以一台PC机为核心机,对多个下位机进行数据的采集和处理,并发送相应的命令进行控制。如果有需要的话,各个下位机之间也可以形成通信,以方便满足通信的需要。便捷化,串口通信已经是非常成熟的一种通信方式,但由于是串口形式,PC机上必须要有RS232接口,这样的连
9、接对于以体积为重要指标的笔记本电脑就不是非常的方便了。这样,USB接口就应运而生了,这是一种全新的接口模式。无线化,随着计算机通信和无线技术的逐步融合,通信已经从传统的有线毕业设计6通信转化到了如今的无线通信,无线通信有快捷、方便、可移动和安全等优点,现在已经广泛应用到了遥控玩具、汽车电子、环境监测和电气自动化等领域。13课题研究的主要内容随着数字化、信息化的高速发展,PC机对下位单片机的良好通信就显得尤为重要。串行通信是一种简单易行、可靠的通信方式。本课题研究的主要内容是利用STC89C51单片机作为主控芯片,采用MAX232芯片实现RS232的EIA电平与单片机TTL电平的转换,通过电平转
10、换电路把有效数据发送给PC机。本次设计的目的就是以STC89C51单片机作为主控芯片,采用串口通信,把数据显示在计算机界面上,从而实现向计算机发送数据。本系统的设计包括硬件和软件两大部分。系统的硬件部分大致可分为四部分单片机处理部分、显示电路部分、键盘控制电路、与计算机串口通信部分。系统的软件部分分为三大部分多个按键组成的控制模块、数码显示部分、串口通信部分。基于单片机的串行通信发射机设计72系统设计方案21设计要求电路主要由AT89C51单片机和由多个按键组成的控制模块、时钟电路、显示电路、电平转换电路等部分组成。其主要技术指标P1口来控制,通过按键对系统的各个部分进行控制。P2、P3口产生
11、信号并通过共阳极数码管来显示。软件采用C语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时,显示程序对发射的数据加以显示。22系统总体设计框图系统总体框图如图21。信号的发送由键盘控制,通过MAX232芯片实现RS232的EIA电平与单片机TTL电平的转换,当通信协议一致时,数据便能发送到PC机上了,同时把发送的信号发送到数码管上显示。单片机按键触发时钟电路复位电路电平转换RXDTXDPC机串口LED数码管显示图21系统设计总体框图时钟电路给单片机提供晶振频率,本设计的晶振选用11059M,复位电路作用是重新复位单片机,使单片机重新复位启动单片机。本系统设置了4个按键,连接单片机的
12、P00P03,用于信号发射的控制。显示部分由两位LED数码管组成,用单片机的P1口控制它的段选码,由P2口的两个口控制数码管的位选。电平转换电路主要有MAX232芯片组成,连接单片机的两个通信端口RXD和TXD,使PC机能和单片机的电平一样,进行通信。毕业设计823STC89C51引脚说明P00P07P0口8位双向口线(引脚3932)P10P17P1口8位双向口线(引脚18)P20P27P2口8位双向口线(引脚2128)P30P37P2口8位双向口线(引脚1017)P0口有三个功能1作扩展外部存储器时,为数据总线(D0D7);2作扩展外部存储器时,为地址总线(A0A7);3作不扩展时,当I/O
13、使用,由于内部无上拉电阻,作输入或输出时应在外部接上拉电阻。P1口只可以做为I/O口使用内部有上拉电阻。P2口有两个功能1作扩展外部存储器时,作地址总线使用;2作一般I/O口使用时,内部有上拉电阻;P3口除了作I/O使用外(内部有上拉电阻),还有一些特殊功能,接收一些用于FLAS闪速存储器编程和程序校验的控制信号。RST复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。XTAL1震荡器反向放大器及内部时钟的输入端。XAAL2震荡器反向放大器的输出端。24单片机的串行接口MCS51单片机内部有一个全双工的串行接收器和发射缓冲器(SBUFF),是两个在物理上独立的接收发射器
14、,即可以接收也可以发射数据,但接收缓冲器只可读出不能写入,而发送缓冲器只能可写入不能读出,它们的地址是99H。这个通信口既可以用于网络通信,也可以实现串行异步通信,还可以构成同步移位寄存器使用。在串行口的输入、输出引脚上加上电平转换器,就可以方便的构成标准的RS232接口。RS232C标准(协议)的全称是EIARS232C标准,其中EIAELECTRONICINDUSTRYASSOCIATION代表美国电子工业协会,RS(RECOMMENDEDSTANDARD)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械
15、、电气特性、信号功能及传送的过程。常用物理标准还有EIARS422A、EIARS423A、EIARS485。例如,目前在PC机上的COM1、COM2接口,就是RS232C接口。图22单片机STC89C51基于单片机的串行通信发射机设计925MCS51的串行和控制寄存器251串行口和控制寄存器MCS51单片机串口专用寄存器结构如图所示。SBUF为串口的收发缓冲器,是一个可寻址的专用寄存器,包含了接收器和发射器寄存器,可以实现全双工通信。这两个寄存器具有同一地址99H。MCS51的串行数据传输很简单,只要向缓冲器写入数据,数据就可以发送;从接收缓冲器读出数据就可以接收数据。另外,接收缓冲器前还需加
16、上一级输入移位寄存器,MCS51这种结构的目的在于避免在接收数据时发生重叠现象,文献称这种结构为双缓冲结构。而发送数据就不需要这样设计,因为发送时CPU是主动的,不可能出现这种情况。A串行通信寄存器在上一节我们已经分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下表21SCON寄存器结构SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H下面我们对个控制位功能介绍如下(1)SM0、SM1串口工作方式控制位SMOSM1工作方式功能说明00方式0移位寄存
17、器方式(用于I/O扩展)01方式18位UART,波特率可变(T1溢出率/N)10方式29位UART,波特率为FOSC/64或FOSC/32毕业设计1011方式39位UART,波特率可变(T1溢出率/N)(2)SM2多机通信控制位多机通信是工作方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串口工作方式2或3,以及SM21时,只有当接收到第9位数据(RB8)为1时,才把接收的前8位数据送入SBUF,且置位RI发出中断申请,否则会将收到的数据放弃。当SM20时,只有在接收到有效停止位时才启动RI,若没接收到有效停止位,则RI清“0”。在方式0中,SM2应该为“0”。REN允许接收控制位
18、。由软件置“1”时,允许接收;软件置“0”时,不许接收。TB8工作在方式2和方式3时发送的第9位数据,需要时用软件置位和清零。TB8工作在方式2和方式3时接收到的第9位数据。在方式1时,如SM20,则RB8接收到的是停止位。在方式0中,不使用RB8。TI发送中断标志。硬件在方式0发送完第8位时置“1”,或在其它方式中串行发送停止位的开始时置“1”。必须由软件清“0”。RI接收中断标志。由硬件在方式0串行发射第8位结束时置“1”B特殊功能寄存器PCONPCON主要是是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如下表表22特殊功能寄存器PCONPCOND7D6D5D
19、4D3D2D1D0位符号SMODGF1GF0PDIDL在CHMOS型单片机中,除SMOD位外其它位均为虚设的,SMOD是串行波特率倍增位,当SMOD1时,串口波特率加倍,系统复位默认SMOD0。C中断允许寄存器IEES为串行中断允许控制位,ES1允许串行中断,ES0,禁止串行中断。252串行口工作方式串行口具有4种工作方式,我从应用和毕业设计的角度,重点讨论方式1发送。基于单片机的串行通信发射机设计11串行口定义为方式1时传送1帧数据为10位,其中1位起始地址、8位数据位(先低位后高位)、1位停止位方式1的波特率可变,波特率32/2SMODT1的溢出率表23中断允许寄存器符号EAESET1EX
20、1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H毕业设计123系统硬件设计31晶振电路设计在单片机系统设计中,振荡电路的设计是十分重要的一个环节。系列单片机的典型振荡电路如图31所示。图31单片机振荡电路C5、C6叫负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。两个电容的取值是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。震荡频率是12M,幅度是5V。输出的
21、信号与单片机的18、19脚相连。32复位电路设计复位是单片机的初始化操作。单片机启运运行时,都需要先复位,使CPU和系统中其他部件处于一个准确的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。当MCS5L系列单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作;如RST持续为高电平时,单片机就处于循环复位状态。根据应用的要求,通常复位操作有两种形式上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图A中左图所示。图中电容C1和电阻R1组成微分电路,上
22、电后,RST高电平保持一段时间,由于单片机内的等效电阻的作用,不用电阻R1,也能达到上电复位的作用,如下图32A中右图所示。基于单片机的串行通信发射机设计13AB图32单片机的复位电路A上电复位B上电或开关复位电路上电或开关复位电源接通后,单片机自动复位,并且在单片机运行期间,开关操作也能使单片机复位。常用的上电或开关复位电路如上图B所示。上电后,由于电容C3的充电和反相门的作用,RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键KRST后松开,也能使RST持续一段时间的高电平,从而实现上电或开关复位的操作。本系统单片机的复位电路如下图所示图33单片机复位电路33RS232串行接口
23、电路串口是计算机上一种非常通用的设备通信的协议,大多数计算机有两个基于RS232的串行口。串口也是仪器仪表设备通用的通信协议,很多GPIB兼容的设备也带有RS232接口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(BIT)发送字节和接收字节。尽管比并行通信慢,但是串口可以在使用一根线发送数据的同时使用另一根线接收数毕业设计14据。很简单而且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不超过20米,而且任意两个设备间的长度不超过2米;而对于串口而言,长度可达1200米。单片机与PC的串行通信的硬件原理图如图34所示图34单片机
24、串行通信硬件原理图图35MAX232与RS232连接的PROTEL电路图MAX232的应用一MAX232资料简介该产品是一款兼容RS232标准的芯片。电脑串行口RS232的电平是10V到10V,而一般的单片机应用系统的信号电压是TTL电平0到5V,MAX232就是用来进行电平转换的。它包含2个驱动器、2个接收器和一个电压发生器电路(提供TIA/EIA232F电平)。它符合TIA/EIA232F的标准,每一个接收器将TIA/EIA232F电平转换成5V的TTL/CMOS电平;每一个发送器将TTL/CMOS电平转换成TIA/EIA232F电平。基于单片机的串行通信发射机设计15二主要特点1、单5V
25、电源工作2、LINBICMOSTM工艺技术3、两个驱动器及两个接收器4、30V输入电平5、低电源电流典型值是8MA图36MAX232芯片6、符合甚至优于ANSI标准EIA/TIA232E及ITU推荐标准V287、ESD保护大于MILSTD883(方法3015)标准的2000VRS232的应用RS232接口是1970年由美国电子工业协会联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,不仅对连接器的每个引脚的信号内容加以规定,还对
26、各种信号的电平加以规定。DB25的串口一般只用到的管脚有2脚(RXD)、3脚(TXD)、7脚(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2脚(RXD)、3脚(TXD)、5脚(GND)这三个。现在都把RS232接口叫做DB9。34数码管显示电路要用单片机构成发射机,就需要一个人机界面。常采用的方式是LED数码管显示测试结果,用一个小键盘执行某些功能,如请零、预置值、改变测量范围等等。LED显示器的工作原理LEDLIGHTEMITTINGDIODE显示是用发光二极管显示字段的显示器件,也称数码管。当二极管导通时相应
27、的一个点或一个笔划发光,就能显示出各种字符,常用的七段LED显示器的结构如图所示。LED数码显示器有两种结构,分别是共阳接法所有发光二极管的阳极连在一起;共阴接法所有发光二极管的阴极连在一起。公共端COMM接高电平,当某个字段的阴极接低电平时,对应的字段就点亮;公共端COMM接低电平,当某个字段的阳极接高电平时,对应的字段就点亮。每段所需电流一般是515MA,实际电流视具体的LED数码显示管而定毕业设计16图37数码管的正面结构框图及内部结构点亮LED显示器分别有静态和动态两种方法。静态显示就是显示某一字符时,相应的发光二极管恒定地导通或截止,这种方法,每一显示位都需要一个8位的输出口控制,占
28、用的硬件较多,一般仅用于显示位数较少的。而动态就是一位一位地轮流点亮各位显示器,对每一位显示器而言,每隔一段时间点亮一次。显示器的亮度跟导通的电流有关,也和点亮的时间、间隔的比例有关。动态显示器因其硬件成本较低,而得到广泛的应用。如需显示字符和数字,要提供显示段码给LED显示器,组成一个“8”字形的7段,再加上一个小数点位,共计8段,所以提供LED显示器的显示段码为1个字节。各段码字型对应关系如下基于单片机的串行通信发射机设计17表31段码与字型的关系段码D7DPD6GD5FD4ED3DD2CD2BD0A字形3FH00111111006H0000001015BH0101101124FH0100
29、1111366H0110011046DH0110110157DH01111101607H0000011177FH0111111186FH01101111977H01110111A7CH01110111B39H00111001C5EH01011110D79H01111001E71H01110000FLED显示器分为共阴极和共阳极,共阴极是将8个发光二极管的阴极连接在一起作公共端,而共阳极是将8个发光二极管的阳极连接在一起作公共端。我们这次就是采用的共阳极LED,所以这里要介绍共阳极数码管。如图38所示。LED显示器有静态和动态显示两种方式,静态显示是将共阴极联到一起接地,每位的显示段(ADP)分
30、别与一个8位的锁存器输出相连。由于显示的各位可以相互独立,各位可以互相显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。并且由于各位由一个8位锁存器控制段选线,毕业设计18故在同一时间内每一位显示的字符可以不同,这种方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起,由一个8位的I/O口控制,形成段选线的多路复用。而各位的阴极分别由相应的I/O口控制,实现各位的分时选通。要LED能够显示相应的字符,就必须采用动态扫描方式,只要每位显示的时间足够短,则可造成多位同时显示的假象,达成显示的目的。在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管
31、,用十进制数显示出来。发光二极管的工作电压为1530伏,工作电流为己毫安到几十毫安,寿命很长。半导体数码管将十位数分成七个字段,每段为一个发光二极管,其字形结构如图所示,选择不同的字段发光,可显示出不同的字型。例如当A,B,C,D,E,F,G七个字段同时亮时,显示8,B、C段亮时,显示出。共阳极把发光二极管的阳极连在一起构成共阳极。使用时公共端接VCC,当某阳极为低电平时,该发光二极管就导通发光。输出一个段码就可以控制LED显示器的字型,表31给出了段码与字型的关系,假定A、B、C、D、E、F、G、DP分别对应D0、D1、D2、D3、D4、D5、D6、D7。图38显示电路发送结果见附录335键
32、盘控制电路由于本设计只需要把数据发送出去,然后显示是两位的正常数字显示就可以了,故在设计键盘时,只需要五个独立按键便可简单的操控发射内容的变换,系统中设置了5个按键,其中1个是复位键,其余的4个键,用程序来控制实现不同的功能按键2时发射显示数据XX给PC机显示,并且数码管进行显示。键1、2、3、4都是同样的功能。电路如图39所示。四个按键分别接图39STC单片机的P10,P11,P12,P13口基于单片机的串行通信发射机设计19图39键盘电路毕业设计204系统软件设计软件采用汇编语言完成的。本部分包括程序流程图、通信协议、波特率计算、编写程序、编译、和烧入软件等,下面作详细介绍41程序流程图程
33、序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的及过程。也是编译的重要依据,按照流程图一步一步编写程序,下面是我的流程图图41发射接口流程图单片机一开机,数码管显示LP,然后进入键盘扫描程序,判断是否有按键按下,当P100,也就是按键1按下时,给P0口赋值,让数码管显示,按键2也是这个功能,当按键3按下时,把要发送的数据赋值给发送寄存器SUBF,同时也给P0口让数码管显示发送的数据。按键4也是这个功能。开始P100否否P110P120P130否否给P0口赋初值给P2口赋初值发数据给SUBF给定时器、串口赋初值并开中断结束是发送数码管显示数码管显示基于单片机的串行通信发射机设计2
34、142通信协议的实现通信协议是发射机和接收机之间通信不可缺少的部分,包括下面几方面的设置421串行口控制寄存器SCON的设置串行口控制寄存器的基本情况在前面已经介绍,这里不再重复。根据我们所做的内容,我们采用了串行工作方式1,REN设置为“1”(允许接收),综上所述我们设SCON的初始值为50H,如下表所示表41串行口控制寄存器422定时器的初始化设置在定时器为方式1时,方式字为表42定时计数器的初始化CATEC/TM1MO0010T1T0GATE表示1INT不参与控制C/T选择计数/时钟方式M1MO选定定时器1工作方式2所以定时器TMOD初始值为20H初始化代码VOIDINITVOID/初始
35、化函数TMOD0X20SM0SM1SM2RENTB8TB8TIRI01010000毕业设计22TH10XFDTL10XFDTR11REN1SM00SM11EA1ES1423波特率计算晶震为110592M,波特率为9600BPS,单片机工作方式为串行方式1,T1是方式2,所以96001/32XX30720030720011059200/(256Y)12Y253把十进制转换成十六进制数为FD,所以初始值为FD。代码TH10XFDTL10XFD424发射部分先设置通信协议,通信协议包括上面详细提到的串行口控制寄存器SCON的设置、定时器的初始化设置、波特率计算、相关中断的设置。然后在扫描控制按键是否
36、有按下,如果有按键按下,则发送相对应的内容到发送寄存器SUBF中,进行发送,按键如果没按下,则继续扫描按键程序,如果数据发送成功,则PC机的接受界面上显示发送的数据内容。基于单片机的串行通信发射机设计23图42发射流程图键盘按下,对应的端口就为0,然后开始需要完成执行内容。VOIDKEYSCANIFKEY10DELAY1IFKEY10SHI11GE12SBUFTABLE0WHILETITI0/把数据发送出去SBUFTABLE1WHILETITI0设置波特率、串口方式、中断是否有键盘按下把要发送的数据给发送SUBF是PC机界面显示否毕业设计24WHILEKEY1IFKEY20DELAY1IFKE
37、Y20SHI1GE3SBUFTABLE3WHILETITI0/把数据发送出去SBUFTABLE4WHILETITI0WHILEKEY2IFKEY30DELAY1IFKEY30SHI1基于单片机的串行通信发射机设计25GE4SBUFTABLE3WHILETITI0/把数据发送出去SBUFTABLE5WHILETITI0WHILEKEY3IFKEY40DELAY1IFKEY40SHI13GE13SBUFTABLE2WHILETITI0/把数据发送出去SBUFTABLE2WHILETITI0WHILEKEY4毕业设计26425单片机接收PC机显示结果的界面我用的是串口小助手。如下图所示图43PC机显
38、示界面43显示部分显示程序流程图如下图所示基于单片机的串行通信发射机设计27图44显示程序开机先进行初始化,接着开始扫描按键,看是否有按键按下,如果检测到有按键按下,则执行相关的操作内容。VOIDDISPLYSHI,GE/显示子程序P0LEDSHIA10DELAY1A11P0LEDGEA20DELAY1A21毕业设计28结论本设计是基于单片机的串行通信,参考相关书籍和资料,完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用C语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基
39、本的仪器对硬件进行调试,熟练的运用C语言编写程序,会用相关的软件对自己的程序进行翻译,烧进芯片中,与PC机统一通信协议,耐心反复的检查、修改和调试,直到达到预期的目的。我做的发射机是有线接收的,能完成数据在不同地方的传递,也完成了毕业设计的要求,但它受到了很多限制。例如距离太远,导线太长久会有干扰而且有时还会很大,使得接收到的信号很弱,甚至接收不到。因此必须进行无线发射、接收的方面的研究,由于毕业设计的时间有限,就没能完成无线发射、接收的设计。这次的毕业设计总的来说还是成功的,自己不仅从中学到了很多,也发现了不少问题。一开始看到这个题目的时候,很茫然,不知道从哪做起,不知道怎么样才能做出来,后
40、来在崔老师的指导下,才弄清楚怎么开始做。然后自己开始找相关资料,学习89C51芯片,数码显示管,时钟电路、控制电路、复位电路的设计原理。电路的焊接比较容易,因为课程设计的时候学过,板子很快做好,但因为元器件比较多,需要合理的布局,开始没有考虑到这个问题,后面检查电路的时候遇到不少的麻烦。经过反复的使用万用表检测,发现并解决了问题。但是调试的时候遇到了问题,数码管可以显示,但是不能发送到电脑上,反复的调试,结果把芯片烧坏了,只好换新的芯片。经过反复的检查发现串口焊接错误,从新改过以后,可以在电脑上显示了。本次设计为自己以后的学习打下了不错的基础。基于单片机的串行通信发射机设计29参考文献1熊杰单
41、片机与PC机的串行通信M江西江西环境工程学院,20102陈欣琳,王海峰,金亮PC机和MCS51单片机间的串行通信M中国科技信息2009年第13期3于艳,顾桓MCS51单片机和PC机问的串口通信M西安西安理工大学印刷包装工程学院,20074林继光,吴明光PC机和单片机串行通信程序设计M浙江浙江大学工业控制研究所,20015宋兵跃,吴军辉,黄斌单片机的高效串行通信研究M上海1同济大学现代农业科学与工程研究院;2同济大学教育部设施农业网上合作中心,20106张忠华单片机与PC机串行通信的实现M北京北京外国语大学信息技术中,20097马壮,张过旭,张雅静,刘陟升基于PROTEUS的PC机与单片机串行通
42、信仿真系统的设计M辽宁1唐山学院信息工程系,河北唐山063000;2沈阳市自来水大东营业,20098梁中华,王子威,祁春清,索迹PC机与单片机串行通信的研究M辽宁1沈阳工业大学电气工檀学院,沈阳110023;2辽宁石油化工大学信息工程学院,20059王玮51单片机与PC机串行通信接口的设计M湖北孝感学院物理与电子信息工程,200910黄灿胜基于51单片机I2C总线串行通信的应用M广西南宁师范高等专科学校物,200911何文才,杜鹏,刘培鹤,牛晓蕾,张媛媛基于VB,NET的PC机和MCS51单片机之间的串行通信M北京北京电子科技学院通信工程系,200612袁月峰,张树森,姚继权基于VISUALB
43、ASIC60下PC机与MCS51单片机的串行通信M辽宁辽宁工程技术大学机械工程学院,200313徐小涛基于MCS51单片机的串行通信M201014LIUHUACHANGANALOGSERIALCOMMUNICATIONBETWEENMINITYPEPICANDPCMCHINATHEINSTITUTEOFELECTRONICENGINEERINGOFCAEP,200815ZHUJIANJUN,LINSHIWEI,YUJUN,SUNLUMEISYSTEMDESIGNOFSERIALPORTCOMMUNICATIONBETWEEN51SINGLECHIPMICROCOMPUTERANDPCMCHIN
44、AJILININSTITUTEOFCHEMICALTECHNOLOGY毕业设计30附录附录图1系统原理图和PCB板图系统原理图基于单片机的串行通信发射机设计31PCB板图毕业设计32附录图2作品实物正面附录图3作品实物反面基于单片机的串行通信发射机设计33附录图4发射时的图片复位时的图片(复位键赋值LP)毕业设计34发射时图片(软件程序中数据发送程序顺序反了)基于单片机的串行通信发射机设计35毕业设计36附录5软件程序INCLUDE“REG52H“INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARSBITKEY1P10SBITKEY2P11S
45、BITKEY3P12SBITKEY4P13UCHARSHIUCHARGEUCHARAUCHARCODETABLE“FPH134“SBITA1P27SBITA2P26/位选UCHARLED140XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XC7,0X8E,0X8C,0X8B/0XC7L,0X8EFVOIDDELAYUINTXMS/0X8CP,0X8BHUINTI,JFORIXMSI0IFORJ110J0JVOIDINITVOID/初始化函数基于单片机的串行通信发射机设计37TMOD0X20TH10XFDTL10XFDTR11REN1SM00
46、SM11EA1ES1VOIDDISPLYSHI,GE/显示子程序P0LEDSHIA10DELAY1A11P0LEDGEA20DELAY1A21VOIDKEYSCANIFKEY10毕业设计38DELAY1IFKEY10SHI11GE12SBUFTABLE0WHILETITI0/把数据发送出去SBUFTABLE1WHILETITI0WHILEKEY1IFKEY20DELAY1IFKEY20SHI1GE3SBUFTABLE3WHILETITI0/把数据发送出去基于单片机的串行通信发射机设计39SBUFTABLE4WHILETITI0WHILEKEY2IFKEY30DELAY1IFKEY30SHI1GE4SBUFTABLE3WHILETITI0/把数据发送出去SBUFTABLE5WHILETITI0WHILEKEY3IFKEY40DELAY1毕业设计40IFKEY40SHI13GE13SBUFTABLE2WHILETITI0/把数据发送出去SBUFTABLE2WHILETITI0WHILEKEY4VOIDMAININITSHI10GE12WHILE1DISPLYSHI,GEKEYSCAN基于单片机的串行通信发射机设计41