- #include<reg52.h>//
- sbitgate=P2^0;//定义P2-0口
- voidmain(void)
- {
- unsignedinti,j;
- while(1)
- {
- for(i=500;i>0;i--)
- for(j=500;j>0;j--);//双重循环,延时约1秒
- gate=!gate;//对P-0口取反,控制小灯的亮灭
- }
- }
- #include<reg52.h>
- #defineuintunsignedint
- sbitgate1=P2^0;//定义P2-0口
- sbitgate2=P2^1;//定义P2-1口
- sbitgate3=P2^2;//定义P2-2口
- sbitgate4=P2^3;//定义P2-3口
- voidmain(void)
- {
- uinti,j;
- while(1)
- {
- for(i=250;i>0;i--)
- for(j=250;j>0;j--);//双重循环,延时约0.2秒
- gate1=!gate1;//对P-0口取反,控制小灯的亮灭
- gate2=!gate2;//对P-1口取反,控制小灯的亮灭
- gate3=!gate3;//对P-2口取反,控制小灯的亮灭
- gate4=!gate4;//对P-3口取反,控制小灯的亮灭
- }
- }
- #include<reg52.h>
- #include<absacc.h>
- #defineunitunsignedint
- #defineucharunsignedchar
- sbitL0=P2^0;
- sbitL1=P2^1;
- sbitL2=P2^2;
- sbitL3=P2^3;
- uchardataBUFFER[1]={0};/*定时器计数变量*/
- voidmain(void)
- {
- P2=0x0f;//初始化端口
- EA=1;IT1=1;ET0=1;
- TMOD=0x01;/*T0方式1计时0.01秒*/
- TH0=-5000/256;
- TL0=-5000%256;
- TR0=1;/*开中断,启动定时器*/
- for(;;);
- }
- /*定时计数器0的中断服务子程序*/
- voidintserv1(void)interrupt1using1
- {
- TH0=-5000/256;//定时器T0的高四位赋值
- TL0=-5000%256;
- BUFFER[0]=BUFFER[0]+1;//定时器T0的低四位赋值
- if(BUFFER[0]==100)//百分秒进位
- {
- L3=!L3;
- L2=!L2;
- L1=!L1;
- L0=!L0;
- }
- }