1.2 设计目的
本设计以单片机为核心,通过温度传感器采集温度信息,在显示器上能显示当前时间和温度信息,扬声器连接语音芯片播报当前温度值。这个设计可实现即时播报,这些都是由按键控制。本设计可自行设定温度上下限值,若当前温度不在限定范围内,超过或低于温度上下限值,系统则会报警提醒,现场人员接到报警信息进行温度控制。
2 方案研究探讨
2.1 设计要求
本设计旨在实现温度采集、显示、语音播报、报警等功能,具体如下:
(1)显示当前温度;
(2)手动控制语音的播报;
(3)若超过设定温度上下限值,蜂鸣器报警;
(4)温度显示稳定,误差≤±1℃
2.2 设计方案
根据设计要求,对不同的显示器方案、测温方案、语音播报方案进行比较,分析各方案的优缺点,选取最佳方案。具体如下:
(1)显示器方案
方案一:
温度显示器采用LED数码管显示。
方案二:
显示器采用LCD1602双行显示。
通过比较,方案一数码管只能显示当前的数字,很多具体信息不能显示,界面过于精简;方案二显示信息效果较好,能够显示更多有效信息,故选择方案二。
(2)测温方案
方案一:采用模拟温度传感器测温
方案二:采用数字温度传感器
综合考虑,方案一虽然应用比较广泛,但单片机不易通过编程来处理热敏电阻的温度信号,而且精确度不高,稳定性较差;方案二不仅编程简单,硬件电路也不繁琐,工作性能稳定,符合要求,故选择方案二。
(3)语音播报方案
方案一:通过A/D转换器、单片机,存储器,D\A转换器实现声音信号的采样、处理、存储和实现。
方案二:采用ISD1420语音录放。
通过比较方案一可以实现系统的播报操作,但是对编程的要求加大,工作量增大不少。而且用到的元器件多,对系统的稳定性影响大,最后做实物调试时会出现较大波动;方案二ISD1420是一款集成语音芯片,它可以分段录音和播放,性能稳定,电路结构也不难,适合用来做设计,故选择方案二。
3 总体设计
由于本设计采用的方案是基于STC89C52单片机和ISD1420语音芯片的自动播报温度系统。显示器要不断显示当前温度,且LCD的价格也不会比数码管高太多,故本次设计的显示器采用LCD来显示,虽然对LCD的编程上较为麻烦,但是能显示的信息多,人性化更强。图3-1是这次设计的系统框图:
图3-1 系统框架图
4 硬件设计
4.1 单片机设计及简介
单片机经过几十年发展,日趋成为当今的主流控制芯片,其体积小,引脚功能强大等特点是它流行的主要原因。在这次设计中,电路比较简单,使用到的芯片都很常见,不需要使用到其他的高性能单片机,我使用的是最常见的51系列单片机。
常见的51单片机分为89C51和8051单片机,89C51单片机可以说是8051的一个分支,89C51的指令系统完全吻合。这次设计中用到的是89C51系列单片机。具体的说是STC89C52单片机。STC89C51和STC89C52单片机基本上可以说是同一款芯片,不同的是内部能存储的程序文件。STC89C52单片机内部能存8K的程序文件,STC89C51单片机内部能存4K的文件,两者的区别仅仅在于此。本次设计的程序量较大,所以选择了能存储较多程序文件的STC89C52单片机。鉴于绝大多数人都只见过AT89C51单片机而没见过STC的,是因为AT公司是大公司,规模在全世界范围,而STC规模较小。但是AT89C51和STC89C51几乎是完全相同的芯片,虽说生产厂家不同,但是这两者的程序可以直接通用,不用改。STC公司的单片机虽然名气不高,但是它把KEX文件烧录到实物中去是非常方便的。不像AT系列单片机需要通过USBAP口来下载。