80C51复习试卷.ppt

  1. 1、本文档共134页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 80C51系列概述 MCS-51是Intel公司生产的一个单片机系列名称。这一系列的单片机有多种,如: 生产工艺有两种: 功能上,有基本型和增强型2大类: 增强型与基本型的几点不同: 在片内程序存储器配置上,有3种形式, 即掩膜ROM、EPROM和ROMLess、Flash如: 片内ROM的配置形式: 2.2 80C51的基本结构与应用模式 2.3.2 80C51的引脚封装 2.4.2 80C51的时钟与时序 2.4.3 80C51单片机的复位 2.5 80C51的存储器组织 2.5.1 80C51单片机的程序存储器配置 1.EA引脚接高电平 当EA引脚接高电平时,对于基本型单片机,首先在片内程序存储器中取指令,当PC的内容超过FFFH时系统会自动转到片外程序存储器中取指令。外部程序存储器的地址从1000H开始编址,如图2.13所示。 对于增强型单片机,首先在片内程序存储器中取指令,当PC的内容超过1FFFH时系统才转到片外程序存储器中取指令。 2.EA引脚接低电平 当EA引脚接低电平时,单片机自动转到片外程序存储器中取指令(无论片内是否有程序存储器)。外部程序存储器的地址从0000H开始编址,如图2.14所示。 2.5.2 80C51单片机数据存储器配置 2.5.3 80C51单片机的特殊功能寄存器(SFR) 2.6 80C51的并行口结构与操作 3.1 指令格式及常用符号 单字节指令(49条) 双字节指令(45条) 书写格式 描述符号 80C51单片机有7种寻址方式 1 寄存器寻址 MOV A,R0后 2 直接寻址 MOV A,50H 3 寄存器间接寻址 MOV A,@R0 4 立即寻址 MOV A,#50H 5 变址寻址 MOV A,@A+DPTR 6 相对寻址 JC rel 7 位寻址 MOV C,00H 3.3 数据传送类指令(29条) 一般不影响标志寄存器PSW的状态。 以DPTR内容为基址 读片外RAM 入栈指令PUSH 字节交换指令XCH 半字节交换指令XCHD 3.4 算数运算类指令(24条) CY为1,无符号数(字节)加减发生进位或借位 OV为1,有符号数(字节)加减发生溢出错误 AC为1,十进制数(BCD码)加法的结果应调整 P为1,存于累加器A中操作结果的“1”的个数为奇数 3.5 逻辑运算与循环类指令(24条) 3.5.4 累加器清0和取反 这两条指令的功能是把累加器A的内容清0和取反,结果仍在A中。 【例3-36】若(A)=A5H,执行指令CLR A之后,(A)=00H. 也可以利用MOV A,#00H完成清0,但需要多占用一个字节空间。 3.6 控制转移类指令(17条) 无条件转移指令有多种形式,有些汇编器(如uVision3,伟福汇编器等)支持通用的“JMP 符号地址”形式来代替SJMP、AJMP、和LJMP指令三种指令,汇编器能依实际目标地址范围自动汇编成这3种指令之一相应的编码。与此类似,调用的通用形式是“CALL 符号地址”以替代ACALL或LCALL。 3.7 位操作类指令(17条) 位操作是以位为单位进行的各种操作。位操作指令中的位地址有4 种表示形式: 第5章 80C51的中断系统及定时/计数器 5.1 80C51单片机的中断系统 中断的概念 中断源 触发方式设置及中断标志 SCON的中断标志 中断允许控制 中断优先级控制 中断优先级遵循的原则 5.3 80C51单片机的定时/计数器 第6章 80C51单片机的串行口 异步通信帧格式 传输速率与传输距离 对于步进电机的控制应用 A,AB,B,BC,C,CD,D,DA.每一步转半个步距角。 0.9/1.8,0.75/1.5.。。。。。。。 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; void Delay1ms(uint j) { unsigned char i;J; do for(i=45;i;i--); while(j--); } Void FFW () { For(j=0;j15;j++) { For(i=0;i8;i++) { p1=ffw[i]; Delay1MS(1); } } } VOID REV() { For(j=0;j15;j++) { For(i=0;i8;i++) { p1=rev[i]; Delay1MS(1); } }

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档