《LED点阵屏PLC控制系统设计及测试分析案例》7100字.docxVIP

《LED点阵屏PLC控制系统设计及测试分析案例》7100字.docx

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

LED点阵屏PLC控制系统设计及测试分析案例

目录

TOC\o1-3\h\u2114LED点阵屏PLC控制系统设计及测试分析案例 1

95451.软件设计 1

268441.1.开发工具及语言 1

268471.2.程序流程图 2

308671.3.串口设置 2

26681.3.2.串行口1 3

3711.4.与上位机之间的通信 4

21411.5.动画显示 7

68042.上位机设计 8

282202.1.开发工具和语言 8

58332.2.上位机软件界面设计 8

110712.3.串口设置 9

65202.4.字模的提取 10

26082.4.1.字模提取的流程 10

28962.4.2.字模提取的实现方法 11

158152.5.与单片机之间的通信 11

137723.系统测试 12

196323.1.测试结果 12

173063.2.调试中遇到的问题及解决方法 14

软件设计

开发工具及语言

本设计使用KeiluVision作为软件开发工具。KeiluVision是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。其提供了功能强大的编辑器,并且提供了管理工程的能力,是常用的单片机开发工具。

本设计中,单片机软件是采用C语言进行编写,C语言是一门面向过程的通用程序设计语言,广泛应用于底层开发。在嵌入式系统开发中,C语言为编写软件代码的主要开发工具。相比汇编语言来说,C语言的可读性、结构性更强,并且C语言具有很好的可移植性,适合多种操作系统,可以运行在不同架构的处理器上。

程序流程图

本设计的软件流程图如图5-1所示,从总体上说大概分为串口通信部分以及显示部分,串口通信中,串口1负责与上位机之间的通信,串口2负责向LED显示屏发送显示数据。显示部分,则包括字模数据的读取及动画处理等。

图5-1软件流程图

串口设置

如果想要通过串口与其他设备进行数据的传输,需要对单片机的串口进行设置,确定串口的数据格式以及传输速率。

串行口2

本设计中,采用串口2向LED显示模块发送数据信息,波特率为9600。在STC12C5A60S2单片机中,只能使用独立波特率发生器作为串口2的波特率发生器,而不能使用定时器1。不过对于串口1来说,既可以使用定时器1作为波特率发生器,也可以使用独立波特率发生器作为波特率发生器。串口2初始化的代码如图5-2所示:

图5-2串口2初始化代码

图5-2中AXUR为辅助寄存器,其格式以及各位的含义如图5-3所示:

图5-3辅助寄存器AXUR格式

其中与串口2相关的有3位,BRTR、S2SMOD、BRTx12。其中BRTR,为独立波特率发生器运行控制位,1则允许其运行,0则禁止其运行。S2SMOD为串口2的波特率加倍控制位,当它等于1时,串口2的波特率翻倍,否则波特率不变。BRTx12为独立波特率发生器计数控制位,等于0时,独立波特率发生器每12个时钟计数一次,等于1时,每1个时钟计数一次。通过串行口2的控制寄存器S2CON,设置串口2的工作方式为方式1,在此工作方式下,串口2每次发送8位数据,并且波特率可变,计算公式为

波特率=(2S2MOD/32)×BRT独立波特率发生器的溢出率 (5-SEQ5-\*ARABIC1)

其中,在BRTx12=1时,

BRT独立波特率发生器的溢出率=SYSclk/(256?BRT) (5-SEQ5-\*ARABIC2)

通过公式5-1和公式5-2可得到串口2的波特率,

波特率=(20)/32×22.1184M/(256?184)=9600 (5-SEQ5-\*ARABIC3)

串行口1

本设计中,采用串口1来进行与上位机之间的通信,波特率为9600。与串口2相同,串口1工作方式为方式1,在此工作方式下,串口2每次发送8位数据,并且波特率可变,但是选择定时器1作为波特率发生器,定时器的工作方式为8位自动重装方式,定时器初值TH1为184,串口初始化的代码如图5-4所示:

图5-4串口1初始化代码

通过计算可得,串口1的波特率为

波特率=

与上位机之间的通信

通信流程

上位机与单片机之间的通信流程如图5-1所示,具体过程如下:

(1)单片机不断检测串口1收到的信号,如果检测到握手码0xaa,则执行步骤2,否则重复步骤1;

(2)单片机继续检测串口1收到的信号,如果检测到握手次码0x55,则执行步骤3,否则返回步骤1;

(3)当单片机收到0xaa,0x55后,意味着上位机即将发送显示数据,

您可能关注的文档

文档评论(0)

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

关注有哪些信誉好的足球投注网站

1亿VIP精品文档

相关文档