相关代码: ///跑马灯升级版! #include “STC15F2K60S2.h”
//sbit H138_A=P2^5; //sbit H138_B=P2^6; //sbit H138_C=P2^7;
void Delay(unsigned int t)//不能用unsigned char 范围不够 { while(t–); while(t–); }
void InitH138(unsigned char n) { switch(n) { case 4://让Y输出低电平。 P2 = (P2 & 0x1f) | 0x80.//不打括号行吗? break; case 5://让Y输出低电平。 P2 =(P2 & 0x1f )| 0xa0; break; case 6://让Y输出低电平。 P2 =(P2 & 0x1f )| 0xc0; break; case 7://让Y7输出低电平。 P2 =(P2 & 0x1f)| 0xe0; break; }
}
void OutputP0(unsigned char channel,unsigned char dat) { InitH138(channel); P0=dat; }
void LEDrunning() { unsigned char i;
for(i=0;i<3;i ) { OutputP0(4,0x00); Delay(120000); OutputP0(4,0xff); Delay(120000); } for(i=0;i<3;i ) { OutputP0(4 , 0xff<<i); Delay(120000); } OutputP0(5 , 0x10); Delay(120000); OutputP0(5 , 0x00); for(i=0;i<3;i ) { OutputP0(4 , ~(0xff<<i)); Delay(120000); } OutputP0(5 , 0x40); Delay(120000); OutputP0(5 , 0x00);
}
void Initsystems() { OutputP0(5 , 0x00); }
void main() { while(1) { LEDrunning(); } }