电路说明:
*单片机为ATmega8L,外接32.768KHz手表晶振,数码管为4位共阳极,
热敏电阻为MF58,100K的,用了光敏电阻,用于调节数码管亮度,降低功耗.
在阻暗房间里平均电流约1mA.
程序说明:
*熔丝设置为D9E1,使用片内RC的1MHz
*外接32.768KHz手表晶振作为T2的异步时钟源
*由光敏电阻测量环境亮度,热敏电阻(MF58,100K)测量温度
*使用4位共阳极数码管,修改程序需注意段取反
*MCU平时工作于"省电模式",由T2唤醒后,动态扫描LED,且处理计时,
为了调节LED亮度,启动T0,且设置为"空闲模式",T0中断里关T0
和LED,且设置为"省电模式"
*按键与LED的段复用
键1:SET,设置,相应参数闪烁,再按选择下一个参数
键2:INC,增加,让闪烁的参数增加,长按此键连续增加
键3:ALM,闹铃开关,切换闹铃的开关状态
键4:未用
*按键若在10秒内无操作,将回到待机状态
*待机状态按下键2,显示闹钟时间,若整点报时开启,则最右边小数点亮起
在按下键2之后按下键1,可切换整点报时的开关
*待机状态下,显示4秒时间,再显示2秒温度,小时的个位小数点闪烁
数码管亮度缓慢变化,有萤火虫效果.
若闹钟是打开的,则最右边一位数码管的小数点点亮
*设置参数状态下,设置闹钟时,小时的小数点不闪 |