我这段程序问什么不能控制LED的闪烁 编程平台是ICCAVR 单片机型号ATMEGA28A
#include<iom128v.h>#include<macros.h>#defineucharunsignedchar#defineuintunsignedintvo...
#include <iom128v.h>#include <macros.h>#define uchar unsigned char#define uint unsigned intvoid delay(){uint i,j;for(i=0;i<20000;i++)<br>for(j=0;j<50000;j++);<br>}void main (){DDRE|=BIT(2);PORTE|=BIT(2);DDRA=0XFF;while(1){PORTA=0XFE;delay();PORTA=0XFF;delay();}}现在那个LED只是再亮却不闪
展开
2013-09-01
展开全部
#include <iom128v.h>#include <macros.h>#define uchar unsigned char#define uint unsigned intvoid delay(); //在此加了一句声明,也就是要定义它,你的应该是延时函数没起作用,你试试。void delay(){uint i,j;for(i=0;i<20000;i++)<br _extended="true">for(j=0;j<50000;j++);<br _extended="true">}void main (){DDRE|=BIT(2);</p><p>PORTE|=BIT(2);</p><p>DDRA=0XFF;</p><p>while(1)</p><p>{PORTA=0XFE;</p><p> delay();</p><p>PORTA=0XFF;</p><p> delay();</p><p>}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-01
展开全部
你用什么软件仿真?你有没有计算那个for嵌套是多久的时间?呵呵……你是不是把程序我加载运行一下就看见灯只亮不灭就停止运行?程序本身没错!你的延时时间太长…j等于50000就相当无延时50秒在乘20000这就是你的延时时间!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-01
展开全部
我也想知道,赶紧来人回答吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询