[讨论] 工作之后这样写程序

fish001   2010-5-10 09:50 楼主
这是第一篇先主要把主程序的思想介绍个大家,以后会结合实际的子程序的写法来继续说明。先说说我我是怎么学单片机的吧
我单片机入门时看了天祥电子的十天学会单片机如果有网友还没入门的话一定要看看这个教程在次也要感谢天祥大哥能给这样的教程给大家有机会见面请你喝酒啊哈哈……
   
但是学那个教程入门可以但是真的要写些东西去卖就有点难了
工作以后感觉最大的是程序体变了接下来就给大家来说一下这个程序体该怎么写
首先要定个主程序的时基,来定时执行下面的子程序。
比如说我的主程序的时基是2ms在扫描各子程序之前用查询定时器标志位的方式来查询是否到了2ms
到了2ms扫描各个子程序,没到2ms就继续查询等待!
这样做的好处是扫描各个子程序的时间固定,易于添加其它程序!
这样的做法的前提是你各个子程序扫描一次的时间要小于2ms
下面举个例子来说明一下
如果我要做一个闹钟子程序有3个
按键扫描
数码管扫描
时间计时
程序会每隔2ms来扫描一遍这三个子程序
按键扫描程序,读取管脚电平,如果没有按键按下跳出
有按键按下存储管脚状态,比较前次和本次状态是否相同,相同按键计时寄存器加一,不相同则清除按
键计时寄存器跳出,看好,判断有键无键都跳出子程序扫描,只是对按键计时寄存器来操作(以后会结
合程序详说明)。
在按键计时寄存器达到一定数值则说明此键有效
数码管扫描时主程序没2ms扫描一个数码管,扫描一个数码管后,接通数码管的电平就固定了,这样再执
行其它程序,数码管也会一直点亮,这样要比传统的数码管扫描程序用延时更加省单片机的时序。数码
管也会显示更加稳定,以前用简单延时写出数码管显示用手一碰就会有鬼影,用这种方法就不会。
计时程序在这样的主程序体下就更加随便写了
以为是每2ms进时间计时程序一次,所以每进一次就给相应的计时寄存器加一就可以方便计时了。

以上是我参加工作以后写的程序体,对于高手可能是简单的东西了,也欢迎来板砖!

090807224063aed5c96333823b.jpg

回复评论 (1)

不明白
点赞  2010-5-12 12:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复