C语言 51单片机初学者 下面的程序while(1);的作用是什么没有它会怎样. 谢谢!!!!

#include "AT89X52.h"
unsigned SHUMA[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void main()
{
P2_4=0;P2_3=0;P2_2=0;
P0=0x3F;
while(1);
}

while(1);是死循环,程序运行到这一句就会一直在这里循环,不再往下执行.
如果没有这一句,程序会继续往下执行,但问题是,接下来没有程序了,它会做什么呢?我们不知道,单片机也不知道,会乱套的.追问

非常感谢!!

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机加不加while(1) 都能无限循环?不是说不加不循环吗?
1、首先回答你,这个while(1)必须加,这点不用怀疑;2、为什么去掉还能运行,你检查下屏蔽后是否有重新编译重新烧录程序,如果没有那么现运行的还是以前的程序。3、不加while(1)的危害,在执行完第二个delay()函数后,pc指针(程序运行指针)即跳出了main函数,此刻程序指针就进入了一个未知的非法地址...

怎么用C语言实现51单片机独立按键跳出while(1)死循环 执行其他循环_百度...
while(1)语句只能用在主程序,而且只要用一次。如果子程序也用,必须有条件判断语句,跟一个return语句返回。再说你的三个子程序,既然用for控制了循环次数了,为什么要用while(1)呢?而且明明知道是死循环还用?三个子程序都把那个while(1)删掉就行了!

谁能帮我解释以着这个51单片机的c语言程序,说的详细些,谢谢!
while(1){ temp=0xfe;P1=temp; \/\/先让P1口值为0xfe,估计是先点亮一个LED灯 delay();for(i=1;i<8;i++){ a=temp<>(8-i); \/\/temp右移8-i位 P1=a|b; \/\/P1赋值,实际上就是让P1=(temp循环左移i位),看下面解释 delay(); \/\/延时 } for(i=1;i<8;i++){...

...#include <reg51.h> void main() { while(1) { P1=0x55; } }_百 ...
程序百分百没问题,可能是编译的有问题,你 用的是keil编译的吗? 建议你多重新编译一下, 也有可能是你烧写程序的时候 数据传输的过程中出错了,校验出错 一般是传输过程中某个或者某些bit或者byte出错 建议你重新编译 重新下载烧写试试, 单片机这东西就是经常出些小问题,有时候我们买的开发板或者有...

一道51单片机的C语言程序,关于串口通讯的,很简单...
while(1) \/\/主循环部分,一直运行 { if(flag==1) \/\/等待flag标志位置位,当接收到数据的时候在串口接收中断中置位 { ES=0; \/\/禁止串口中断,但是注意发送中断标志位的置位仍然正常 for(i=0;i<18;i++) \/\/for循环为了一个个把之前定义的字符串 { SBUF=table[i]; \/\/...

51单片机C语言while( --a != 0)是什么意思
“!” 是 “非”的意思 所以 “!= ” 就是 “不等于”的意思。整个表达式的含义就是 先执行 a = a-1 再用结果 新的a值,判断其是否不等于0 。希望能帮助你! ^_^

用C语言编写8051单片机程序
while(1){ if(stop==1)\/\/判断stop信号,为1后便关闭定时器 { TR0=0;ET0=0;EA=0;} } } \/***中断***\/ void timer0() interrupt 1 { TH0=0xf8;\/\/重新赋值定时2ms TL0=0x30;if(flag==0)\/\/定义用于判断计数是否到了250,若到了则不再计数,转向else执行流水灯闪烁任务 { t++;...

如何用51单片机做计算器(要求用C语言编程) 由于是新手所以没积分 对 ...
while(1){ Q1=0;Q0=0;Q2=0;m_key=Key_Down();Write_Cmd(0x01);Write_Data(Lcd_tab[m_key]);Q0=m_key;m_key=Key_Down();Write_Data(Lcd_tab[m_key]);m_key=Key_Down();Write_Data(Lcd_tab[m_key]);Q1=m_key;m_key=Key_Down();Write_Data(Lcd_tab[m_key]);Q2=Q...

51单片机如何用一个按键控制一段程序的运行与停止
1、创建项目文件。2、按键:S1=P3^2,点亮: led=P1^5。3、创建C语言主函数。4、创建循环效果,检测效果。while(1) {}。5、选择输出的效果。6、当按下一个按键时,关闭灯,整个程序运行,再按一次,程序停止。

怎么用C语言编写51单片机测脉宽的程序~ 跪求完整程序!
uint width;sbit pulse=P3^2;main(){ TMOD=0x09; \/\/定时器0模式1,GATE=1 TH0=0;TL0=0;while(pulse); \/\/等待P3.2变低 TR0=1; \/\/启动定时器0 while(!pulse); \/\/等待脉冲变高 while(pulse); \/\/等待脉冲变低 TR0=0; \/\/关闭定时器0 pulse=TH0*256+TL0; ...

相似回答