/*#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned int i = 0; //定义循环变量 i,用于软件延时
unsigned char cnt = 0; //定义计数变量 cnt,用于移位控制
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
while (1) //主循环,程序无限循环执行该循环体语句
{
P0 = ~(0x01 << cnt); //P0 等于 1 左移 cnt 位,控制 8 个 LED
for (i=0; i<20000; i++); //软件延时
cnt++; //移位计数变量自加 1
if (cnt >= 8) //移位计数超过 7 后,再重新从 0 开始
{
cnt = 0;
}
}
} */
/*#include <reg52.h>
#include<intrins.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned int i=0;
unsigned char cnt=0;
ENLED=0;
ADDR3=1;
ADDR2=1;
ADDR1=1;
ADDR0=0;
while(1)
{
/*P0=~(0x01<<cnt);
for(i=0;i<30000;i++);
cnt++;
if(cnt>=8)
{if(cnt!=0){
P0=~(0x10000000>>cnt);
for(i=0;i<30000;i++);
cnt--;}}
else{
P0=~(0x01<<cnt);
for(i=0;i<30000;i++);
cnt++; }
}}*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define
嵌入式 左右循环流水灯
最新推荐文章于 2024-04-28 21:56:41 发布