本设计旨在实现8个LED流水灯的设计。
原理图:
参考代码:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
uint temp;
void Delay500ms() //延时0.5秒函数 //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 129;
k = 119;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
P1=0xfe; //IO口初始化
temp=0xfe;
Delay500ms();
while(1)
{
temp=_crol_(temp,1); //左移1位操作
P1=temp;
Delay500ms();
}
}
备注:
比如:P=0x 1111 1110,则
意思 | 表示 |
字符循环左移1位:_crol_ (P,1) | P=0x 1111 1101 |
字符循环右移2位:_cror_(P,2) | P=0x 1011 1111 |
有疑问者,欢迎私聊。