文章正文

诗词 散文 小说 杂文 校园 文苑 历史 人物 人生 生活 幽默 美文 资源中心小说阅读归一云思

单片机的系统软件设计

时间:2023/11/9 作者: 文艺生活·中旬刊 热度: 17954
江伟

  摘要:单片机的系统软件设计主要有语言和环境的开发,软件资源分配和芯片端口地址和系统主程序模块等几个板块。本次设计采用单片机进行控制,由温度检测电路、显示电路、A/D传换电路、执行机构、控制电路和单片微处理器等组成。用单片机作为控制器,可对执行机构发出指令,实现温度参数调节,具有上下位机直接设置温度范围,温度实时显示等功能,能够较好地对培养溶液进行实时的控制。

  关键词:系统软件;温度监控;微处理器;参数调节

  一、开发语言和开发环境

  本设计中采用汇编语言编程,汇编语言就是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,与机器语言是一一对应的。它是为了弥补机器语言不易记忆,不易查错和不易修改而产生的一种低级语言。

  所谓程序设计就是用计算机能够识别的语言,把需要解决的问题的步骤描述出来单片机不像其他微型计算机有自己的系统软件,所有的单片机程序均需要用户自己设定程序。到目前为止,虽然已经有绝大部分的单片机都能够在一些高级语言环境下编程,但汇编语言也有许多优点是其他高级语言所不具有的。

  如:程序结构紧凑、占用的内存和CPU资源少;程序简短、执行速度快;与计算机内部硬件结构紧密、能充分发挥硬件的作用;实时性强、适用于实时检测控制系统。

  二、软件资源分配和芯片端口地址

  在系统软件设计中,充分考虑了与硬件电路有机结合,利用8051单片机的优异特性实现对温度检测控制。系统采用模块化设计,在主程序下分成若干彼此独立的功能模块,如温度采集模块,键盘输入模块,显示输出模块,继电器控制执行机构输出模块,串行口通讯模块等。由硬件接线图可以得到如下地址:

  1.8155H既可以用來做扩展的I/0口使用,也可以用作RAM使用,在本系统中,8155H用作I/0口来使用,各端口地址如下:

  控制口地址:7EOOH

  PA端口地址:7E01H

  PB端口地址:7E02H

  PC端口地址:7E03H

  2.通过键盘设定的温度上限放在:46H,下限放在:47H。

  3.ADC0809通道0为温度转换口,其地址为:7FF8H。

  4.ADC0809的转换结果存放在:40H。

  转换的数字量再经过处理得到温度值所对应的BCD码,最终结果存放在:42H。再将个位和十位依次分离,放要显示的结果到内存单元。

  温度十位放在:30H:

  个位存放在:31H

  三、系统主程序模块

  在本设计中,温度上、下限的设定值可以通过键盘设置,也可以通过PC机设置,从而实现对培养容器的远程控制。因此,在系统初始化完成后,根据条件选择所需要的过程即可。

  四、初始化子程序模块

  程序初始化是对系统中所使用到的模块进行初始设置,其目的就是为了让硬件模块符合在控制软件中的使用要求。在此系统中,用到了两次中断。一次是在A/D转换结束后采用了一次中断,用来读取转换结果和启动下一次转换,还有就是PC上位机远程控制用到了另一个中断。

  五、显示子程序模块

  显示选用2位动态显示,2位显示温度,均不用显示小数点。由于位信号开始为1110,即数码管对应的位信号是低电平时表示该位选通并显示出来。

  因此,在依次显示4位数码管时,只需要将R2中的位选通信号依次左移,直到R2左移为0000,说明此时4位数码管均已显示,然后返回主程序即可。

  六、温度值与显示码转换子程序模块

  从温度传感器AD590采集过来的实际温度值经过ADC0809转换后,只是得到了与此温度相对应的数字量,因此,根据实际温度与数字量之间的线性关系可以得到实际温度值。

  然后先需要将此温度转换为BCD码存入单片机,再将此码分离得到要显示温度的十位和个位放入指定的内存单元即可。

  七、执行机构控制子程序模块

  温度参数采集过来后经过一系列转换后存入单片机,与由键盘设定的温度上、下限比较。

  单片机可以根据比较的结果对电流继电器线圈发出相应的信号(从单片机出来的电流很小,必须经过三极管放大才能取驱动电流继电器线圈),并通过电流继电器衔铁的吸合去控制相应的电流继电器进行动作。

  衔铁是否吸合可以通过单片机I/0口的高低电平去控制,然后通过继电器去控制诸如降温泵、加热器等执行机构去操作,以此来调节培养容器温度的状态,使其控制在设定的范围之内。

  由于培养容器温度变化不是特别快,系统要求的精度也不是特别高,可以不用控制算法去精确计算,只用高低电平来控制即可。
赞(0)


猜你喜欢

推荐阅读

参与评论

0 条评论
×

欢迎登录归一原创文学网站

最新评论