基于JAVA的单片机上位机通信软件开发实训小结.docVIP

基于JAVA的单片机上位机通信软件开发实训小结.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JAVA的单片机上位机通信软件开发实训小结

淮安信息职业技术学院 面向对象编程 课程设计 题目:基于JAVA的单片机 上位机通信软件开发 作者: 周阳洁 指导老师:潘汉怀 杨 永 专业:电子信息工程(物联网) 时间:二〇一三年一月六日 摘要 随着计算机技术尤其是单片微型机技术的发展,单片机被广泛应用在工业控制系统中。在分布式控制系统中多采用单片机进行数据采集和现场控制。由于单片机的计算能力有限,难以进行复杂的数据处理,因此在功能复杂的控制系统中常采上位机下位机系统,单片机用作下位机进行数据采集和设备控制,而PC机用做上位机进行复杂的数据处理和对单片机的控制。因此如何实现PC机与单片机之间的通信具有重要的现实意义。 详细介绍了单片机与PC机通信的软硬件实现。在硬件设计中,单片机系统与PC机系统通过RS-232串行通信端口进行互连,单片机系统将由PC 机传输过来的数据信息。在软件设计中,采用设计PC上的串口通信程序。 目 录第一章 摘要 -1- 第二章 目录 -2- 第三章 硬件设计 1 3.1 显示屏行驱动电路设计 2 -3.2 显示屏列驱动电路设计 2 3.3 PC 机与AT89S51串口通信电路设计 2 第四章 软件设计 3 4.1LED显示屏程序 3 4.2 PC机程序设计 4 第五章 系统调试 5 第六章 心得体会 8 第三章 硬件设计 本项目采用单片机控制LED显示屏,单片机与PC机通信采用JAVA语言开发,系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路二是系统的配置,即按照系统功能要求配置外围设备,如显示器等,要设计合适的接口电路。Proteus软件没有驱动电流仿真能力,所以这里仅对设计电路功能仿真验证。 3.1 显示屏行驱动电路设计 从单片机输出五个信号分别输入到2 个级联的74HC154译码器(4线16),然后输出16 位行信号,接单片机PC口,虚拟串口COMPIM。 3.2 显示屏列驱动电路设计 从单片机里出来的列信号通过8个8 位74HC595 级联而成信号输出端连接16*16 的点阵LED 的输入端。 74HC595是移位寄存器(SHCP 第11脚 移位寄存器时钟输入 STCP 第12脚 存储寄存器时钟输入8 位数据,可以用它的锁存功能实现硬件电路对数据的刷新,实现点阵的动态显示。 在protues里面COMPIM可以调用实际的串口和外部通信PC 机与89c52 串口通信由RS232 转换电路、子模块地址标识电路和点阵驱动电路组成。由于采用单片机的异步串行口进行多机通信进行数据传输,单元模块应该有和其位置相对应的地址标识地址标识电路采用8 位并进串出芯片74HC595组成。LED 点阵采用动态扫描法进行驱动,并且实现16 阶灰度显示,为了节省单片机程序中扫描程序的时间消耗,提高扫描速度,显示数据采用并行输出的方法。 3-1 LED显示屏硬件电路 第四章 软件设计 4.1 LED显示屏程序对机void Sendbyte_H(unsigned char bb,unsigned char aa) { unsigned char j; for(j=0;j8;j++) { H_shcp=0; H_ds=aa0x01; H_shcp=1; //数据在上升沿输入 aa=1; //数据右移一位 } for(j=0;j8;j++) //循环8次移入数据 { H_shcp=0; H_ds=bb0x01; H_shcp=1; //数据在上升沿输入 bb=1; //数据右移一位 } H_stcp=0; H_stcp=1; H_ds=1;} 串口中断4接受的代码 void INT_UartRcv() interrupt 4{ Rcv=SBUF-0x30; //用ASCII码转换 RI=0; //清除发送完成标志位 SBUF=Rcv; //发送数据 while(!TI); //等待发送结束 TI=0; //清发送完成标志位} 主代码 SCON=0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD |=0x20; //TMOD: timer 1, mode 2, 8-bit reload PCON |=0x80; //S

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档