基于MSP430单片机和PC机串口通信_第1页
基于MSP430单片机和PC机串口通信_第2页
基于MSP430单片机和PC机串口通信_第3页
基于MSP430单片机和PC机串口通信_第4页
基于MSP430单片机和PC机串口通信_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1本科毕业论文(设计)题目基于MSP430单片机和PC机串口通信软件设计姓名张书建学号10S062051018专业电子信息工程院系电子通信工程指导老师王琼实习单位京信通信安徽分公司完成时间5月30安徽新华学院教务处制2目录内容摘要3ABSTRACT4第一章引言411课题意义与背景412本文的设计目标5第二章串行通信接口系统结构521串行通信的基本原理522串行通信接口系统基本结构6第三章串行通信接口硬件电路分析831串行通信接口硬件电路原理图和分析832硬件电路功能分析933MSP430单片机串口寄存器介绍934DS18B20寄存器的介绍12第四章软件设计1441下位机程序设计14411系统流程图设计14412MSP430串口程序设计1542上位机程序设计18421SERIALPORT类的介绍18422基于WINFORM的可视化应用程序设计20第五章系统测试及结果分析2451测试结果的记录24511验证PC机通过RS232口传输字符到单片机并控制TFT液晶显示24512验证单片机通过串口把DS18B20实时温度传递给PC机显示26513验证PC机接受单片机通过串口发来的字符26514验证通过上位机的应用程序的按钮控制单片机的TFT使显示内容2752测试结果的分析29结论29参考文献30附录30附录1部分程序源代码303附录2上位机部分程序源代码35谢辞38综述39封底39内容摘要在测量系统、工业控制、数据采集和智能仪器仪表领域中,串行通信是一种基本而又灵活方便的通信方式,串行接口是PC机与单片机之间实现数据交换的一种常用通信接口。本次毕业设计的任务是基于MSP430系列单片机自身优越的性能以及超低功耗的特点,设计MSP430F149单片机与上位机(PC机)串行通信接口系统软件,实现MSP430F149的USART与PC机通信功能。本课题设计的软件环境是IAREMBEDDEDWORKBENCHEW430、VISUALSTUDIO2010和NETFRAMEWORK40,在此平台上应用C和C语言设计编写了下位机(MSP430F149单片机)串行通信程序和上位机基于WINFORM可视化通信界面应用程序,以及下位机TFT液晶显示程序。经通信接口电路实验测试,设计编写的软件程序实现了上位机与下位机的双向通信功能,并通过上位机可视化窗口及下位机TFT液晶屏实时显示通信内容,达到了预期的设计目标。关键词MSP430F149,USART,RS232协议,SERIALPORT类4ABSTRACTINTHEMEASUREMENTSYSTEM,INDUSTRYCONTROL,DATAACQUISITIONANDINTELLIGENTINSTRUMENTATIONFIELD,SERIALCOMMUNICATIONISABASICANDFLEXIBLECONVENIENTCOMMUNICATIONMODE,SERIALINTERFACEISAPCANDSINGLECHIPMICROCOMPUTERREALIZEDATAEXCHANGEBETWEENTHECOMMONCOMMUNICATIONINTERFACETHEGRADUATIONDESIGNTASKISMSP430MCUBASEDONTHEIRSUPERIORPERFORMANCEANDLOWPOWERCONSUMPTIONCHARACTERISTICS,DESIGNMSP430F149SINGLECHIPMICROCOMPUTERANDTHEUPPERMACHINEPCSERIALCOMMUNICATIONINTERFACESYSTEMSOFTWARE,REALIZETHEMSP430F149USARTANDPCCOMMUNICATIONFUNCTIONTHISTOPICDESIGNSOFTWAREENVIRONMENTISIAREMBEDDEDWORKBENCHEW430,VISUALSTUDIO2010ANDNETFRAMEWORK40,INTHISPLATFORMAPPLICATIONCANDCWRITETHENEXTPLACEMACHINEDESIGNMSP430F149SCMSERIALCOMMUNICATIONPROGRAMANDPCBASEDONWINFORMVISUALCOMMUNICATIONINTERFACEAPPLICATIONS,ANDAMACHINEUNDERTFTLCDDISPLAYPROGRAMTHECOMMUNICATIONINTERFACECIRCUITEXPERIMENTTEST,THEDESIGNOFTHESOFTWAREPROGRAMWRITTENREALIZEDTHEPCANDATWOWAYCOMMUNICATIONUNDERTHEMACHINEFUNCTION,ANDBYUSINGCOMPUTERVISUALIZATIONWINDOWANDAMACHINEUNDERTFTLCDSCREENDISPLAYREALTIMECOMMUNICATIONCONTENT,ACHIEVETHEEXPECTEDDESIGNGOALKEYWORDSMSP430F149,USART,RS232AGREEMENT,SERILPORTCLASS第一章引言11课题意义与背景计算机串口编写的通信软件有着十分广泛的应用,如电话,传真,视频监控一般情况下,涉及到远程通信,自动控制,大型车辆控制系统、机器人控制系统等。特别PC机与单片机的串口通信在工业控制中非常重要MSP430系列单片机是一种超低功耗的混合信号控制器,在控制系统以及数据采集系统中有广泛的应5用,在8MHZ晶体下运算能力达1MIPS(100万/秒),是传统51单片机远远达不到的,这使该系列单片机采用C语言开发有很高的效率,所以广泛应用工业生产,研究MSP430和PC的串口通信有着深远的意义12本文的设计目标本设计是基于MSP430F149和PC机串口通讯。在硬件上要想与PC串口或者其它带有串口的终端设备相连接,必须要进行EIARS232C与MSP430电平和逻辑关系的转换,本设计采用MAX3232芯片,完成3V5V电平与串口电平的双向转换;本设计依据MSP430F149的串行通信模块的构成,利用其异步通信模式的特点,按照位寻址的方式设计的通信协议,依此设计出下位机的接收和发送程序和DS18B20,TFT程序,以及上位机的C通信程序。第二章串行通信接口系统结构21串行通信的基本原理按照通信的形式可以分为两种,其中一种为并行传输的通信,即并行通信(PARALLELCOMMUNICATION),另一种则为串行通信(SERISLCOMMUNICATION)。这两种通信方式的区别是,并行通信一次的传输数据量为8位(1个字节);而串行通信则一次只能传输1位,传输1字节数据(8位)数据就需要8次才能传出去,在实际应用中串口通信用线少,传输容易,硬件电路连接方便。而6且通过软件设置PC和单片机的波特率,数据位,奇偶位一定要相同,如图图1PC机和单片机连接22串行通信接口系统基本结构PC机的串口是美国电子工业协会(EIA)制定的串口EIARS232通信协议,其信号电平采用负逻辑,逻辑“1”的电平是5V15V,逻辑“0”的电平为5V15V,因为其有2V的噪声容限,故最终限制接收器能识别低至3V的信号作为逻辑“0”,高到3V的信号作为逻辑“1”。因此,RS232C最高传输速率为20KB/S,最大直接连接长度为15M。图2九针串口图22中DB9为即为我们选用的RS232连接器9针串行口,其插针分别对应RS232C标准接口9根常用线。其对应关系如表1所示。表1DB9管脚号插针功能说明标记1接收线信号检出DCD72接收数据RD3发送数据TD4数据终端就绪DTR5信号地SG6数据传输设备就绪DSR7请求发送RTS8允许发送CTS9振铃指示RIMSP430F149串行通信接口实现了两种功能,使得串行通信能够以两种模式通信。第一种模式是熟悉的异步串行通信协议UART;第二种模式是外围模块接口功能SPI,也得到广泛应用。经过适当的软硬件设计,这两种模式可以交替使用。由MSP430F149内部控制寄存器UCTL中的SYNC位来定义通信模式SYNC0选择异步通信模式UARTSYNC1选择同步通信模式SPIMSP430F149有两个异步串行通信接口,分别是USART0和USART1。如图23所示。8图3单片机MSP430F149的串口模块第三章串行通信接口硬件电路分析31串行通信接口硬件电路原理图和分析如图31所示。因为PC机的RS232接口输出正电平在515V,负电平在515V电平。而单片机是TTL电平,电压范围规定输出高电平24V,输出低电平20V,输入低电平新建WINDOWS窗体应用程序21图14创建WINFORM窗口程序(3)打开左边的工具箱增加SERIALPORT控件、BUTTON控件、TEXT控件等然后拖入WINFORM界面中图15在WINFORM窗口程序中加入需要的控件(4)在WINFORM界面中,点击SERIALPORT类,在界面的右下角出现属性,设置波特率1200、停止位1、开始位1、数据位8位、串口号。22图16设置SERIALPORT的属性(5)在WINFORM界面中,内部代码实现见附录3上位机代码23(6)生成的应用程序图17最后生成上位机控制界面24第五章系统测试及结果分析51测试结果的记录511验证PC机通过RS232口传输字符到单片机并控制TFT液晶显示图18上位机和单片机串口通信显示结果25图19上位机通过串口发送给单片机字符显示结果图20单片机接受PC机的字符并在TFT显示字符结果26512验证单片机通过串口把DS18B20实时温度传递给PC机显示图21PC机显示通过串口接受DS18B20的温度结果513验证PC机接受单片机通过串口发来的字符图22PC机显示通过串口接受单片机发来的字符结果27514验证通过上位机的应用程序的按钮控制单片机的TFT使显示内容图23单片机发送图标命令显示新华学院图标结果28图24单片机接受图标命令显示新华学院图标结果图25上位机通过串口发送校训命令给单片机结果图26单片机接受校训命令显示新华学院校训结果2952测试结果的分析通过无数次的修改程序,终于达到毕业设计要求的结果。图17结果分析通过PC机的串口向单片机串口发送一段英语字符验证单片机是否可以正确的接受并显示在TFT液晶显示器上。图20结果分析,通过DS18B20采集室内温度,DS18B20将采集的数据发送给单片机进行分析处理,然后把处理好的数据通过串口发送PC机显示。结论串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与单片机之间的数据交换以及其他工业控制与自动控制中。本设计给出了上位PC机与下位单片机(MSP430F149)之间进行异步串行通信的解决方案,实现了上位机与下位机的双向通信功能。上位机应用VS2010开发工具,运用C语言和NETFRAMEWORK40提供的SERIALPORT类设计的可视化应用程序界面,使系统控制界面化,可视化,给工业控制提供了方便。通过本次毕业设计,使我对单片机和PC机的串口通信有的深刻的了解,从中学习很多知识,虽然遇到很多问题,通过请教和自我学习得到解决,加强自我面对困难的信心。30参考文献1张晞,王德银,张晨MSP430系列单片机实用C语言程序设计M北京人民邮电出版社,20052MSP430F149数据手册讯通科技312864C1液晶显示器数据手册讯通科技4胡大可,MSP430系列FLASH型超低功耗16位单片机M北京北京航空航天大学出版20105MSP430F149用户手册6陈明荧8051单片机课程设计实训教材M清华大学出版社,200428437秦实宏,周龙等单片机原理与应用技术M中国水利水电出版社,200535508求是科技单片机通信技术与工程实践M人民邮电出版社,200412149求是科技单片机典型模块设计实例导航M人民邮电出版社,200412213510马忠梅等单片机的C语言应用程序设计M北京航空航天大学出版社,2003373911杨将新,李华军等单片机程序设计及应用M电子工业出版社,200614215412范风强,兰蝉丽单片机语言C51应用实战集锦M电子工业出版社,2005212234附录附录1部分程序源代码/模块功能介绍本模块UART1主要是PC和单片机单机通信,通过配置串口的寄存器完成波特率开始位、数据位、奇偶校验位、停止位和串口单片机收发数据/31INCLUDEINCLUDE“UARTH“INCLUDE“MSP430IOH“/功能描述UART1串口IO配置函数作用UART1串口IO配置P36/UTXD1P37/URXD1IO复位默认为输入是输入参数返回说明无/VOIDUART1_IOCONFIGVOIDSETAFP3BIT6/将单片机的P36的引脚进入第二串口发送功能SETAFP3BIT7/将单片机的P37的引脚进入第二串口接受功能OUTDIRP3BIT6/将单片机的P36的引脚的方向设置成输出INDIRP3BIT7/将单片机的P37的引脚的方向设置成输如/功能描述UART1串口初始化函数函数作用波特率1200,无奇偶校验位,一个开始一个停止数据8位,时钟源选择ACLK,如果想设置其他的格式请参考数据手册是输入参数无返回说明无/VOIDUART1_INITUCTL1|CHAR/长度8位UTCTL1|SSEL0/选择ACLK时钟为串口时钟源ME2|UTXE1URXE1/模块允许寄存器设置,使能USART0TXD/RXDU1BR00X1B/配置寄存器使波特率为1200U1BR10X00UMCTL10X03UCTL1/开启串口工作IE2|URXIE1/中断允许寄存器设置,接收中断允许/功能描述UART1串口发送一个字节32函数作用发送一个字节数据PC机是输入参数返回说明无/VOIDUART1_SEND_BYTEU8CTXBUF1C/发送寄存器接受用户的数据WHILEIFG2/USART1发送UTXIFG11,表示UTXBUF1准备好发送一下字符,不要写成IFIFG2TEMPU1RXBUF/单片机PC机发来的数据INCLUDEINCLUDE“DS18B20H“INCLUDE“MSP430IOH“INCLUDE“DELAYH“DEFINEDQHIGHHIGHP2BIT4DEFINEDQLOWLOWP2BIT4/功能描述DS18B20初始化函数作用DS18B20初始化是输入参数无返回说明初始化状态标志1失败,0成功/UCHARDS18B20_INITUCHARSTATE0_DINT/关中断DQHIGH/数据线拉高_NOPDQLOW/数据线拉低DELAYUS720DQHIGH33DELAYUS55P2DIR/将P24方向设置成输入或者INDIRP2(BIT2)_NOPIFP2INP2DIR|BIT4/将P24方向设置成输出ELSESTATE0P2DIR|BIT4/将P24方向设置成输出DQHIGH_EINTDELAYUS480RETURNSTATE/返回存在结果/功能描述DS18B20_WIRTE函数作用向DS18B20写命令或者数据是输入参数命令或者数据返回说明无/VOIDDS18B20_WIRTEUCHARDATAUCHARI_DINTP2DIR|BIT4/将P24方向设置成输出FORI0I1DELAYUS50DQHIGHDELAYUS10_EINT/功能描述DS18B20_READ函数作用从DS18B20读数据34是输入参数命令或者参数返回说明初始化状态标志1失败,0成功/UCHARDS18B20_READUCHARIUCHARTEMP0_DINTP2DIR|BIT4/将P24方向设置成输出FORI0I0IDELAYUS60000/延迟750MS以上为的保证转换完成DS18B20_INITDS18B20_WIRTE0XCC/发送跳过ROM命令DS18B20_WIRTE0XBE/发送读SCRATCHPADT_LOWDS18B20_READ/读低8位TDS18B20_READ/读高8位TT8/数据转换T|T_LOW35RETURNT/返回温度数据附录2上位机部分程序源代码USINGSYSTEMUSINGSYSTEMCOLLECTIONSGENERICUSINGSYSTEMCOMPONENTMODELUSINGSYSTEMDATAUSINGSYSTEMDRAWINGUSINGSYSTEMLINQUSINGSYSTEMTEXT/引用VS2010的头文件USINGSYSTEMWINDOWSFORMSUSINGSYSTEMIOPORTSUSINGSYSTEMTHREADINGNAMESPACEWINDOWSFORMSAPPLICATION8PUBLICPARTIALCLASS书建FORMPRIVATEINTNUM0PRIVATEBOOLISRXSHOWTRUE/接受数据标示位PRIVATEBOOLISOPENTRUE/串口开关标示位PRIVATESTRINGHZPUBLIC书建INITIALIZECOMPONENTPRIVATEVOIDBTN_OPEN_CLICK_1OBJECTSENDER,EVENTARGSEIFISOPENTRYIFCOMMISOPENCOMMCLOSECOMMPORTNAMECB_COMMTEXTCOMMBAUDRATECONVERTTOINT32CB_BTLTEXTCOMMDATABITSCONVERTTOINT32CB_SJWTEXTSWITCHCB_XYWSELECTEDINDEX/选择奇偶位CASE0COMMPARITYPARITYNONEBREAKCASE136COMMPARITYPARITYODDBREAKCASE2COMMPARITYPARITYEVENBREAKCASE3COMMPARITYPARITYMARKBREAKCASE4COMMPARITYPARITYSPACEBREAKDEFAULTCOMMPARITYPARITYNONEBREAKSWITCHCB_TZWSELECTEDINDEX/选择停止位位CASE0COMMSTOPBITSSTOPBITSONEBREAKCASE1COMMSTOPBITSSTOPBITSTWOBREAKDEFAULTCOMMSTOPBITSSTOPBITSONEBREAKCOMMOPEN/串口打开ISOPENFALSEBTN_OPENTEXT“关闭串口“STATUS_STATUSTEXT“打开串口成“CHECKFORILLEGALCROSSTHREADCALLSFALSE/关闭跨线程出错消息COMMDATARECEIVEDNEWSERIALDATARECEIVEDEVENTHANDLERCOMM_DATARECEIVED/事件注册CATCHSYSTEMEXCEPTIONEXSTATUS_STATUSTEXT“打开串口失败“EXMESSAGEELSE37TRYIFCOMMISOPENCOMMCLOSEISOPENTRUEBTN_OPENTEXT“打开串口“STATUS_STATUSTEXT“关闭串口成功“CATCHSYSTEMEXCEPTIONEXSTATUS_STATUSTEXT“关闭串口失败“EXMESSAGEPRIVATEVOIDFORM1_LOADOBJECTSENDER,EVENTARGSE/配置应用程序启动的状态CB_COMMTEXT“COM3“CB_BTLTEXT“9600“CB_XYWTEXT“NONE无“CB_SJWTEXT“8“CB_TZWTEXT“1“COMMENCODINGENCODINGGETENCODING“GB2312“/将串口的的编号形式设置成“GB2312“,否则不内容那个通信PRIVATEVOIDBTN_TX_CLICKOBJECTSENDER,EVENTARGSECOMMWRITELINETXT_TXTEXT/写数据给PC串口PRIVATEVOIDBTN_EXIT_CLICKOBJECTSENDER,EVENTARGSEAPPLICATIONEXIT/退出程序按钮PRIVATEVOIDCOMM_DATARECEIVEDOBJECTSENDER,SERIALDATARECEIVEDEVENTARGSE38HZCOMMREADLINETXT_RXAPPENDTEXTHZ/接受数据给PC

温馨提示

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

评论

0/150

提交评论