单片机程序设计编程规范(3)

2020-11-29 00:28

就按键来说,一般有Keybuffer、KeyFIFO或直接进入APFIFO三种设计方式。

Keybuffer:一般用于保存数字按键信息。例如:在电话机的设计中,需要记录按键内容用于LCD显示、最后数字确认、数字存储等,这时候需要把按键值的信息(0123456789*#)记录在Keybuffer中;

KeyFIFO:一些功能按键可以将相应信息列入到KeyFIFO中,等待应用层的取用,这样可根据不同的工作模式进行不同的处理及动作。

这些类似的观念可以应用在许多周边中:

输入类:Key、RFDatainput、UARTdatainput、Switchinput等;

输出类:LCDdisplay、LEDdisplay、UARTdataoutput等。

APPFIFO(应用界面层):主要是将发生的事件储存在APPFIFO里面等待适当的时间依序处理,不然有可能造成系统在某一程序物件里面循环,从而降低系统的实时性(Real-Time)。

4)每个子程序模块只能有唯一一个程序入口地址在程序的首部,只能有唯一一个程序出口地址在程序的尾部。

例如:

以下的写法是不规范的(两个RET出口,存在调试时不易设立断点,程序可读性降低等问题):

lable:

b0bts0fz

ret

clry

ret

应该改为(只有一个出口位置,标号为lable90,便于程序检查):

lable:

b0bts0fz

jmplable90

….

clry

lable90:

ret

5)上电复位时要对所有的RAM空间进行初始化(建议用户寄存器清零,系统寄存器进行必要设定),不要使用未经初始化的变量。RAM未经过完整的初始化,容易导致程序执行的不确定性,这一不良现象往往在批量生产中有所体现。(这点是工程师经常犯错的地方,须特别注意)

6)系统中如果需要等待一些未知的应答信号,如通信或等待输入信号时,必须进行超时或异常处理,以防止程序进入“死等”状态。

例如在红外接收中,由于信号的突然消失或干扰从而无法得到一帧完整或正确的信息,这时需要复位接收程序的入口条件并退出接收程序,而不是一直等待信号的来临。不然无法进行下次接收甚至会影响到其它程序的执行。

7)通过对系统数据结构的划分与组织的改进,以及对程序算法的优化来提高空间效率。这种方式是解决软件空间效率的根本办法。

8)保证循环体内的工作量最小化。应仔细考虑循环体内的语句是否可以放在循环体之


单片机程序设计编程规范(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电大小学语文教学与研究全网最全答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: