收藏|地图|在线留言在线咨询|0755-82225097
宇凡微,提供专业的单片机芯片方案开发设计服务,8位MCU、IC稳定供应。
单片机

热门关键词:

单片机的程序编写说明

作者: 宇凡微 编辑: 单片机工程师 来源: 宇凡微 发布日期: 2022.10.08 浏览次数:
信息摘要:
MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计…

MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计者来讲,汇编语言仍然是最简洁、最有效的编程语言。

单片机的程序编写说明

对于MCU的程序编写,其基本的框架可以说是大体一致的,一般分为初始化部分(这是MCU程序设计与PC最大的不同),主程序循环体和中断处理程序三大部分,其分别说明如下:

1、初始化:

对于所有的MCU程序的设计来讲,初始化是最基本也是最重要的一步,一般包括如下内容:

屏蔽所有中断并初始化堆栈指针:初始化部分一般不希望有任何中断发生。

清除系统的RAM区域和显示Memory:虽然有时可能没有完全的必要,但从可靠性及一致性的角度出发,特别是对于防止意外的错误,还是建议养成良好的编程习惯。

IO口的初始化:根据项目的应用的要求,设定相关IO口的输入输出方式,对于输入口,需要设定其上拉或下拉电阻;对于输出口,则必须设定其初始的电平输出,以防出现不必要的错误。

中断的设置:对于所有项目需要用到的中断源,应该给予开启并设定中断的触发条件,而对于不使用的多余的中断,则必须给予关闭。

其他功能模块的初始化:对于所有需要用到的MCU的外围功能模块,必须按项目的应用的要求进行相应的设置,如UART的通讯,需要设定Baud Rate,数据长度,校验方式和Stop Bit的长度等,而对于Programmer Timer,则必须设置其时钟源,分频数及Reload Data等。

参数的初始化:完成了MCU的硬件和资源的初始化后,接下来就是对程序中使用到的一些变量和数据的初始化设置,这一部分的初始化需要根据具体的项目及程序的总体安排来设计。对于一些用EEPROM来保存项目预制数的应用来讲,建议在初始化时将相关的数据拷贝到MCU的RAM,以提高程序对数据的访问速度,同时降低系统的功耗(原则上,访问外部EEPROM都会增加电源的功耗)。

2、主程序循环体:

大多数MCU是属于长时间不间断运行的,因此其主程序体基本上都是以循环的方式来设计,对于存在多种工作模式的应用来讲,则可能存在多个循环体,相互之间通过状态标志来进行转换。对于主程序体,一般情况下主要安排如下的模块:

计算程序:计算程序一般比较耗时,因此坚决反对放在任何中断中处理,特别是乘除法运算。

实时性要求不高或没有实时性要求的处理程序;显示传输程序:主要针对存在外部LED、LCD Driver的应用。

3、中断处理程序:

中断程序主要用于处理实时性要求较高的任务和事件,如,外部突发性信号的检测,按键的检测和处理,定时计数,LED显示扫描等。

一般情况下,中断程序应尽可能保证代码的简洁和短小,对于不需要实时去处理的功能,可以在中断中设置触发的标志,然后由主程序来执行具体的事务――这一点非常重要,特别是对于低功耗、低速的MCU来讲,必须保证所有中断的及时响应。

4、对于不同任务体的安排,不同的MCU其处理的方法也有所不同:

例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目均为手持式设备和采用普通的LCD显示,对按键的反应和显示的反应要求实时性较高,因此一般采用定时中断的方式来处理按键的动作和数据的显示;而对于高速的MCU,如Fosc》1MHz的应用,由于此时MCU有足够的时间来执行主程序循环体,因此可以只在相应的中断中设置各种触发标志,并将所有的任务放在主程序体中来执行。

5、在MCU的程序设计中,还需要特别注意的一点就是:

要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是,将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行该数据的相关操作;而在其他的程序体中(主要是中断),对需要进行该数据的处理的地方只设置触发的标志。这可以保证数据的执行是可预知和唯一的。

以上就是宇凡微单片机工程师整理的单片机的程序编写说明全部内容分享,宇凡微提供ic晶元生产及封装定制,作为九齐一级代理商,拥有十多年的单片机芯片应用方案设计经验,为广大电子产品生产商提供 MCU应用功能定制开发服务。

免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之 目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们 会尽快处理。官方所有内容、图片如未经过授权,禁止任何形式的采集、镜像,否则后果自负!

标题: 宇凡微

地址:https://www.yufanwei.com/

推荐资讯

台湾花莲县海域发生7.3级地震,牵动大陆同胞的心!愿同胞平安

台湾花莲县海域发生7.3级地震,牵动大陆同胞的心!愿同胞平安

4月3日清晨,台湾花莲县海域发生了一场7.3级的地震,震源深度达到了12千米。这场地震发生在清晨7时58分,此次震中位于海域,离台湾岛最近约14公里。地震造成台湾全岛震感强烈,福建、广东等地震感非常明显,浙江、江苏、上海等地亦有震感反馈。
2024-04-03
向雷总学习-致敬每一位创业者-为梦想而奋斗的精神加电

向雷总学习-致敬每一位创业者-为梦想而奋斗的精神加电

3月28日(本周四)晚7点引发全网高度关注的小米汽车正式发布上市,当晚,“小米汽车SU7价格”“雷总雷神”话题直接爆了,还有多个相关话题霸屏微博热搜榜。在发布会现场看到,理想汽车李想,小鹏汽车何小鹏,蔚来汽车李斌和长城汽车魏建军、北汽集团张建勇等一众车界大佬纷纷前来捧场。现场约有1200人一起见证小米第......
2024-04-03
宇凡微QFID系列NFC非接触式读卡方案-致力打造更便携的无线通信技术

宇凡微QFID系列NFC非接触式读卡方案-致力打造更便携的无线通信技术

QFID系列方案——NFC非接触式读卡方案,以更高的性能、更可靠的安全性、更丰富的应用场景,不断的技术迭代和市场拓展,为全球用户提供了卓越的使用体验,也为中国市场带来了全新的解决方案。
2024-03-22
以科技创新引领企业高质量发展 —— 宇凡微荣膺“2023年度自主创新新锐企业奖”

以科技创新引领企业高质量发展 —— 宇凡微荣膺“2023年度自主创新新锐企业奖”

2024年3月14日下午,以“聚集产学研创新动能构建高质量发展体系”为主题,第四届深圳企业创新促进大会暨深圳工业总会2023年度年会圆满落幕。深圳宇凡微电子有限公司在合封芯片和芯片封装领域脱颖而出,促进原创性、颠覆性创新成果竞相涌现,一举斩获“自主创新新锐企业奖”。
2024-03-15
单片机封装类型

单片机封装类型介绍

单片机实质上是一个芯片,封装形式有很多种,例如DIP(DualI-liePackage双列直插式封装)、SOP(SmallOut-LiePackage小外形封装)、PLCC(PlaticLeadedChiCarrier带引线的塑料芯片封装)、QFP(QuadFlatPackage塑料方型扁平式封装)、PGA(PiGridArrayackage插针网格阵列封装)、BGA(BallGridArrayPackage球栅阵列封装)等。下面......
2022-09-20

咨询热线

0755-82225097