bit(ar1,@#4)=#0 *ar0=ar1 ar0=#45h ar1=*ar0 bit(ar1,@#3)=#0 bit(ar1,@#2)=#0 bit(ar1,@#4)=#0 bit(ar1,@#8)=#0 *ar0=ar1 .cpl_on_ke return
4、中断程序
/****************************************************************/ /*------------------------ 中断服务函数 ------------------------*/
/****************************************************************/ #include \
//---------------------------------------------------------
void interrupt Nmi_isr() //不可屏蔽中断 { ; }
//--------------------------------------------------------- //----------controled by IER0---------- //IV2 -- IV15:
//--------------------------------------------------------- //----------------------------------------------------10---
void interrupt ExtInt0_isr() //中断0中断子程序 { //key int ; }
//----------------------------------------------------18---
void interrupt ExtInt2_isr() //External interrupt #2 {
;
}
//----------------------------------------------------20---
void interrupt Timer0_isr() //Timer #0 interrupt { ; }
//----------------------------------------------------28---
26
void interrupt McbspRint0_isr() //McBSP #0 receive interrupt { ; }
//----------------------------------------------------30---
void interrupt McbspRint1_isr() //McBSP #1 receive interrupt { ;
}
//----------------------------------------------------38---
void interrupt McbspTint1_isr() //McBSP #1 transmit interrupt(MMC/SD1) { ; }
//----------------------------------------------------40---
/************************************************************/ /* USB Interrupt Handler */ /* */ /************************************************************/
void interrupt Usb_isr() //USB interrupt { ; }
//----------------------------------------------------48---
void interrupt Dmac1_isr() //DMA Channel #1 interrupt { ;
}
//----------------------------------------------------50---
void interrupt Dspint_isr() //Interrupt from host { ; }
//----------------------------------------------------58---
void interrupt ExtInt3_isr() //External interrupt #3(WDG) { ; }
//----------------------------------------------------60---
void interrupt McbspRint2_isr() //McBSP #2 receive interrupt { ;
}
27
//----------------------------------------------------68---
void interrupt McbspTint2_isr() //McBSP #2 transmit interrupt(MMC/SD2) { ; }
//----------------------------------------------------70---
void interrupt Dmac4_isr() //DMA Channel #4 interrupt { ; }
//----------------------------------------------------78---
void interrupt Dmac5_isr() //DMA Channel #5 interrupt { ; }
//--------------------------------------------------------- //-------- controled by IER1 -------- //IV16 -- IV23;
//IV24:Berr_INT; IV25:Dlog_INT; IV26:Rtos_INT //--------------------------------------------------------- //----------------------------------------------------80---
void interrupt ExtInt1_isr() //External interrupt #1 { ; }
//----------------------------------------------------88---
void interrupt McbspTint0_isr() //McBSP #0 transmit interrupt { ; }
//----------------------------------------------------90---
void interrupt Dmac0_isr() //DMA Channel #0 interrupt { ; }
//----------------------------------------------------98---
void interrupt ExtInt4_isr() //External interrupt #4(RTC) { ;
} //----------------------------------------------------A0---
void interrupt Dmac2_isr() //DMA Channel #2 interrupt { ;
28
}
//----------------------------------------------------A8---
void interrupt Dmac3_isr() //DMA Channel #3 interrupt { ;
}
//----------------------------------------------------B0---
void interrupt Timer1_isr() //Timer #1 interrupt { ; }
//----------------------------------------------------B8--- void interrupt IIc_isr() //IIC interrupt { ; }
//----------------------------------------------------C0--- void interrupt Berr_isr() //Bus Error interrupt { ;
}
//----------------------------------------------------C8---
void interrupt Dlog_isr() //Data Log interrupt { ; }
//----------------------------------------------------D0---
void interrupt Rtos_isr() //Real-time Operating System interrupt { ; }
//--------------------------------------------------------- //IV27 -- IV31:soft interrupt
//--------------------------------------------------------- //----------------------------------------------------D8---
void interrupt Sint27_isr() //Software interrupt #27 { ; }
//----------------------------------------------------E0---
void interrupt Sint28_isr() //Software interrupt #28 { ;
}
29
//----------------------------------------------------E8---
void interrupt Sint29_isr() //Software interrupt #29 { ;
}
//----------------------------------------------------F0---
void interrupt Sint30_isr() //Software interrupt #30 { ;
}
//----------------------------------------------------F8---
void interrupt Sint31_isr() //Software interrupt #31 { ; }
//---------------------------------------------------------- 5、延时程序 .text .global _delayMs_SYS,_delayUs_SYS ;************************** _delayMs_SYS: .if 0 pshboth(xar0) push(ar1) nop xar0 = _PWM_clockGene push(@BRC0_L) || mmap() push(@BRC1_L) || mmap() ar1 = *ar0(PWM_clockGene_ms) ar1 -= #1 delayMs_loop: brc0 = ar1 brc1 = 99 blockrepeat{ localrepeat{ ; 10 nops. nop nop nop nop nop nop nop
30