51单片机“世界时间” 程序设计 求助 要求如下

1. 用6个数码管分别显示时、分、秒;
2. 用一块时钟芯片作为时间基准,用一组按钮可设置当前时间及4个闹钟时间;
3. 当某个闹钟时间到时,蜂鸣器连续发声,数码管显示闪烁三次,知道按下停止按钮,数码管继续显示时间;
4. 能用按键选择显示六个世界主要城市的时间中的某一个;
5. 具有校时功能;
电路图如下
四个键的功能分别是
hour 按一下小时加一 min 按一下分钟加一
set 按一下进入闹钟设定 用hour 和min 设定闹钟
time 用于切换世界时间显示

求高手写出程序代码 最好是c语言的

说个思路吧,程序大概分这几个部分
1 显示部分,六位数码管,置于连接方式可以选择动态扫描、串行静态显示、并行静态显示
2 rtc时钟,时钟芯片可以选择ds1302,这个最常用了用于保存时间,连接上备用电源,掉电数据不丢失
3 按键部分,这个是整个程序的精髓,按键处理不好这个系统也就没什么意思了,按键扫描可以使用状态机的方式
4 系统时钟,这个需要占用一个定时器,用于刷新显示,扫描按键,以及处理各种状态(这个可能不是很好理解仔细琢磨一下吧)
5 蜂鸣器报时部分,这个需要占用一个定时器,或者直接与系统时钟揉在一起,如果处理的好也可以播放音乐
*6 这个系统理论上应该搞一个flash用来存储定闹的时间,不然每次重开机都要重新设定闹钟,当然ds1302里面有个ram,不知道备用电池的情况下数据会不会丢失,如果不丢,那flash就可以省了。

大概就这几个部分,时间设置,闹钟设置,都属按键处理,置于显示六个时区时间也就是差整数个小时的问题,显示部分和按键处理部分要协调好,这个是整个系统的难点,除此之外也就没什么了

总结一下,这里用到的知识有数码管扫描,ds1302控制(i2c总线),按键处理,51定时器使用,51中断使用,51IO引脚控制,如果考虑蜂鸣器播放音乐这里还有PWM脉冲的相关知识。
代码估计不大可能会有人给你写,交给你个思路也让你有点方向,没有不劳而获的好事,没有free beer。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-15
你以为人家的劳动成果都是白送人的!
第2个回答  2011-10-15
直接要?

51单片机“世界时间” 程序设计 求助 要求如下
1 显示部分,六位数码管,置于连接方式可以选择动态扫描、串行静态显示、并行静态显示 2 rtc时钟,时钟芯片可以选择ds1302,这个最常用了用于保存时间,连接上备用电源,掉电数据不丢失 3 按键部分,这个是整个程序的精髓,按键处理不好这个系统也就没什么意思了,按键扫描可以使用状态机的方式 4 系统时钟...

相似回答
大家正在搜