




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计) 题目:基于MSP430单片机和PC机串口通信 软件设计姓 名: 张书建 学 号: 10s062051018 专 业: 电子信息工程 院 系: 电子通信工程 指导老师: 王琼 实习单位: 京信通信安徽分公司完成时间: 5月30 安徽新华学院教务处制目 录内容摘要3ABSTRACT4第一章:引言41.1 课题意义与背景41.2 本文的设计目标5第二章:串行通信接口系统结构52.1串行通信的基本原理52.2 串行通信接口系统基本结构6第三章:串行通信接口硬件电路分析83.1 串行通信接口硬件电路原理图和分析83.2 硬件电路功能分析93.3 MSP430单片机串口寄存器介绍93.4 DS18B20寄存器的介绍12第四章:软件设计144.1 下位机程序设计144.1.1 系统流程图设计144.1.2 MSP430串口程序设计154.2上位机程序设计184.2.1 SerialPort类的介绍184.2.2 基于Winform的可视化应用程序设计20第五章: 系统测试及结果分析245.1 测试结果的记录245.1.1 验证PC机通过RS232口传输字符到单片机并控制TFT液晶显示245.1.2 验证单片机通过串口把DS18B20实时温度传递给PC机显示265.1.3验证PC机接受单片机通过串口发来的字符265.1.4 验证通过上位机的应用程序的按钮控制单片机的TFT使显示内容275.2 测试结果的分析29结 论29参考文献30附录30附录1.部分程序源代码30附录2.上位机部分程序源代码35谢辞38综述39封底39内容摘要 在测量系统、工业控制、数据采集和智能仪器仪表领域中,串行通信是一种基本而又灵活方便的通信方式,串行接口是PC机与单片机之间实现数据交换的一种常用通信接口。本次毕业设计的任务是:基于MSP430系列单片机自身优越的性能以及超低功耗的特点, 设计MSP430F149单片机与上位机(PC机)串行通信接口系统软件,实现MSP430F149的USART与PC机通信功能。本课题设计的软件环境是IAR Embedded Workbench EW430、visual studio 2010和net framework 4.0,在此平台上应用C和C#语言设计编写了下位机(MSP430F149单片机)串行通信程序和上位机基于WinForm可视化通信界面应用程序,以及下位机TFT液晶显示程序。经通信接口电路实验测试,设计编写的软件程序实现了上位机与下位机的双向通信功能,并通过上位机可视化窗口及下位机TFT液晶屏实时显示通信内容,达到了预期的设计目标。关键词:MSP430F149,USART,RS-232协议,SerialPort 类 ABSTRACT In the measurement system, industry control, data acquisition and intelligent instrumentation field, serial communication is a basic and flexible convenient communication mode, serial interface is a PC and single chip microcomputer realize data exchange between the common communication interface. The graduation design task is: MSP430 MCU based on their superior performance and low power consumption characteristics, design MSP430F149 single-chip microcomputer and the upper machine (PC) serial communication interface system software, realize the MSP430F149 USART and PC communication function. This topic design software environment is IAR Embedded Workbench EW430, visual studio 2010 and net framework 4.0, in this platform application C and C # write the next place machine design (MSP430F149 SCM) serial communication program and PC based on WinForm visual communication interface applications, and a machine under TFT LCD display program. The communication interface circuit experiment test, the design of the software program written realized the PC and a two-way communication under the machine function, and by using computer visualization window and a machine under TFT LCD screen display real-time communication content, achieve the expected design goal.KEYWORDS: MSP430F149, USART, RS-232 agreement, SerilPort Class第一章:引言1.1 课题意义与背景计算机串口编写的通信软件有着十分广泛的应用,如电话,传真,视频监控.一般情况下,涉及到远程通信,自动控制,大型车辆控制系统、机器人控制系统等。特别PC机与单片机的串口通信在工业控制中非常重要.MSP430系列单片机是一种超低功耗的混合信号控制器,在控制系统以及数据采集系统中有广泛的应用,在8MHz晶体下运算能力达1MIPS(100万/秒),是传统51单片机远远达不到的,这使该系列单片机采用C语言开发有很高的效率,所以广泛应用工业生产,研究MSP430和PC的串口通信有着深远的意义.1.2 本文的设计目标本设计是基于MSP430F149和PC机串口通讯。在硬件上要想与PC 串口或者其它带有串口的终端设备相连接,必须要进行EIA-RS-232-C 与MSP430 电平和逻辑关系的转换,本设计采用MAX3232芯片,完成3V5V 电平与串口电平的双向转换;本设计依据MSP430F149的串行通信模块的构成,利用其异步通信模式的特点,按照位寻址的方式设计的通信协议,依此设计出下位机的接收和发送程序和DS18B20,TFT程序,以及上位机的C#通信程序。第二章:串行通信接口系统结构2.1串行通信的基本原理按照通信的形式可以分为两种,其中一种为并行传输的通信,即并行通信(Parallel Communication),另一种则为串行通信(Serisl Communication)。这两种通信方式的区别是,并行通信一次的传输数据量为8位(1个字节);而串行通信则一次只能传输1位,传输1字节数据(8位)数据就需要8次才能传出去,在实际应用中串口通信用线少,传输容易,硬件电路连接方便。而且通过软件设置PC和单片机的波特率,数据位,奇偶位一定要相同,如图 图1 PC机和单片机连接2.2 串行通信接口系统基本结构 PC机的串口是美国电子工业协会(EIA)制定的串口EIA-RS-232通信协议,其信号电平采用负逻辑,逻辑“1”的电平是-5V15V,逻辑“0”的电平为+5V+15V,因为其有2V的噪声容限,故最终限制接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。因此, RS-232-C最高传输速率为20kb/s,最大直接连接长度为15m。 图2 九针串口 图2.2中DB9为即为我们选用的RS-232连接器9针串行口,其插针分别对应RS-232-C标准接口9根常用线。其对应关系如表1所示。表1DB9管脚号插针功能说明标记1接收线信号检出DCD2接收数据RD3发送数据TD4数据终端就绪DTR5信号地SG6数据传输设备就绪DSR7请求发送RTS8允许发送CTS9振铃指示RIMSP430F149串行通信接口实现了两种功能,使得串行通信能够以两种模式通信。第一种模式是熟悉的异步串行通信协议UART;第二种模式是外围模块接口功能SPI,也得到广泛应用。经过适当的软硬件设计,这两种模式可以交替使用。由MSP430F149内部控制寄存器UCTL中的SYNC位来定义通信模式:SYNC=0: 选择异步通信模式UARTSYNC=1: 选择同步通信模式SPIMSP430F149有两个异步串行通信接口,分别是USART0和USART1。如图2.3所示。图3 单片机MSP430F149的串口模块第三章:串行通信接口硬件电路分析3.1 串行通信接口硬件电路原理图和分析如图3.1所示。因为PC机的RS232接口输出正电平在+5+15V,负电平在-5-15V电平。而单片机是TTL电平,电压范围规定输出高电平2.4V,输出低电平=2.0V,输入低电平新建windows窗体应用程序图14 创建Winform窗口程序(3)打开左边的工具箱增加SerialPort控件、Button控件、Text控件等然后拖入Winform界面中图15 在Winform窗口程序中加入需要的控件(4)在Winform界面中,点击SerialPort类,在界面的右下角出现属性,设置波特率1200、停止位1、开始位1、数据位8位、串口号。图16设置SerialPort的属性 (5)在Winform界面中,内部代码实现见附录3上位机代码 (6)生成的应用程序图17 最后生成上位机控制界面第五章: 系统测试及结果分析5.1 测试结果的记录5.1.1 验证PC机通过RS232口传输字符到单片机并控制TFT液晶显示图18 上位机和单片机串口通信显示结果 图19 上位机通过串口发送给单片机字符显示结果图20单片机接受PC机的字符并在TFT显示字符结果5.1.2 验证单片机通过串口把DS18B20实时温度传递给PC机显示图21 PC机显示通过串口接受DS18B20的温度结果5.1.3验证PC机接受单片机通过串口发来的字符图22 PC机显示通过串口接受单片机发来的字符结果5.1.4 验证通过上位机的应用程序的按钮控制单片机的TFT使显示内容图23 单片机发送图标命令显示新华学院图标结果图24 单片机接受图标命令显示新华学院图标结果图25 上位机通过串口发送校训命令给单片机结果 图26 单片机接受校训命令显示新华学院校训结果5.2 测试结果的分析 通过无数次的修改程序,终于达到毕业设计要求的结果。图17结果分析通过PC机的串口向单片机串口发送一段英语字符验证单片机是否可以正确的接受并显示在TFT液晶显示器上。图20结果分析,通过DS18B20采集室内温度,DS18B20将采集的数据发送给单片机进行分析处理,然后把处理好的数据通过串口发送PC机显示。结 论串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与单片机之间的数据交换以及其他工业控制与自动控制中。本设计给出了上位PC机与下位单片机(MSP430F149)之间进行异步串行通信的解决方案,实现了上位机与下位机的双向通信功能。上位机应用VS2010开发工具,运用C#语言和Net Framework 4.0提供的SerialPort类设计的可视化应用程序界面,使系统控制界面化,可视化,给工业控制提供了方便。通过本次毕业设计,使我对单片机和PC机的串口通信有的深刻的了解,从中学习很多知识,虽然遇到很多问题,通过请教和自我学习得到解决,加强自我面对困难的信心。参考文献1 张晞,王德银,张晨. MSP430系列单片机实用C语言程序设计M. 北京:人民邮电出版社,2005.2 MSP430 F149数据手册 讯通科技3 12864C-1 液晶显示器数据手册 讯通科技4 胡大可,MSP430系列FLASH型超低功耗16位单片机M北京:北京航空航天大学出版20105 MSP430 F149用户手册6陈明荧8051单片机课程设计实训教材M. 清华大学出版社,2004:2843.7 秦实宏,周龙等单片机原理与应用技术M. 中国水利水电出版社,2005:3550.8 求是科技单片机通信技术与工程实践M. 人民邮电出版社, 2004:1214.9 求是科技单片机典型模块设计实例导航M. 人民邮电出版社, 2004:122135.10 马忠梅等单片机的C语言应用程序设计M. 北京航空航天大学出版社,2003:3739.11 杨将新,李华军等单片机程序设计及应用M. 电子工业出版社, 2006:142154.12 范风强,兰蝉丽单片机语言C51应用实战集锦M. 电子工业出版社, 2005:212234.附录附录1.部分程序源代码/* 模块功能介绍:本模块UART1主要是PC和单片机单机通信,通过配置串口的寄存器完成 波特率.开始位、数据位、奇偶校验位、停止位和串口单片机收发数据*/#include#includeuart.h#includemsp430io.h/* - 功能描述:UART1串口IO配置 函数作用:UART1串口IO配置P3.6/UTXD1 P3.7/URXD1 IO复位默认为输入 - 是输入参数: - 返回说明:无 */ void UART1_ioconfig(void) SETAFP3(BIT6);/将单片机的P3.6的引脚进入第二串口发送功能 SETAFP3(BIT7); /将单片机的P3.7的引脚进入第二串口接受功能 OUTDIRP3(BIT6); /将单片机的P3.6的引脚的方向设置成输出 INDIRP3(BIT7); /将单片机的P3.7的引脚的方向设置成输如/* - 功能描述:UART1串口初始化函数 函数作用:波特率1200,无奇偶校验位,一个开始一个停止 数据8位,时钟源选择ACLK,如果想设置其他的格式请参考数据手册 - 是输入参数:无 - 返回说明:无 */ void UART1_Init() UCTL1|=CHAR; /长度8位 UTCTL1|=SSEL0;/选择ACLK时钟为串口时钟源 ME2|= UTXE1+URXE1; / 模块允许寄存器设置,使能USART0 TXD/RXD U1BR0 = 0x1B; /配置寄存器使波特率为1200 U1BR1 = 0x00; UMCTL1 = 0x03; UCTL1&=SWRST; /开启串口工作 IE2|=URXIE1; / 中断允许寄存器设置,接收中断允许/* - 功能描述:UART1串口发送一个字节 函数作用:发送一个字节数据PC机 - 是输入参数: - 返回说明:无 */void UART1_Send_Byte(U8 c) TXBUF1=c;/发送寄存器接受用户的数据 while (!(IFG2&UTXIFG1);/ USART1发送UTXIFG1=1,表示UTXBUF1准备好发送一下字符,不要写成 if (IFG2 & UTXIFG0!=0)/* - 功能描述:通过UART1串口终端接受一个字节 函数作用:接受PC机的一个字节数据 - 是输入参数: - 返回说明:无 */#pragma vector=UART1RX_VECTOR_interrupt void UART1_RXISR(void) uchar temp; temp=U1RXBUF;/单片机PC机发来的数据#include#includeds18b20.h#includemsp430io.h#includedelay.h#define DQHIGH HIGHP2(BIT4)#define DQLOW LOWP2(BIT4)/* - 功能描述:DS18B20初始化 函数作用:DS18B20初始化 - 是输入参数:无 - 返回说明:初始化状态标志:1失败,0成功 */ uchar DS18B20_Init()uchar state=0; _DINT();/关中断 DQHIGH;/数据线拉高 _NOP(); DQLOW; /数据线拉低 Delayus(720); DQHIGH; Delayus(55); P2DIR&=BIT4;/将P2.4方向设置成输入或者INDIRP2(BIT2); _NOP(); if(P2IN&BIT4) /判断DS18B20是否存在 state=1; P2DIR|=BIT4; /将P2.4方向设置成输出 else state=0; P2DIR|=BIT4; /将P2.4方向设置成输出 DQHIGH; _EINT(); Delayus(480); return state; /返回存在结果 /* - 功能描述:DS18B20_Wirte 函数作用:向DS18B20写命令或者数据 - 是输入参数:命令或者数据 - 返回说明:无 */ void DS18B20_Wirte(uchar data) uchar i; _DINT(); P2DIR|=BIT4; /将P2.4方向设置成输出 for(i=0;i1; Delayus(50); DQHIGH; Delayus(10); _EINT(); /* - 功能描述:DS18B20_Read 函数作用:从DS18B20读数据 - 是输入参数:命令或者参数 - 返回说明:初始化状态标志:1失败,0成功 */ uchar DS18B20_Read()uchar i; uchar temp=0; _DINT(); P2DIR|=BIT4; /将P2.4方向设置成输出 for(i=0;i0;i-)Delayus(60000);/延迟750MS以上为的保证转换完成 DS18B20_Init();DS18B20_Wirte(0xcc); /发送跳过ROM命令DS18B20_Wirte(0xbe);/发送读ScratchPadT_LOW=DS18B20_Read();/读低8位T=DS18B20_Read();/读高8位T=T8; /数据转换T|=T_LOW;return(T); /返回温度数据附录2.上位机部分程序源代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text; /引用VS2010的头文件using System.Windows.Forms;using System.IO.Ports;using System.Threading;namespace WindowsFormsApplication8 public partial class 书建 : Form private int num= 0; private bool IsRxShow = true; /接受数据标示位 private bool IsOpen = true; /串口开关标示位 private string hz; public 书建() InitializeComponent(); private void btn_open_Click_1(object sender, EventArgs e) if (IsOpen) try if (comm.IsOpen) comm.Close(); comm.PortName = cb_comm.Text; comm.BaudRate = Convert.ToInt32(cb_btl.Text); comm.DataBits = Convert.ToInt32(cb_sjw.Text); switch (cb_xyw.SelectedIndex) /选择奇偶位 case 0: comm.Parity = Parity.None; break; case 1: comm.Parity = Parity.Odd; break; case 2: comm.Parity = Parity.Even; break; case 3: comm.Parity = Parity.Mark; break; case 4: comm.Parity = Parity.Space; break; default: comm.Parity = Parity.None; break; switch (cb_tzw.SelectedIndex) /选择停止位位 case 0: comm.StopBits = StopBits.One; break; case 1: comm.StopBits = StopBits.Two; break; default: comm.StopBits = StopBits
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60672-3:1997 FR-D Ceramic and glass-insulating materials - Part 3: Specifications for individual materials
- 【正版授权】 ISO/IEC GUIDE 51:2014 FR Safety aspects - Guidelines for their inclusion in standards
- 引力理论考试试题及答案
- 艺术修复考试试题及答案
- 医院考试考试试题及答案
- 六一公司活动方案
- 六一助学活动方案
- 六一宠物活动方案
- 六一武术活动方案
- 六一活动及端午活动方案
- 2024年《中央经济工作会议》重要试题及答案
- 2019特高压换流站分系统调试规范第3部分:换流变分系统调试
- 绿色建筑工程监理实施细则
- 《积极心理学(第3版)》 课件 第11章 宽容
- 陕西省西安市数学中考2024年试题及答案解析
- DB37T 1914-2024 液氨存储与装卸作业安全技术规范
- 国家开放大学本科《理工英语4》一平台机考第二大题词汇与结构总题库
- 国际法(第七版) 课件 第九章 外交和领事关系法
- 2024年哈尔滨铁道职业技术学院单招职业适应性测试题库各版本
- 水表检定记录全册
- DG-TJ08-2411-2023 地下结构隔排水主动抗浮技术标准
评论
0/150
提交评论