» 您尚未 [登录 - 注册] ┆ 帮助 ┆ Archiver ┆ ┆ 
--> 标题: [建议]谈谈我的单片机编程思路
您是本帖第1394个阅读者。
性别:男<br>状态:离线<br>积时:10 个月 0 天 2 小时 24 分 46 秒
aj8714523


管理员

头衔:眼镜蛇管理员
等级:管理员
帖数:1402
金钱:1017
S币:74

收藏 举报 1F 资料 | 留言 | 编辑 | 引用 | 评帖 | 主页
[建议]谈谈我的单片机编程思路

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

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

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

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

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

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







----签名档 --------------------------------------------------------
世界上比毒品更容易成瘾的,是装逼时的感觉。。。。

Posted:2011-06-19 10:53:54
 每页10条,共1页,合计1条记录
9  1  :
转到  


Powered By:Discuz! 6.0 Processed in:0.515625s,13 queries.
眼镜蛇论坛|单片机论坛| 技术支持:【QQ】1522066584

免 责 声 明 本站提供网上自由讨论使用,所有个人言论并不代表本站立场,与本站立场无关,本站不会对其內容负上任何责任。
假若內容有涉及侵权,请立即联络我们。我们将立刻从网站上刪除,并向所有持版权者致最深的歉意。