资源描述
如有你有帮助,请购买下载,谢谢!
总程序流程图
开始
读取 AT24C02
中的数据
程序初始化
TH0、TL0Z 装初值
并允许 T0 中断
Y
秒=100 吗?
N
按键识别子程序
数据处理子程序 液晶显示子程序
将数据写入
AT24C02
结束
T0 中断子程序流程图 N
T0Y 中断入口
定时 1s 是否到?
秒+1
N
秒=60 吗?
分+1,秒=0 Y
分=60 吗?
N
时+1,分=0 Y
时=12 吗?
时Y=0
N
重置初值
返回
按键识别子程序流程图
按键子程序入口
N N N N
Key1 是否按下? Key2 是否按下? Key3 是否按下? Key4 是否按下?
延时 10ms 消抖 Y
再次判断 Key1 N
是否按下?
分+1
Y
延时 10ms 消抖 Y
再次判断 Key2
是否按下?
Y分-1
N
延时 10ms 消抖
再次判断 Key3
是否按下?
时+1
N
延时 10ms 消抖
再次判断 Key4
是否按下?
时-1
N
N
分=60?
Y
N
分=-1?
1页
N
时=12?
Y
N
时=-1?
Y
Y 如有你有帮助,请购买下载,谢谢!
分<=0 分<=60 时<=0 时<=12
N N N N
Key1 是否释放 Key2 是否释放 Key3 是否释放 Key4 是否释放
Y Y Y Y
返 回
数据处理子程序流程图
数据处理子程序入口
秒个位=秒%10
秒十位=秒/10
分个位=分%10
分十位=分/10
时个位=时%10
时十位=时/10
返回
液晶显示子程序流程图
液晶显示子程序入口
液晶初始化
写指令选择第一行
数据地址指针
延时一会
For 循环将 8 位时间
数据逐位写入显示在第一行
写指令选择第二行
数据地址指针
延时一会
For 循环将 clock-12hour
12 位数据逐位写入显示在第二行
返回
读取 AT24C02 中数据子程序
读取数据子程序入口
I2C 总线初始化
miao=read_add(23)读秒
延时
fen=read_add(24) 读分
延时
shi=read_add(25) 读时
延时
返回
数据写入 AT24C02 子程序
数据写入 AT24C02
2页
如有你有帮助,请购买下载,谢谢!
子程序入口
write_add(23,miao)写秒
延时
、
write_add(24,fen)写分
延时
write_add(25,shi)写时
延时
结束
3页
展开阅读全文