whut单片机复习要点_第1页
whut单片机复习要点_第2页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、第一章51 系列单片机包含下列几个部件(填空题) :一个 8 位 CPU个片内振荡器及时钟电路;4KB ROM 程序存储器;128B RAM 数据存储器;可寻址据存储器和 64KB 外部程序存储空间的控制电路;32 条可编程的 I/O 线(4 个 8 位并行 I/O 端口);两个计数器;一个可编程全双工串行口; 5 个中断源、两个优先级嵌套中断结构。 程序计数器 PC (名词解释题,简答题):一个自动加 1 的 16 位寄存器, 用来存放即将要取出的指令码的地址, PC 内容的低 8 位经 址。*P19,图 1-3 访问程序存储器使用 从物理地址空间看, 从逻辑地址空间看,P0 口输出,高 8

2、 位经 P2 口输出。去除指令码后,可对 64KB 程序存储器直接寻址。PC 寄存器的内容自动加指令.64KB 外部数16 位的定时 /取指令码时,1 ,指向下一指令码地MOVC 指令,访问外部数据存储器使用8XX51 有 4 个存储器地址空间:片内8XX51 有 3 个存储器地址空间:片内8 位的二进制数。0000H 到 FFFFH 都是外部程序存储空间,因此,MOVXROM、片外 ROM、RAM 、片外 RAM 、片内 RAM 、片外 RAM 。ROM存储器:一个单元放一个 8O31 无内部程序存储器,地址从 中断程序入口地址:0003H 外部中断 0 服务程序入口*OOOBH 定时 /计

3、数器 O 中断服务程序入口0013H 外部中断 1 服务程序入口 *001BH 定时 /计数器 1 中断服务程序入口在普通型 51 子系列单片机中,只有低52 子系列单片机中,共有EA 应始终接地。128 字节 RAM ,地址为 007FH ,它和256 字节内部 RAM ,地址为 00FFH ,高 128 字节的SFR 则只能采用直接寻址,访问低PSW 的 RS1 和 RS0 位决定:128 字节 RAM 采用寄存器间接寻址,访问 *寄存器的选组由RS10011RS00101*PSW:程序状态字,P:奇偶标志位,OV :溢出标志位,SP:堆栈指针。设 SP=60H,内部PUSH 30HPUS

4、H 31H POPDPL POP DPHMOV A,SFR 的地址空间是连续的,而在增强型RAM 和 SNR 的地址是重合的, 访问高 128位 RAM 时,两种寻址均可使用。选寄存器组0 组1 组2 组3 组占用字节地址DO,位地址为 D7D0。CY AC F0 RS1 RS0 OV - PA 中奇数个 1, P=1; A 中偶数个 1, P=0 补码运算的运算结果有溢出, OV=1 ,否则为 ORAM 的(30H)=24H, (31H)=10H, 在程序段注释的括号中填执行结果。; SP= ( 61H ), (SP ) = ( 24H ) ; SP = ( 62H ), (SP ) = (

5、 1OH ) ; SP = ( 61H ), DPL= ( 1OH ) ; SP = (6OH), DPH =(24H )#OOHMOVX DPTR, ADPTR: 16 位寄存器,可分成 DPL(低 8 位)和 DPH(高 8 位)两个 8 位寄存器。TMOD :定时 /计数器方式控制寄存器。TCON :定时 /计数器控制寄存器 IP :中断优先级控制寄存器 IE:中断允许控制寄存器SCON :串行端口控制寄存器* 单片机的时序单位:振荡周期状态周期机器周期指令周期晶振的振荡周期,又称时钟周期,为最小的时序单位 振荡频率经单片机内的二分频器分频后提供给片内CPU 的时钟周期。包含两个振荡周期

6、。1 个机器周期由 12 个振荡周期组成,是计算机执行一种基本操作的时间单位 执行一条指令所需的时间。一个指令周期由 1 4 个机器周期组成。特殊功能寄存器SPPOP3SBUF初始状态 (其余都是 00H)07H FFH 不定*单片机与外部存储器间的访问:ALE(扩展 P0 复用):地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号 输出的频率为时钟振荡频率的1/6。ALE 用于 P0 口低 8 位地址,PSEN(反):程序存储器允许控制。输出读外部程序存储器的选通信号,外部扩展ROMP0:输入/输出口,常作为地址/数据总线口,低 8 位地址与数据线分时使用P0 口P1:每一位都能作为可

