




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.循环程序设计,延时程序中延时时间的设定:,源程序: 指令周期 DELAY: MOV R3, #( X )H 2个T机器 DEL2: MOV R4,#( Y )H 2个T机器 DEL1: NOP 1个T机器 NOP 1个T机器 DJNZ R4,DEL1 2 个T机器 DJNZ R3,DEL2 2个T机器 RET,指令周期、机器周期T机器与时钟周期T时钟的关系: T机器=12T时钟=121/fosc=1s (假设晶振频率fosc为12M),延时时间的简化计算结果: (1+1+2) X Y,若想延时100ms,只需修改计数初始值,即 (1+1+2) 125200s=100ms,循环程序设计,1S
2、延时程序,源程序: DELAY: MOV R2, #10 DEL3: MOV R3, #200 DEL2: MOV R4,#125 DEL1: NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 DJNZ R2, DEL3 RET,在P1.0输出1KHz方波。,ORG 00H AJMP MAIN ORG 30HMAIN: CPL P1.0 ACALL DELAY SJMP MAINDELAY:MOV R2,#250 DJNZ R2,$ RET END,2.查表程序,表格是事先存放在ROM中的,一般为一串有序的常数,例如平方表、字型码表等。 表格可通过伪指令DB来确定。 通过查表
3、指令MOVC A,A+DPTR MOVC A,A+PC来实现。,在LED显示和键盘处理程序中将会用到。,用查表法计算平方 ORG 0000H MOV DPTR,#TABLE ;表首地址送DPTR MOV A,#05;被查数字05A MOVC A,A+DPTR;查表求平方 SJMP $ TABLE:DB 0,1,4,9,16,25,36,49,64,81 END,3.散转程序,散转程序是指通过修改某个参数后,程序可以有三个以上的流向,多用于键盘程序。 常用的指令是JMP A+DPTR,该指令是把16位数据指针DPTR的内容与累加器A中的8位无符号数相加,形成地址,装入程序计数器PC,形成散转的目
4、的地址。,DPTR,+,A,PC,16位地址数,程序清单如下: JUMP1: MOV DPTR,JPTAB1 ;跳转表首送数据指针 MOV A,R7 ADD A,R7 ;R72A (修正变址值) JNC NOAD ;判有否进位 INC DPH ;有进位则加到高字节地址NOAD: JMP A+DPTR ;转向形成的散转地址人口 JPTAB1: AJMP OPR0 ;直接转移地址表 AJMP OPR1 . . . AJMP OPRn,例: 根据R7的内容,转向各自对应的操作程序 (R7= 0,转入OPR0;R7= 1,转入OPR1R7= n,转入OPRn),程序设计概述-基本步骤,题意分析 画出流
5、程图 分配内存及端口 编制源程序 仿真、调试程序 固化程序 养成在程序的适当位置上加上注释的好习惯。,汇编语言程序的基本结构形式 常采用以下几种基本结构: 顺序结构、分支结构和循环结构,再加上广泛使用的子程序和中断服务子程序。 1顺序结构 2分支结构 程序中含有转移指令,无条件分支,有条件分支。 有条件分支又分为:单分支结构和多分支结构。 3循环结构 4子程序,4.3.6 数据排序程序设计 升序排,降序排。仅介绍无符号数据升序排。 冒泡法:相邻数互换的排序方法,类似水中气泡上浮 。排序时从前向后进行相邻两个数的比较,次序与要求的顺序不符时,就将两个数互换;顺序符合要求不互换。 假设有7个原始数
6、据的排列顺序为:6、4、1、2、5、7、3。第一次冒泡的过程是: 6、4、1、2、5、7、3 ;原始数据的排列 4、6、1、2、5、7、3 ;逆序,互换 4、1、6、2、5、7、3 ;逆序,互换 4、1、2、6、5、7、3 ;逆序,互换 4、1、2、5、6、7、3 ;逆序,互换,4、1、2、5、6、7、3 ;正序,不互换 4、1、2、5、6、3、7 ;逆序,互换,第一次冒泡结束 如此进行,各次冒泡的结果如下: 第1次冒泡结果:4、1、2、5、6、3、7 第2次冒泡结果:1、2、4、5、3、6、7 第3次冒泡结果:1、2、4、3、5、6、7 第4次冒泡结果:1、2、3、4、5、6、7 ;已完成排
7、序 第5次冒泡结果:1、2、3、4、5、6、7 第6次冒泡结果:1、2、3、4、5、6、7 对于n个数,理论上应进行(n-1)次冒泡,有时不到(n-1)次就已完成排序 。,如何判定排序是否已完成,看各次冒泡中是否有互换发生,如果有数据互换,则排序还没完成。 在程序设计中,常使用设置互换标志的方法,该标志的状态表示在一次冒泡中是否有互换进行。 例4-10 一批单字节无符号数,以R0为首地址指针,R2中为字节数,将这批数进行升序排列。程序框图如图4-2所示。 SORT:MOV A,R0 ; MOV R1,A MOV A,R2;字节数送入R5 MOV R5,A CLR F0;互换标志位F0清零 DEC R5; MOV A,R1;,LOOP:MOV R3,A; INC R1; CLR C; MOV A,R1;比较大小 SUBB A,R3; JNC LOOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级下册数学教案-4.1 容积|北师大版
- 2025年机动车典当合同
- 六年级上册数学教案-总复习 你会算吗-求阴影部分的面积|北师大版
- 2025年科研合作协议
- 第四单元骄人祖先 灿烂文化整体教学设计-2024-2025学年道德与法治五年级上册统编版
- Unit 3 I'm more outgoing than my sister. SectionB 1a-1e教学设计2024-2025学年人教版英语八年级上册
- 2025年湖北三峡职业技术学院单招职业适应性测试题库汇编
- 2024年全脑开发项目资金申请报告代可行性研究报告
- 2025年嘉兴南洋职业技术学院单招职业技能测试题库完整
- 2025年共青科技职业学院单招职业适应性测试题库完整版
- 高二数学(含创意快闪特效)-【开学第一课】2023年高中秋季开学指南之爱上数学课
- 《学前儿童社会教育》学前儿童社会教育概述-pp课件
- 全国医学英语统考医学英语词汇表
- 【品牌建设研究国内外文献综述5000字】
- 国家电网公司电力安全工作规程(电力通信部分)(试行)
- 第八版-精神分裂症及其他精神病性障碍(中文)
- 小学一年级新生报名登记表
- 生态毒理学第三章毒物的分子效应与毒理学机制
- 智能财务共享在京东的应用研究
- 卫生和微生物基础知识培训-
- 2023年镇江市高等专科学校单招综合素质题库及答案解析
评论
0/150
提交评论