历史上的今天
返回首页

历史上的今天

今天是:2024年11月20日(星期三)

正在发生

2018年11月20日 | 单片机编程初学者之主函数的特点

2018-11-20 来源:eefocus

 在给一些单片机初学者解答问题的时候,我发现了一个现象,可能是因为受到电脑上学习C程序设计的影响,很多人会写出类似这样的程序:


[cpp] view plain copy#include


void main()


{


P1=0x00;


}


或者是这样的程序


[cpp] view plain copy#include


int main()


{


P1=0xab;


return 0;


}


如果是在电脑上运行类似这样的程序,程序执行结束,控制权交给系统,有返回值的返回给系统,是完全可行的,但是在单片机上就不一样了,对于不依靠操作系统的单片机程序,main函数就是操作系统,应该是不能终止运行的,而应该是一个while(1)死循环。


没有加while(1)的程序执行结束会出现不可预知的结果(具体要根据汇编语言PC指针指向的位置判断),也就是程序跑飞。


虽然实际上用的时候STC单片机会循环执行程序(执行结束单片机复位,所有变量重置),但这个在芯片手册中并没有给出官方说明,所以并不一定总能如此。


单片机程序执行终止,这样就会大大降低可靠性。试想你的单片机在控制一台大型机器,如果发生不可预知的结果,后果很严重;如果你的手表是单片机,程序停止运行会怎样?就停止显示了;如果电脑的操作系统运行终止(关机除外),也会出现问题。


所以单片机的程序必然是一个死循环,一般都会有while(1),另外不需要有返回值,形如下面两种情况。


[cpp] view plain copy#include


void main()


{


P1=0x00;


while(1);


}


[cpp] view plain copy#include


void main()


{


while(1) {


P1=0x00;


}


}


推荐阅读

史海拾趣

GHI Electronics公司的发展小趣事

GHI Electronics公司成立于2003年,总部位于美国密歇根州。公司自创立之初便明确了其使命:为客户提供咨询、制造和解决方案,以降低风险、成本和复杂性。这一清晰的定位使得GHI Electronics能够迅速在电子工程和制造领域站稳脚跟。随着市场需求的不断变化,GHI Electronics不断调整和优化其服务内容,逐渐赢得了客户的信任和市场的认可。

Don Connex Electronics Co Ltd公司的发展小趣事

近年来,随着环保意识的提高,Don Connex Electronics积极响应绿色发展的号召,将环保理念融入产品设计和生产过程中。公司采用环保材料、节能减排的生产工艺,确保产品在使用过程中对环境的影响降到最低。同时,公司还积极参与环保公益活动,推动电子行业的绿色发展。

Conditioning Semiconductor Devices Corp公司的发展小趣事

为了进一步提升技术水平和扩大市场份额,CSDC积极寻求与国际半导体巨头的合作。通过与这些公司的技术交流和合作研发,CSDC不仅获得了先进的技术支持,还成功打入了国际市场。这一合作不仅提升了CSDC的品牌影响力,也为其带来了更多的商业机会。

创基(CBI)公司的发展小趣事

在电子行业快速发展的今天,创新是企业持续发展的关键。CBI公司始终坚持创新驱动的发展战略,不断投入研发资源,推出具有创新性的电子产品。这些产品不仅满足了消费者的多样化需求,也为公司带来了丰厚的利润回报。同时,公司还注重知识产权保护,通过申请专利、商标等方式,保护自己的创新成果不受侵犯。

请注意,以上故事均为虚构,旨在为您提供一个关于电子行业里公司发展起来的故事框架。在实际情况中,不同公司的发展历程和故事可能会有所不同。

Bias Power公司的发展小趣事

在竞争激烈的电子行业中,Bias Power公司始终坚持质量至上的原则。公司建立了严格的质量控制体系,从原材料采购到生产加工、产品测试等各个环节都进行严格把关。此外,公司还引入了先进的生产设备和技术,确保产品的稳定性和可靠性。

由于公司对产品质量的严格把控,Bias Power公司的产品在市场上享有很高的声誉。许多知名企业都选择与其合作,将其产品应用于关键领域和重要项目中。这种信赖和认可为Bias Power公司的发展提供了有力支持。

Arctic Silicon Devices公司的发展小趣事

在电子行业的早期阶段,Arctic Silicon Devices以其卓越的技术研发能力脱颖而出。公司成功研发出一款低功耗、高性能的芯片,满足了市场对移动设备日益增长的需求。这一技术突破让Arctic Silicon Devices在业内赢得了良好的声誉,并吸引了大量合作伙伴和投资者。随着公司业务的不断拓展,Arctic Silicon Devices逐渐成为了行业内的佼佼者。

问答坊 | AI 解惑

射频电路中的电感

介绍了几种射频电路中常见的电感形式,给出了其电感值和Q值的计算公式,可用于工程中设计和分析电感,并阐述了几种电感的实际应用. …

查看全部问答>

在STC89C58RD+ UCOS跑流水灯

附件是用KEIL建立的工程项目,在P3口跑了个流水灯,可以在纯软件仿真下观察效果。 系统使用资源: Program Size: data=84.0 xdata=423 code=3263 STC89C58的资源:ROM 32K,RAM:1280 BYTE,可以容纳。 从51其他型号到STC89C58RD+移植要点: ...…

查看全部问答>

华为。初级电子工程师下

华为。初级电子工程师下…

查看全部问答>

做工业控制的坛友难道很少吗?

总是没有参与提问和讨论?…

查看全部问答>

请问用PIC16F57搞电子式电能表的开发,都需要用到什么软件。

请问用PIC16F57搞电子式电能表的开发,都需要用到什么软件。…

查看全部问答>

ds1302的使用

各位大侠,请问怎么才能确定ds1302处于工作状态?…

查看全部问答>

电脑网卡灯不亮 网卡和网线都是好的

电脑网卡灯不亮,有时候还一亮一灭的闪烁,显示本地连接打叉,不能上网,可是电脑搬到别的地方就可以,网线插别的电脑也可以,请问是什么问题啊。…

查看全部问答>

camera问题呀!!???

我的摄像头分辨率是720*288的,使用camera 接口输入,在7寸TFT上显示(800*480),调试时发现,水平方向左右两端的图像缺失,不能完整显示,其他的正常。请问这是啥原因??高手指点,急!!! …

查看全部问答>

设计管道漏水检测装置的想法?

最近公司接了个项目,是自来水公司的,要求研发一件产品能够检测出管道是否漏水(地下管道:压力应该挺大),现在还没有想到合适的方法,希望大家帮忙想想啊!比如说传感器之类。可以考虑每隔多少米方一个设备也行。我想过用湿度传感器,但是传感器 ...…

查看全部问答>

为什么单片机可以得到广泛应用

(1)51单片机是神马时间进入市场的?答:51单片机是上个世纪70年代发展80年代被广泛应用的单片机。 (2)同时期还有其他的竞争产品吗?答:有还有Zliog公司的z80单片机,但是不久就由于公司的策略原因退出了市场(网上说的)。 (3)下面说只要题目,现在 ...…

查看全部问答>