51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯想问一下我的程序有什么问题,还往指教用中断怎么实现再按一下继续停止时的流水灯#include#include#define uchar unsigned charsbit but
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 14:39:23
![51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯想问一下我的程序有什么问题,还往指教用中断怎么实现再按一下继续停止时的流水灯#include#include#define uchar unsigned charsbit but](/uploads/image/z/10438177-49-7.jpg?t=51%E5%8D%95%E7%89%87%E6%9C%BA%2C%E5%BC%80%E5%85%B3%E6%8E%A7%E5%88%B6LED%2C%E5%BC%80%E5%A7%8B%E6%B5%81%E6%B0%B4%E7%81%AF%2C%E6%8C%89%E4%B8%80%E4%B8%8B%E5%81%9C%E6%AD%A2%2C%E5%86%8D%E6%8C%89%E4%B8%80%E4%B8%8B%E7%BB%A7%E7%BB%AD%E6%B5%81%E6%B0%B4%E7%81%AF%E6%83%B3%E9%97%AE%E4%B8%80%E4%B8%8B%E6%88%91%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%9C%89%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%2C%E8%BF%98%E5%BE%80%E6%8C%87%E6%95%99%E7%94%A8%E4%B8%AD%E6%96%AD%E6%80%8E%E4%B9%88%E5%AE%9E%E7%8E%B0%E5%86%8D%E6%8C%89%E4%B8%80%E4%B8%8B%E7%BB%A7%E7%BB%AD%E5%81%9C%E6%AD%A2%E6%97%B6%E7%9A%84%E6%B5%81%E6%B0%B4%E7%81%AF%23include%23include%23define+uchar+unsigned+charsbit+but)
51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯想问一下我的程序有什么问题,还往指教用中断怎么实现再按一下继续停止时的流水灯#include#include#define uchar unsigned charsbit but
51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯
想问一下我的程序有什么问题,还往指教用中断怎么实现再按一下继续停止时的流水灯
#include
#include
#define uchar unsigned char
sbit button=P1^0;
uchar press=0;
void Delay(uchar z)
{
\x05\x05uchar x,y;
\x05\x05for(x=z;x>0;x--)
\x05\x05\x05for(y=255;y>0;y--);
}
\x05\x05\x05\x05
void Led_Continue()
{
\x05\x05P2=0xfe;
\x05\x05while(press==0|press==2)\x05
\x05\x05{
\x05\x05\x05\x05P2=_crol_(P2,1);
\x05\x05\x05\x05Delay(255);\x05\x05
\x05\x05}
}
void Led_Stop()
{
\x05\x05P2=0xff;
}
void Keyscan()
{
\x05\x05if(button==0)
\x05\x05\x05{
\x05\x05\x05\x05Delay(20);
\x05\x05\x05\x05if(button==0)
\x05\x05\x05\x05{
\x05\x05\x05\x05\x05press+=1;
\x05\x05\x05\x05\x05if(press==1)
\x05\x05\x05\x05\x05{
\x05\x05\x05\x05\x05\x05Led_Stop();
\x05\x05\x05\x05\x05}
\x05\x05\x05\x05\x05\x05if(press==2)
\x05\x05\x05\x05\x05\x05{
\x05\x05\x05\x05\x05\x05
\x05\x05\x05\x05\x05\x05\x05press=0;
\x05\x05\x05\x05\x05\x05}
\x05\x05\x05\x05}
\x05\x05\x05}\x05\x05
}
void main()
{
\x05\x05Keyscan();\x05
\x05\x05Led_Continue();
}
51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯想问一下我的程序有什么问题,还往指教用中断怎么实现再按一下继续停止时的流水灯#include#include#define uchar unsigned charsbit but
采用中断方式,程序如下:
#include
#include
#define uchar unsigned char
sbit button = P3^2;
uchar press = 0;
uchar luishui = 0xfe;
void Delay(uchar z)
{
uchar x,y;
for(x = z; x > 0; x--) for(y = 255; y > 0; y--);
}
void main()
{
IT0 = 1;
EX0 = 1;
EA = 1;
while(1) {
if(press == 1) P2 = 0xff;
if(press == 0) {
P2 = luishui;
luishui = _crol_(luishui,1);
Delay(255);
}
}
}
X0_INT() interrupt 0
{
press += 1; if(press == 2) press = 0;
Delay(10);
while(button == 0);
}
试试看.