APP下载

基于S T C 8 9 C 5 2单片机的多功能测温仪设计

2013-08-15周鹏

网络安全与数据管理 2013年1期
关键词:铂电阻字型键盘

周鹏

(华侨大学 信息学院,福建 厦门 361021)

PT100铂电阻温度传感器因其测量范围广、精度高、性能稳定可靠等特点,被广泛应用于温度采集[1]。而随着液晶显示器成本逐年降低,显示容量越来越大,功耗越来越小,现已普遍应用于各种测温仪。本文基于PT100传感器,设计了一种多功能数字测温仪。系统主要功能有:数字温度显示、数字/指针时钟显示和日期显示、温度上下限值的设置、温度超限报警。

1 系统总体设计

系统主要由STC89C52单片机、温度采集电路(包括PT100温度传感器和 ADC0832)、键盘电路、LCD12864显示器和报警电路组成(如图1所示)。

图1 系统框图

STC89C52单片机用于实现算法,是整个系统的主控核心;LCD12864用于显示温度、时间和日期等参数;温度采集电路用于温度-电阻-电压的变换和模数转换;键盘电路用于设定相关参数(上下限温度值、时间);报警电路用于温度超限报警。

2 主要硬件设计

2.1 STC89C52单片机系统

STC89C52单片机系统由单片机、时钟电路和复位电路组成,如图2所示。

STC89C52单片机具有抗干扰性能强、速度快、功耗低和指令代码完全兼容8051单片机等特点。其主要参数为[2]:时钟频率最高可达 80 MHz;内置 8 KB的 Flash,512 B的 RAM和 2 KB的 EEPROM;3个 16 bit定时器/计数器,一个6向量二级中断结构。

STC89C52的P0口作为普通I/O口使用,与12864液晶显示器 DB0~DB7数据口相连,根据P0口硬件特点在其外部须接上拉电阻。

时钟电路采用内部时钟方式,为单片机系统提供时钟信号。

图2 STC89C52单片机系统

复位电路采用上电自动复位和按键复位的方式,只要保证加到RST引脚的高电平持续时间大于2个机器周期就能使单片机正常复位[3]。

2.2 温度采集电路

2.2.1测温电路

测温电路的传感器选用PT100铂电阻温度传感器。铂电阻具有以下特点[1,4]:(1)准确度高,测试范围宽,适于不同介质;(2)性能稳定,铂电阻无论在氧化环境或是在高温下的物理和化学性质都非常稳定;(3)铂电阻的重复性非常好,它的长期重复稳定性可达10-4K。

在0℃~100℃测温范围之内,PT100铂电阻阻值与温度近似满足线性关系式:

其中,Rt是 t℃时的 PT100电阻值;R0是 0℃时的 PT100电阻值,查表得 100 Ω;A=3.908 02×10-3℃。

测温电路由图3、图4和图5所示的电路组成。

图3由TL431和周边元件组成恒压源,恒定输出Vout=2.55 V至图5的运放反向输入端。

图3 恒压源恒定输出2.55 V

图4中的9013和TL431组成恒流源,在PT100上流过2.55 mA的恒定电流,并将PT100随温度变化的电阻转换为电压, 再放大10倍 (Vout2表示),输出至图5运放的正向输入端。Vout2的表达式为:

图5构成差分运算放大电路,Vout的表达式为:

图4 PT100将温度转换为电压

图5 差分放大电路

式(3)实现了温度-电阻-电压的线性转换,其中,T=0~100℃,Vout=0~5 V,Vout输出至 A/D 转换器。

2.2.2 A/D转换电路

A/D转换电路由ADC0832组成,ADC0832具有以下特点:它是一种逐次比较型、双通道A/D转换、8 bit分辨率、5 V电源供电时输入电压在0~5 V之间、工作频率为 250 kHz、转换时间为 32 μs、输入/输出电平与 TTL/CMOS 相 兼 容[5]。

ADC0832与单片机接口如图6所示。其工作过程为单片机P20输出低电平使有效,且保持该低电平直至转换结束;A/D转换时,单片机P22引脚向芯片时钟输入端CLK输出250 kHz的时钟信号;单片机P21引脚输出通道选择控制字,而后ADC0832按照时序将转换结果由D0输出至单片机。

图6 ADC0832与单片机接口

2.3 LCD12864显示电路

系统需同时显示实测温度、数字/指针式时间,显示信息量大,因此选择LCD12864 (ST7920)点阵图形液晶显示屏。LCD12864与单片机接口电路如图7所示。

图7 LCD12864与单片机接口电路

LCD12864(ST7920)具 有 以 下 特 性[6]:(1)4 bit/8 bit并行、2线或3线串行等多种接口方式;(2)显示分辨率为 128×64, 内置 8 192个 16×16点汉字和 128个 16×8点 ASCII字符集;(3)接口方式灵活、简单,可方便地构成中英文式人机交互图形界面。

