谈谈我的单片机编程思路

我曾经做过两年的单片机产品, 在对单片机编程的过程中逐渐形成了一个大体固定的整体框 架,也可以说是编程思路。现提出来供大家参考。 首先,对外围芯片进行分类,属同一功能或同一芯片的程序采用模块化的形式,用固定的 几个函数实现, 一般不同芯片之间的函数功能尽量不重叠, 也不要使用一个函数覆盖几个芯 片,以便于后期的调试,如果涉及到芯片之间通讯的,可以单独列出,使用专门的函数进行 处理; 其次,将单片机中需要完成的工作按轻重缓急进行分类,一般我会设置两个定时中断,其 中一个定时时间大致在 20mS 左右,用来处理一些按钮防抖处理、时间日期计算、对输入 处理后产生对应标志位、 器件刷新等一些实时性要求不是很高, 但必须有时间要求的事物处 理,另外设立一个定时中断大概在 1mS 以下,主要用来实现时钟基准和做一些实时性要求 很高的操作, 一般需要将实时性要求较高的定时中断设置为高优先级, 否则不能实现正常运 行,如果还有串行中断需要处理,则需要严格控制实时中断中的代码长度,以免耽误串行中 断的处理, 还有就是如果使用软件实现串口及无线通讯软解码的场合, 也要合理分配各部分 的代码长度; 最后,将普通的事件检测和处理以及响应放在主程序体中实现,该部分一般只需要几个并 行的函数就可以了,主程序体可以以简单的几行代码实现。 本人采用以上结构开发了若干个单片机产品,包括包含无线软解码的无线防盗报警主机、 RS485 中继器(一拖 100) 、带中文显示的报警接收机等,都实现了稳定有效的运行。 希望本人的一些体会会能给大家有所帮助!


相关文档

浅谈单片机程序设计中的“分层思想”
状态机思路在单片机程序设计中的应用
浅谈单片机编程语言
浅谈编程方法与思路
浅谈C语言在单片机中的程序设计
匠人浅谈单片机程序设计中的“分层思想”
和初学者谈谈如何学好单片机编程技术
单片机按键去抖动程序设计思路
浅谈PIC单片机程序设计
浅谈自制51单片机编程器方法和策略
电脑版