请问单片机 程序出错 流水灯不动了?
作者&投稿:睢茂 (若有异议请与网页底部的电邮联系)
#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()子程序里面有while(1)死循环,程序没退出.
夕乔凯缌: 在你的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 程序已仿真验证过,没问题的