单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加while(1)会出现什么情况,对于这种好学精神,还是值得赞扬的,做学问就需要有追根问底的精神。 首先,大家要理解一件事情,我们编写的c语言程序,最终下载到单片机当中去,在我们单片机的程序存储空间FLASH当中存储的全部是2进制数字代码。比如0x00,0x01,一直到0xff。而我们编写的C代码,依靠的是编译软件,比如keil软件,首先将C语言编译成为汇编语言,最终汇编语言变成2进制代码,也就是我们的HEX文件当中的数据,下载到单片机当中去。 因此,查找这个问题,首先从源头来找,首先是C语言,然后,我们再看一下软件给我们编译的汇编语言是什么样子。用KEIL软件编写一个程序,然后simulator的方式进行仿真,进入仿真环境后,在View窗口下有个Disassembly window,打开,里边就会出现刚才我们的C语言所对应的汇编语言了(KEIL软件会自动将C编译成汇编),找到里边的主函数,找到你最后一行的程序所对应的汇编,找到后,会发现在最后一行程序结束后,KEIL这个软件还会自动给加入几行汇编代码,这几行代码就是(1)MOV R0, #0x7F;(2)CLR A; (3)MOV @R0, A; (4) DJNZ R0, (3); (5)MOV SP, #0x0C;(6) LJMP main;这几条语句,前4条,是将我们单片机的内存的前128个地址清零,第5条,是定义堆栈,第6条,是将程序重新跳转到main函数的首行进行执行。 从这里我们可以看出,最终下载到单片机运行的程序包含两部分,一部分是我们编写的程序代码,另外一部分是编译器自动生成的代码,因此,用KEIL软件编写的程序在没有while(1)的情况下运行到最后一行,会自动跳转到main函数第一行运行。 本着严谨的态度,笔者又查找PIC单片机的编译开发环境MAPLAB IDE,找到其中的汇编程序,在Disassembly window汇编程序中没有发现跳转到主函数的语句或者是复位语句。笔者不甘心,于是继续查找,打开了Promgram Memory,这也是最终下载到单片机当中的程序,通过仔细查看笔者在其后边,发现了在main函数的最后,有一条“reset”语句,这是一条PIC单片机的复位语句,也就是说PIC单片机在进行程序编译的过程中,如果没有while(1)语句,最后则会直接执行复位,这MAPLAB隐藏的可够深的。 我在论坛上看到一个发帖者提出他下载进AVR单片机的没有while(1)的程序,但是单片机却没有复位,这点我没有再去验证,因为我们的程序通常都是要加while(1)这个循环,因此呢,问题到了这里,单片机程序没有while(1)会出现什么情况,这一点已经不重要了。但是有一点已经可以确认了,一部分单片机在没有while(1)的情况下,运行到最后一行出现的情况受到编译开发环境的影响。 当然了,一个严谨的开发环境,就应该像KEIL和MAPLAB这样,在程序员编译程序可能出现漏洞的地方给与防护,避免程序跑飞程序员无法查找程序问题。深有体会。刚学单片机不久,参考别人的程序写了LCD驱动,在买来的实验板上运行时,显示正常。在自己用面包板上搭建的系统运行时,只能显示几秒钟,之后一片空白,当时怀疑面包板供电不稳定,或者信号线干扰,折腾几小时后,在程序末尾加一句“while(1);”,显示完全正常。不加不稳定,有时候会在main()里面循环,有时候会乱码。这里的while(1)并不是防止程序“跑飞”的,而是防止main()返回。① 在嵌入式中main是不能返回的。不同的C语言实现的单片机初始化代码会有不同的表现,有的是在call _main后jmp,而有的是jmp 0,等等这些会导致不可预料的结果。② 在我们写的C语言后转换成汇编,再观察单片机的代码区,你会发现没有写程序的部分例如全1或者全0区域,程序运行到这里,就会有可能造成意料不到的结果。若无while(1)循环,程序全部执行后,跳转至程序起始处重新执行。
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我
相关推荐
11个单片机程序设计经典项目!25个项目资料免费放送!
单片机项目学习过程中最简单的项目。这里我们做为一个项目设计,详细叙述项目实现的基本过程。1.电路设计电路硬件是单片机项目实现的基础,在项目设计过程中必须先设计项目的电路原理。为了提高程序和电路的联调效果
2016-06-21 20:44:36
51单片机C语言程序学习笔记
51单片机C语言程序(二)定时/计数器?中断程序一利用定时/计数器T0从P1.0输出周期为1s 的方波,让发光二极管以1HZ闪烁,#include? //52单片机头文件#include//包含
2021-07-15 09:31:06
51单片机如何去点亮第一个LED呢
51单片机——点亮第一个LED原理点亮LED程序#include***it led=p0^0;//通过这个变量名来代替这个管脚void main(){while(1){// 死循环让它一直点亮 led=1;//输出高电平}}LED闪烁实验c语言常用的预处理命...
2021-11-18 07:32:58
51单片机矩阵键盘C程序主程序
51单片机矩阵键盘C程序主程序1:void main(){uchar i,j,ki=0;j=0;while(1){i=key();//键盘循环扫描,其值赋给变量数组tableif(i!=0)//键盘子程序返回值非0,即有按键按下{ table[j]=i;//将值存在变量数组中j++;
2021-07-20 06:01:52
C语言单片机中延时程序是如何实现的
在单片机或嵌入式系统的程序,常常用规定次数的空循环来实现延时/***通过一个空循环体循环让程序运行一段时间。在嵌入式系统中,这个函数用来实现延时。**参数:*u16i--循环次数,无符号整型*返回值:*无**/voiddelay(u16i){while(i--);}
2021-07-15 06:05:00
c语言编程序,但是想用goto语句时
请问在keil中我使用c语言编程序,但是想用goto语句时发现不用,我加了后 #include我用ljmp也不能用,我就是想根据不同的中断端口,来跳转到不同的主程序端口。哪位大侠能帮我我一下语言,或者换一种算法?谢过!!!
2012-03-04 15:40:57
一个让灯不断闪烁的简单程序分享
一:编程任务和思路我们来做一个让灯不断闪烁的简单程序。怎样才能让灯不断地闪烁呢?要灯亮一段时间,再灭一段时间,也就是说要P1口不断地输出高和低电平。编程思路:在执行完SETB P1后,延时一
2021-12-06 06:01:05
一个关于while无限循环的问题
有哪位朋友能告诉我,我下面这段程序为什么实现不了预想的要求。 我的想法是,主程序的while循环就等待中断的发生。一旦中断发生就跳出循环。但实际情况不是这样。敬请高人指点。 char show
2016-03-12 19:56:51
一个最简单的单片机程序
不管他,以后慢慢学到,上面的程序需要在一个名为“Keil uVision2”的软件中汇编完成,汇编后得到一个*.hex文件,这就是目标文件,然后用编程器将该文件“写”到单片机89s51中,这样该
2020-09-03 07:26:11
一个简单实用的MCU程序框架分享
前面的文章介绍了一个简单实用的MCU程序框架,定时节拍的加入,这一篇文章来介绍串口接收怎样加入到框架中。 单片机的串口接收通常是在中断里。如果数据解析在串口里边,那很多跟主程序共享的资源就容易冲突
2022-01-21 08:11:52
一直用汇编要改成C语言,好难啊
做的设计,强逼着自己不去用汇编,抱着C语言的书学习,手头一本51单片机开发与应用技术详解,一直在看,总看不进去啊。 各位老师啊,学习单片机C语言我是从头把C语言变量--函数--语句流程……这些都学完然后再
2012-03-22 16:16:48
主程序一直在下列循环中是哪里的问题
各位大哥:主程序一直在下列循环中是哪里的问题。请指教,谢谢!void _Error_Handler(char * file, int line){/* USER CODE BEGIN
2018-08-24 15:35:36
单片机C语言程序该这样写
写单片机程序也是程序,也要遵循写软件的一些基本原则,不是为了完成功能那么简单。我看过的所有的C语言单片机书籍基本都不注重模块化思想,完全是拿着C当汇编用,简直是在糟蹋C语言! 如下问题,几乎所有
2018-08-06 15:06:06
单片机C语言之流水灯(带延时子程序)
《单片机C语言之流水灯(带延时子程序).ppt》由会员分享,可在线阅读,更多相关《单片机C语言之流水灯(带延时子程序).ppt(12页珍藏版)》请在人人文库网上搜索。1、单片机C语言应用100例
2021-07-15 07:12:39
单片机C语言的主程序为什么要加一个while(1)语句
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加
2021-07-15 09:40:50
单片机C语言的主程序如果不加while(1)会出现什么情况
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加
2021-07-15 10:16:19
单片机C语言的延时程序
标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。 这在汇编语言中很容易实现,写几个nop就行了。 在keil C51中,直接调用库函数: #include
2018-07-13 07:06:49
单片机一直执行上一个程序的命令
不管我输入什么命令,单片机一直在执行上一个命令,比如说我上一个命令是实现一个数码管的动态显示(1),但是不管当我写了几个数码管的动态显示,还是别的什么程序,单片机一直在重复第一个命令(1),我用的是普中的单片机
2018-08-24 09:42:41
单片机程序求一个!
求大神给个STC89C52电子密码锁程序啊,24C02储存,LCD1602显示的,论坛网上找了很多都不行啊。我的单片机就是开发板买的一套,我觉得原理图和别人应该差不了多少吧,怎么下载就没用,哎。跪求大神。(附件单片机原理图,还有一个别人的程序,只是和我板子不匹配,帮我改改程序也行谢谢。)
2016-05-23 11:38:16
单片机程序该如何优化?
、work 等。3、程序结构C 语言是一种高级程序设计语言,提供了十分完备的规范化流程控制结构。因此在采用C 语言设计单片机应用系统程序时,首先要注意尽可能采用结构化的程序设计方法,这样可使整个
2020-06-07 09:34:55
单片机不管烧录啥程序都是一直正在检测中的原因?
单片机今天刚到,打开烧录的时候一直显示正在检测单片机,没有一次显示操作成功,但是单片机一直显示的是商家的测试程序,不管烧录啥程序都是一直正在检测中,啥方法都用了,还是烧录不进去程序。希望大家帮帮忙
2023-10-07 06:00:30
单片机为什么一直用C语言,不用其他编程语言
最适合单片机开发的编程语言实在太过晦涩难懂,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,还不如重新写一遍程序。而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位
2020-05-19 14:23:07
单片机为什么一直用C语言,不用其他编程语言?
最适合单片机开发的编程语言实在太过晦涩难懂,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,还不如重新写一遍程序。而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位
2020-06-30 10:30:41
单片机之精确延时程序的学习
); for(j=110;j>0;j--);}}因为单片机一旦上了电就是不停地工作了,除非你拔掉电源,才会停止工作。在此程序中用了一个while(1)无限制循环来实现单片机的不停地工作。由于是要使发光二极管
2011-03-26 20:30:40
单片机延时c程序如何计算?
=248;k>0;k--); }void main(void)//每一个C语言程序有且只有一个主函数,{while(1)//循环条件永远为真,以下程序一直执行下去。 {P1_0=0;// I/O口
2013-03-14 22:46:59
单片机控制小灯亮、灭,延时、一直循环,C语言编程
`新手,做一样东西,假设用P0~0控制绿灯的亮灭,P1~0控制黄灯的亮灭,P2~0控制红灯的亮灭,用单片机控制绿灯亮、灭各延时一小时,并且一直循环,半个月后黄灯亮并且绿灯同时亮,持续5分钟后黄灯灭
2015-05-26 10:23:39
单片机教程(4)第一个单片机小程序
,让计算机再去执行第一条指令,持续地在原地兜圈,我们称之为"循环",这样就能完成任务了。以下先给出程序(后面括号中的数字是为了便于讲解而写的,实际不用输入):;主程序:LOOP
2018-06-12 10:49:06
单片机有锁存为什么还需要while循环
保证万无一失;单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如...
2021-07-13 09:51:16
在主程序中如何设置一个Bool控件打开关闭SubVI?
主程序是一个循环程序,就是想问下如何才能在主程序用一个Bool控件来对subVI进行操作,简单点说就是让subVI显示前面板。已经使用过的方法:1.属性节点:主程序运行就会弹出subVI 的对话框
2017-09-15 11:48:01
在仿真执行自定义custom指令时,只能执行软件程序中所调用第一条是为什么?
,vivado仿真中能够进入lbuf状态并完成后退出至idle状态,但此后仿真一直保持在idle状态,不能执行之后的c语言句子了,紧接着的打印nice aes done 的命令并不能实现。当然之后的调用其他
2023-08-16 07:07:57
程序没循环led灯为什么还一直闪
){ unsigned char j; for(;i>0;i--)for(j=255;j>0;j--);}为什么;俩个程序烧录到单片机的结果是一样的呢 led灯一直闪没有循环的不应该只闪一次吗?
2013-03-01 17:00:30
AVR单片机C语言程序框架(单片机最简操作系统)及详解
本帖最后由 lvhoujun 于 2014-2-28 00:37 编辑
这是本人以ATMEGA128为例编写的C语言程序框架,做简单的修改即适合AVR所有单片机。可以说是一个单片机最简操作系统
2014-02-12 20:27:23
STC单片机C语言程序设计
STC单片机C语言程序设计 第11章 STC单片机C语言描述语句STC单片机C语言描述语句主讲输入输出语句在完整的计算机系统中,包含输入输出设备。典型的,在以PC机/笔记本为代表的计算机系统中,默认
2021-07-15 06:09:58
STM32单片机DEBUG进入不了主程序的原因
STM32单片机DEBUG进入不了主程序1.上电不运行,DEBUG还进入不了主程序2.总结2.1 STM32单片机Flash分类2.2 关于boot脚的设置3.其他DEBUG模式不能进入主程序的原因
2021-11-29 06:52:09
STM8如何跳出双层循环,加密程序等问题
()//假设这个是按键处理程序 方案2:if(SWITCH==0;)return;//这是主程序扫描程序之一,获取键值后赋值SWITCH,打开按键处理入口,让单片机扫过去处理键值,然后下一
2018-09-11 10:14:45
stm32程序在一个位置无限循环
; while(tim[ 0 ] < 1000);按理说程序在这个位置会延迟1秒钟可是事实这样会是无限循环当然,解决这个问题的办法是 tim[0] = 0; while(tim[ 0 ] <
2019-03-05 01:36:49
——求 单片机如何让两个程序同时运行 求 高手解决———
本帖最后由 eehome 于 2013-1-5 09:53 编辑
求 单片机如何让两个程序同时运行我用一个单片机的P1和P3口控制16个LED做 跑马灯用P0和P2口控制一个8x8点阵 显示
2012-12-12 22:20:32
【我是电子发烧友】PIC单片机引脚中断程序设计技巧
所有的中档系列PIC单片机,PORTB端口最高的4个引脚(RB7~RB4)在设为输入模式时,当输入电平由高到低或由低到高发生变化时,可以让单片机产生中断。这就是通常所说的引脚状态变化中断。在设计引脚
2017-05-10 14:52:40
【原创分享】单片机C语言If和for等基本语句结构
本帖最后由 松山归人 于 2021-6-22 10:17 编辑
作者:张角老师(张飞实战电子高级工程师)同学们好,我们从今天开始探讨单片机C语言,我们首先从if和for等基本语句结构开始
2021-06-21 13:27:01
【跟我学单片机C语言】单片机C51循环语句
本帖最后由 eehome 于 2013-1-5 10:03 编辑
【跟我学单片机C语言】单片机C51循环语句这个语句在很多高级语言中都会有,记得小时候用 BASIC 时就很喜欢用这个语句。它是
2011-12-19 14:57:30
【跟我学单片机C语言】全面分析C51表达式语句及仿真器
语句是最基本的一种语句。不一样的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB 的表达式语句,而在51单片机的C语言中则是加入分号“;”构成表达式语句。举例如下:b=b
2011-12-12 10:27:00
【跟我学单片机C语言】带你了解C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的
2011-12-15 10:07:51
两个单片机通过串口进行通信,如何让它们的输出时间保持一致?
两个单片机通过串口进行通信,如何让它们的输出时间保持一致?因为发送到接受再到处理是有延迟的,我的方法是根据硬件情况的测试,去进行延时来保持输出时间的一致性。有没有更好的方法?或者更合理的延迟时间计算方法。频率12M,输出时间差保持在5us。
2020-03-23 15:07:31
为什么一个简单的循环计数都会让系统进入硬件异常呢?
函数_eth_delay_出 就会进入hardfault_handler,为什么一个简单的循环计数都会让系统进入硬件异常呢?
2019-09-04 19:25:47
为什么程序总是自动进入串口中断?
菜鸟请教各位前辈,为什么一下这段程序会自动进入中断,我想要用上位机发送“0xff”,下位机才进行回应,但是我用串口助手发送0xff以后就中断就一直在循环,中断不是只有在接收到数据才会
2019-09-25 00:37:19
为什么STC15W408AS单片机一直无法下载程序?
我使用STC15W408AS单片机,编了一个简单的点灯程序(下载不进去好像和程序无关吧),可就是下载不进去,谁能帮忙分析一下呢,一直检测单片机,下载软件设置如图(单片机没接外部晶振):
2019-09-12 02:54:22
为什么会出现中断的概念呢?这个概念是为了解决什么问题
是为了解决什么问题?比如我们有一个功能,按键按下,led等亮起。这个很好实现,主程序进入cpu然后一直while循环,去检测按键所在gpio口的状态,如果发生改变那个就去控制led灯的gpio口的状态
2022-01-05 08:02:31
你不知道的PIC单片机中断程序的设计技巧
人口只有一个,在响应中断的请求时,PIC单片机就会自动把全局中断的使能位(INTCON的第7位GIF)清除,这样其他中断就暂时不能被响应(此时,如果别的中断发出的中断请求,标志位将一直保留着),直到这个
2011-11-15 13:58:45
关于while(1);循环使用的一些问题
你设置break等类似的跳出循环语句循环才会中止。1就是永远为真,所以说while(1)就是个死循环,我们需要程序不断回到开始或者某一点开始执行,我们就会使用一个while(1)循环。单片机中while
2015-05-12 10:51:08
关于STM32 SD存储程序的一个问题
以下是鄙人测试中的一个代码,用来将数据存储到SD中,现在的问题是,如果这段程序单独的在while(1)循环里,是可以一直存储数据的,但是一旦这段程序放下了if的条件语句下面,就无法将数据保存到SD卡
2015-10-16 11:07:01
分享PIC单片机的C语言程序一实例
分享PIC单片机的C语言程序一实例1.赋值语句和赋值表达1)赋值语句赋值语句是C语言中最常用的一种语句,如公式中的计算,一般都是通过赋值语句完成的,赋值语句的格式为:标识符二表达式;等式左边的标识符
2009-09-17 15:24:25
利用C语言编写PIC单片机程序的方法是什么
PIC单片机C语言程序设计1 7学电子跟我来FOLLOW MEPIC 单片机C 语言程序设计(1)◆丁锦滔编者按:为了帮助具有PI C 单片机汇编语言知识的技术人员或工程师,快速掌握利用C 语言编写
2021-07-15 08:40:22
如何让一个单片机点亮一个LED
刚开始学单片机,这两天学了:1.如何让一个点亮一个LED。2.如何让一个小灯闪烁。3.实现一个简单的流水灯。#includetypedef unsigned char u8;typedef
2021-12-02 07:19:32
如何使得单片机的LED灯闪烁又不影响主程序运行?
51单片机问题,紧急求助!
怎样使得单片机的LED灯闪烁又不影响主程序运行???
我想通过单片机接收串口命令让一个LED灯闪烁,但同时又不影响其他程序的运行,应该怎样去写这个程序呢
2023-11-06 07:18:41
如何利用单片机让蜂鸣器一直响
#include***it FMQ36=P3^6;想要蜂鸣器发声,那么我们需要的是给蜂鸣器高低电平,这样才能让蜂鸣器发出声音。这里我们需要的是让蜂鸣器一直响,所以我们将程序写在while里面。#include***it FMQ36=.
2021-11-22 06:23:21
如图程序一直在跑,波形图表也一直在刷新,请问如何让labview波形图表暂停刷新?
如图,程序一直在跑,波形图表也一直在刷新。有什么方法让波形图表停止刷新,方便扩大观看细节,而不停止程序运行?
2018-06-28 11:13:13
如果程序不加while(1)会出现什么情况
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加while(1)会出现什么情况,对于这种好学精神,还是值得赞扬的,做学问就需要有追根问...
2021-07-16 06:46:02
帮忙写个——一直按键盘读入数据就可以一直输出的程序
我对c语言不熟悉,请求帮忙写个程序,情况如下:从键盘上读入数字,例如从键盘上读入1,则输出1,如果键盘没有输入,则停1秒执行下一条语句。这样的话,如果我一直按键盘读入数据就可以一直输出。谢谢了
2012-01-12 22:43:41
并发性程序在写裸机软件时有while(1) 循环
第一、并发性程序并发工作效率低在写裸机软件时,不可避免的在主程序中会有一个超级大的 while(1) 循环,这里面几乎包含整个项目的所有业务逻辑。因为每个业务逻辑里面都会有 delay 这样的循环
2021-08-20 06:47:31
怎么保持一个外部来的高电平脉冲
新人想问下大虾们,怎么保持一个外部来的高电平脉冲,让它一直保持高电平,单片机读取后再复位,等待下一个高电平的到来,请问用什么芯片可以实现呢
2015-06-16 15:26:08
怎么让程序运行几分钟停几分钟,然后一直循环下去呢
本帖最后由 我想看看太阳 于 2022-6-8 14:55 编辑
怎么让程序运行几分钟停几分钟,然后一直循环下去,需要添加什么模块呢
2022-06-08 10:01:08
怎么让labview主程序运行时,子程序也在运行,我点击弹出按钮的时候,只是显示子程序,子程序一直都在后台运行
怎么让labview主程序运行时,子程序也在运行,我点击弹出按钮的时候,只是显示子程序,子程序一直都在后台运行。比方说我的报警界面,按照要求是一只要运行的。用选项卡界面做,是可以实现这个功能的,但是感觉选项卡界面不够美观,我这里说的是弹窗界面。谢谢指点
2017-08-16 08:27:48
怎么用C#编写一个上位机程序来控制单片机
求助,怎么用C#编写一个上位机程序来控制单片机,让单片机采集直流调速的速度,根据反馈的速度显示在上位机上,怎么用串口通信实现啊,跪求各位大神啊
2013-04-23 20:38:03
新人对while(1)语句的一个提问
刚刚开始学单片机,写了一个灯亮的程序,可是为什么在while循环里,最后的效果是八个灯全亮,感觉不科学的样子ovovoid main(){while(1){P1=0x00;P1=0xfe;}}
2016-09-22 15:41:19
新人求助C51的一个程序问题....万分感谢
刚学单片机2天 ,有一定C语言基础。 刚编一个4个按键控制4种不同的流水灯,可是运行的时候,当按下其中一个键之后,它就一直循环那一个流水灯,剩下的怎么按也不管用了,下面是程序 ,请问应该用什么方法在
2013-09-29 10:37:11
有关单片机C语言中while(1)的问题
单片机C语言中while(1)的问题 单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网
2021-07-16 07:31:05
求一个红外接收单片机程序
急求高手、大师、大神们帮帮忙了,一个红外接收的简单的C语言源码程序,最好是要有注解的,64位的单片机有,下载软件有,下载硬件有,就差一个单片机程序
2018-05-06 16:09:57
点亮Led深入研究,主程序为什么一直循环?
在51单片机执行完(第一次)主程序为什么还会循环,并没有循环语句,为什么?主程序就是简单的四句话如下:Void main(void){Led=0;延时;led=1;延时;}正常现象应该是灯亮一次灭掉,但是此程序为什么灯会一闪一闪,闪说明单片机再一次又一次的执行主函数在循环,为什?
2015-05-29 08:07:48
第一个单片机程序是什么
第一个单片机程序:纯文本复制#include//包含特殊功能寄存器定义的头文件***it LED = P0^0;//位地址声明,注意:***it 必须小写、P 大写!void main(){//任何
2021-07-14 07:54:27
请教个单片机主程序编写的问题
请教个单片机主程序编写的问题,一般加上while(1)不是让程序一直跑么,但是我现在有个问题就是:我的程序有两个部分。一部分要一直刷新,但是令一部分则要运行一次就停止,这该怎么编呢。
2016-05-15 20:36:11
请教几个单片机程序规范的问题
如果有一个比较大的单片机工程,用到了挺多中断,那么单片机代码应该是主要在中断服务程序中,而在main函数中简单进行初始化工作,让while循环中尽可能少干活,,,,,还是应该让主要的工作在main
2014-09-01 10:34:10
请教各位大神程序中的while(1)写成了死循环,但还想让其执行下面的另一个循环内容,并保持第一个while还运行。
请教各位大神程序中的while(1)写成了死循环,但还想让其执行下面的另一个循环内容,并保持第一个while还一直在运行。比如第一个while里是ad采集程序需要一直采集。应该怎么写那?必须中断吗?有其他方法吗?
2017-06-12 12:03:00
请问在keil中我使用c语言编程序,但是想用goto语句时发现不
请问在keil中我使用c语言编程序,但是想用goto语句时发现不用,我加了后#include我用ljmp也不能用,我就是想根据不同的中断端口,来跳转到不同的主程序端口。哪位大侠能帮我我一下语言,或者换一种算法?谢过!!!
2012-03-03 17:26:26
请问如何让在循环结构中的布尔灯保持前一个循环的值的状态
大佬们,我做的是一个车库的车位检测,通过判断测距来判断车位,通过布尔灯来表示状态,但是布尔灯没办法保持前一个数据的状态,循环一次结束后总是会自动亮起,每次来假的时候就只会闪一下,怎么让灯的状态保持呀?
2019-05-15 16:12:07
跳出双层循环,加密程序等问题解答
()//假设这个是按键处理程序方案2:if(SWITCH==0;)return;//这是主程序扫描程序之一,获取键值后赋值SWITCH,打开按键处理入口,让单片机扫过去处理键值,然后下一句是KEY_Deal
2018-09-07 16:14:42
C语言入门教程-if语句和while循环
if语句和while循环
C语言中,if语句和while循环都会用到布尔表达式。下面是一个使用if语句的简单例子:
#include
2009-07-29 10:48:328304
C语言程序设计教程之如何设计循环结构
本文档的主要内容详细介绍的是C语言程序设计教程之如何设计循环结构主要内容包括了:1 while语句2 do-while语句3 for 语句4 break、continue和goto语句5 循环的嵌套6 复合结构程序举例
2018-10-26 16:48:090
C语言的for循环语句的程序和电路图免费下载
1、在许多实际问题中,需要程序进行有规律的重复执行,这时可以用循环语句来实现。在c语言中。用来实现循环的语句有for语句,while语句,do-while语句,goto语句等。
2019-08-20 17:31:001
单片机程序主函数中为什么一定要加while
在单片机的主程序中,我们在写程序的时候,总是写一个while(1)的语句,以此达到让程序进入一个无限死循环中,其目的是让程序一直保持在我所需要的运行情况下,例如:流水灯的程序让LED灯一直在交替闪烁
2019-08-15 17:32:000
为什么单片机的主程序是死循环
任何一个可用程序都必然是死循环程序,这不仅仅是指单片机程序。因为任何微处理器系统一旦开机,系统都在处理内部事件和外设响应,这个过程是一个循环过程,除非关机才能结束这个死循环程序。因此,对于单片机编程必须注意以下几点
2020-07-15 17:38:434703
main函数中的while(1)解读
单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加while(1)会出现什么情况,对于这种好学精神,还是值得赞扬的,做学问就需要有追根问...
2021-11-15 20:51:0250
51单片机实战教程之C语言基础(八 while循环)
则跳过,去执行while循环后面的语句。 while 循环可以只有条件表达式,没有循环语句。如while(!TF0= 0);这个实际上是T0硬件延时,等待T0计数器溢出。 while循环非常有用,在单片机编程中最常见的是:whi...
2021-11-21 09:21:011
PLC编程中循环语句FOR和WHILE如何选择
迭代语句主要用于重复执行的程序,在 CoDeSys 中,常见的迭代语句有 FOR,REPEAT 及WHILE 语句。
2023-01-30 17:45:291695
c语言在while中嵌套if循环
C语言是一种广泛使用的面向过程编程语言,它提供了许多控制结构来帮助程序员实现复杂的逻辑和流程控制。其中,while循环和if语句是非常常见和重要的控制结构。本文将详细介绍C语言中在while循环
2023-11-22 10:09:521021
评论
查看更多