毕业设计论文单片机msp430与pc机串口通讯设计内容摘要:
n switch nRes case 1 UART1_TX_BUF[0] O UART1_TX_BUF[1] K UART1_TX_BUF[2] 13 nTX1_Len 3 设置中断标志进入发送中断程序 IFG2 UTXIFG1 nRX1_Len 0 break case 2 for n 0n nRX1_Lenn UART1_TX_BUF[n] UART1_RX_Temp[n] UART1_TX_BUF[nRX1_Len] O UART1_TX_BUF[nRX1_Len1] K UART1_TX_BUF[nRX1_Len2] 13 nTX1_Len nRX1_Len 3 设置中断标志进入发送中断程序 IFG2 UTXIFG1 nRX1_Len 0 break case 1 UART1_TX_BUF[0] E UART1_TX_BUF[1] R UART1_TX_BUF[2] R UART1_TX_BUF[3] O UART1_TX_BUF[4] R UART1_TX_BUF[5] 13 nTX1_Len 6 设置中断标志进入发送中断程序 IFG2 UTXIFG1 nRX1_Len 0 break 在上面的程序中主要根据 ProcessCMD UART1_RX_TempnRX1_Len 对得到的结果进行处理向 PC 发送响应数据如果接收到的数据有错误则发送 ERROR 数据封装完成后设置 nTx1_Len的长度并通过 IFG2 UTXIFG1发送中断从而使中断处理程序进行数据发送上面程序中 ProcessCMD UART1_RX_TempnRX1_Len 主要处理接收到的数据并返回相应的代码以使主程序处理该函数的具体代码为 int ProcessCMD char pBuf[]int nLen int nTemp 1 int i if nLen 2 return 1 if nLen 5 if pBuf[0] A pBuf[1] T pBuf[2] E pBuf[3] 0 nTemp 1 if pBuf[0] A pBuf[1] T pBuf[2] E pBuf[3] 1 nTemp 2 return nTemp 167。 322 上位机 PC 机程序设计 一上位机串口通讯编程方法的选择 随着 Windows在国内的普及越来越多的微机用户转向了 Windows操作系统所以在 DOS环境下利用汇编语言和 C语言对串口通信的编程方式已经不再被看好在Windows 操作系统下利用 VC++ 60 开发平台对串口通信上位机编程其软件界面非常方便友好编程工作量相对较小只需进行主要应用功能的编程和少量界面控制的编程 [12] 在 Windows 环境下利用 PC 机串口进行通信的常用方法有以下几种一是利用Windows API 通 信 函 数 二 是 利 用 VC 的 标 准 通 信 函 数_inp_inpw_inpd_outp_outpw_outpd 等直接对串口进行操作三是使用 Microsoft Visual C 的通信控件 MSComm 四是利用第三方编写的通信类 [13]本设计将介绍用PComm 开发PC机与单片机的通信程序的解决方案 二 Pm 主要命令码 PComm Professional Comm Tool for PC 串口通信软件包专门运用Windows NT2020XP 如今 WindowsNT2020XP 已被广泛应用 而它提供的 Win32Comm API 却复杂难用 而且没有提供如 Zmodem 等高阶应用函数 这增加了通信软件工程师的负担针对这种状况 MOXA 开发了一套简单易用的程式函数库及功能强大的辅助工具 PCommPComm Pro 支持多种编程语言如 Visual BasicVCDelphi 等并且适用于任何在 Windows NT2020XP 下以 Win 32 COMMAPI 为基础的驱动程式的其他品牌的多串口卡 [14] PComm 的主要命令码有以下几种 [15] 1 sioopen port 用于设置并打开串口其中 port的 1234分别代表 COMCOM2COM3COM4当返回值为 0时表示串口已经打开否则为串口打开出错 2 sio close port 关闭串口当返回值为0时表示串口已经关闭否则为串口关闭出错 3 sio ioctl port baud mode 用于设置串口波特率校验位数据位停止位等参数 4 sio getch 从串口输入缓冲区读出一个字符返回值为0表示已收到数据 5 sioread port buf len 用于从串口输入缓冲区读出一串字符 buf代表字符串数组 len代表数组长度返回值为0表示未收到字符大于0代表收到字符的个数 6 sioSetReadTimeouts port TotalTimeouts IntervalTimeouts 在设定的等待时间内连续读串口输入缓冲区 TotalTimeouts 代表设定的等待时间 IntervalTimeouts 代表每次读出的间隔时间 7 sioflush port func 用于清空缓冲区当 func 为0时清空输入缓冲区为1时清空输出缓冲区为2时清空输入输出缓冲区 8 sioputch port term 用于向串口缓冲区发送一个字符返回值为0时表示发送正确否则表示 发送错误 9 sio write port buf len 用于从串口缓冲区发送一串字符 buf 代表字符串数组 len 代表数组长度 三上位机 PC 机通信协议 分布式控制系统中的每台下位机均有唯一的地址PC机发送数据时先发送被叫单片机地址被叫单片机对地址进行判断地址错误就不予理睬地址正确则向上位机发送呼叫应答信号 [16]PC 机在接收到呼叫应答信号之后将向单片机发出通信命令字符串以下是上位机 PC 机的通讯协议格式 表 32 上位机通讯协议格式 单片机号 单片机号 命令码 命令码 停止标志 其中单片机号代表现场 第几台单片机占用1个字节发送两次的目的是为了防止干扰命令码则代表上位机向下位机发布的工作命令它也占用1个字节发送两次的目的也是为了防止干扰而停止标志则表明上位机一次命令发送完毕使用时可依据该标志判断上位机的命令是否发送完毕 四上位机串口通讯实现过程 在用 PComm 处理 PC 机的串口通信时其实现过程如下 1启动 VC60新建一个基于对话框的应用程序 TxRx同时增加静态文本编辑框和按钮等控件 [17]如图 33 所示 图 33 基于对话框的接收发送数据程序 根据实际需要还可以添加更多控件诸如串口的打开和关闭按钮波特率选 择框以及一些实现更加高级功能的控件等在这里仅添加基本的发送接收等按钮控件 2 按照表 33 为每个控件添加相应的变量 表 33 TxRx 应用程序各控件的属性 控 件 ID 变量名 类 型 按 钮 IDC_TRSMITT 发送按钮 Edit1 IDC_TXDATA M_TxData Cstring Edit2 IDC_RXDATA M_RxData Cstring 发送编辑控件的属性添加过程如图 34 所示其他属性以及其他控件的添加方法类似 图 34 发送编辑控件 ID 属性设置方法 3PComm.h和 PComm. lib 加入到工程中并在 TxRxDlgcpp 文件中加入#include PComm. h 头文件此后便可调用其提供的通信命令集 [18] 4TxRxDlgcpp 文件中添加初始化程序代码也就是在 On InitiDialog 函数中的 TODO 语句后加入以下代码 TODO Add extra initialization here Int ret port 1 ret sio open port 打开串口1 sio DTR port 0 置 DTR 为低电平 sio ioctl port B9600 P NONE| BIT 8| STOP 1 设置波特率 为 96008位数据位1位停止位无校验位 添加结果入图 35 所示 图 35 在 TxRxDlgcpp 里添加初始化程序 四上位机通信程序 对上位机通信程序的设计除了初始化串口外剩下的就是对接收和发送程序的设计了下面是一个简单的接收发送子程序其功能是按照一定时间间隔对串口进行读操作并能够每次向串口缓冲区发送 5 个字符 [19] void CTXRXDlg Send Recv 收发数据子函数 while 1 Int ret1 Sio flush port 2 清空串口输入输出缓冲区 siowrite port15 向串口缓冲区发送5个字符 sioSetreadTimeouts port401 在40ms内每隔1ms读一次串口 ret sioread portRecvBuf1 if ret1> 0 sio close port break 若收到数据关闭串口跳出循环 else 若未收到数据对串口再一次发数据并再次查询接收 以上只是一个简单的接收发送程序在实际应用中根据实现功能的不同还可以设计更加复杂 可操作性更高的程序 结 论 串行通信端口在系统控制的范畴中一直占据着及其重要的地位它不仅没有因为时代的进步而遭淘汰反而在规格上越来越完善应用也越来越广泛作为一种基本而又灵活方便的通信方式串口通信被广泛应用于 PC 与 PC 或者 PC 与单片机之间的数据交换以及其他工业控制与自动控制中 [20]本设计给出了在分布式控制系统中上位PC机与下位单片机 MSP430F149 之间进行异步串行通信的解决方案实现了上位机向多个最多 8 个下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能本设计方案在实际运行过程中简单方 便稳定可靠较好地解决了上位机与下位机之间的通信问题 本设计利用 PCOMM 开发上位机通信程序具有较大优势虽然上位机程序设计有多种方法包括 DOS 系统 下的 C 语言和汇编 Windows 系统下利用 Windows API通信函数或 VC 的标准通信函数 _inp_inpw_inpd_outp_outpw_outpd 直接对串口进行操作或者利用 Microsoft Visual C 的通信控件 MSComm 以及利用第三方编写的通信类但是这几种方法都过于复杂对程序员要求较高而且可靠性并不是很好而 PCOMM 是由第三方编写的专门针对串口通信 的应用工具包相对于其他方法来说 PComm具有易开发易排难高兼容的特点另外 PComm提供了许多基于函数的命令集来处理串口通信可以在等多种开发工具下使用且具有传输速度快使用灵活方便等特点能够满足复杂情况下的串口通信要求 RS232C 标准规定驱动器允许有2500pF的电容负载通信距离将受此电容限制例如采用 150pFm的通信电缆时最大通信距离为 15m 若每米电缆的电容量减小通信距离可以增加传输距离短的另一原因是 RS232 属单端信号传送存在共地噪声和不能抑制共模干扰等问题因此一般用于 20m 以内的通信 RS485 总线 通信距离几十米到上千米 RS485 采用平衡发送和差分接收因此具有抑制共模干扰的能力加上总线收发器具有高灵敏度能检测低至 200mV 的电压故传输信号能在千米以外得到恢复 RS485 采用半双工工作方式任何时候只能有一点处于发送状态 2020 1 3942 [3] 胡大可 MSP430系列超低功耗 16位单片机原理与应用 北京北京航空航天大学出版社 2020 年 [4] 魏小龙 MSP430 系列单片机接口技术及系统设计实例 北京 北京航空航天大学出版社 2020210223 [5] 沈建华 杨艳琴 翟骁曙 MSP430 系列 16 位超低功耗单片机原理与应用 北京清华大学出版社 2020 年 [6] 胡大可 MSP系列单片机 C语言程序设计与开发 北京北京航空航天大学出版社 2020 年 157178 [7] 秦龙 MSP430 单片机应用系统开发典型实例 中国电力出版社 2020 年120131151169。毕业设计论文单片机msp430与pc机串口通讯设计
相关推荐
要的是会熟练使用各种数码管,即要了解数码管 的构造,也要了解其工作原理,并且能够编写各种数码管的显示程序,当能够做到这一步,然后还要了解温度传感器的内部结构和工作原理,还有寄存器的工作方式和读写时序图,然后根据它的 ROM 和 RAM 指令编写工作代码,通过单片机读取后控制数码管显示。 编写 DS18B20 的操作代码时,先初始化传感器,然后分别读它的位和比特,然后是写比特
字符块是一个字符位,每一位都可以显示一个字符,字符位之间空有一个点距的间隔起着字符间距和行距的作用,这是其一;其二是这类模块使用的是专用于字符显示控制与驱动的 IC芯片 [13]。 这两种因素确定了这类模块的应用范围仅局限于字符而显示不了图形,所以称其为字符型液晶显示模块。 天津 职业技术师范大学 2020届本科生毕业设计 8 字符型液晶显示驱动控制器广 泛应用于字符型液晶显示模块上。
新用刀具长度补偿指令补偿刀具尺寸的变化 , 而不必重新调整刀具或重新对刀。 刀长补偿对所有的刀具都适用,而刀具半径补偿则一般只用于铣刀类刀具。 当铣刀加工工件的外或内轮廓时,就用得上刀具半径补偿,当用端面铣刀加工工件的端面时则只需刀具长度补偿。 参考点相关指令 1. 返回 参 考点检查 指令 G27 河 南 工 业 职 业 技 术 学 院 毕 业 论 文 15 格式: G27 X Y Z ;
史行为非常困难,容易造成系统误报和漏报;定义入侵阈值比较困难,阈值高则误报率高,阈值低则漏报率增高。 基于神经网络 基于神经网络的检测方法的基本思想使用一系列信息单元训练神经单元,在给定一定的输入后,就可能预测出输出。 它是对基于概率统计的检测技术的改进主要解决了传统的统计分析技术的问题。 误用检测技术 基于专家统计 专家系统是基于知识的检测中最早期运用得较多的一种方法。 将有关入侵
”。 信息产业部也出台了《关于推进社会主义新农村建设工作的意见》,对推进信息产业服务“三农”做出了具体部署。 当前,农村普及和应用信息技术,已成为发展现代农业的重要途径,也是建设社会主义新农村的必然要求和历史选择。 建设新农村,信息化先行。 2020 年 11 月 7 日,在信息产业部、农业部有关部门的指导下,由中国电子信息产业发展研究院( CCID)和通信产业报社主办的 “
ol gy ident if icat ion m eans. As t o 20XX year s J une 20 st atewide m ot or vehicle keep volum e f or 567, 408 car, and last year ear lier t han gr owt h 75, 814 car, gr owt h 13. 36%。 t his year