资源描述
多功能电子台历
一、 系统组成
1、 系统框图
如系统框图,系统通过热敏电阻与PCF8591采集温度信号,矩阵键盘输入用户指令;蜂鸣器与继电器作为温度报警装置和闹钟,采用DS1302为系统提供精确的时钟信号并用数码管显示时间信息,采用AT24C02存储芯片存储用户设置的报警温度和多路闹钟;STC89C52单片机作为系统的核心处理输入的信号和指令,并执行相关操作。
STC
89C52
矩阵键盘
热敏电阻
PCF8591
DS1302
AT24C02
蜂鸣器
继电器
数码管显示
图1 系统框图
2、 温度采集电路
如图,温度采集电路由一个热敏电阻和一片模数转换器件PCF8591组成,热敏电阻将温度信号引入到PCF8591的3号输入端口;单片机的P20、P21I/O口分别接PCF8591的SCL、SDA端,通过IIC协议与其通信,配置PCF8591的工作方式以及读出温度数据。
3、 时钟电路
如图,时钟电路由精确时钟器件DS1302和一枚给DS1302提供内部振荡源的晶振组成;STC单片机通过P13、P17、P23I/O口分别控制DS1302的复位、总线、数据端口实现对时钟电路的读写以及控制。
4、 数据存储电路
如图,存储电路由一片存储器件AT24C02以及2个10K上拉电阻构成,上拉电阻的功能是为SCL、SDA端口提供高电平使单片机可以更好的驱动AT24C02。单片机的P20、P21I/O口接SCL、SDA端口通过IIC协议与AT24C02实现读写操作。
二、 程序流程图
1、 主函数流程图
设置函数
(设置闹钟,报警温度
的上下限)
从PCF8591中读温度信号
从DS1302中读时间数据
时间显示函数
温度报警函数
闹钟检测函数
开始
初始化PCF8591
DS1302
扫描键盘
是否有键被按下?
N
Y
结束
2、设置函数流程图
N
N
Y
Y
设置函数入口
闹钟设置键被按下?
保存闹钟数据
设置闹钟时间
显示当前闹钟
返回键是否被按下?
设置函数入出口
温度设置键被按下?
保存报警温度数据
设置报警温度
显示当前报警温度
返回键是否被按下?
三、 操作说明
如图多功能电子台历共有S1-S8 8个按键,功能如下述:
S1:数码管显示的信息在时间和年月日之间切换,按一下S1切换一次;
S3:闹钟设置键,按一次S1进入闹钟设置,进入闹钟设置以后S1使设置的 位 在时分秒之间切换;
S6:报警温度设置键,按一次S6进入报警温度设置,进入报警温度设置以后S6使设置的对象在温度上下限之间切换;
S2:“—”键,设置温度、闹钟是按下S2一次对应设置的值减1;
S4:“+”键,设置温度、闹钟是按下S4一次对应设置的值加1;
S5:屏蔽键,在蜂鸣器、继电器报警时按下S5则屏蔽报警,再一次按下S5 则 取消屏蔽;
S7;闹钟切换键,在设置多路闹钟时,按S7键一次,设置的多路闹钟对象 切换 一次;
S8:返回键:按下S8一次,程序保存已经设置的数据,并且返回时间显示界 面;
例:设置闹钟为01-02-03
按S3进入闹钟设置—>按S2使小时加1
—>按S3设置分钟—>按S2分钟加1—>按S2分钟加1
—>按S3设置秒—>按S2秒加1—>按S2秒加1—>按S2秒加1
—>按S8保存设置返回时间显示界面;
S1
S8
S7
S2
S6
S3
S5
S4
展开阅读全文