- 1、本文档共106页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C8051F单片机的结构与原理讲义
5.程序分支指令(4) CJNE(比较不相等跳):比较两个操作数,若不相等就跳转,共有4种寻址格式: CJNE A,direct,rel ;若(A)≠(direct)则跳转 CJNE A,#data,rel ;若(A)≠ data 则跳转 CJNE Rn,#data,rel ;若(Rn)≠ data 则跳转 CJNE @Rn,#data,rel ;若((Rn))≠ data则跳转 指令执行后,若第一个操作数(无符号整数)小于第二个操作数,则CY为1,否则,CY为0。 5.程序分支指令(5) DJNZ(减1不为0跳):若寻址内容不等于0则跳。指令格式: DJNZ Rn,rel ;Rn←(Rn)-1 ;若(Rn)≠ 0则PC←(PC)+2+rel ;若(Rn)= 0则PC←(PC)+2 DJNZ direct,rel ;direct←(direct)-1 ;若(direct)≠ 0则PC←(PC)+3+rel ;若(direct)= 0则PC←(PC)+3 5.程序分支指令(6) LJMP(长跳转指令):64K内存范围内无条件跳转。 LJMP addr16 ;PC← addr16 AJMP(短跳转指令):2K内存范围内无条件跳转。 AJMP addr11 ;PC←(PC)+2,PC10~0← addr11 SJMP(相对跳转指令):在此指令前128字节或后128字节范围内跳转。 SJMP rel ;PC←(PC)+2,PC←(PC)+rel JMP(散传指令):跳转至@A+DPTR所指定的地址。 JMP @A+DPTR ;PC←(A)+(DPTR) 5.程序分支指令(7) LCALL(长调用指令):64K内存范围内子程序调用。 LCALL addr16 ;PC←(PC)+3 ;SP←(SP)+1 ,(SP)←PC7~0 ;SP←(SP)+1 ,(SP)←PC15~8 ;PC← addr16 ACALL(短调用指令):2K内存范围内子程序调用。 ACALL addr16 ;PC←(PC)+2 ;SP←(SP)+1 ,(SP)←PC7~0 ;SP←(SP)+1 ,(SP)←PC15~8 ;PC10~0← addr11 5.程序分支指令(8) RET(子程序返回):指令格式: RET ;PC15~8←((SP)),SP←(SP)– 1 ; PC7~0←((SP)),SP←(SP)– 1 RETI(中断返回):指令格式: RETI ;PC15~8←((SP)),SP←(SP)– 1 ;PC7~0←((SP)),SP←(SP)– 1 ;清除相应中断优先级状态位 NOP ;PC←(PC)+1 该指令仅产生一个机器周期的延时,不进行任何操作。 2.4 中断系统 2.4.1 中断概念 中断服务程序1 非预料事件1 CPU执行流程 二级中断服务程序嵌套 低级中断服务程序 主程序 高级中断服务程序 低级请求 高级请求 2.4.2 C8051F中断系统 高优先级 EX0 ET0 低优先级 高 低 IE0 IE1 TF0 INT0 INT1 TF1 TI RI TF2 EXF2 EX1 ET1 ES ET2 EA PX0 PT0 PX1 PT1 PS PX2 IE寄存器 IP寄存器 EIE1寄存器 EIE2寄存器 EIP1 EIP2 EXVLD 中断源 中断允许寄存器 中断优先级寄存器 1.中断源 (1) C8051F单片机有22个中断源,在中断源中有外部事件中断、串口(UART0、UART2、SPI、SMBus等)、定时/计数器、电压比较器、A/D转换等 (1)外部中断源 与MCS-51兼容的两个外部中断源,外部中断0(/INT0)和外部中断1(/INT1)。 C8051F020中还有另外2个外部中断源(外部中断6、7)为边沿触发输入,可以被配置为下降沿触发或上升沿触发。 1.中断源 (2) (2)定时器/计数器溢出中断源 由内部定时器中断源产生,故它们属于内部中断 C8051F020内部有5个16位定时器/计数器,其中3个(T0~T2)与MCS-51兼容。 受内部定时脉冲或引脚上输入的外部定时脉冲控制,向CPU提出溢出中断清求。 1.中断源 (3)
文档评论(0)