请问单片机 程序出错 流水灯不动了?

作者&投稿:睢茂 (若有异议请与网页底部的电邮联系)
单片机流水灯程序~

#include
#include
#define uchar unsigned char
uchar j,temp;
void delay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<123;t++);
}
void main()
{
P1=0xff;
delay(500);
temp=0xfe; //有点怪,led接在P2.3~P2.6
for(j=0;j<4;j++)
{
P1=temp;
delay(500);
temp=_crol_(temp,1);
}
P1=0xff;
while(1);
}

你这个问的……
1.可能是串口线出问题了……
2.可能是下载软件的时钟频率没设置正确
3.可能是COM口没设正确
4.芯片已烧坏
5.各种软硬件未知问题……
建议好好检查下,并一一排除!

这是必然的,display里面有一个死循环,调用后就退步出来了。所以你的流水灯执行不了。

在你的display()子程序里面有while(1)死循环,程序没退出.


华蓥市17850118158: 请问单片机 程序出错 流水灯不动了? -
夕乔凯缌: 在你的display()子程序里面有while(1)死循环,程序没退出.

华蓥市17850118158: 请问单片机 程序出错 流水灯不动了? 已经知道是while循环出错 要怎么改? sbit LS1 -
夕乔凯缌: void main() { uint i; temp=0xfe; P2=temp; while(1) { for( i = 0; itemp=_crol_(temp,1);//再流水一次 P2=temp; // lsd(); } }

华蓥市17850118158: 单片机程序下载进去了,流水灯不亮
夕乔凯缌: 用万用表测一下就知道是程序的问题还是单片机的问题了. 只要你测得你需要它亮的那个流水灯的管脚是高电平,那就证明没问题,不然就是程序问题了

华蓥市17850118158: 51单片机把流水灯程序写在中断里为什么不能流了?哪里错了? -
夕乔凯缌: void main() { init(); while(1); //少了这条 }

华蓥市17850118158: 我的单片机流水灯为什么不亮,编译没错. -
夕乔凯缌: 程序问题,做如下修改就好 #include <intrins.h> sfr D1=P1; void delay() {unsigned int a=50000;while(a>0){a--;} }void main() {D1=0xfe;while(1){delay();D1=_crol_(D1,1);} }

华蓥市17850118158: 52RC单片机流水灯程序烧写不进是咋了..STC显示.停止下载,重新选择 RS - 232 串口, 接好电缆 -
夕乔凯缌: 其实已经提示你了呀,可能的问题是:串口可能坏了,选别的串口 单片机可能坏了.USB-232的线可能存在不兼容 等等.

华蓥市17850118158: 求高手帮忙看一下我的单片机程序为什么不能实现流水灯 -
夕乔凯缌: …… TL0=-(50000%256); while(TF0!=0);--应该是:while(TF0 == 0); TF0=0; ……

华蓥市17850118158: 51单片机最小系统(跑马灯)不工作 -
夕乔凯缌: 肯定无法工作呀,你的发光管没接限流电阻,你每个管串一个560欧姆的电阻应该就没问题了.最好换新的,或许现在的已经烧了.

华蓥市17850118158: C51单片机花样流水灯问题 -
夕乔凯缌: 单片机主程序中需要死循环,不然程序顺序执行完就停止了.所以这程序不是不停止,而是停止了.主程序应修改 void main() {uchar temp;temp = 0xfe;while(1){P2 = temp;delay(1000);temp = _crol_(temp, 1); } }

华蓥市17850118158: 单片机89sc51流水灯中断问题 -
夕乔凯缌: 可以加个判断标志 MOV A,#11111110B FLAG BIT 00H ;定义一个位标志 SETB FLAG ;置为1 QQ:JNB FLAG,$ ;若标志为零,等待,直至进入中断将标志取反 MOV P0,A RL A LCALL DD(延时不管它) SJMP QQ 中断程序:TT:CPL FLAG ;将标志位取反 RETI 程序已仿真验证过,没问题的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网