单片机求助,俺分不多了,各位大侠帮帮忙。用keilC语言编写一段程序,实现LED的一些功能,具体如下~?。

3.画出电路,编写一段程序,用P1口作为控制端口,连接8个LED,使8个LED每隔一秒轮流亮。4.画出电路,编写一段程序,用P1口作为控制端口,连接8个LED,使8个LE... 3. 画出电路,编写一段程序,用P1 口作为控制端口,连接8个LED,使8个LED 每隔一秒轮流亮。
4.画出电路,编写一段程序,用P1 口作为控制端口,连接8个LED,使8个LED 每隔一秒轮流亮。外部中断0连接一个按键,按下时LED循环点亮方向反向。
#include<reg51.h>

int m=0;
unsigned char i=10;

void delay()
{ int i,j;
for(i=1;i<1200;i++)
for(j=1;j<100;j++);
}

void timer0() interrupt 1
{
TH0=0x3C;
TL0=0xB0;
i--;
if (i<=0)
{
m++;
if(m>=8)
{
m=0;
}
i=10;
}
}

void main() //主函数
{
TMOD=0x01;//设置定时器0为工作方式1
TH0=0x3C;
TL0=0xB0;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
while(1);//等待中断产生
{
switch(m)
{
case 0 : P1=0x01; delay();
case 1 : P1=0x02; delay();
case 2 : P1=0x04; delay();
case 3 : P1=0x08; delay();
case 4 : P1=0x10; delay();
case 5 : P1=0x20; delay();
case 6 : P1=0x40; delay();
case 7 : P1=0x80; delay();
}
}
}

各位,看看,这么写有什么问题?我的灯就干脆不循环。。。囧、、、
展开
 我来答
做而论道
高能答主

2010-09-03 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8432万
展开全部
到我的百度空间看看,程序和电路都有。
--------------------------
while(1);//等待中断产生--毛病出在这里!去掉分号“;”,就好了。
{
switch(m)
……

你写上了分号,while(1);就是一条死循环指令,下面的就永远不执行了。
zhxiufan
推荐于2017-10-16 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38391
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>

int m=0;
unsigned char cnt=10;

void timer0() interrupt 1
{
TH0=0x3C;
TL0=0xB0;
cnt--;
if(cnt==0)
{
cnt=0;

m++;

m%=8;

}
}

void main() //主函数
{
TMOD=0x01;//设置定时器0为工作方式1
TH0=0x3C;
TL0=0xB0;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
while(1);//等待中断产生
{
switch(m)
{
case 0 : P1=0x01; break;
case 1 : P1=0x02; break;
case 2 : P1=0x04; break;
case 3 : P1=0x08; break;
case 4 : P1=0x10; break;
case 5 : P1=0x20; break;
case 6 : P1=0x40; break;
case 7 : P1=0x80; break;
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灬随缘灬
2010-09-02 · TA获得超过157个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:158万
展开全部
LED共阳极,电路图就不用了吧,连接LED的时候记得加限流电阻保护单片机。
头文件用你自己的单片机对应的。
main()
{
int a=0XFEH;
while(1)
{ p1=a;
a=a<<1;//循环左移命令
}
}

至于加中断的只是把移位复制操作放在中断程序中,中断中记得放标志位,不要中断中执行死循环,我写的只是个意思自己完善下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qqjjqq123
2010-09-02
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
http://hi.baidu.com/qqjjqq123/blog/item/b95b5cc3ec10d0d2d10060b0.html

你慢慢看看吧。电路图已画好 你把邮箱发过来,我可以给你发过去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式