标题:
如何通过改变延时函数 改变单片机流水灯左移移速 就是用按键模块 加或是减 延时时...
[打印本页]
作者:
小白学51单片机
时间:
2018-12-26 01:02
标题:
如何通过改变延时函数 改变单片机流水灯左移移速 就是用按键模块 加或是减 延时时...
作者:
HC6800-ES-V2.0
时间:
2018-12-26 08:04
我做了个程序,你看看。
#include<reg52.h>
#include<intrins.h>
#define LED P2
sbit k1=P3^1;
sbit k2=P3^0;
void Delay10ms(unsigned char c)
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void main()
{
unsigned char i,a=50;
LED=0xfe;
Delay10ms(a);
while(1)
{
LED=_crol_(LED,1);
Delay10ms(a);
if(k1==0)
{
Delay10ms(1);
if(k1==0)
{
a=a+10;
while((i<50)&&(k1==0))
{
Delay10ms(1);
i++;
}
i=0;
}
}
if(k2==0)
{
Delay10ms(1);
if(k2==0)
{
a=a-10;
while((i<50)&&(k2==0))
{
Delay10ms(1);
i++;
}
i=0;
}
}
}
}
操作时,按键的时间稍长一点,不然单片机扫描不到按键,它的运行速度太快。
这类操作最好还是用外部中断,用扫描法总是不怎么舒服。
作者:
mosqu
时间:
2018-12-26 08:10
延时函数的话,传个变量啊
uchar a = 50;
delay(a);这样
按键加减a
作者:
周超然
时间:
2018-12-26 08:19
while(1)
{
uchar count;
bit=bit>1;
P0=bit;
delay(count);
count=scanf_key();
}
简单写了思路,你自己在好好想想,多百度,勤练手
作者:
xuyaqi
时间:
2018-12-26 08:29
延时时间长短和赋给它的值有关,你可以通过按键改变赋值大小,从而改变延时长短。
作者:
弓长张
时间:
2018-12-26 08:55
你的题目看不完,后面的看不见了,具体也不清楚你问什么。🤔
作者:
phang
时间:
2018-12-26 09:14
使用定时器实现点亮LED,定时器可以调整中断时间。
作者:
天风情
时间:
2018-12-26 09:15
用两个按键,一个延时加,一个延时减,检测到哪一个按键按下就调用延时函数,延时不同的值即可
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1