第二章
- 52单片机内部结构:
- 8位CPU
- 内部存储器分为:
数据存储器(256B RAM)
程序存储器(8KB ROM)
- 4个八位并行I/O口(P0~P3)
- 1个全双工的通用异步收发串行口(UART)
- 3个16位定时/计数器(T0~T2)
- 40只引脚功能:
- 4·8=32个IO口的功能:
- P0口低8位地址总线;8位的数据总线;
- P2口高8位地址总线
- P3口第二功能(书24页)
- RST:复位管脚,加上持续两个周期的高电平即可复位。即正
常运行时为低电平。复位后,PC=0,SP=07H,P0~P3为高电平;
- EA(非):选择片内片外存储器,
当不需要扩展时,EA=1,当PC值超过1FFF(即8kb),自动转为片外;
当扩展时接EA=0,此时只读取片外存储器,片内不起作用;
- ALE:地址锁存允许信号;ALE的负跳变(下降沿)将P0口先发出的低八位地址锁存在P0口外接锁存器中;当单片机正常运行
时,ALE端不断发出频率为时钟振荡器频率focs的1/6的正脉冲;
- PSEN(非):访问片外程序存储器的读选通信号,即访问片外存储器时,PSEN(非)为低电平。
- XTAL1、XTAL2接晶振;
- 图中功能
- 单片机的CPU
- 累加器A
- PSW程序状态字寄存器(PSW的格式题里出现),分析每一位的作用。
- Cy:进位标志位,有进位或借位时,Cy=1;
- Ac:辅助进位标志;D3向D4位进位或者借位时,Ac=1;
- OV:溢出标志位,溢出OV=1;
- P:奇偶标志位,奇数个1时P=1;偶数个1时P=0;
- RS1、RS0:四组工作寄存器区选择控制位。
- 程序计数器PC:独立16位计数器,不可访问(不可读写),单片机复位后,PC=0,所以复位后的程序是从程序存储器0000H地址读取指令,开始执行。
基本工作过程:CPU读取指令,PC的内容作为欲读取指令的地址发送给程序存储器,当CPU读取该地址的指令时,PC自动加1;
- 单片机的存储器
- 程序存储器(使用MOVC查表指令)
- 片内8KB,片外可扩展64KB;(扩展多少由地址总线决定,216=64k)
- 回归EA(非)
- 程序存储器的某些单元被固定用于各中断源的终端服务程序的入口地址:(同时是内部自然优先级的顺序由高到低)
中断源 | 入口地址 |
外部中断0 | 0003H |
定时器/计数器T0 | 000BH |
外部中断I | 0013H |
定时器/计数器T1 | 001BH |
串行口 | 0023H |
定时器/计数器T2 | 002BH |
- 数据存储器
- 片内数据存储器(使用MOV指令)
- 片内256B,最多可扩展64KB
- 256B(00H~FFH)一分为二,低128B(00H~7FH),高128B(80H~FFH);
- 其中低128字节分为三个区域:
- (00H~1FH)的32字节4个通用工作寄存器区,工作方式由RS0、RS1决定;
- (20H~2FH)可位寻址区域,16个字节128位,可进行位寻址,详见位地址空间:字节地址(20H~2FH),位地址(00H~7FH)
必考题1:08H所在的字节地址是多少?答:21H
- (30H~7FH)用户RAM:存放数据,以及作为堆栈使用。
- 高128字节区域,用户RAM只能通过间接寻址,特殊功能寄存器区SFR只能通过直接寻址方式。
- 片外数据存储器(使用MOVX指令)
最多64KB,实际上不足64k,因为留有一部分会给I/O
- 特殊功能寄存器(32个,需要记)
- 堆栈指针SP
- 只能设在片内RAM中,SP指向堆栈栈顶的位置,满足先进后出原则
- 作用:保护断点,保护现场;断点指主程序被打断的位置;现场:进入中断之前将寄存器的内容送入堆栈。
- 数据指针DPTR包括DPTR0、DPTR1
- 并行IO端口
注意上文提到的作用
- 作为通用IO口使用时,P0口要加上拉电阻。
- P.X输入时,需要先向锁存器写入1。
- 时钟电路
- 对应管脚XTAL1,XTAL2。
- 常用频率:12MHz、11.0592MHz、6MHz,11.0592MHz用于串行通信当中,设置波特率,因为其带小数点,所以计算出的波特率可以是整数,可以减小误差。
- 机器周期:一个机器周期等于12个时钟周期(周期是频率的倒数),即Tcy=12/fosc
- 复位
- 复位方法:RST加大于2个机器周期的高电平
- PC=0000H;SP=07H;P0~P3=FFH
第三章(指令与C)
- 寻址方式(7个,重点前四个)
考察方法:给出指令,判断其寻址方式。
- 寄存器寻址方式:操作数为是某个寄存器里面的内容。
例如:MOV A,Rn 指将寄存器Rn 中的源操作数送入A中。
- 直接寻址方式:直接给出源操作数的单元地址,地址中就是操作数。
例如:MOV A,40H 指单元地址40H中的内容给A
MOV 42H,40H 指片内RAM 40H中的内容传给42H
直接寻址方式是对片内所有特殊功能寄存器访问的唯一寻址方式。
- 寄存器间接寻址方式:寄存器存放的是源操作数的地址
格式 MOV A,@Ri 若Ri 为40H,此40H为地址,先找到地址,然后再去找地址中的内容。
- 立即数寻址:直接给出操作数
例如 MOV A,#40H。指将40H给A。
- 基址寄存器加变址寄存器间接寻址方式
MOVC A,@A+DPTR
- 相对寻址方式
SJMP LOOP
- 位寻址方式:使具有位寻址功能的寄存器某位内容实现清0置1
例如:MOV C,40H指将位地址为40H的位值(0或1)送到C。
- 8051指令共(110条)35分钟。
第四章
- 中断请求标志寄存器(掌握标志位在哪个寄存器中)
- TCON寄存器存放了定时器0、定时器1的溢出中断请求标志位TF0和TF1。包括两个外部中断请求标志位IE0和IE1。
- SCON存放串口的两个中断标志位TI、RI
- T2CON存放定时器T2的两个中断标志位TF2、EXF2。
必考题2 请问这些标志位需不需要对其置1或清0呢?
答:都不需要置1,但是部分需要手动清0。串口以及定时器T2需要手动清零,其他不需要。对于电平触发方式的外部中断,需要将外部请求信号撤销掉。
- 中断允许与中断优先级的控制
- 中断允许寄存器IE(涉及编程)例4-1
默认中断置0,会IE格式(考试给)的相应位置1,SETB bit;CLR bit;
- 中断优先级寄存器IP
- 相应位置1时为高优先级,相应位置0时为低优先级
必考题3 高优先级的作用:高优先级可以打断低优先级
- 自然优先级,同一级中断中,按自然优先级顺序
外部中断0、定时器0、外部中断1、定时器1、串口中断、T2;
- 任何低优先级都可被高优先级中断;一旦中断,不会被同级打断,但高优先级可以将其打断。
- 响应中断请求的条件
- EA=1
- 相应中断的请求标志位为1
- 中断允许位位1
- 无同级或更高级中断正在被服务
- 中断被封锁的条件
- CPU正在处理同级或更高级中断
- 所查询的机器周期不是当前正在执行指令的最后一个机器周期;
- 正在执行的指令是RET1或是访问IE、IP的指令;
- 中断响应时间:单一中断系统里,响应时间是在3~8个机器周期;
- 中断服务主程序
注意两句
- LJMP INT ;跳进中断
- RETI ;中断返回
第五章
- 定时器特殊功能寄存器
- 工作方式控制寄存器TMOD
用于选择定时器/计数器的工作模式和工作方式,其中低四位控制T0,高四位控制T1;
- GATE门控位:为0时,仅有TRX决定
- M1/M0工作方式选择位
- C/T(非):为0时,定时器模式,定时器为1时计数器模式。
- TCON
- 两个中断标志位TF1、TF0;
- 两个运行控制位TR1、TR0;置1启动
- 定时器初值的计算
初值=2N-(定时时间/机器周期)
主要考定时器方式一(16位)和方式二(8位)
二者区别两个
- 计算初值时N不同
- 方式1需要重新装初值;方式2不需要重装初值,。
- 定时器的三种工作方式
- 捕捉方式
- 重装载方式
- 波特率发生器方式及可编程时钟输出。
- 定时器/计数器的编程及应用一节
第六章
- 串行通信结构
- SBUF串口缓冲寄存器:它有两个独立的发送、接收缓冲器(共用同一地址,符号)
- SCON
- SM0、SM1四种工作方式的选择
0 | 同步移位寄存器方式 |
1 | 8位异步收发,波特率可变 |
2 | 9位异步收发,波特率fosc/64或fosc/32 |
3 | 9位异步收发,波特率可变 |
- SM2多机通信
通信过程:
- 各从机初始化程序允许从机的串行口中断,将串行口编程方为方式2或方式3,即9位异步收发通信方式,且SM2和REN置1。
- 主机发送第九位为1,数据帧第九位为0,当主机给各个从机发送地址帧时,各从机的串行口接收第九位为RB8为1,且由于各从机
波特率的计算
方式3波特率=2SMOD/32*定时器溢出率
第七章
- 数码管算
- 静态显示:特点一个数码管一个锁存器
- 动态扫描:视觉暂存
- 按键去抖动防止一次按下被误认为多次按下
第八章
- 高低八位地址总线,用373锁存器,如图219页
- 地址线确定容量,不会就选8kB
- 228页如图
- 程序题把片内写到片外
第九章
- 扩展接口的三个功能