问: [image]20 各位大神把我看看这个单片机流水灯汇编程序程序那里问题?

谁能帮我解释下这个单片机花样流水灯程序?_百度知道新人刚学单片机,碰到一个流水灯的问题,麻烦各位大大看看_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:117,168贴子:
新人刚学单片机,碰到一个流水灯的问题,麻烦各位大大看看收藏
做了一个8位流水灯,设想是2端2个LED灯亮,然后往里位移,到中心2个灯碰面时再往旁边位移,反复循环,程序如下#include &reg51.h&#include &intrins.h&void main(){
for(b=3;b&0;--b)
x=_crol_(x,1);
y=_cror_(y,1);
c = 10000;
while(c--);
for(b=3;b&0;--b)
x=_cror_(x,1);
y=_crol_(y,1);
c = 10000;
while(c--);
}问题是为什么这个程序这样用whileLED灯不动作(while不自减),而改成for(c=10000;c&0;--c)就行了,求告知,万分感谢
实邦电子多年专注于单片机产品开发,为客户提供电子产品解决方案,已成功开发100多款产品.我们拥有多位经验的电子工程师,为您的产品提供优异的设计,稳定可靠的电路设计.
求大大帮助
很想帮你,我刚才用KEIL试了一下,都不好使。。。。。。
你换成while(c)c--;试试。
你可以编译成汇编看看编译器编译的汇编指令是什么样
很奇怪,我把程序改成#include &reg51.h&#include &intrins.h&void main(){
for(b=3;b&0;--b)
x=_crol_(x,1);
y=_cror_(y,1);
c = 10000;
while(c--);
for(b=3;b&0;--b)
x=_cror_(x,1);
y=_crol_(y,1);
c = 10000;
}就又可以用了为什么上下都用 c = 10000; while(c--);不行呢,而一个c = 10000; while(c--);一个 while(c)
{ c--; }就行了
其实用数组挺好实现的
这程序实在麻烦
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求大神帮我看看这个程序_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:117,168贴子:
求大神帮我看看这个程序收藏
# include &reg51.h&# define GPIO_DIG P0sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;unsigned char DIG_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x390,0x5e,0x79,0x71};
//0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F的显示码unsigned char DisplayData[8];
//用来存放要显示的8位数字void DigDisplay();
//动态显示函数void main(void){for(i=0;i&8;i++){DisplayData[i]=DIG_CODE[i];}while(1){DigDisplay();}}void DisDisplay(){for(i=0;i&8;i++){switch(i){case(0):LSA=0;LSB=0;LSC=0;
//显示第0位case(1):LSA=1;LSB=0;LSC=0;
//显示第1位case(2):LSA=0;LSB=1;LSC=0;
//显示第2位case(3):LSA=1;LSB=1;LSC=0;
//显示第3位case(4):LSA=0;LSB=0;LSC=1;
//显示第4位case(5):LSA=1;LSB=0;LSC=1;
//显示第5位case(6):LSA=0;LSB=1;LSC=1;
//显示第6位case(7):LSA=1;LSB=1;LSC=1;
//显示第7位}GPIO_DIG=DisplayData[i];
//发送断码j=10;
//扫描间隔时间设定while(i--);GPIO_DIG=0x00;
实邦电子多年专注于单片机产品开发,为客户提供电子产品解决方案,已成功开发100多款产品.我们拥有多位经验的电子工程师,为您的产品提供优异的设计,稳定可靠的电路设计.
楼主好人,资源拿走
void DisDisplay()改为void DigDisplay()函数名定义错误
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或51单片机流水灯程序,求大神_百度知道求助! LED流水灯像这样运行的程序_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:117,168贴子:
求助! LED流水灯像这样运行的程序收藏
提供低风险的产品开发,出色的技术支持,更低的系统总成本和更快的上市时间
是4根线控制的 用位移的方法
要这个图形移动有2方法,一个是查表,一个是显示缓存
哦不,仔细一看就是查表输出,你也可以编程生成数据
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 单片机按键控制流水灯 的文章

 

随机推荐