图4 外部电源供电方式
2. 单片机的选择
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
PDIP封装的AT89C52单片机管脚图如图5。
6
图5 PDIP封装的AT89C52单片机管脚图
3. 显示器的选择
由于设计中要求同时显示测试温度、温度上限、温度下限和开机时间,因此显示屏首先要能够一次性容纳这些字符。工作电压不能太高,与单片机的连接方式需要简单,显示准确。本设计中采用的是1602型LCD液晶屏能够很好的满足这些要求。
此液晶属于工业字符型液晶,能够同时显示16x02即32个字符。LCD液晶显示器是一种低压、微功耗的显示器件,只要2~3V就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线,比传统的数码LED显示器显示的界面有了质的提高。在仪表和低功耗应用系统中得到了广泛的应用。
1602有很多优点:
(1) 显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒定发光,因此液晶显示器的画质高而且不会闪烁;
(2) 数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便;
(3) 功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动IC上,因而耗电量比其他器件要小很多;
1.2.3 电路设计
1. 系统电路设计
单片机最小系统如图6所示
7
图6 单片机最小系统
这部分为单片机复位电路和时钟电路。单片机复位后,程序计数器PC=0000H,即指向程序存储器0000H单元,使CPU从首地址重新开始执行程序。产生单片机复位的条件是:在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟震荡周期建立时间再加2个机器周期时间(一般不小于10ms)。
时钟电路通过单片机的XTAL1和XTAL2引脚外接定时元件12M的晶振,电容C1和C2一般去30pF左右,主要作用是帮助振荡器起震。晶体振荡频率高,则系统的时钟频率也越高,单片机运行速度也就越快。 2. 显示电路设计
LCD1602显示电路原理图如图7所示
8
图7 LCD1602显示电路
此部分为LCD1602显示电路,通过10K可调电阻可以调节1602背光显示亮度。P0口接一个10K的上拉排阻。
三个DS18B20接线如图8所示,每个传感器接一个I/O口。
图8 DS18B20接口电路
单总线型DS18B20温度传感器采用一个DS18B20接一个I/O口的形式,大大简化了程序编写难度,通过排针可外接电源供电。
1.2.4 软件设计
1. 初始化子程序
DS18B20初始化程序严格按照DS18B20的时序来编写,微处理器开始发送一个复位脉冲(在480us~960us之间),接着数据线释放拉到高电平1,如图9所示。
9
图9 初始化子程序流程图
2. 温度转换
由三片DS18B20是串接在不同的I/O,读取温度的子是程序独立分开,但工作原理一样。
以单个为例,首先调用DS18B20初始化子程序对它进行初始化,然后发跳过匹配ROM命令,接着发温度转换命令完成温度转换,该命令主要是完成温度的A/D转换,读取温度程序是在转换结束后才能读取当前温度值。其它两片工作原理一样。工作流程图如图10。
图10 温度转换流程图
3. DS18B20写子程序
10