网站大量收购独家精品文档,联系QQ:2885784924

基于VC和单片机的上下位机串口通讯系统设计毕业论文.doc

基于VC和单片机的上下位机串口通讯系统设计毕业论文.doc

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 1 基于VC和单片机的上下位机串口通讯系统设计 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:         指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:         摘要 论文详细介绍了单片机做下位机与VC设计的上位机进行通信的软硬件实现。在硬件设计中,下位机采用AT89C52单片机系统与上位机系统通过RS-232串行通信端口进行互连,采用MAX232电平转换器完成双向电平转换功能。单片机系统接收由上位机传输过来的PID参数并在LED数码管上显示,同时可通过按键分别对参数进行加减操作,把修改后的PID参数再传给上位机。在软件设计中,上位机采用Visual Studio 2008中的MFC编写上位机的界面程序。上位机可以显示测量数据,调节阀门开度,设定PID参数并可将参数传给下位机,也可接收下位机发送的PID参数。 关键词:单片机;VC;串口通信;PID参数。 目录 TOC \o 1-3 \h \u ; } else { if( 1 == ComSetDlg.m_ParityBit) { m_ParityBit=O; } else { m_ParityBit=N; } } if( 0 == ComSetDlg.m_BaudRate) { m_BaudRate=4800; } else { if( 1 == ComSetDlg.m_BaudRate) { m_BaudRate=9600; } else { m_BaudRate=19200; } } if( 0 == ComSetDlg.m_StopBit) { m_StopBit=1; } else { m_StopBit=2; } if( 0 == ComSetDlg.m_DataBit) { m_DataBit=7; } else { m_DataBit=8; } } m_ComVal = m_BaudRate +,+m_ParityBit +, + m_DataBit + , + m_StopBit; } 同样打开和关闭串口的源程序如下所示: 串口打开程序实现函数: void CUpperComView::OnMenuOpenCom() { // TODO: 在此添加命令处理程序代码 if(m_cCom.get_PortOpen()) //如果发现串口本来是打开的,则关闭串口 m_cCom.put_PortOpen(FALSE); m_cCom.put_CommPort(m_ComName); //选择COM3端口 m_cCom.put_InputMode(1); //输入方式为二进制方式 m_cCom.put_InBufferSize(1024); //设置输入缓冲区 m_cCom.put_OutBufferSize(512); //设置输出缓冲区 m_cCom.put_Settings(m_ComVal);//波特率,无校验,数据位,停止位 if(!m_cCom.get_PortOpen()) { m_cCom.put_PortOpen(TRUE); //打开串口 m_cCom.put_RThreshold(1); //每当接收缓冲区有个字符则接

文档评论(0)

weidameili + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档