电子计数:103=10 00=1k欧姆(即最后一个数就是几个零)
单片机的延时算法(好傻啊)
led闪烁:
#include <REGX52.H>
void Delay1s(float i);//每单位延时一秒左右;
void main(){
P2=0;
Delay1s(0.5);
P2=0xff;
Delay1s(1.0);
}
void Delay1s(float i)
{
unsigned int j=100000*i;
while(j>0)
j--;
}
#include <REGX52.H>
void Dealy(unsigned xms){//?óê±x??£?12Mhz;
unsigned int i,j;
while(xms--){
i=2;
j=239;
do
{
while(--j);
}while(--i);
}
}
void main(){
while(1){
P2_0=0;
Dealy(1);
P2_0=1;
Dealy(1);
}
}
?按键通过延时消除抖动;
#include <REGX52.H>
void Dealy(unsigned xms){//延时x秒;12Mhz;
unsigned int i,j;
while(xms--){
i=2;
j=239;
do
{
while(--j);
}while(--i);
}
}
void main(){
unsigned char LEDNum=0;//51单片机用unsigned char定义缓存区,八位二进制;
while(1){
//按键消除抖动
while(1){
if(P3_1==0)
{
Dealy(1);
if(P3_1==0)
{
LEDNum++;
P2=~LEDNum;
}
}
}
}
}
|