宏定义
#include<iocc2530.h> #define LED1 P1_5 #define LED2 P1_0 #define LED3 P1_3 #define LED4 P1_4 #define uchar unsigned char #define uint unsigned cint
初始化引脚 IO
void Initial_LED(void) { P1SEL &= ~0x39;//功能寄存器 :0为普通IO口,1为第二功能–外设 P1DIR |= 0x39;//方向寄存器 :0为输入 , 1为输出 P1&=~0x39;//将四个灯熄灭 }
延迟函数
void Delay(uint time) { uint i; uchar j; for(i=0;i<time;i++) for(j=0;j<240;j++) { asm("NOP");//asm是内嵌汇编,nop是空操作,执行一个指令周期 asm("NOP"); asm("NOP"); } }
执行策略一
main() { Initial_LED(); while(1) { LED1=1;//第一盏灯亮 LED2=LED3=LED4=0;//其余三盏灯灭 Delay(12000);//延迟1.2s LED2=1;//第二盏灯亮 LED1=LED3=LED4=0; Delay(12000); LED3=1;//第三盏灯亮 LED2=LED1=LED4=0; Delay(12000); LED4=1;//第四盏灯亮 LED2=LED3=LED1=0; Delay(12000); } }
执行策略二
/************************也可采用下面一种方法************************/ main() { uchar i; uchar stat[]={0x01,0x08,0x10,0x20}; Initial_LED(); while(1) { for(i=0;i<4;i++) { P1=stat[i]; Delay(12000); } if (i >3) i = 0; } }