LED闪烁实现
原理+代码
#include<reg52.h>
sbit L1=P2^0;
typedef unsigned char u8;
typedef unsigned int u16;
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
L1=0;
delay(30000);
L1=1;
delay(30000);
}
}
LED流水实现
原理+代码
#include<reg52.h>
#include<intrins.h>
#define A P2
typedef unsigned char u8;
typedef unsigned int u16;
void delay(u16 i)
{
while(i--);
}
void main()
{
A=0xfe;
while(1)
{
delay(30000);
A=_cror_(A,1);
}
}
总结
- 左右循环移位函数
(第一个参数是要移动的变量,第二个参数是移动的位数)移动的是0位。
左移函数对应led灯的右移,右移函数对应led左移
- 延时函数
通过让cpu不断执行循环来达到延时目的