DS12C887和DS18B20芯片的读写操作来获取相应的信息,再通过对液晶的编程控制将获取到的信息通过一系列转换从而显示到1602液晶上。最后达到有电子万年历和温度采集报警等功能。系统论证时通过在单片机学习板上的试验操作,能够达到预期的效果!
1.2最终方案确定
核心控制体:STC89C52单片机 实时时钟芯片:DS12C887 数字式温度传感器:DS18B20
总共设有四个按键,为节约资源考虑,每个按键都有多种功能。每个按键分别标号为A,B,C,D.第一次按下B,C,D都没有反应,首先按下A键可选择指针位臵,B,C键为加减键,D键为闹钟设臵键。B同时又是闹钟报警消除键。操作简单,按键灵活。两个报警模块,分为温度报警和闹钟报警两种。
二、电子万年历与温度采集报警硬件设计和实现
2.。1系统设计框图
1602显示模块 主 控 时钟模块 键盘扫描模块 模 块 温度检测模块 报警模块 图1 系统组成框图
2.1.2系统硬件需求介绍
STC89C52单片机一片,DS12C887实时时钟芯片一个,DS18B20数字式
温度传感器一个,+5V无源蜂鸣器二个,12MHZ晶振一个,多个按键和开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个,USB母口一个。
2.2系统硬件各模块作用
2.2.1单片机核心控制模块
核心控制器件选用STC89C52单片机。STC89C52单片机为40管脚双列直插芯片,它是一种高性能,低功耗的8位CMOS微处理器芯片,市场应用最多。而且价格便宜,控制方便,便于应用有4个I/O口分别为P1,P2,P3,P4。其中每一个管脚都能做独立的输入输出管脚,它的第9脚位复位管脚,接上电容和上拉电阻再带个开关构成复位电路。18,19管脚接外部晶振和两个微调电容构成外部晶振电路。单片机,复位电路,晶振,5V电源构成单片机最小系统。其中与AT89S52单片机管脚容。
图2 单片机最小电路
图2为单片机最小电路,其中晶振频率可以根据自己需要进行选择,范围在0-24MHZ,常用12MHZ。复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。还有其P0内部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。
P0口有两个作用,一个接上DS12C887的AD0-AD7(双向地址/数据复用总线),控制着DS12C887的8位并行数据的地址和数据的传输,另接上液晶的DB0-DB7(数据总线)控制着向液晶发送8位并行数据。P1^7接上DS18B20的单数据线,发送并接受数据,地址的操作。P3^0到P3^3作为独立按键口。P2^4口为液晶的数据/命令选择端,1为数据,二为命令,P2^5口控制液晶读/写选择端,1为读命令,0为写操作,P2^6口控制液晶使能信号。对DS12C887:P2^0口控制DS1`2C887的片选信号的输入(CS),P2^1口控制地址选通输入(AS),P2^2口为读写输入(R/W),P2^3控制着数据选通或读输入(DS)。P3^2(外部中断0)接reset管脚,当闹钟时间到时便由此触发外部中断0,进入到外部中断0程序中。P1^0和P1^1口分别控制着蜂鸣器的报警,当温度、时间到达限定值时会发出高低电平脉冲,以至发出报警声音。
2.2.2实时时钟电路模块
时钟模块选用DS12C887芯片,DS12C887芯片能够自动产生世纪,年,月,日,星期,时,分,秒信息,闰年补偿至2100年,具有闹钟功能。内部自带锂电池,在外部掉电时信息不丢失,并且能精确走10年之久。同时DS12C887能自动检测电源故障和切换电路,有工业级温度范围。此芯片可以广泛应用于对环境要求严格的控制系统中。如嵌入式系统,电表,安全系统,网络集
线器,网桥,路由器。
图3 DS12C887硬件连接图 D12C887电路图,工作电源采用5V。
第一管脚(MOT)是Motorola或Intel总线时序选择端,利用此引脚选择两种总线类型中的一种,连接到Vcc时选择Motoroal总线时序,接GND或悬空选择Intel总线时序。该引脚内部有一个下拉电阻。
D0到D7为双向地址/数据复用总线。地址于总线周期的开始发送到总线上。并由AS信号的下降沿锁存到DS12C887中。所写的数据由DS信号的下降沿(Motoroal时序)或R/W信号的上升沿(Intel时序)锁存。读周期中,DS12C887于DS信号的后期(Motoroal时序中DS和R/W均为高,Intel时序中DS为低、R/W为高)将数据发送到总线上。读周期结束后,总线恢复到高阻状态,同时DS在Motoroal时序中变低,在Intel时序中变高。12脚为GND。 13脚叫CS-片选信号输入,片选信号低电平有效,在访问DS12C887的总线周期内必须保持低电平Intel时序中的DS和R/W信号工作期间,CS必须保持有效,在CS信号无效情况下,总线操作将锁存地址,不能访问芯片。当
Vcc低于Vpf电压时,DS12C887内部通过禁止CS输入来拒绝访问,此举旨在断电时保护RTC数据和RAM数据。所以在访问期间CS片选信号应保持低电平。 14管脚AS-地址选通输入。有低变为高的地址选通脉冲用来分离总线信号。在AS信号的下降沿,地址锁存到DS12C887内,无论CS信号是否有效,AS的下一个上升沿都将清除地址,地址选通信号必须先于每个读或写访问。如果在CS信号无效的情况下执行了读或写操作,则必须在CS信号有效时且在读或写访问之前,从新发送一次地址选通信号。
15管脚R/W读/写输入。R/W引脚有两种操作模式,在MOT引脚接Vcc的Motoroal时序中,R/W电平用来指示当前周期是读还是写。DS为高时,R/W为高电平表示读周期,R/W为低电平则表示写周期,在MOT引脚接GND的Intel时序中,R/W为低电平有效,在此模式下,R/W引脚与普通RAM的写时能信号(WE)工作方式类似,在信号的上升沿锁存数据。
17管脚DS-数据选通或读输入,DS引脚根据MOT引脚电平有两种模式,MOT引脚接Vcc时,选择Motorola总线时序,此模式下,总线周期的后期DS为正脉冲,称作数据选通脉冲,在读周期中,DS表明DS12C887将要驱动双向总线,在写周期,DS信号的下降沿使使DS12C887锁存所写的数据,当MOT接GND时,选择Intel总线时序,DS表示读取DS12C887数据驱动总线的时间周期,此模式下,DS引脚与普通RAM的输出使能信号(OE)工作方式类似。 18管脚RESET-复位输入,低电平有效RESET引脚对时钟、日历或RAM不起作用,上电时可将RESET引脚首先保持低电平,以等待电源稳定下来,保持低电平时间可根据应用需要而定,但是,如果上电时使用RESET信号,RESET