⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 power.c

📁 里面给出了ATmega103单片机编程的C语言实例程序
💻 C
字号:
/* ATmega103 power.c file

   Author : Robert Stuart
   Company : PDL Industries Ltd
   Date of Creation : 6 September  1999
   Tested : Not yet

   Function :
*/

/* include */
#include "power.h"

void PowerInitialise( void )
{
  MCUCR |= BIT(SM1) | BIT(SM0);
    
  PowerStatus = POWER_RESET;
}

void INT4Interrupt( void )
{
  MCUCR &= ~BIT(SE);	        	         	/* disable sleep mode */
  
  EIMSK &= ~BIT(INT4);	 	        	/* disable external interrupts INT4 */
  EICR &= ~((BIT(ISC41) | BIT(ISC40)) & 0x00);
  
  WDTCR &= ~BIT(WDTOE);
  WDTCR |= BIT(WDE);
  
  CLEARBIT( PowerStatus, POWER_SAVE );
  
  GIE;
}

void CheckPower( void )
{
  if ( POWER_SUPPLY_OK )  	         	
    SETBIT( PowerStatus, POWER_OK );
  else
  {
    EIMSK &= ~BIT(INT4);	 	        	/* disable external interrupts INT4 */
    EICR &= ~((BIT(ISC41) | BIT(ISC40)) & 0x00);
  
    EIMSK = BIT(INT4);	 	        	/* enable external interrupts INT4 */
    EICR = (BIT(ISC41) | BIT(ISC40)) & 0x00;     	/* external low level */

    WDTCR |= BIT(WDTOE);			/* turn watchdog off */
    WDTCR &= ~BIT(WDE);
    
    PowerStatus = POWER_RESET;
    SETBIT( PowerStatus, POWER_SAVE );		/* enter sleep mode on next T0 interrupt */
  }
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -