欢迎来到天天文库
浏览记录
ID:15954503
大小:47.50 KB
页数:7页
时间:2018-08-06
《c8051f930rtc初始化样例程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//在32.768KHz频率下功耗很低两节电吃模式下:870uA,单节电池模式:1.238ma//本例注意发生时钟报警事件后,振荡器故障报警事件也发生#include//SFRdeclarations#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlongint#definenop()_nop_();_nop_();_nop_();_nop_();uniontcfint32{ulongmydword;struct{uchar
2、by4;ucharby3;ucharby2;ucharby1;}bytes;}mylongint;//用联合体定义32位操作#defineSYSCLK20000000//定义系统频率#defineRTCCLK32768//定义smaRTClock频率#defineWAKE_INTERVAL2000//唤醒时间间隔#defineSUSPEND0x40//定义挂起方式PMU0CF值#defineSLEEP0x80//定义休眠方式PMU0CF值#definePOWER_MODESUSPEND#defineLED_ON0#defineLED
3、_OFF1#defineCAPTURE00x00//定义smaRTClock内部寄存器CAPTURE0地址#defineCAPTURE10x01//定义smaRTClock内部寄存器CAPTURE1地址#defineCAPTURE20x02//定义smaRTClock内部寄存器CAPTURE2地址#defineCAPTURE30x03//定义smaRTClock内部寄存器CAPTURE3地址#defineRTC0CN0x04//定义smaRTClock内部寄存器RTC0CN地址#defineRTC0XCN0x05//定义smaRTC
4、lock内部寄存器RTC0XCN地址#defineRTC0XCF0x06//定义smaRTClock内部寄存器RTC0XCF地址#defineRTC0PIN0x07//定义smaRTClock内部寄存器RTC0PIN地址#defineALARM00x08//定义smaRTClock内部寄存器ALARM0地址#defineALARM10x09//定义smaRTClock内部寄存器ALARM1地址#defineALARM20x0A//定义smaRTClock内部寄存器ALARM2地址#defineALARM30x0B//定义smaRTC
5、lock内部寄存器ALARM3地址sbitRED_LED=P1^5;sbitYELLOW_LED=P1^6;sbits1=P0^2;sbits2=P0^3;//-----------------------------------------------------------------------------//函数声明//-----------------------------------------------------------------------------voidPCA_Init();voidPORT_Ini
6、t(void);voidsmaRTClock_Init(void);voidOSCILLATOR_Init(void);ucharRTC_Read(uchar);voidRTC_Write(uchar,uchar);voidTimer2_Init(intcounts);voidTIMER2_ISR(void);//-----------------------------------------------------------------------------//main()函数//----------------------
7、-------------------------------------------------------voidmain(void){ucharwakeup_source;PCA_Init();PORT_Init();PORT_Init();OSCILLATOR_Init();smaRTClock_Init();//InitializeRTCTimer2_Init(SYSCLK/12/10);//InitTimer2togenerateinterrupts//ata10Hzrate.EA=1;//Enableglobalint
8、errupts//----------------------------------//MainApplicationLoop//----------------------------------while(1){if(PMU0C
此文档下载收益归作者所有