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

发布时间:2021-06-07

万福君、潘松峰

比较
JCNEXT;若30H中的数据比31H中
;的数据小则退出
MOVA,30H;当30H中的数据大于等
;于31H中的数据
;则将30H、31H中的数据交换
XCHA,31H;
MOV30H,A;
NEXT:RET
多重分支P113
例:数据排序—将30H和31H中的大数放在31H中,
小数放在30H中
PX:CLRC;清除标志位,准备减法
MOVA,30H;
SUBBA,31H;30H中的数据与31H中的
;数据比较
JCNEXT;若30H中的数据比31H
;中的数据小则退出
JZNEXT;若30H中的数据与31H
;中的数据相等退出
MOVA,30H;当30H中的数据大于
;等于31H中的数据
;则将30H、31H中的数
;据交换
XCHA,31H;
MOV30H,A;
NEXT:RET



例、设定20H字节中D0—D7放置八个条件,程
序根据条件执行相应的程序,并清除相应标志
FZTZ:JNB00H,TJ1
  CLR00H
LCALLTJ0CL
TJ1: JNB01H,TJ2
CLR01H
LCALLTJ1CL
TJ2: JNB02H,TJ3
CLR02H
LCALLTJ2CL
TJ3: JNB03H,TJ4
CLR03H
LCALLTJ3CL
TJ4: ······





(2) 散转分支(N路分支)
方法1:累加器中存放命令号,计算累加器中的偏量后执行
 MOVDPTR,#JMP-TBL
 CLRC
 RLCA
 JMP@A+DPTR
JMP-TBL:AJMPADDR1
 AJMPADDR2
 AJMPADDR3
 AJMPADDR4
 ·····
方法2:P115-P116; 方法3:P117
以上各种方法的区别在于计算转移地址,可灵活运用


三、 循环程序
对于有规律可循又反复处理的程序,可采用循环处理方式
(一)循环程序的组成
1、 循环体的初始化及初始化条件
2、 循环体及循环控制
3、 循环结束方式
(二)循环程序的形式
(1) 无限循环(死循环)
XH1: MOVXHJSQ,#20
LOOP:····
AJMPLOOP
(2) 定次数循环
XH1: MOVXHJSQ,#20
LOOP:····
DJNZXHJSQ,LOOP
RET
(3) 限幅式循环(条件退出或循环次数计满退出)
XH1: MOVXHJSQ,#100
LOOP:JBTJ1,TCXH
····
DJNZXHJSQ,LOOP
TCXH:RET
(4) 条件查询循环 (容易造成死循环,酌情使用)
LOOP:JNBTI,LOOP
···

JNBBIT,LOOP
···


(5) 多重循环、复合循环和循环嵌套







(6) 循环程序的变化---可重入的循环
XH1:MOVXHJSQ,#20
CALLXH2
····

XH2:DJNZXHJSQ,LOOP
····

LOOP: RET
(三)循环程序使用中应注意的问题:书上P125的6条中的2、3、4条在有效完成功能的前提下不必拘泥于此。


四、查表程序
查表程序在控制中应用比较广泛;对于非线性数据计算;复杂运算等工作中经常用到。
即能简化运算过程;又能提高运算速度。
如对热电偶采样数据线性化、作复杂运算等非线性运算、显示码表、数据转换等等时,可使用查表方式。
 MOVDPTR,#WENDUB;取数据表首址
 MOVA,WENDU;热电偶电压采样数据
MOVCA,@A+DPTR;取程序存

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

精彩图片

热门精选

大家正在看

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

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

支付方式:

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

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