- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 单片机应用技术 湖北职业技术学院机电工程系 第1讲 指令功能及汇编语言 程序设计(二) 项目二 电子打铃装置 《单片机应用技术》精品课程组 单片机应用技术 1-1. 设计范例——数码管循环显示。 1-2. 控制转移类指令的特点及使用。 1-3. 延时程序的设计和延时时间的计算方法。 1-4. 子程序的设计方法。 1-5. 循环程序设计的基本方法。 本讲主要内容 单片机应用技术 要求在数码管上循环显示数字1~5。 1-1. 设计范例——数码管循环显示 单片机应用技术 范例分析: 硬件分析 数码管采用共阳极结构。 软件设计 设计中要求循环显示1~5,很显然应采用循环的方法来实现,最简单的方法是将1~5的段码依次由P0口送出。 单片机应用技术 准备程序: ORG 0000H MAIN: CLR P3.2 MOV P0,#0F9H MOV P0,#0A4H MOV P0,#0B0H MOV P0,#99H MOV P0,#92H SJMP MAIN 延时一段时间 不加延时 可以吗? 单片机应用技术 长转移指令 LJMP Addr16 功能:长距离无条件转移指令 说明:三字节指令,它直接将指令中的16位常数装入PC,使程序无条件转移到指定的地址处执行。 绝对转移指令 AJMP addr11 例: 4002H AJMP MM …… 4600H MM: MOV A,#00H 注意:目标语句必须和当前语句同页。在51单片机中,64KB程序存储器分成32页,每页2KB(7FFH)。 1-2. 控制转移类指令的特点及使用 单片机应用技术 短跳转指令 SJMP 目标语句(rel) 例: 4060H SJMP LOOP …… 4090H LOOP:MOV A,#0FFH …… 注意:短跳转的目标语句地址必须在当前语句向前127(7FH)字节,向后128(80H)字节,否则在进行程序编译时会出错。 单片机应用技术 变址寻址转移指令 JMP @A+DPTR 该指令主要用于多分支的跳转程序设计。跳转的目标地址是累加器A和数据指针DPTR之和。 例3.19 根据标志单元R2中的内容,分别转各个处理程序。 程序如下: PJ1: MOV DPTR ,#TAB1 CLR C MOV A,R2 ADD A,R2 ;(R2) ×2←A JNC NADD INC DPH ;(R2) ×2256时,数据指针高8位加1 NADD:JMP @A+DPTR TAB1:LJMP PRG0 ;转处理程序0的首地址 LJMP RRG1 … LJMP RRG n 单片机应用技术 减1条件转移指令组 DJNZ Rn,目标地址(rel);如果(Rn)-1≠0,则程序跳转到目标语句, 否则顺序执行下一条语句。 DJNZ direct,目标地址(rel) ;如果(direct)-1≠0,则程序跳转到目标语句,否则顺序执行下一条语句。 【例】将8031内部RAM的40H~4FH单元置初值A0H~AFH。程序为: START:MOV R0,#40H ;R0赋值,指向数据单元 MOV R2,#10H ;R2赋值,为传送字节数,十六进制数 MOV A,#0A0H ;给A赋值 LOOP: MOV @R0,A ;开始传送
原创力文档


文档评论(0)