- 6
- 0
- 约5.33千字
- 约 18页
- 2017-08-17 发布于河南
- 举报
单片机原理与应用 第 十 讲 主要内容 1. 4.3.4 子程序设计 2. 4.4 实用程序举例 4.3.4 子程序设计 子程序是指能完成明确任务、具有独立功能且能被其它程序反复调用的程序段。下面先看一个例题。 [例4.14] 设内部RAM 20H、21H单元中有两个数a和b,编程求c=a2+b2并把c送入内部RAM 22H单元。 说明: a=9; b=9; 且为整数 该程序由两部分组成:主程序和子程序。主程序通过累加器A传送入口参数a和b,子程序用于求平方并将结果通过累加器A传送给主程序。 MOV A,20H ;a→A ACALL SQR ;求a2 MOV R0,A ;a2→R0 MOV A,21H ;b→A ACALL SQR ;求b2 ADD A,R0 ;a2+b2→A MOV 22H,A ;存入22H单元 继续执行 主程序 SQR: ADD A,#01H ;地址调整 MOVC A,@A+PC ;查平方表 RET ;返回 机器码 22H TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 从上例中,可以得出以下几点: (1) 汇编语言子程序编写格式很简单,只需第一条指令要有标号,最后一条指令是RET,其它可根据程序功能编写即可。 (2) 调用子程序是通过指令ACALL(当然也可以使用指令LCALL)实现的。 (3) 调用子程序时,计算机只自动保护和恢复断点地址,其它寄存器和直接地址单元的内容则需编程人员根据程序具体情况通过一些指令进行保护和处理。 (4) 调用子程序时常常需要参数传递,即子程序从调用程序中获取数据进行处理,并将处理完的数据结果送回主程序,参数传递不能为立即数,应该采用存储单元地址或寄存器。如上例中在调用子程序SQR时,累加器A起着参数传递的作用。 子程序有关要求 功能: 完成某种特定功能,可被主程序反复调用 子程序名 入口参数 出口参数 占用资源( 寄存器,内存, PSW ,DPTR 等) 保护现场与恢复现场 ACLAL LCALL 调用,仅保护返回断点。 在调用子程序中,由于程序转入子程序的执行可能破坏主程序或调用程序的有关状态寄存器 (PSW) 、工作寄存器、累加器、内存单元等,因此,必要时将这些单元内容保护起来,即保护现场。 通常将要保护的内容压入堆栈。 子程序执行完后,通过 POP 指令来恢复保护的内容。 7. 主子之间参数传递方式( 寄存器,内存,堆栈)不同方式传递的 特点 8. 一个好的子程序最好只有一个入口,一个出口 9. 子程序不要长时间占有CPU 控制权,遇到故障或检查不到信号时应及时从子程序中跳出。 4.4 实用程序举例 4.4.1 延时 在程序设计过程中,有时需要程序“等待”一会儿再去处理某些事情,称之为延时。其作用是快速的CPU和慢速的外设相配合。 例: 1.AD转换时,启动AD后不能立即读取数据,要等AD转换结束;像AD0809转换器需要等待约 100 微妙。 2. 在打印机中或LCD显示器中,CPU 给打印机中或LCD 写入一个数据后,要等待外设不忙时,才能送下个数据; 计算机延时实际就是让计算机反复执行一些空操作,这样就能起到拖延时间的作用。需要执行空操作次数的多少,取决于延时时间的长短。 [例4.15] 编写延时 100US 子程序。 ORG 0100H 主程序
您可能关注的文档
- 初级网络优化.ppt
- 传感器数据采集.ppt
- 传感器网络兴趣小组.ppt
- 传感器项目10.ppt
- 传输基础知识第一课.ppt
- 传输技术交流.ppt
- 串行通信和接口简介.ppt
- 创新与综合设计.ppt
- 创新制作实例.ppt
- 创意第一期讲座.ppt
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
最近下载
- 照明负荷计算.pdf VIP
- 驾驶执照中英文参考题目.PDF VIP
- 机关事业单位工作人员请、销假管理制度(范本).docx VIP
- 2025至2030中国锌精矿行业调研及市场前景预测评估报告.docx VIP
- 结核性脑膜炎护理常规.ppt VIP
- 交往焦虑量表(IAS).pdf VIP
- 2024年中考语文真题分类16 议论文、说明文阅读(第03期)(解析版).pdf VIP
- GB55020-2021《建筑给水排水与节水通用规范》废止的现行工程建设标准相 精品.pdf VIP
- 2024年云南高中学业水平合格性考试数学试卷真题(含答案详解).pdf VIP
- 大家的日语26-50课单词-极度排版 便携.doc VIP
原创力文档

文档评论(0)