LCD12864(ST7920)由 DDRAM (显示数据 RAM)、CGROM (字型产生 ROM)、CGRAM (自定义字型产生RAM)和 GDRAM(绘图 RAM)等组成,实现显示字符和图形的功能。

DDRAM模块提供64×2个位元组的空间,最多可控制4行 16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;该模块可显示HCGROM字型 (半角)、CGRAM字型及CGROM的中文字型3种字型。液晶显示器屏幕坐标(AC地址)与DDRAM地址的对应关系如表1所示。

表1 液晶屏幕坐标(AC地址)与DDRAM地址的对应关系表

CGRAM模块提供4组16×16点的自定义图像空间,可以将内部字型没有提供的图像字型自行定义到CGRAM中,便可和CGROM中的定义一样通过DDRAM显示在屏幕中。

GDRAM提供64×32个字节的空间,实际可控制128×64点阵的二维绘图缓冲空间。GDRAM的二维地址与液晶屏幕坐标的对应关系如图8所示。

2.4 其他电路

2.4.1 报警电路

报警电路由 PNP三极管(9012)、蜂鸣器及单片机的控制引脚(P21)组成。当温度超限,P21引脚输出一定频率的信号,触发蜂鸣器工作从而实现报警。报警电路如图9所示。

图8 GDRAM二维地址与液晶屏幕坐标的对应关系图

2.4.2 键盘电路

键盘电路采用中断和查询相结合的方式设定温度和调整时间。系统由4个按键组成,分别对应温度/时间设定的功能选择,数字增加和减少的调节。当有键按下时,负跳变引起INT1中断,再查询具体按键并执行相应功能。这种结构既扩充了外部中断源,减少了CPU的工作负担,又能对按键进行实时处理。键盘电路如图10所示。

图9 报警电路

图10 键盘电路

2.4.3 电源电路

LM7805三端集成稳压器和滤波电容组成电源电路,为整个系统提供稳定的工作电压。电源电路如图11所示。

图11 稳压电路

3 软件设计

主程序流程如图12所示。

图12 系统流程图

3.1 液晶显示器函数

液晶显示器的读/写数据和数字/字符、数字/指针式时钟显示等功能由驱动函数和界面显示函数完成。

驱动函数包括:忙检测 TestLcdIdle()、写入命令WriteLcdCommand()、写入数据 WriteLcdData()以及读出数据 ReadLcdData()。

界面显示函数包括:数字/字符显示DisplayDdramChar()、自定义字符显示 DrawGdramSelfChar()以及描点/画线/画圆 SetGdramDot()/DrawGdramLine()/DrawGdramCircle。

3.2 温度采集函数

启动ADC0832的温度转换和数据传输必须严格按照其时序进行,温度采集函数包括:

(1)ReadAdc0832()。 用来初始化 ADC0832/0 号通道选择/A/D转换/转换结果读两次,比较是否一致,如相等保留,否则舍弃。

(2)DisplayPt100Tempe()。用来转换并显示实测温度。

(3)DisplayPt100AlarmTempe()。用来显示设定的上限温度值。

3.3 主函数

主函数包括初始化液晶显示器以及定时/计数器等模块,而后调用温度采集、界面显示等函数。

(1)初始化

(2)时间/日期设定,日期和静态指针时钟显示:

4 实验

系统实际运行结果如图13所示。

图13中,阳历日期的格式为年/月/日。数字时钟的格式为“小时:分钟:秒”。 “S:30℃”代表设定的上限温度值;“>”代表上限温度值与实测温度值的大小关系;“23.42℃”代表实测温度值。指针时钟的圆心以GDRAM模式的坐标(0,0)为起点,坐标为(96,32),时钟半径为31;秒针、分针、时针以实际时钟方式运行。

图13 系统实际运行图片

时间和上限温度值可通过程序或键盘设定。采用去极值平均值滤波法采集温度值,实测温度的误差范围在±0.5℃/100℃之内。

经过实际运行,系统测温的精度、超限报警和界面显示等功能达到设计要求,整个电路简单实用、稳定可靠。

[1]谢伟,文小玲.铂电阻测温非线性补偿的研究[J].国外电子元件,2007(1):15-17.

[2]http://www.mcu-memory.com/index.htm,2012-06-01.

[3]张毅刚,彭喜元.单片机原理与应用设计[M].北京:电子工业出版社,2010.

[4]孙传友,翁惠辉.现代检测技术及仪表[M].北京:高等教育出版社,2008.

[5]http://www.national.com/ds/AD/ADC0832.pdf,2012-06-01.

[6]http://wenku.baidu.com/view/f3e57c0f7cd184254b3535f6.html,2012-06-01.

猜你喜欢

铂电阻字型键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
Cлово месяца
ikbc R300机械键盘
“工”字型气体静压主轴的动力学特性研究
刍议工业铂电阻温度计检定用辅助工具的设计
设施克瑞森无核葡萄“厂”字型架式栽培关键技术
冬小麦“井”字型播种模式的研究探讨
高精度铂电阻温度测量新方法探讨
“一字型”折叠翼展开试验与仿真验证分析