这里很巧妙的用了 KeilC51 自带的函数库_crol_(),该函数包含在“intrins.h”头文件中,所以需要增加一句#include 包含该头文件。 crol()函数的功能是循环左移,如图 3-36 所示。
循环左移LED灯(跑马灯)代码如下:(P2 = crol(P2,1) ;)
#include "stc15.h"
#include "intrins.h"
sbit LED9 = P5^4;
sbit LED10 = P5^5;
sbit LED11 = P3^6;
sbit LED12 = P3^7;
void Delay100ms()
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(void)
{
unsigned char i = 0;
P3M0 = 0x00;
P3M1 = 0x00;
while(1)
{
P7 = 0xFE;
Delay100ms();
for (i = 0; i |