盐城工学院本科生毕业论文(毕业设计说明书) 2012
4 软件设计
4.1 系统主程序设计
数字采控器软件流程图由主程序、系统初始化程序、RS-485串口程序等组成(主程序流程图如图4-1所示)。其中系统初始化程序是对单片机端口定义及中断服务程序的入口地址定义等。
本设计包括本地控制和远程控制两种方式。当系统启动时,可对数字采控器直接进行本地控制,包括:继电器控制和本机地址及波特率设置。远程控制是通过PC机发送命令来控制,本设计选用的RS-485串口通信。当使用远程控制时,本地控制是没禁止的。远程控制包括:通信检测、I/O口信息上传、继电器状态信息上传、远程控制继电器动作及改变本机地址和波特率设置。
21
基于单片机的数字采控器设计
开始开始初始化初始化使能使能485485接受接受获取本地设置波特率组获取本地设置波特率组获取本地设置获取本地设置初始化串口并设置本地参初始化串口并设置本地参数标志数标志清除串口接受缓存清除串口接受缓存打开中断打开中断串口事件串口事件是否为有效事件是否为有效事件Y执行相应命令执行相应命令N获取获取I/OI/O口输入口输入N本地设置有效?本地设置有效?Y重设模块地址重设模块地址LEDLED指示灯亮指示灯亮本地控制继电器有效?本地控制继电器有效?Y按输入控制对应的继电器按输入控制对应的继电器N
图4-1 主程序流程图
22
盐城工学院本科生毕业论文(毕业设计说明书) 2012
4.2 系统初始化程序设计
在单片机上电启动后,进入主程序。系统将按下述步骤完成初始化操作: A. 定义全部寄存器和单片机端口。 B. 初始化片内寄存器和端口状态。
C. 系统监控系统复位并启动,中断复位并等待。 D. 初始化命令应答包。
E. 读取串口通信地址,并初始化串口设备。 F. 开放中断源。
开始开始定义全部急促器和单片机定义全部急促器和单片机端口端口初始化寄存器和端口状态初始化寄存器和端口状态中断复位并等待中断复位并等待初始化命令应答包初始化命令应答包读取串口通信地址并初始读取串口通信地址并初始化化RS-485RS-485开中断源开中断源ENDEND 图4-2 初始化程序流程图
23
基于单片机的数字采控器设计
4.3 寄存器程序设计
移位寄存器在本设计中主要是起到I/O口扩展的作用,由于本设计要求是16路输入、输出。若将16路输入、输出和本机地址和波特率设置都接单片机的I/O,显然单片机的I/O口肯定不够,通过寄存器的扩展能达到设计的要求。本设计输入电路采用74HC165寄存器,输出采用74HC595寄存器(寄存器程序设计流程图如图4-3所示)。
串口初始化串口初始化缓冲区初始化缓冲区初始化数据辨别数据辨别接受数据接受数据完毕?完毕?Y数据校验数据校验N正确?正确?YN数据处理数据处理返回主程序返回主程序
图4-3 寄存器程序流程图
24
盐城工学院本科生毕业论文(毕业设计说明书) 2012
4.4 串口通信程序设计
本系统中单片机负责数据采集、处理和控制,通信协议采用半双工串行通信方式,选用RS-485通信进行收发转换,传输数据采用二进制数据。RS-485采用平衡发送和差分接收,具有抑制共模干扰的能力,发送信号需由使能信号加以控制(程序流程如图4-4所示)。
串口通信中断入口串口通信中断入口获取中断状态获取中断状态消除等待响应的中断消除等待响应的中断N是接受中断吗?是接受中断吗?Y向向FIFOFIFO中写发送数据中写发送数据从从FIFOFIFO中读接收数据中读接收数据NN数据写完了吗?数据写完了吗?Y数据发送完成标志置位数据发送完成标志置位数据读完了吗?数据读完了吗?Y保存接受数据保存接受数据RS-485RS-485通信控制置接受状通信控制置接受状态态接受缓冲区指针归零接受缓冲区指针归零接受完成标志置位接受完成标志置位串口通信中断返回串口通信中断返回
图4-4 串口通信流程图
25
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库论文(5 - 23)- 终结版 - 图文(6)在线全文阅读。
相关推荐: