ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:154.16KB ,
资源ID:13342020      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13342020.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(7复位中断与程序控制Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

7复位中断与程序控制Word下载.docx

1、内部一些控制寄存器(专用寄存器)的内容不确定,可能导致定时器溢出、程序尚未开始就要中断,串口胡乱向外外设数据。因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。 单片机进入复位过程有三种途径:上电(开机)复位、手动复位和监控电路(看门狗或电源监控等)复位。顾名思义,上电复位就是开机给单片机系统加电时单片机进行复位操作。手动复位是人为地强行使单片机进行复位操作。而为了提高系统的可靠性,在单片机应用系统中专门设计了一些电路用以监控系统的电源(如电源电压过低可能导致单片机执行错误的指令与程序)和单片机的状态,如果出现异常,这些电路将强制单片机复位。7.1.2 复位电路

2、HMOS型8051的复位结构见图1-44。复位引脚RST(它还是掉电方式下内部RAM的供电端VPD)通过一个斯密特触发器与复位电路相连斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2由复位电路采样一次89C52的内部复位结构见图7-1,此处复位引脚称为RST。上电复位电路见图7-2(a)。上电瞬间RST端的电位与VCC相同,随着充电电流的减小,RST的电位逐渐下降。按图中所示的电路参数(其中8.2k是斯密特触发器输入端的一个下拉电阻),时间常数为秒82毫秒,只要VCC的上升时间不超过1毫秒,振荡器建立时间不超过10毫秒,这个时间常数足以保证完成复位操作。上电复位所需的最短时间是振荡器

3、建立时间加上2个机器周期,在这段时间内RST端的电平应维持高于斯密特触发器的下阈值。图7-2(b)和(c)示出外部复位电路的可能方案。(a)图中的第一方案由外部提供一个复位脉冲,此复位脉冲应保持宽于个机器周期。复位脉冲过后,由内部下拉电阻保证RST端为低电平。(b)图中的第二方案是上电复位与手动复位相结合的方案。上电复位的工作过程与图7-2(a)的相似。手动复位时,按下复位按钮,电容C通过电阻R!迅速放电,使RST迅速变为高电平,复位按钮松开后,电容通过R2和内部下拉电阻充电,逐渐使RST端恢复低电平。图7-2 外部复位电路7.1.3 单片机复位后的状态在振荡器正在运行的情况下,复位是靠在RS

4、T引脚处至少保持2个机器周期(24个振荡器周期)的高电平而实现的。在RST端出现高电平后的第2个周期,执行内部复位,以后每个周期重复一次,直至RST端变低。复位后,各内部寄存器的状态如表7-1所列。表7-1 89C52复位后各内部寄存器的状态寄存器内容PC0000HACC00HBPSWSP07HDPTRP0P30FFHIP(XX000000)IE(0X000000)TMODTCONT2CONTH0TL0TH1TL1TH2TL2RLDHRLDLSCONSBUF不定PCON(0XXX0000)复位时还把ALE和(它们是准双向口结构的)配置为输入状态,即ALE和。内部RAM不受复位的影响。VCC通电

5、时,RAM内容是不定的,除非RAM是由低功耗操作方式下返回的。7.2 程序控制单片机的工作原则绝对地是“一心一意”,只能按照程序的流向一步步地执行下去。为了使单片机具有“智能”,也就是使单片机根据所检测到的外接状况、或人们给它的命令,以及某种运算、判断的结果来改变程序的流向。可以说,单片机能处理上述情况的种类越多和作出的改变越复杂,说明单片机的“智能”越高。控制程序流向的方式有两大类:硬件和软件。硬件的方式有复位和中断等,对于89C52来说,硬件使程序流向固定的入口地址。如复位的入口地址是0000H,各个中断都有各自固定的入口地址。软件的方式是调用(CALL)指令、跳转(JMP)指令、判断跳转

6、(条件转移,J、CJ和DJ)、布尔量判断跳转(条件转移,J)和子程序返回(RET、RETI)指令。程序的流向不是固定的:子程序返回(RET、RETI)由堆栈中保存的返回地址来确定,而其它则由指令中的操作数来指定。 软件的方式又可以分为两类:转移类和调用子程序类。 转移类又分为条件转移和无条件转移两类。 表7-2列出程序流向控制的分类。 表7-2 程序流向控制的分类硬 件软件(指令)调用子程序转 移条 件无条件复位,中断LCALL,ACALLRET,RETIJB,JNB,CJNE,DJNZ,JZ,JNZ,JC,JNCLJMP,AJMP7.3 程序流向控制的指令控制程序转移类指令共有17条,布尔变

7、量控制程序转移的指令有5条,总共22条。其中有全存贮空间的长调用、长转移和按2KB分块的程序空间内的绝对调用和绝对转移;全空间和长相对转移及一页范围的短相对转移;还有不少条件转移指令。这类指令用到的助记符有ACALL、AJMP、LCALL、LJMP、SJMP、JMP、JZ、JNZ、CJNE、DJNZ、JC、JNC、JB、JNB和JBC。1. 绝对调用 格式:ACALL addr 11代码:操作:(PC)(PC)+2(SP)(SP)+1(SP)(PC70)(SP)(PC158)(PC100)指令中的2KB区内地址a100说明:指令的操作码与被调用子程序的入口地址的页号有关。每一种操作码可分别对应

8、32个页号。见表7-3。指令中指定的a100为区内地址。表7-3 ACALL和AJMP指令操作码与页面的关系子程序入口转移地址页面号操作码ACALL AJMP00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 7880 88 90 98 A0 A8 B0 B8 C0 C8 D0 D8 E0 E8 F0 F8110101 09 11 19 21 29 31 39 41 49 51 59 61 69 71 7981 89 91 99 A1 A9 B1 B9 C1 C9 D1 D9 E1 E8 F1 F9312102 0A 12 1A 22 2A 32 3A 4

9、2 4A 52 5A 62 6A 72 7A82 8A 92 9A A2 AA B2 BA C2 CA D2 DA E2 EA F2 FA514103 0B 13 1B 23 2B 33 3B 43 4B 53 5B 63 6B 73 7B83 8B 93 9B A3 AB B3 BB C3 CB D3 DB E3 EB F3 FB716104 0C 14 1C 24 2C 34 3C 44 4C 54 5C 64 6C 74 7C84 8C 94 9C A4 AC B4 BC C4 CC D4 DC E4 EC F4 FC918105 0D 15 1D 25 2D 35 3D 45 4D 5

10、5 5D 65 6D 75 7D85 8D 95 9D A5 AD B5 BD C5 CD D5 DD E5 ED F5 FDB1A106 0E 16 1E 26 2E 36 3E 46 4E 66 6E 66 6E 76 7E86 8E 96 9E A6 AE B6 BE C6 CE E6 EE E6 EE F6 FED1C107 0F 17 1F 27 2F 37 3F 47 4F 77 7F 67 6F 77 7F87 8F 97 9F A7 AF B7 BF C7 CF F7 FF E7 EF F7 FFF1E1例如,当调用入口地址为0475H或0AC75H的一个子程序时,操作码都为9

11、1H。被调用的子程序入口地址必须与庙用指令ACALL后一条指令的第一个字节在相同的KB存贮器区之内。ACALL把MCS-51子程序存贮空间划分为32个区,每个区为2KB字节,调用指令ACALL的下一条指令第一个字节与子程序的入口地址必须在同一区内,否则将引起程序转移混乱。如果ACALL指令正好落在区底的两个单元内,如07FEH和07FFH单元或0AFFEH和0AFFFH单元,程序就转移到下一个区中去了。因为在执行调用操作之前PC先加了2。指令的执行不影响标志。2. 绝对转移AJMP addr 11 (PC)指令中的a100指令的操作码与转移目标地址所在页号有关,每一种操作码可分别对应32个页号

12、,见表2-5。指令中的a100为区内地址。转移目标地址必须与AJMP下一休指令的第一个字节在同一个2KB存贮器区内。很明显这条指令与ACALL指令相类似,是为了与MCS-48中的JMP指令兼容而设计的,同样,当ALMP指令正好放在区底时,转移目标将移至下一区中。因为在执行转移操作之前PC先加了2。3.长调用LCALL addr 16 12H(PC)(PC)+3(PC)指令中的addr150这条调用指令允许子程序放在64KB空间的任何地方。4. 长转移LJMP addr 16 02H这条指令允许转移的目标地址在64KB空间的任意单元。5. 短转移SJMP rel 80H (PC)(PC)+ 相对

13、地址指令中的相对 地址是一个带符号(2的补码)的偏移字节数,其范围为128+127。负数表示向后转移,正数表示向前转移。CPU根据偏移字节数计算出转移的目的地址。例如,在0100H单元有一条SJMP指令,若其相对地址为21H(正数)则将转移到0102H+21H0123H地址上。若相对地址为F0H(负数),则将转移到0102H+FFF0H00F2H地址上。在用汇编语言编写程序时,rel往往是一个标号,由汇编程序在汇编过程中自动计算偏移字节数,并填入指令代码中。不手工汇编时,则根据该标号的地址按上述方法进行计算。以后的指令中有关rdl不再重复说明。当偏移字节数为FEH时,SJMP指令将实现原地转圈的运行状态。如例16所示在60H地址处有SJMP指令,标号HERE相当于60H。根据偏移字节数计算得转移目的地址为0062H+FFFEH0060H。故代码为80H、0FEH的短相对转移指令执行原地转圈操作。6. 间接长转移JMP A+DPTR 73H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1