0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个比较有效的单片机编程思路

j4AI_wujianying 来源:未知 作者:易水寒 2018-04-29 21:09 次阅读

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

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

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

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

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

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    445

    文章

    47476

    浏览量

    407875
  • 函数
    +关注

    关注

    3

    文章

    3845

    浏览量

    61215
  • 单片机编程
    +关注

    关注

    10

    文章

    49

    浏览量

    19956

原文标题:谈谈我的单片机编程思路

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【DIY单片机最小系统】单片机最小系统制作设计思路

    为了大家能够更全面的学习单片机,结合各方面的资料,我们确定了比较综合性的方案,现在说下设计思路,欢迎大家提出建议。单片机最小系统设计
    发表于 11-15 10:13

    51单片机经典教程——对系统设计较有帮助

    51单片机经典教程——对系统设计较有帮助
    发表于 03-23 10:19

    有关单片机的问题

    求各位高人推荐单片机入门教材,如果是视频请提供下载地址。另外,请说明现在学习什么类型的单片机比较有前途,是51单片机还是其他什么。
    发表于 06-07 21:33

    瑞萨R8C与16位凌阳单片机比较有那些优势?

    本帖最后由 于圭 于 2015-2-3 19:53 编辑 瑞萨R8C与16位凌阳单片机比较有那些优势?它可以在那些方面应用更能体现它得优势?它的指令系统与C51单片机有很大的不同吗?
    发表于 01-28 18:07

    个人写的学习单片机思路

    单片机自学思路学习思路、初级阶段必备基础知识:C语言、电子基本常识。1、由于硬件部分可以买到现成的模块,所以可以直接进行软件部分学习。软件部分首先要学习C语言,必须熟练进行基础函数
    发表于 05-29 19:13

    单片机编程语言的比较

    不能够实现所有要编写程序的功能,比如当想编写精确控制的定时程序时,用起汇编语言来还是比较方便的。因此想成为优秀的
    发表于 08-29 09:43

    探讨怎样学习单片机编程

    。但在实际编程的时候就没那么简单了。程序的形成不仅需要有C语言知识,更多需要融入你个人的编程思路和算法。
    发表于 09-12 12:21

    如何快速找到单片机程序员?

    需要对现有的直流无刷电机及驱动器开发电机运动控制的程序,在猪八戒、快包、开发宝上发布了任务,效果都不大好,请问网上哪个平台比较有效率寻找到单片机程序员做开发?感激!跪谢指点!
    发表于 12-20 11:11

    单片机编程书籍推荐

    单片机编程书籍推荐,想学好单片机其实并不困难,单片机门实践性非常强的的学科,学习时要理论与实践并重量,现在网上学习
    发表于 07-14 08:09

    怎么学习单片机编程

      怎么学习单片机编程?其实吧,单片机学习起来不难,反而是比较有趣的事情,之所以新手感觉比较
    发表于 07-14 06:01

    单片机学习要掌握哪些知识呢

    单片机学习起来其实不难,反而是比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起。单片机的学习无外乎两方便.
    发表于 09-11 10:03

    请问怎么用单片机一个比较有创新的东西?

    请问怎么用单片机一个比较有创新的东西?
    发表于 09-29 09:15

    聊聊我对单片机程序的整体框架设计的思路体会

    RTOS。或者使用RTOS,在整体思路比较迷茫,不知从何入手,所以本文来聊聊我对单片机程序的整体框架设计的思路体会。为啥要讨论架构
    发表于 02-23 07:30

    如何快速有效的学习单片机

    学习单片机需要具备一定的电路基础、数字电路、模拟电路、信号系统、C语言编程等相关的基础知识。单片机的学习包括硬件设计和编程设计,早期单片机
    发表于 07-15 17:26 1694次阅读

    plc与单片机的优缺点 PLC与单片机系统比较有何优势?

    plc与单片机的优缺点 PLC与单片机系统比较有何优势? PLC(可编程逻辑控制器)和单片机是现代自动化领域中常用的控制系统。它们在实际应用
    的头像 发表于 11-21 16:10 1225次阅读