13 14 15 16 17 18 19 20 V+ EXT- PDRV PUMP EXT+ GND CSL+ CHS+ 源电压输入(+5V) 推挽式输出—驱动P沟道场效应管 电压输入—提供反压给P沟道MOSFET驱动器 电荷泵时钟以1/2震荡器频率输出 推挽式输出—驱动N沟道MOSFET逻辑电平输出 高电流地 低电流读出(正极性部分) 高电流读出(正极性部分) 由于系统采用电池供电,故本系统设计了电池电量不足示警电路,见图3-14,采用电压比较电路,选用2.5V的LM336基准电压芯片作为电压比较电路反相输入端。当电池电压低于8. 2V时,比较器的正相输入端电压低于2. 5V时,三级管导通,发光二极管亮,指示电量不足。
图3-14 电池电量不足示警电路
4 烘干炉温度自动检测系统软件设计
36
根据实际需要,单片机数据采集系统需要完成的任务有选择需要采集的通道及采集时间,并针对每个通道,采集相应的数据,进行滤波处理后存储于铁电存储器,并实时显示温度值。 4.1 软件设计方法及编程语言
软件设计中常用的方法有:模块化设计、自顶向下和自底向上设计以及结构化程序设计。模块化设计即将整个程序分解成很多小的模块,单独的进行设计、测试和维护,从而可以提高软件的可生产性、可靠性和可维护性。其突出的优点如下:
⑴ 较易于改变或增加特征,开发后易于修正错误且费用小。 ⑵ 程序编写和调试比较容易,而且比较容易维护和管理。 ⑶ 可以将复杂的大问题,划分为便于处理的小模块[12]。
由于模块化设计有许多其他设计方法没有的优点,因此,在本设计中采用模块化设计方法,按整体功能分成多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件。
目前,用于程序设计的语言基本上分为三种:机器语言、汇编语言和高级语言。根据设计任务要求,并结合实际情况,确定本设计采用汇编语言进行设计。 4.2 单片机系统软件设计
单片机是测温系统的数据采集端,它主要完成对四个测温传感器温度数据的读取、存储、实时显示。根据系统功能要求,将整个程序分为五大模块:主程序模块、数据采集及处理模块、数据存储模块、8279键盘及显示模块、串行通讯模块。
表4-1 内存地址分配表
30H——33H 3AH——3BH 显示缓冲区 滤波结果存储单元 37
40H 41H——43H 44H——4BH 50H——57H 60H——7FH 中间量存储单元 数码转换结果存储单元 A/D转换结果存储单元 4通道数据存储单元 堆栈区 4.2.1 主程序设计
系统初始化
LOOP “设置”键是否按下 开 始 设置采样间隔
数据采集、处理及显示模块 LOOP1 数据存储模块 N
“停止”键是否按下 Y N “启动”键是否按下 Y 读采样间隔 38
LOOP2
Y
图4-1 单片机系统主程序流程图
N
主程序主要将各子模块组织起来成为一个有机的整体,主程序流程图如图4-1所示。上电复位后,单片机首先进行系统初始化,之后软件查询按键状态执行相应的程序。“设定”键若按下,则开始设定采样间隔,设定完毕后,读取并显示采样间隔,然后继续检测“启动”键是否按下,若被按下则顺序执行各模块子程序,实现循环对四通道的数据按采样间隔进行采集、存储及显示。直至“停止”键被可靠按下,程序结束采集,继续检测“设定”键是否按
39
下,等待新的采样任务。主程序流程图如图4-1所示。 4.2.2 数据采集及处理模块 开始
置通道0
A/D转换 A/D转换 显 示 显 示 延 时 延 时
置通道1 置通道3
A/D转换 A/D转换
显 示 显 示 延 时 延 时
置通道2 返回
40
开始 置通道连续采样个数 启动A/D 等待转换结束 连续采样个数到否 N 均值滤波 Y 返回