第三章系统总体设计
系统设计将分成系统硬件设计,系统软件设计两个部分进行介绍。在系统硬件设计中,将以系统硬件框图的形式介绍本次课题硬件系统构成与原理。在系统软件设计中,将从编程语言、程序设计思想、软件流程三方面介绍本次课题的系统软件原理,并展示系统的程序框架设计树形图,然后通过系统的主流程图介绍系统执行的主流程。
3。1 系统硬件设计
本次基于串口通信的监控系统设计采用Easy Board电子开发平台的C51系统 xk-2 v5。0开发板,运用到其集成的矩阵键盘,A/D数模转换PCF8591芯片,并外接了28BYJ-48 步进电机、LCD1602显示屏、RS232串口线。利用串口线将步进电机工作状态的数据上传至PC端上位机进行监测、分析和保存。芯片及其部件的基本规格已经在2。1 硬件开发工具章节中有介绍,本章节主要介绍系统各硬件部件的组织方式和协同工作原理。系统总体硬件狂图展示了基于串口通信的监控系统中硬件部件之间的组织连接、输入输出关系,如下图所示:
图3-1 系统总体硬件框图
STC89C52RC芯片是一款市面上广泛流行的微控制CPU芯片,抗静电、抗脉冲干扰能力强,电压和工作温度范围宽。矩阵键盘采用四行四列,逐行扫描的工作方式,接CPU芯片的P3引脚。A/D数模转换采用PCF8591芯片,并以IIC总线的通信方式与CPU连接,其SCL时钟总线接CPU芯片的P2。1引脚,SDA数据总线接CPU芯片的P2。0引脚,IIC的固定地址为0x90。步进电机的电源线接VCC引脚,四根用于提供脉冲的接线分别接于CPU的P1。0引脚、P1。1引脚、P1。2引脚、P1。3引脚。LED1602显示屏的RS信号接CPU芯片的P2。5引脚,RW信号接CPU芯片的P2。6引脚。RS232串口以开关串口中断的工作方式工作。使用一根RS232转 USB 的数据连接线,连接开发板的串口与PC机的USB端口,实现数据的上传。文献综述
本次设计的PCB原理图将在附录中展示。每一个模块中硬件部件的原理将在第四章模块设计中讲述。
3。2 系统软件设计
系统软件设计将从软件设计原理、程序框架设计、系统主流程三个方面进行介绍。
3。2。1 软件设计原理
(1)编程语言的选择
本次设计在采集测控端和PC监测端的代码编写上都使用了C语言作为编程语言。作为一种面向过程的结构化程序设计语言,C语言极适合大型的程序模块化设计。其函数间各自独立,并可用函数作为模块化设计的基本单位。C语言的源文件也可分割为多个源程序,在编译时可分别进行,最终将各个源文件连接起来构成目标文件,为程序开发人员带来便利。同时,C语言的语法限制不过于苛刻,程序设计自由度大,给予编程人员保留一定的发挥空间,并且有着很高的执行效率,几乎接近汇编语言。最后很重要的一点是,C语言的可移植性很高,可适用于各种计算机系统和操作系统,是嵌入式开发中最常用的编程语言。
(2)程序设计思想
本次课题的程序设计部分严格遵循合理的代码规范和模块化设计思想,以高内聚,低耦合为原则,采取自顶向下,逐层化简的方法,保证程序结构简洁、紧凑、规整,程序可读性高,编译效率优越。代码中的函数名、变量名定义都符合了一定的代码规范,代码结构灵活且紧凑,可读性和可维护性高。每个函数从函数名可以直观看出其功能,并保证内部的高内聚性。代码的注释量在30%以上,方便了代码的调试与修改。
(3)软件开发流程
在keil 中选择对应芯片,新建工程,为每个模块编写对应一个。c源文件,在主函数中整合各模块函数,最终编译链接运行生成用于采集测控端的。hex文件,烧写至开发板。在Microsoft Visual C++ 6。0中新建MFC Appwizard工程,在界面中添加控件,为控件生成槽函数,根据控件功能在槽函数内添加,最终编译链接运行,生成可执行的基础类应用程序。