图5 晶振电路
2.5 下载电路
由于AT89S52支持flash在线写入、擦除,所以下载电路是必不可少的部分。由下载口进行单片机与电脑的连接。并有下载电路产生电源提供给单片机工作。
下载电路主要是USB下载口(ISP)构成,1脚接P1.5;3脚接RET;4脚接P1.7;5脚接P1.6;10脚接VCC,6、7、8、9脚接GND;。通过下载口实现计算机与单片机的通信。下载电路如图6所示。
图6 下载电路
2.6 液晶电路
LCD12864显示器用于输入信号以及运算结果的显示。内部的点阵液晶显示模块是由国标一级、二级简体的中文字库组成;其屏幕分辨率即为128×64,并且其内置8192个16×16点汉字,同时支持显示128个16×8点的ASCII字符集,该模块以灵便的对接方式、简便的操作指令,12864型LCD基本操作程序如表1所示。
6
表1 LCD12864基本操作程序
操作 读状态 写指令 读数据 写数据
输入
RS=L,R/W=H,E=H
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
RS=H,R/W=H,E=H
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出 D0—D7=状态字
无 D0—D7=数据
无
电路主要由50K的滑动变阻电位器、可变换串行及并行通信方式的短接电路、供电电路构成,滑动变阻电位器主要用于调节LCD12864的亮度, LCD点阵SCLK(E)连至P3.7,点阵SID(RW)连至P3.6,点阵CS(RS)连至P3.5。液晶显示电路如图7所示。
图7 液晶显示电路
7
2.7 键盘电路
键盘电路的作用是给单片机系统提供输入信号。通过外部按键使单片机接收信号,课程设计采用行列式键盘,主要由4×4=16个按键组成,每个按键的两端分别接两个I/O口。键盘电路如图8所示。
图8 键盘电路
2.8 测温电路
DS18B20是常用的温度传感器,主要根据应用场合的不同而改变其外观,封装成后可应用于多种场合。具有体积小,硬件开销低,抗干扰能力强,精度高,耐磨耐碰,使用方便,封装形式多样的特点,适用于各种狭小空间设备数字测温和控制领域。
测温电路的作用是使用温度传感器DS18B20给单片机系统提供输入信号。单片机通过P3.3口接收到温度,然后显示在液晶显示屏上。测温电路如图9所示。
图9 测温电路
8
3 数字温度计软件系统设计
应用C语言编来编写课题程序,它由监控程序、LCD12864显示程序、按键控制程序、延时程序、DS18B20工作程序等模块组成。同时,也都给出了较为详细的流程图。具体程序见附录A。
3.1 单片机资源使用
P1: 键盘输入输出口。 P2: 液晶并行输出口。 P3.0:蜂鸣器输出口。 P3.1:指示灯输出口。 P3.2:指示灯输出口。 P3.3:DS18B20输入输出口。 P3.7:E(12864液晶)。 P3.6:RW(12864液晶)。 P3.5:RS(12864液晶)。
3.2 监控函数模块
主函数 int main(),用于设置初始化界面,调用各个主要模块,主要实现数字频率计的调温度上限、调温度下限、暂停、返回灯整体功能。相关程序流程图如图10所示,具体程序见附录A。
9
开始显示界面键扫是否有键按下显示界面YesA键是否按下调报警温度上限键扫NoB键是否按下Yes调报警温度下限键扫NoE键是否按下Yes显示界面固定键扫NoYesC键是否按下No温度是否高于报警温度上限NoYes高温度报警键扫低温度报警键扫图10 主函数流程图
3.3 液晶显示模块
液晶显示是通过在主程序中调用相关的液晶功能函数来执行相应功能,经过液晶接在单片机上的P2部分管脚,通过液晶功能函数LCD12864的调用对液晶进行操作,将各类指令写入液晶模块,用来驱动液晶以实现不同的显示功能。简单来说,就是用作LCD12864液晶屏显示,将显示的数据以形参传送至LCD12864模块化函数中,将需要显示的内容显示在LCD12864液晶屏上。相关程序流程图如图11所示,详细程序见附录A。
10