7、编程的输入或输出口线P2:作为输入口或输出口使用,外界存储器和I/O 接口时,又作为扩展系统的地址总线,输出高8 位地址,与 P0 口一起组成 16 位地址总线。P3:双功能口,第一功能和P0 口相同,作为第二功能使用时:P3.0: RXD 串行输入线,P3.1 : TXD 串行输出线,P3.2: INT0(反)外部中断 0 输入线,P3.3: INT1(反)外部中断 1 输入线,P3.4 : T0 定时器 0 外部计数脉冲输入,P3.5: T1 定时器 1 外部计数脉冲输入,P3.6: WR(反)外部数据存储器写选通信号输出,P3.7: RD(反)外部数据存储器读选通信号输出。习题 1.7

8、已知 PSW=10H,通用寄存器 R0R7 的地址:10H17H习题 1.9 填空 堆栈设在片内数据存储器存储区,程序放在程序存储器存储区,I/O 接口设置在特殊功能寄存器存储区,中断服务程序存放在程序存储器存储区。习题 1.10 若单片机使用频率为 6MHZ 的晶振,那么状态周期为1/6MHZ=0.167us,机器周期为 12/6MHZ=2us,指令周期为 28us。习题 1.11 复位时,A=00H,PSW=00H,SP=07H,P0P3=FFH。第二章指令的使用规定:Rn:当前工作寄存器组中的R0R7Ri :当前工作寄存器组中的R0,R1dir: 8 位直接字节地址(片内 RAM 和 S

9、FR 地址)#data: 8 位立即数#data16: 16 位立即数addr16: 16 位地址值addr11: 11 位地址值bit:位地址(在位地址空间中)rel:相对偏移量(在相对转移指令中使用,为一字节补码)*寻址方式:无论片内片外ROM 均 16 位,片内 RAM 8 位,片外 RAM 16 位寄存器寻址:A , DPTR , R1R7 ,乘除法中的 B寄存器间接寻址: R0 , R1 , DPTR变址寻址:源操作数 DPTR , PC目的操作数 A堆栈操作:题 1 ORG 1234HSJMP $ = 1234H , PC=1234H 题 2 MOV A , #01HORG 123

10、4HMOVC A , A+PCPC = 1235H题 3 SP=08HORG 1234HLCALL ABC ABC : ORG 2345HSP = 0AH , PC =2345HSWAP ( LED 灯)指令:将 A 的高、低半字节交换DA 指令(读程序题):将 A 中的二进制数相加和调整成BCD 码*例 2.14 完成 56+17 的编程MOV A , #56HMOV B , #17HADD A,BDA ASJMP $乘法低 8 位数据存在 A 中,高 8 位数据存在 B 中;除法商在 A 中,余数在 B 中。LCALL addr16 :功能:保护断点,子程序的入口地址送PC,转子程序执行。

11、64KB 范围内调用子程序指令。机器码为 3 个字节:12 addr16。ACALL addr11 :功能:保护断点,addr11PC010,PC1115 保持不变。2KB 范围内调用子程序指令。机器码为2个字节:a10a9a810001a7a6a5a4a3a2a1a0RET :从调用子程序中返回:从栈顶弹出断点到PC,返回。RETI :从终端服务程序返回:从栈顶弹出断点到PC,并恢复中断优先级状态触发器,返回。转移指令:例 2.24 R7=56H,指令 CJNE R7 , #34H,$+08H 执行后,程序转移到放本条CJNE 指令的首地址($)+08H 后的地址单兀去执行。 题 4 ORG

