多路温度检测系统设计
摘要:设计了一种多路温度检测系统,以ADC0809和AT89S52为核心,该系统主
要有三个部分:数据采集,AD 转换,数码管显示。选用模拟信号源代替温度传
感器为输入元件,利用ADC0809转换信号,送到显示器(8个LED 数码管)循环
显示所测的八路温度数值,并根据现场工业需要,设置了一定范围的报警值,报
警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不
中断。软件算法上采用了直接拟合的方法,通过电压-温度关系来计算温度值。
该多路温度检测系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在
很多场合具有一定的适用性。
关键词: AT89S52单片机、温度采集、显示、报警
绪论
随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应
用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等
领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等
参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段
内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,
提高产品的合格率,产生良好的经济效益。
现如今,随着工、农业的发展,多路数据采集势必将得到越来越多的应用,
为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采
集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。
总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的
经济效益。
温度采集在工业中的应用越来越广泛,而且要求也越来越高,结合所学《单
片机原理与应用》课程,利用实验室已有的AT89系列单片机,做一个简易的可
多路检测温度并能在超出范围时报警的系统。该系统用AT89S52单片机作为内
核,利用ADC0809转换芯片辅助,以八个电位器作为模拟温度输入信号,一个5
路8位数码管作为显示设备。可单独循环显示每一路的温度值,并且有键盘控制
显示每路的温度值,这样可以满足在工业需要。
第一部 系统总体设计
设计应解决下列主要问题:
(1) 8路温度值(可用0-5V 电压值模拟0-100℃) 的数据采集,经A/D转换后
送入单片机;
(2) 8个键盘、8个LED 数码管显示电路,用于循环显示每一路的温度值(显
示精确到小数点后一位) ,通过按键还可以选择任意一路显示。
(3) 设温度值的正常范围为10℃-50℃,若当前温度值超过此范围,则进行
声光报警。
(4) 通过按键解除报警。
(5) 扩展功能:八路温度数值的上下限报警阈值可以按键设定。
根据设计的性能指标要求,本系统不仅要满足一定精度的温度采集的基本功
能,而且由于测量的路数为8路,还存在多路信号的循环显示问题,还要考虑温
度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。
系统结构原理图如图1所示:
图1 系统结构原理图
该系统以ADC0809和AT89S52为核心,主要由数据采集、AD 转换、数码管显示三部分组成。选用模拟信号源代替温度传感器为输入元件,利用ADC0809转换信号,送到显示器(8个LED 数码管)循环显示所测的八路温度数值,并根据需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不中断。软件算法上采用了直接拟合的方法,通过电压-温度关系来计算温度值。
第二部 系统硬件设计
一个温度采集系统,包括被采集信息的采集、转换、显示等环节。在本多路温度检测系统中,包括CPU 的选型,A/D转换电路的设计以及包括显示电路,存储器、报警电路、电源电路等设计。
(1)CPU 的选择:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。使用Atmel 公司高密度易失性存储器技术制造,与工业80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash ,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
89S52 具有以下标准功能:8k 字节Flash ,256字节RAM ,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻
辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
(2)ADC0809部分电路设计:
ADC0809是把采集的模拟量转换成数字量并传送到89S52中。它是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件并且还是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC 转换电路如图2所示:
图2 ADC0809转换电路图
(3)数码管显示电路设计:
图3 数码管显示电路图
数码管动态扫描原理:对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。
由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
第三部分 系统软件设计
软件编辑思路:数字显示----算法----一路采集----一路采集转换及显示---八路采集转换及显示----键盘小子程序----八路循环采集且键盘控制------八路循环采集且键盘控制和报警。
附录:系统原理图
多路温度检测系统设计
摘要:设计了一种多路温度检测系统,以ADC0809和AT89S52为核心,该系统主
要有三个部分:数据采集,AD 转换,数码管显示。选用模拟信号源代替温度传
感器为输入元件,利用ADC0809转换信号,送到显示器(8个LED 数码管)循环
显示所测的八路温度数值,并根据现场工业需要,设置了一定范围的报警值,报
警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不
中断。软件算法上采用了直接拟合的方法,通过电压-温度关系来计算温度值。
该多路温度检测系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在
很多场合具有一定的适用性。
关键词: AT89S52单片机、温度采集、显示、报警
绪论
随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应
用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等
领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等
参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段
内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,
提高产品的合格率,产生良好的经济效益。
现如今,随着工、农业的发展,多路数据采集势必将得到越来越多的应用,
为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采
集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。
总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的
经济效益。
温度采集在工业中的应用越来越广泛,而且要求也越来越高,结合所学《单
片机原理与应用》课程,利用实验室已有的AT89系列单片机,做一个简易的可
多路检测温度并能在超出范围时报警的系统。该系统用AT89S52单片机作为内
核,利用ADC0809转换芯片辅助,以八个电位器作为模拟温度输入信号,一个5
路8位数码管作为显示设备。可单独循环显示每一路的温度值,并且有键盘控制
显示每路的温度值,这样可以满足在工业需要。
第一部 系统总体设计
设计应解决下列主要问题:
(1) 8路温度值(可用0-5V 电压值模拟0-100℃) 的数据采集,经A/D转换后
送入单片机;
(2) 8个键盘、8个LED 数码管显示电路,用于循环显示每一路的温度值(显
示精确到小数点后一位) ,通过按键还可以选择任意一路显示。
(3) 设温度值的正常范围为10℃-50℃,若当前温度值超过此范围,则进行
声光报警。
(4) 通过按键解除报警。
(5) 扩展功能:八路温度数值的上下限报警阈值可以按键设定。
根据设计的性能指标要求,本系统不仅要满足一定精度的温度采集的基本功
能,而且由于测量的路数为8路,还存在多路信号的循环显示问题,还要考虑温
度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。
系统结构原理图如图1所示:
图1 系统结构原理图
该系统以ADC0809和AT89S52为核心,主要由数据采集、AD 转换、数码管显示三部分组成。选用模拟信号源代替温度传感器为输入元件,利用ADC0809转换信号,送到显示器(8个LED 数码管)循环显示所测的八路温度数值,并根据需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不中断。软件算法上采用了直接拟合的方法,通过电压-温度关系来计算温度值。
第二部 系统硬件设计
一个温度采集系统,包括被采集信息的采集、转换、显示等环节。在本多路温度检测系统中,包括CPU 的选型,A/D转换电路的设计以及包括显示电路,存储器、报警电路、电源电路等设计。
(1)CPU 的选择:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。使用Atmel 公司高密度易失性存储器技术制造,与工业80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash ,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
89S52 具有以下标准功能:8k 字节Flash ,256字节RAM ,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻
辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
(2)ADC0809部分电路设计:
ADC0809是把采集的模拟量转换成数字量并传送到89S52中。它是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件并且还是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC 转换电路如图2所示:
图2 ADC0809转换电路图
(3)数码管显示电路设计:
图3 数码管显示电路图
数码管动态扫描原理:对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。
由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
第三部分 系统软件设计
软件编辑思路:数字显示----算法----一路采集----一路采集转换及显示---八路采集转换及显示----键盘小子程序----八路循环采集且键盘控制------八路循环采集且键盘控制和报警。
附录:系统原理图