可以让程序在中断里面执行,这样的好处就是可以不占用主循环.
- #include "stc8g.h"
- #include "intrins.h"
-
- #define MAIN_Fosc 11059200UL
-
- typedef unsigned char u8;
- typedef unsigned int u16;
-
- void delayms(u16 ms);
-
- void INT2_Isr() interrupt 10
- {
- while(1)
- {
- P33=0;delayms(500);
- P33=1;delayms(500);
- }
-
- }
-
-
- int main ()
- {
-
- P0M0 = 0x00; P0M1 = 0x00;
- P1M0 = 0x00; P1M1 = 0x00;
- P2M0 = 0x00; P2M1 = 0x00;
- P3M0 = 0x00; P3M1 = 0x00;
- P4M0 = 0x00; P4M1 = 0x00;
- P5M0 = 0x00; P5M1 = 0x00;
- P6M0 = 0x00; P6M1 = 0x00;
- P7M0 = 0x00; P7M1 = 0x00;
-
- INTCLKO=0x10;
- AUXINTIF=0x10;
- IE2=0x04;
- EA=1;
- while(1);
-
- }
- void delayms(u16 ms)
- {
- u16 i;
- do{
- i = MAIN_Fosc /10000;
- while(--i);
- }while(--ms);
- }
-
复制代码
|