标题:
基于51单片机的不同模式流水灯程序(3种方法)
[打印本页]
作者:
linminjy
时间:
2021-11-10 15:29
标题:
基于51单片机的不同模式流水灯程序(3种方法)
1.延时函数:i==500
2.从一个LED变到另一个LED间要添加延时函数(间隔要适度),否则变化太快仿佛在抖动。
3.key()函数中添加while(KEY==0); 检测按键是否弹起,否则按键计数可能不对
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png
(26.5 KB, 下载次数: 66)
下载附件
2021-11-10 17:03 上传
单片机源程序如下:
#include<reg51.h>
#define uchar unsigned char
void delay()
{
uchar a,b;
for(a=500;a;a--)
{
for(b=500;b;b--);
}
}
void main()
{
unsigned char count=0;
unsigned char num=0;
while(1){
while(((num%3)==0)&&(P2!=0xFE))
{
P0=~(0x01<<count);
delay();
count++;
if(count>=8)
count=0;
}
while(((num%3)==1)&&(P2!=0xFE))
{
P0=~(0x80>>count);
delay();
count++;
if(count>=8)
count=0;
}
while(((num%3)==2)&&(P2!=0xFE))
{
P0=~(0x01<<count);
delay();
count=count+2;
if(count==8){
count=1;
}
if(count==9){
count=0;
}
}
if(P2==0xFE){
num=num+1;
}
while(P2==0xFE);
}
}
复制代码
所有资料51hei附件下载:
实验三.zip
(61.61 KB, 下载次数: 15)
2021-11-10 15:28 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1