标题:
用单片机中断方式实现八位LED流水灯,求大神帮我这个菜鸟改改吧!
[打印本页]
作者:
lhblhb
时间:
2019-1-29 14:00
标题:
用单片机中断方式实现八位LED流水灯,求大神帮我这个菜鸟改改吧!
#include "reg52.h"
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned int
#define led P0
void delay(uint i)
{
while(i--);
}
void timeo()
{
TMOD|=0x01;
TH0=0xb0;
TL0=0x3c;
TR0=1;
ET0=1;
EA=1;
}
void main()
{
timeo();
while(1)
{
;
}
}
void Time0() interrupt 1
{ uchar m;
uchar J;
static uint i=20;
J=0x01;
TH0=0xb0;
TL0=0x3c;
i--;
if(i==0)
{
for(m=0;m<7;m++)
{
J=(1<<J);
led=J;
delay(50000);
i=20;
}
}
}
作者:
wulin
时间:
2019-1-29 14:00
#define uint unsigned int
#define uchar unsigned int
#define led P0
/*
void delay(uint i)
{
while(i--);
}*/
void timeo()
{
TMOD|=0x01;
TH0=0xb0;
TL0=0x3c;
TR0=1;
ET0=1;
EA=1;
}
void main()
{
timeo();
led=0x01;
while(1)
{
;
}
}
void Time0() interrupt 1
{
static uint i=20;
TH0=0xb0;
TL0=0x3c;
i--;
if(i==0)
{
i=20;
led=led<<1;
if(led==0x00)
led=0x01;
}
}
作者:
yzwzfyz
时间:
2019-1-29 16:16
请问:你中断的目的是什么?延时的目的又是什么呢?
作者:
lhblhb
时间:
2019-1-29 17:02
T0产生1s定时,使p0口控制的八个指示灯每隔1轮流闪亮
作者:
lhblhb
时间:
2019-1-29 17:06
wulin 发表于 2019-1-29 14:00
#define uint unsigned int
#define uchar unsigned int
#define led P0
谢谢谢谢,我犯了个低级错误,初值算错了
作者:
zhengchong60
时间:
2019-1-29 17:31
还在哪里问啥?wulin己经帮楼主解决了!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1