全部博文(321)
分类: 嵌入式
2014-05-14 23:22:35
1.实时时钟(RTC)单元可以再系统电源关闭后通过备用电池继续工作。
2.RTC单元工作在外部32.768KHZ晶振并且执行闹钟功能。
3.存在寄存器里面的值都是BCD码。所以要通过转化。
4.存进去BCDYEAR=(year/10<<4)|(year%10);
5.取出来year=(BCDYEAR>>4)*10|(BCDYEAR&0XF);
6.读写使能时才能对寄存器进行读写;rRTCCON=0X1;写完后RTCdisable=0x0;
7.注意:不要用宏,容易出错,因为是计算的,速度也会变慢。最好用逻辑运算符|。速度比较快。
8.闹钟设置tick计数器,rTICNT = (127&0x7f)|0x80;//127+1刚好1s执行一次中断,可以获取时间。注:rINTMSK &= ~BIT_TICK;是&=,不能影响其他位,若=将流水灯不能工作和蜂鸣器不能响;在这边又再次犯下一次错误。同理,这边要写rTICNT时,也要将rRTCCON 进行开关。执行中断处理函数时,要进行清除中断挂起。
9.同理设置时间,只是闹钟没有设置星期。通过设置alarmINTERRUPT中断开关,可以当做设置闹钟的开关。
10.闹钟响后执行中断处理函数。可以使用蜂鸣器进行提示。同理要清除中断挂起。