历史上的今天
返回首页

历史上的今天

今天是:2024年11月19日(星期二)

正在发生

2018年11月19日 | 谈谈我的单片机编程思路

2018-11-19 来源:eefocus

 我曾经做过两年的单片机产品,在对单片机编程的过程中逐渐形成了一个大体固定的整体框架,也可以说是编程思路。现提出来供大家参考。


首先,对外围芯片进行分类,属同一功能或同一芯片的程序采用模块化的形式,用固定的几个函数实现,一般不同芯片之间的函数功能尽量不重叠,也不要使用一个函数覆盖几个芯片,以便于后期的调试,如果涉及到芯片之间通讯的,可以单独列出,使用专门的函数进行处理;


其次,将单片机中需要完成的工作按轻重缓急进行分类,一般我会设置两个定时中断,其中一个定时时间大致在20mS左右,用来处理一些按钮防抖处理、时间日期计算、对输入处理后产生对应标志位、器件刷新等一些实时性要求不是很高,但必须有时间要求的事物处理,另外设立一个定时中断大概在1mS以下,主要用来实现时钟基准和做一些实时性要求很高的操作,一般需要将实时性要求较高的定时中断设置为高优先级,否则不能实现正常运行,如果还有串行中断需要处理,则需要严格控制实时中断中的代码长度,以免耽误串行中断的处理,还有就是如果使用软件实现串口及无线通讯软解码的场合,也要合理分配各部分的代码长度;


最后,将普通的事件检测和处理以及响应放在主程序体中实现,该部分一般只需要几个并行的函数就可以了,主程序体可以以简单的几行代码实现。


本人采用以上结构开发了若干个单片机产品,包括包含无线软解码的无线防盗报警主机、RS485中继器(一拖100)、带中文显示的报警接收机等,都实现了稳定有效的运行。


希望本人的一些体会会能给大家有所帮助!


推荐阅读

史海拾趣

Ametherm公司的发展小趣事

随着产品质量的提升和市场口碑的积累,Ametherm公司开始积极拓展国内外市场。他们与多家知名企业建立了合作关系,将产品应用于各种电子设备中。同时,公司还积极参加国际电子展会,与全球客户进行交流与合作。这些举措使得Ametherm的品牌影响力逐渐扩大,市场份额也稳步提升。

EETools公司的发展小趣事

EETools公司成立于1992年,当时正值微处理器开发工具行业蓬勃发展的时期。公司创始人凭借对嵌入式系统产品的深刻理解和市场需求的敏锐洞察,决定投身于这一领域。EETools在硅谷的电子和计算机行业中心设立总部,迅速成为该地区的一颗新星。

在初创阶段,EETools专注于嵌入式系统产品的咨询和分销业务。通过与多家知名半导体厂商建立合作关系,EETools成功将各种高性能的嵌入式系统产品引入市场,满足了客户多样化的需求。同时,公司还积极研发自主品牌的嵌入式开发工具,为客户提供更为全面和专业的服务。

Broyce Control公司的发展小趣事

进入21世纪,Broyce Control已经成为电气和电子产品设计、制造和供应领域的佼佼者。公司不仅在技术上持续创新,还注重与行业伙伴的合作与交流。通过参与国际标准的制定和推广,Broyce Control逐渐在行业内树立了领导地位。同时,公司还积极承担社会责任,推动可持续发展和环保理念的实践,为行业的健康发展做出了积极贡献。

Aces Electronics Co Ltd公司的发展小趣事

近年来,电子行业经历了深刻的变革,新技术、新产品层出不穷。面对这一形势,Aces及时调整战略,加大在新技术领域的投入,推动公司向高端化、智能化方向发展。同时,公司还注重人才培养和团队建设,吸引了一批高素质的研发和管理人才,为公司的转型升级提供了有力支持。

Akustica(Bosch)公司的发展小趣事

在发展过程中,Aces也面临过各种挑战和危机。例如,原材料价格波动、市场竞争激烈、贸易壁垒等因素都曾经给公司带来不小的压力。然而,Aces凭借敏锐的市场洞察力和强大的危机管理能力,成功应对了这些挑战。公司及时调整采购策略、优化产品结构、拓展销售渠道等措施,有效缓解了外部压力,保持了稳定的发展态势。

这些故事虽然基于假设和推测,但反映了一个电子企业在发展过程中可能遇到的各种情况。无论面对技术挑战、市场竞争还是行业变革,Aces Electronics Co., Ltd.都展现了坚韧不拔、勇往直前的精神风貌。未来,公司将继续致力于技术创新和市场拓展,为电子行业的发展贡献更多力量。

ATC [American Technical Ceramics]公司的发展小趣事

电子行业是一个充满竞争和变化的领域,企业需要不断创新才能应对市场的挑战。假设ATC在面对激烈的市场竞争时,始终保持对创新的追求和投入。公司不仅注重产品技术的创新,还积极探索新的商业模式和市场策略。通过不断创新,ATC成功应对了市场的各种挑战,保持了稳健的发展态势。

问答坊 | AI 解惑

认识单片机

本帖最后由 paulhyde 于 2014-9-15 09:16 编辑 单片机是把CPU、存储器、及I/O集成到一个芯片上,只要外加少许电子零件便可以构成一套简易的控制系统。这样可以降低设计出来的产品的硬件成本。由于单片机芯片设计及制造技术方面的原因,在有限的芯 ...…

查看全部问答>

寻找各类技术精英兼职

本人是一个电源工程师,工作有十年啦,收入也算可观,为了进一步增加收入,另一方面也为了能结交更多高级电子工程师,由其是有事业心的年轻工程师,提供一个平台,帮助你快速挣到第一桶金,最近几年由于本人在项业内有一定身价,很多企业都要求本人帮他们做 ...…

查看全部问答>

09电子设计大赛专家预测题

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 09电子设计大赛专家预测题  …

查看全部问答>

如何知道WINCE的显示模式,比如分辨率\色彩\刷新率

如何知道WINCE的显示模式,比如分辨率\\色彩\\刷新率 如何改变它们…

查看全部问答>

招人共同组建团队,不是外包,月五万,招有志者,共同创业,知识转化为金经

团队公开所有源码,和调试技术,包括财务,所有的利润除去费用后,全属个人成员,优秀者我们重用 招聘要求:       * 热爱   旭日TOP团队,坚信   旭日TOP团队   会象   WinRAR  ...…

查看全部问答>

[急问]关于RS编解码在单片机上实现

我想在25M的单片机上进行RS编解码(31, 15) 手上有份PC上的程序 估计运行到单片机上性能肯定得不到保证…… 请问能从哪几个方面优化?貌似不能使用大规模的查表 请大家指点指点!谢谢…

查看全部问答>

找彩信外包

需要在arm9 下的彩信收发功能。 联系方式yuexianhanshu@yahoo.com…

查看全部问答>

[hanker M4开发板试用]多彩世界,我的调色板——stellaris图形库及touch应用

摘要 本文首先简要介绍了Stellaris图形库的基本使用,在touch库函数下编写了调色板程序。调色板主要使用了三个滑动条,分别代表红、绿、蓝三色。通过移动滑动条改变三元色的数值,从而改变背景的颜色。文章最后对IAR编译环境做了简单概述并 ...…

查看全部问答>

试用“申请原创赢E金币”功能

发现无论是发帖还是回帖,只有在高级模式下才能选择“申请原创赢E金币”,感觉不是很方便 另外已经申请过的帖子再次编辑时“申请原创赢E金币”会变成没有选,如果再次勾选会不会导致一个帖子重复多次申请。 …

查看全部问答>