常用的键盘有矩阵式键盘和采用专业按键扫描控制芯片键盘。矩阵式键盘需
要通过软件对按键进行判断和定义,而本系统中因按键个数少,故采用了独立式键盘,具有结构简单,使用灵活等特点[11]。 3系统硬件设计
系统硬件电路主要有STC12C5A16S2单片机系统,AMS1117-5.0供电电路,LCD12864液晶显示电路,DS1302时间管理电路,DS18B20温度采集电路和键盘电路等。
3.1 单片机控制电路
单片机控制电路采用STC12C5A16S2。该单片机是宏晶单片机公司生产的单时钟/机器周期(1T)单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路10位A/D转换[15]。
STC12C5A16S2单片机内部包含了中央处理器(CPU)、程序存储器(flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块,几乎包含了数据采集和控制中所需的所有单元模块。
单片机控制电路以单片机作为核心,加上时钟电路、复位电路和扩展接口电
时钟电路MCS-51系列单片机复位电路接口电路路等部分,其结构如图2所示。
图2 单片机控制电路原理框图 Figure 2 MCU control circuit block diagram
图3 单片机控制电路 Figure 3 MCU control circuit
时钟电路为单片机系统工作所需的震荡,而复位电路提供复位,接口电路则可以方便以其他器件和设备的连接。其单片机控制电路电路原理图如图3所示。 3.2 系统电源电路
本系统市电供电方案采用旧手机充电器进行供电,不做叙述。其在干电池供电方案中,运用了6节干电池,所以需要将1.5V×6=9V的电压转成单片机和LCD的工作电压5V,需要讲9V转为5V。该变换芯片采用了AMS1117-5.0。
AMS1117设计的电源的最大压差不超过1.3V,输出1A电流,同时工作是的压差可以低至1V。电压压差可以随电流的减小而降低。在本系统供电中,1A的电流足以胜任系统的供电要求。
系统电源电路如4图所示。
图4 系统电源电路图
Figure 4 The system power supply circuit
3.3 时间管理电路
时间管理电路采用了DS1302实时时钟芯片,DS1302是具有低功耗、带静态RAM、能进行慢速充电的时钟芯片,可以提供秒、分、时、日、周、月、年等信息,具有月末日期自动调节和闰年校正功能[16]。芯片工作电压为2.5V-5.5V,提供主电源和备用电源双电源引脚,可以对后备电池进行涓细电流充电。采用串行接口方式与外部进行同步通信,数据可以每秒以一个字节或多个字节的形式传送时钟信号或RAM数据。
DS1302内部结构图如图5所示,主要有电源控制、输入移位寄存器、命令与控制逻辑、振荡器、实时时钟和RAM等组成[12]。
图5 DS1302内部结构图 Figure 5 DS1302 internal structure of Fig.
图6 DS1302引脚图 Figure 6 DS1302 pin diagram
DS1302引脚图如图6所示,个引脚功能如下: Vcc1:主电源;
Vcc2:备份电源。当 Vcc2>Vcc1+0.2V 时,由 Vcc2向 DS1302供电,当Vcc2< Vcc1时,由 Vcc1向 DS1302供电。
SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线;
CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE 开始控制字访问移位寄存器的控制逻辑;其次,CE 提供结束单字节或多字节数据传输的方法。
DS1302的时钟寄存器分别设置一个读地址和写地址,时间和日期全部以BCD码格式保存,通过向时钟寄存器读取或写入数据,可以完成时间读取和设置操作。表1所示为DS1302内部的时钟/日历地址[17]。
表1 DS1302寄存器 Table 1 DS1302 register
寄存器 读 写 位7 位6 位5 位4 位3 位2 位1 位0 范围
秒 81H 80H CH 十位 个位 00-59 分 83H 83H 0 十位 个位 00-59 时 85H 84H 12/24 0 十位 十位 个位 00-59 日期 87H 86H 0 0 十位 个位 01-31 月 89H 88H 0 0 0 十位 个位 01-12 星期 8BH 8AH 0 0 0 0 个位 0 星期 01-12 年 8DH 8CH 十位 个位 00-99 写保护 8FH 8EH wp 0 0 0 0 0 0 0 ---
DS1302数据输入输出方式可以是单字节传送也可以是多字节传送,每个传送过程可分为启动传送、发送命令字节和传送数据三个阶段 。
时钟管理电路如图7所示,X1、X2之间联接一个32.768kHz的晶振,BT1为3.6V充电电池,用于时钟/日历数据和静态RAM的掉电保护[18]。
图7 时钟管理电路
Figure 7 Clock management circuitry
3.4 液晶显示电路
在电子万年历系统中,采用的是点阵LCD,型号为FYD12864,他具有4位/8位并行、2线/3线串行多种接口方式,内部含有国际一级、二级简体中文字库的点阵图形液晶显示模块;其分辨率为128×64,内置8192个16×16点阵汉字和128个ASCⅡ字符集[19]。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文图形人机交互界面,可以显示8×4行16×16点阵的汉字,也
可完成图形显示,另外低电压低功耗又是一显著特点。
FYD12864点阵LCD液晶显示电路图如图8所示。
图8 FYD12864点阵LCD显示电路图
Figure 8 FYD12864 dot matrix LCD display schematic
3.5 温度传感器电路
本系统采用的DS18B20温度传感器是DALLAS公司采用1-wire总线技术的典型产品[10]。他可以将被测温度值直接转换成为数字量,因此单片机可以方便的通过串行总线实现读取。
DS18B20通过编程后,可以实现9~12位的温度度数[20]。由于DS18B20可以由数据线本身提供电源。因此与单片机连接时,需要一根数据线和地址线。其与单片机连接电路图如图9所示,所需上拉电阻在单片机控制模块内。
图9 温度传感器电路
Figure 9 The temperature sensor circuit
3.6 键盘电路
本系统中采用了独立式键盘,用来对时间的设定,电路结构简单。其电路如图10所示。