/**************************************************************************** * 名称:IRQ_EINT0() * 功能:外部中断0中断处理程序。 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void __irq IRQ_EINT0(void) { EXTINT = 0x01; // 清除EINT0中断标志 dispayerclock = 0 ; displayerledmode = displaybint ; dispayerbuffer[0] = 0x00 ; dispayerbuffer[1] = 0x6E ; dispayerbuffer[2] = 0x5E ; dispayerbuffer[3] = 0x50 ; leddisdelay = 20 ; VICVectAddr = 0x00; // 中断处理结束 }
/**************************************************************************** * 名称:InitEint1() * 功能:初始化外部中断0,使能IRQ中断。 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void InitEint0(void) { INTWAKE = 0x01; // 允许外部中断0唤醒掉电的CPU EXTINT = 0x01; // 清除外部中断标志 EXTMODE = 0X01; EXTPOLAR = 0X00 ; VICVectCntl13 = 0x2E; // EINT0通道分配到IRQ slot 13,即优先级最高 VICVectAddr13 = (int)IRQ_EINT0; // 设置EINT0向量地址 VICIntEnable = 0x00004000; // 使能EINT0中断 }
/**************************************************************************** * 名称:powerrun() * 功能:掉电测试 ****************************************************************************/ void powerrun(void) { if(timepowercn==0) { displayerledmode=displaystop; timeMS = 5 ; while(timeMS != 0); PCON = 0x02; // 系统进行掉电模式 } } |