延时函数计算(相关代码生成):
#include "reg52.h"
#include <INTRINS.H>
void Delay500ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 22;j = 3;k = 227;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2=0x55;//0101 0101Delay500ms();P2=0x00;//0000 0000 0ΪÁÁDelay500ms();}
}
LED流水灯:
使用C语言的查表和移位实现简单流水灯_c语言灯移位-CSDN博客
#include "reg52.h"
#include <INTRINS.H>void Delay1ms() //@11.0592MHz
{unsigned char i, j;_nop_();i = 2;j = 199;do{while (--j);} while (--i);
}
void Delay_time(int x)//ms
{int i;for(i=0;i<x;i++){Delay1ms();}
}
void main()
{unsigned char n;while(1){P2=0xfe;for(n=0;n<8;n++){Delay_time(200);P2<<=1;P2=P2|0x01;}}
}