《模拟电子元器件应用技术》-任务5_第1页
《模拟电子元器件应用技术》-任务5_第2页
《模拟电子元器件应用技术》-任务5_第3页
《模拟电子元器件应用技术》-任务5_第4页
《模拟电子元器件应用技术》-任务5_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二、任务要求1.阅读下列汇编源程序,跟踪分析程序的运行结果。任务5单片机子程序结构程序分析、设计及调试ORG0000HSTART:MOVR3,#08H MOVP1,#0FEHLP:ACALLDELAY MOVA,P1 RLA MOVP1,A DJNZR3,LOOPDELAY:MOVR0,#255L1:MOVR1,#195 DJNZR1,$ DJNZR0,L1 RETENDSTART2.编写并调试AT89C51单片机汇编源程序,求5!+4!+3!+2!+1!,结果存储在30H与31H单元中。三、相关知识1.AT89C51单片机子程序定义、调用及返回2.子程序调用的参数传递方式(1)寄存器法(2)存储单元法(3)堆栈法3.子程序调用的现场保护方式4.拓展知识-AT89C51单片机延时子程序的延时时间分析任务5单片机子程序结构程序分析、设计及调试(一)AT89C51单片机子程序定义、调用及返回1.程序案例任务5单片机子程序结构程序分析、设计及调试ORG0000HSTART:MOVR0,#0AHACALLSUMMOV30H,ASUM:MOVA,#00HLP:ADDA,R0 DJNZR0,LPRETENDSTART;R0←0AH;调用SUM子程序;30H←(A);SUM子程序,A←00H;A←(A)+(R0);R0←(R0)-1,(R0)≠0转到LP处(一)AT89C51单片机子程序定义、调用及返回2.子程序定义及调用任务5单片机子程序结构程序分析、设计及调试(1)子程序定义格式:“子程序名:指令”案例:“SUM:MOVA,#00H”,“SUM”为子程序名。(2)子程序调用指令种类:LCALL:长调用指令,用于片外ROM的子程序调用ACALL:短调用指令,用于片内ROM的子程序调用案例:“ACALLSUM”(3)子程序返回:RET,子程序的最后一条指令。(一)AT89C51单片机子程序定义、调用及返回2.子程序定义及调用任务5单片机子程序结构程序分析、设计及调试序号指令功能应用说明1LCALL长调用LCALLaddr16(标号2ACALL短调用ACALLaddr11(标号)3RET子程序返主返回地址事先已知4RETI中断返回回地址不固定。(二)子程序调用的参数传递方式1.入口参数出口参数任务5单片机子程序结构程序分析、设计及调试(1)入口参数:主程序调用子程序时,需在子程序中处理的数据。(2)出口参数:子程序调用之后,需返回给主程序的处理结果。(1)寄存器法:子程序调用前,将入口参数保存到寄存器中,在子程序中再从寄存器中取出所需数据;子程序结束前,将需返回给主程序的数据保存到某一寄存器中,在主程序中,再从该寄存器中取出数据。如:案例程序中传递入口参数的主程序指令“MOVR0,#0AH”和子程序指令“ADDA,R0”;传递出口参数的子程序指令:“ADDA,R0”2.参数传递方法(二)子程序调用的参数传递方式任务5单片机子程序结构程序分析、设计及调试(2)存储单元法存储器中留出相应的存储单元,将入口参数和出口参数先保存到存储单元中,需要时从存储单元取出数据。(3)堆栈法将入口能数和出口参数先入栈,需要时执行出栈操作。程序较复杂时推荐使用,因为堆栈传递参数不必考虑子程序的调用部分与定义部分在寄存器使用上存在冲突的问题。2.参数传递方法(三)子程序调用的现场保护方式任务5单片机子程序结构程序分析、设计及调试1.保护现场的必要性由于单片机的寄存器数目是有限的,在子程序中很可能需要在主程序中已经用到的寄存器,而且这些寄存器中的内容在子程序调用后还需要。为了使子程序调用后能正常执行主程序,子程序调用前,必须将原来寄存器中的内容保存起来,称为保护现场。2.保护现场的方法:常用存储器法和堆栈法。(四)拓展知识-AT89C51单片机延时子程序的延时时间分析任务5单片机子程序结构程序分析、设计及调试1.指令所占机器周期DELAY:MOVR0,#255;1个机器周期

L1:MOVR1,#195;1个机器周期

DJNZR1,$ ;2个机器周期(减1、判断各占1个)

DJNZR0,L1 ;2个机器周期

RET ;2个机器周期(恢复现场、修改PC各占1个)(四)拓展知识-AT89C51单片机延时子程序的延时时间分析任务5单片机子程序结构程序分析、设计及调试2.延时时间计算因AT89C51单片机在晶振频率fosc=12MHZ时机器周期为1μs,根据各指令所占的机器周期,可得:延时时间=1+(1+2×195+2)×255+2=100218μs=0.1s任务5单片机子程序结构程序分析、设计及调试四、任务实施(一)阅读汇编源程序,跟踪分析程序的运行结果。(1)程序中子程序定义语句是语句

,子程序调用语句是语句

,子程序返回语句是语句

。(2)程序中的子程序为语句

~语句

,子程序名为

,子程序功能为

(3)程序中P1的初值为

,语句④~⑧执行

次,第1次执行后P1值为

,最后一次执行后P1值为

。⑨④⑨DELAY延时0.1SFEH7FDH7FH任务5单片机子程序结构程序分析、设计及调试四、任务实施(一)阅读汇编源程序,跟踪分析程序的运行结果。(4)程序中语句的功能是:

。(5)本程序的运行结果是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论