- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 80C51单片机汇编语言程序设计 4.1 单片机程序设计语言概述 4.2 汇编语言程序的基本结构形式 4.3 80C51 单片机汇编语言程序设计举例 4.4 单片机汇编语言源程序的编辑和汇编 4.5 80C51 单片机汇编语言伪指令 4.1 单片机程序设计语言概述 4.1.1 机器语言和汇编语言 1、机器语言 用二进制代码“0”和“1”表示指令和数据的程序设计语言,是计算机能直接识别并执行的指令。 优点:执行速度快、占用内存少。 缺点:识别难、记忆难。 2、汇编语言 用助记符和专门的语言规则表示指令的功能和特征。 优点:助记符与机器指令一一对应。比机器语言直观、 易懂、易记。非常适合于实时控制的需要。 缺点:难以记忆和使用,程序设计的技巧性较高,编程 难度较大。要求使用者必须精通单片机的硬件系 统和指令系统。缺乏通用性,程序不易移植。 4.1.2 单片机使用的高级语言 对于8051单片机,现有4种语言支持,即汇编、PL/M、C和BASIC。 C语言最终得到广泛应用。 可以大大提高单片机应用系统研制的开发效率。移植性好。 高级语言的不足:生成的目标代码较长,导致应用程序运行速度较慢。 4.1.3 80C51 单片机汇编语言的语句格式 80C51汇编语言的语句格式如下: [标号] : 操作码 [操作数]; [注释] 1. 标号 是语句地址的标志符号,标号的几点规定: 1~8个ASCII字符组成,第一个字符必须是字母。 不能使用本汇编语言已经定义的符号作为标号。 标号后面必须跟以冒号“:”。 同一标号在一个程序中只能定义一次。 标号可有可无。 2. 操作码 用于规定语句执行的操作内容,用指令助记符表示。不能空缺。 3. 操作数 操作数用于为指令操作提供数据。可以是空白,也可 能有1~3个操作数,各操作数之间以逗号分隔。 4. 注释 不属于语句的功能部分,只是对语句的解释说明,以 “;”开头。 5. 分界符(分隔符) 用于把语句中的各部分隔开,以便于区分。分界符包 括空格、冒号、分号或逗号等符号。 4.2 汇编语言程序的基本结构形式 三种基本结构形式:顺序程序结构,分支程序结构, 循环程序结构。 4.2.1 顺序程序结构 顺序结构程序是最简单的程序结构。程序既无分支、循环,也不调用子程序,程序执行时一条接一条地按顺序执行指令。 4.2.2 分支程序结构 分支结构也称为选择结构。为分支需要,程序设计时 应给程序段的起始地址赋予一个地址标号,以供选择分支 使用。分支结构又可分为单分支结构和多分支结构。 1. 单分支程序结构 单分支程序结构即二中选一,是通过条件判断实现 的。一般都使用条件转移指令对程序的执行结果进行判 断。 可实现单分支转移的指令有:JZ、JNZ、CJNE和 DJNZ。位状态转移指令:JC、JNC、JB、JNB和JBC 等。 START: CLR C ;进位位清0 MOV DPTR,#ST1 ;设置数据指针 MOVX A,@DPTR ;取第1个数 MOV R2, A ;第1个数存于R2 INC DPTR ;数据指针加1 MOVX A, @DPTR ;取第2个数 SUBB A, R2 ;两数比较 JNC BIG1 ;若第2个数大,则转向BIG1 XCH A, R2 ;若第1个数大,则整字节交换 BIG0: INC DPTR MOVX @DPTR, A ;存大数 RET BIG1: MOVX A, @DPTR SJMP BIG0 (2)多重单分支结构举例 多重单分支结构中,通过一系列条件判断,进行逐级分支。为此可使用比较转移指令CJNE实现。 CJNE A, 55H, LOOP1 ;若Ta≠T55,则转向LOOP1 AJMP FH ;若Ta=T55,则返回 LOOP1: JNC JW ;若(CY)=0,表明Ta>T55,转降温处理程序 CJNE A, 54H, LOOP2 ;若Ta≠T54,则转向LOOP2 AJMP FH ;若Ta=T54,则返回 LOOP2: JC SW ;若(CY)=1,表明Ta<T54,转升温处理程序 FH: RET ;若T55≥Ta≥T54,则返回主程序 2. 多分支程
文档评论(0)