本站小编为你精心准备了LED无线通信网络系统软件设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
现在支持51系列单片机的语言共有4种,即汇编语言、PL/M语言、C语言和BASIC语言。这里面C语言是一种结构化语言,能够产生压缩代码,同时具有语言简洁、使用方便、表达能力强、可移植性好、可进行结构化程序设计等优点。由C语言生成的目标代码的效率也只稍微低于汇编语言。因此本次设计采用C语言编程。
在单片机开发中除了使用到硬件外,也离不开软件,在这里使用的是目前最流行的用以开发MCS-51系列单片机的软件Keil软件,它的开发方案十分完整,提供了包括C编译器、宏汇编、连接器、库管理以及一个功能强大的仿真调试器等,这些部分的组合是通过一个集成开发环境(uVision)来完成的。KeilC51软件系统能够提供丰富的库函数和功能强大的集成开发调试工具,采用的是Windows界面。另一点重要之处是,通过查看编译后生成的汇编代码,就能感觉到KeilC51能够生成的效率非常高的目标代码,并且这些代码的排列很紧凑,容易让人理解,这种系统大型软件的开发时更能将高级语言的优势体现出来。
1无线模块的设计
1.1无线模块总体设计预先设置好必需的参数,模块每次上电后即可自动连接到预先设置的无线网络及服务器,因为在自动工作的模式下,模块的串口始终工作在透明数据传输状态,可以将它看做一条虚拟的串口线,按照使用普通串口的方式发送和接收数据就可以。在自动工作模式下,系统的连接网络完全自动运行。系统默认自动重试次数设置为永远,也就是说,系统会在连接网络失败或断开的时候一直重新尝试连接。用户也可以将重试次数设置为有限值,在此情况下,一旦重试次数超限后,系统将不再尝试重连,只有系统复位后才能再次重启自动连接流程。Socket连接(此处特指Tcp连接)是虚连接,在无线网络连接非正常断开的情况下原有的Socket连接不会被删除,并且在无线网络连接恢复后继续使用。自动组帧机制。在透明传输状态下,在串口上所有的数据都是以字节流的形式进行传输的,而在网络上,数据却是以固定的帧格式的形式传输,因此,数据在串口与网络之间流动是就需要一个流与帧之间的转换过程。对于从网络到串口的方向的数据传输来说,数据由帧转换成流是非常容易的。而相反的从串口到网络的数据传输方向,即数据由流转换成帧格式的时候,就需要一定的规则来约束。
1.2无线模块程序设计命令工作模式模块提供了一种基于串口控制的命令工作模式,用于不同应用场合的特殊需求。此工作模式下,模块根据用户通过串口下发的指令进行工作,用户可以通过指令对模块进行完全的控制,包括修改配置参数、控制联网、控制TCP/IP连接、数据传输等。这是一种高级的使用方式,也是对用户来说最为灵活的使用方式,用户可以通过指令任意控制无线网络的连接、断开,也可以同时创建多个不同类型的TCP/IP连接,并保持通信。在使用WIFI模块时,可以根据系统的情况决定是否进行命令行的操作。串口数据操作。在串口发送每条CMD后,需要等待该命令的回复。如果本条命令没有回复,需要增加超时,将强制退出该命令。应当保证At发送命令时,串口只有一条在等待回复的At指令。用于串口接收WIFI模块回传的响应信息,在上位机发送完成每条AT指令后需要等待WIFI模块响应或者超时(请将超时时间设置大于500ms)。
2主控模块与led显示模块程序设计
本设计采用RS232总线与PC机通信,在PC机中采用串口调试程序向单片机发送数据,在PC机与单片机之间采用MAX232电平转换芯片进行电平转换,参照51单片机的串口通信时序对单片机的串口通信程序进行编写,其主程序流程图及串口中断服务程序流程如图1所示。在显示部分,由于采用ULN2803芯片作为数码管阵列的段选显示驱动电路,同时采用573芯片作为其显示数据的缓冲电路,所以在显示函数的编写过程中,首先要对数码管阵列送入位选信号并保持,然后通过一段恰当的延时再将段选信号送入,这样一来就实现了数码管的动态显示。由于本设计中并没有使用BCD数码管,所以需在显示数据之前进行数据为的分离,这部分程序在串口通信中断服务函数中完成。在本设计中,采用MAX232作为单片机系统与PC机通信之间的电平转换电路。而在单片机与PC机通信的过程中,在单片机系统的程序编写则涉及到了两个功能函数的编写:串口通信初始化函数,串口通信中断服务函数。在进行单片机串口通信函数的编写过程中,要根据单片机串口通信时序来进行相应语句的编写。
3结束语
本文在keil环境下采用C语言用模块化程序设计的方法编程,先对无线模块的部分功能进行程序分析,串口通信初始化函数,串口通信中断服务函数。在进行单片机串口通信函数的编写过程中,要根据单片机串口通信时序来进行相应语句的编写,然后对主控模块和显示模块进行具体的设计,将单片机的串口中断和数码管的动态显示等程序进行了设计。
作者:杨巍 单位:齐齐哈尔信息中心