单片微机原理系统设计与应用 笔记(16)

发布时间:2021-06-07

万福君、潘松峰

例1
JBBIT,ABC

CALL AAA

ABC:POPPSW
RET

AAA:PUSHPSW; 递归调用例2
JBBIT,ABC

CALL BBB

ABC:POPPSW
RET

BBB:PUSHPSW
JBBIT,ABC1

CALL AAA

ABC1:POPPSW
RET



六、程序设计技巧
注意51单片机指令的特点和标志位的变化,仔细分析书中实例
(一) 程序的系统结构
1、 主程序部分
(1) 堆栈指针设置:根据运行程序的最大可能深度设置
(2) 硬件初始化:要用到的需要设置的硬件部分的初始化
(3) 数据初始化:开机数据的设置、复位和掉电的判断等保证系统正常运行的数据的设置与恢复
(4) 功能循环体:通过判断条件有序的循环执行功能程序
2、 中断矢量与中断程序部分
(1) 定义中断服务程序名称、中断矢量设置
(2) 编制时钟中断服务程序
(3) 编制其它中断服务程序如:计数器中断、外部中断、串行口中断等
3、 功能子程序部分
(1) 键盘、显示程序:键盘扫描、输出显示
(2) 输入、输出程序:数据采集、控制输出
(3) 数据滤波程序:数据真实性处理
(4) 数据保存程序:E2PROM写入程序及写入可靠性判断
(5) 控制功能程序:完成工艺要求的控制功能,并有效处理生产过程中发生的异常情况
(6) 报警程序:对控制过程中的异常情况报警并记录
(7) 通讯程序:与系统中的其它控制器或计算机进行必要的数据交换
(8) 打印程序:
4、 通用子程序部分:包括各种通用运算程序,可形成子程序库,形成积累,提高编程速度和质量
5、 数据表部分:必要的数据准备
(二) 数字滤波程序设计
1、 程序判断法滤波和限幅滤波 :根据实际数据数值的可能性,去除不合理的数据
2、 算术平均滤波:将多次采样数据取平均值
3、 中值法滤波:取中间值作为有效值
4、 加权滤波:根据各次采样数据的比重进行计算
5、 递推滤波、滑动平均值滤波:取最近数次采样的数据平均
6、 斜率法滤波:根据信号变化的最大斜率限幅
7、 复合滤波和其它方法滤波
(三)软件抗干扰技术
1、 单字节指令重复
CLRA
CLRA
MOVA,R0
2、 关键程序执行前的通行证的发放与执行时的判别方法(如EEPROM的写入程序等)
3、 软件陷阱(在RET、RETI、绝对转移指令后加入软件陷阱程序)
RET JMP…
NOP
NOP
LJMP ERR
4、 错误处理程序软件复位(P189)0
ERR:CLREA;关中断
MOVDPTR,#ERR1;准备返回地址
PUSHDPH
PUSHDPL
RETI;清除高
级中断激活标志
ERR1:MOV66H,#0AAH;重建上电标志
MOV67H,#55H
CLRA;准备复位地址
PUSHA
PUSHA
RETI;清除低级中断激活标志
5、 看门狗电路扫描(外加单稳定时电路)
6、 软件看门狗保护
7、 关键

单片微机原理系统设计与应用 笔记(16).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

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