12、 1234HJZ = 01HPC = 1237H ( A=0 ) , PC = 1236H (A位操作指令(填空)如何确定一个指令是位操作指令:了 C 的 MOV , ORL , ANL 指令习题 2.5 执行下列程序段 MOV习题 2.42.6 2.72.8第三章伪指令:ORG nn:作用:改变汇编器的地址计数器初值,指示此语句后面的程序或数据块以存储器中。DB :作用:指示在程序存储器中以标号为起始地址的单元里存放的数为字节数据(DW :作用:指示在程序存储器中以标号为起始地址的单元里存放的数为字符数据(BIT :作用:表示 BIT 两边的量等值,用于对符号进行定义,定义的是位操作地址。不

13、等于 0)SETB 指令,除了 CLR A 以外的 CLR 指令,除了 CPL A 以外的 CPL 指令,出现A , #56H,ADD A , #74H,ADD A , ACC后,CY= 1,OV= 0,A=94H2.9nn 为起始地址连续存放在程序8 位)。16 位)。*例题:试编写程序,查找在内部RAM 的 DATA 开始的 32 个单元中是否有 0FEH 这一数据,若有,则将 A 置为 01H ;若未找到,则将 A 置为 00H。DATA EQUSTART : MOVMOVLOOP:MOVCJNEMOVSJMPNEXT : INCDJNZMOV SJMP第五章30HR1 ,#DATAR7

14、 ,#20HA ,R1A , #0FEH , NEXTA , #01H$R1R7 ,LOOPA,#00H$对 P0P3 进行基本的输入输出方法: 端口某个引脚做输入时, 向引脚对应的锁存器输出 对端口的读,修改,写指令*例题,将 P1.0 取反:CPL P1.0第八早中断:CPU 和外设并行工作,当外设数据准备好或有某种突发事件发生时,向程序转而为该外设服务,处理完毕再回到原断点继续执行源程序。1.CPU 提出请求,CPU 暂停正在执行的中断源:引起中断的原因和发出中断申请的来源。基本型51 有 5 个中断源,增强型 52 有 6 个:外部中断 0,外部中断1,定时器 0 中断,定时器 1 中

15、断,定时器 2 中断,串行口中断。外部中断:只有在单片机外部引脚上加上了触发信号,才有可能引起中断的一种类型。内部中断不对应外部引脚中断服务入口地址(见第一章),外部中断对应引脚(见第一章)中断优先级:由 IP 寄存器管理,一个中断源对应一位,如果对应位置为部中断 0-定时器 0-外部中断 1-定时器 1-串行口 -定时器 2对高优先权中断的响应不是无条件的中断的初始化涉及到的中断控制寄存器:IE, TCON , IP对中断的设置,既可以按位设置,也可字节操作第七章2 种外部中断。1,则该中断源级别高。内部查询的顺序是外51 单片机内有 2 个 16 位的定时/计数器。51 单片机的定时/计数

16、器 T1 由寄存器 TH1、 TL1 组成, 定时/计数器 T0 由寄存器 TH0、 TL0 组成。 受定时/计数器方 式寄存器 TMOD和控制寄存器 TCON 的控制工作于定时方式时,以振荡源的 12 分频信号作为计数脉冲;工作于计数方式时,以外部脉冲输入端 T1 或 T0 输入的脉冲作为计数脉冲。启动控制:GATE=1 时,TRx=1 , INTx=1 才可启动;GATE=0 时,TRx=1 即可启动。定时器/计数器 0 溢出标志:TF0 ;定时/计数器 1 溢出标志:TF1*编程:fosc=12MHz,使用定时器 1 在 P1.2 输出周期为 50ms 的方波计算初值:216-T/(12

17、/fosc) = 216-25000 = 10000H -61A8H = 9E58H,采用工作方式 1使用定时器 1 时 TMOD 设置为#10HOGR 0000HSTART : MOV TMOD , #10HMOV TL1 , #58HMOV TH1 , #9EH SETB TR1LOOP : JBC TF1 , AGAINSJMP LOOPAGAIN : MOV TL1 , #58HMOV TH1 , ,9EHCPL P1.2 SJMP LOOP第八章波特率:通信当中对数据传输速率的规定。计算机通信中,其意义是每秒钟传送多少位二进制数。*例题:在异步通信中每个字符由9 位组成,串行口每分钟传 20000 个字符,则对应的波特率为多少答:9x20000/60=3000 波特第九章三总

温馨提示

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

评论

0/150

提交评论