- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 汇编语言程序设计4.2 C51语言程序设计习题四 4.1.1 汇编语言程序设计步骤 根据要求, 采用汇编语言编写程序的过程称为汇编语言程序设计。汇编语言程序设计的基本流程如图4-1所示。 4.1.2 汇编语言程序结构 单片机汇编程序由主程序、若干子程序和中断服务程序组成, 其总体结构如图4-2所示。 1. 主程序 单片机主程序一般由一些顺序程序组成。主程序通常有两种结构形式: 中断方式和循环方式。中断方式是指主程序根据中断处理的标志执行不同的功能模块, 如图4-3(a)所示。循环方式则指主程序依次调用各功能模块,如图4-3(b)所示。 2. 子程序 一般情况下, 单片机的子程序都是具有一定功能的程序模块。子程序的结构如图4-4所示, 它的子程序名、 子程序的具体功能、子程序返回组成。 3. 中断服务程序 中断服务子程序也是具有一定功能的程序模块, 其结构如图4-5所示。 由图可以看出, 在结构上中断服务程序与子程序基本相同。但中断服务程序的进入方式与子程序不同,子程序的进入方式是由主程序或其他子程序进行调用,其进入时间是可控的。 4.1.3 汇编语言程序设计方法 1. 顺序程序设计 【例 4-1】 四字节(双字)加法。将内部RAM 30H开始的4个单元中存放的四字节十六进制数和内部RAM 40H单元开始的四个单元中存放的四字节十六进制数相加, 结果存放到40H开始的单元中。 ORG 0000H LJMP MAIN ; 跳转到主程序中MAIN: MOV A, 30H ADD A, 40H MOV 40H, A ; 最低字节加法并送结果 MOV A, 31H ADDC A, 41H MOV 41H, A ; 第二字节加法并送结果 MOV A, 32H ADDC A, 42H MOV 42H, A ; 第三字节加法并送结果 MOV A, 33H ADDC A, 43H MOV 43H, A ; 第四字节加法并送结果, 进位位在CY中 END 2. 分支程序设计 分支程序设计是指根据指定的条件选择程序流向的程序设计方法。 1) 简单分支程序 简单分支程序在设计中应用最广, 拥有的指令也最多。简单分支程序结构一般为一个入口、 两个出口。简单分支程序有两种典型形式, 即并列分支和跳转分支, 如图4-6所示。 【例 4-2】 两个无符号数比较。内部RAM的20H单元和30H单元各存放了一个8位无符号数, 请比较这两个数的大小, 若(20H)=(30H), 则将P1.0置0; 若(20H)(30H), 则将P1.1置0。 X DATA 20H ; 数据地址赋值伪指令DATA Y DATA 30H ORG 0000H LJMP MAIN ; 跳转到主程序中 MAIN: MOV A, X ; (X) →A CLR C ; Cy=0 SUBB A, Y ; 带借位减法, A-(Y)-Cy →A JC L1 ; Cy=1, 转移到L1 CLR P1.0 ; Cy=0, (20H)=(30H), P1.0置0 SJMP FINISH ; 直接跳转到结束等待 L1: CLR P1.1 ; (20H)(30H), P1.1置0 FINISH: SJMP$ END 2) 多路分支程序 在实际应用中, 常常需要从两个以上的出口中选一个, 将这种称为多分支程序或散转程序。多路分支程序的基本形成如图4-7所示。 【例 4-3】 两个有符号数比较。内部RAM的20H单元和30H单元各存放了一个8位有符号数,请比较这两个数的大小, 若(20H)=(30H), 则P1.0置0; 若(20H)(30H), 则P1.1置0;若(20H)(30H), 则P1.2置0。 X DATA 20H Y DATA30H ORG 0000H LJMP MAIN ; 跳转到主程序中 MAIN: MOV A, X XRL A, Y ; (X)与(Y)进行异或操作 JB ACC.7, NEXT1 ; 累加器A的第7位为1, 两个数 ;符号不同, 转移到NEX
您可能关注的文档
最近下载
- SY_T 7494-2020 油气田用起泡剂实验评价方法.pdf VIP
- 人机工程学函授真题201307.doc VIP
- 人机工程学复习题人机工程学复习题.doc VIP
- 海信模块机-Hi-Mod模块化空气源热泵(冷水)机组低温强热系列.pdf VIP
- 猪大肠杆菌病病原学研究进展.docx VIP
- WABO CRETE Ⅱ弹性混凝土在桥面铺装层维修中的应用.pdf VIP
- BS EN 12516-2-2014 工业用阀门 外壳设计强度 第2部分:钢制阀壳的计算方法(中文版).pdf
- 人机工程学应用 自考课程大纲.pdf VIP
- 前台接待流程.pptx VIP
- 综合医院中医药工作专项推进行动方案.pdf VIP
文档评论(0)