单片机复习整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机复习整理
第一章主要内容:单片机组成结构
1)内部数据存储区大小、结构,存储器组织结构
2)特殊功能寄存器
微型计算机基本结构:
1、并行总线:8位数据总线、16位地址总线及相应的控制总线,两个独立的地
址空间。
2、三张图的作用;(一)
(二)
这些部分包括:
1)一个8位的微处理器(CPU)
2)片内数据存储器RAM(128B/256B), 用以存放读/写数据,如运算的中间
结果、最终结果及显示的数据等。
3)片内程序存储器ROM/EPROM(4KB/8KB),用以存放程序、一些原始数据
和表格。
4)四个8位并行I/O接口P0~P3,每个口既可以用作输入,也可以用作输出。
●两个定时器/计数器(P3.4、P3.5)
●两个外部中断源(P3.2、P3.3)
●一个全双工的串行I/O口(P3.0、P3.1)
5)、片内振荡器和时钟产生电路XTAL1、XTAL2,用来为单片机提供脉冲。
(8051 单片机内部结构的简图P13)
(三)引脚配置图
3、程序状态字寄存器PSW:PSW共8位。
程序状态字寄存器PSW用来存放运算结果的一些状态。
程序在运行过程中,当执行加法、减法、十进制调整、带进位位逻辑左、右移位、对位操作时,通常会产生进位位、半进位位、溢出位等。
有时程序的流向需要根据程序运行过程中位状态条件去执行,因此计算机的CPU内部都设置了一个程序状态寄存器,用来保存当前指令执行后的状态,以供程序查询和判断。
●RS1(D4)、RS0(D3):工作寄存器组选择位。
●OV(D2):溢出标志位。
当进行算术运算时,若运算结果发生溢出,则OV=1,否则OV=0.
●P(D0):奇偶标志位。
用来判断累加器A中有奇数个1还是有偶数个1.
4、控制器
1)程序计数器PC(程序指针):PC是专用16位寄存器,存放的是将要执行指令的地
址,它决定了程序执行的流向。
单片机上电工作时,PC指针指向程序存储器0000H 单元,即单片机复位后PC=0000H。
当程序顺序执行时,CPU每取出指令的一个字节,PC就自动加1,指向下一个字节;当执行中断服务、子程序调用、转移、返回时,把要转向的地址送PC。
2)堆栈指针(SP):(先进后出)用于保护断点和保护现场的存储区称为堆栈。
SP用来存放堆栈地址,堆栈地址可以指向片内数据存储区128字节的任意位置。
在8051单片机复位时,SP指向内部数据存储区07H,即堆栈区的栈底为07H。
SP 指针除了可以选用默认值07H外,也可以通过编程设定在内部RAM低128字节区域(如MOV SP,#45H;堆栈区的栈底设为45H)。
编程设定堆栈区时,要防止堆栈区与内部数据存储区的数据冲突。
(可能简答)堆栈指针(Stack Pointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。
堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。
3)数据指针DPTR:数据指针DPTR是一个16位寄存器。
通常用于指向外部数据存储区
64KB范围内任意地址,以便对外部数据存储区进行读写操作。
它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器(DPL),地址分别为83H和82H。
5、程序存储器(ROM)为只读存储器,ROM所存数据稳定,断点后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存放编好的用户程序和常数。
程序存储器以16位的程序计数器PC作为地址指针,故寻址空间为64KB。
片内有4KB的ROM空间,地址范围0000H~0FFFH。
片外可扩展60KB程序存储空间,地址范围1000H~FFFFH。
程序存储器用于存放编好的程序或表格常数。
51子系列片内有4KB ROM,52子系列片内有8KB ROM,二者片外地址线均为16位,最多可扩展64KB ROM,片内片外统一编址。
若EA端保持低电平,则所有取指令操作均在片外程序存储器中进行,0000H地址在片外。
若EA端保持高电平,0000H地址在片内,所有取指令操作均在片内程序存储器中进行。
在程序存储器的开始部分,定义了一段具有特殊功能的地址段,用作程序起始和各种中断的入口。
6、数据存储器RAM为随机读写存储器,RAM存储单元的内容可按需随意取出或存入。
这种存储器在断电时将丢失其存储内容,主要用于存放运算的中间结果和现场检测的数据等。
• 8051内部RAM分为两个区:其一是数据存储区RAM有128个单元,可读写数据,地址空间为00H~FFH(低128个单元(00H~7FH)的内部数据RAM 块)。
其二是专用寄存器区,用来存放单片机的21个特殊功能寄存器,地址空间为80H~FFH。
(高128个单元(80H~0FFH)的专用寄存器SFR块。
)
通用寄存器(工作寄存器区):00H~1FH为通用寄存器区,共32个单元。
●位寻址区:20H~2FH为位寻址区,共16个单元。
16个单元共128位,
位地址00H~7FH。
●当单片机内部RAM不够用时,可扩展外部RAM 但由于8051单片机的地
址总线16根,所以最多可外扩展216=65536=64KB,地址范围0000H~FFFFH。
●
●
●
●
7、特殊功能寄存器区(最核心的部分)
特殊功能寄存器的字节寻址:对专用寄存器只能使用直接寻址方式,在指令中可写成寄存器符号或单元地址形式。
MOV PSW,#01H or MOV 0D0H,#01H
8、单片机的引脚组成。
9、单片机专用控制线:单片机有四根专用控制线,用来完成单片机复位控制、外部程序存储器读控制、地址锁存允许控制及外部程序存储器访问控制
RST(9脚):RST为复位信号输入引脚。
单片机通电或按下复位键时,利用电容充电原理在RST引脚产生两个机器周期(24个时钟周期)以上的高电平,完成一次复位操作。
复位电路有上电自动复位电路和按键手动复位电路两种方式。
•上电自动复位电路
上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST引脚上加了一个高电平,高电平的持续时间取决于RC
电路的参数。
•按键手动复位电路
按键手动复位是通过按键实现人为的复位操作。
●PSEN(29脚):外部程序存储器的读选通信号。
当访问外部ROM时,产
生负脉冲作为外部ROM的选通信号。
●ALE/PROG(30脚):ALE是地址锁存允许信号。
单片机外接时
钟电路后自然产生,输出信号的频率为时钟振荡频率的1/6。
一个机器周
期两次,高电平有效。
在防问外部存储器时,该信号上升沿在S
1P
2
期间将
P0口送出的低8位地址信息锁存在外接锁存器输出端并维持至S
4P
2
期间
即ALE再次变为高电平前。
PROG是对8751内部EPROM编程时的编程脉冲输入端。
●EA/VPP(31脚):访问外部程序存储器控制信号。
若单片机内部有程序
存储器,则EA必须接高电平。
若单片机内部无程序存储器(如8031单片机),硬件连接时应将EA接地。
对于带有EPROM的单片机,在EPROM 编程期间,该脚用于施加21V的编程电压V。
pp
●
●
●
(完整总线图在P30)
●思考与练习:1、8051系列单片机的存储器空间是如何划分的?各自的地址
空间是多少?如何能正确对程序存储器、数据存储器操作?如何能正确对片内、片外数据存储器操作?
2、简答:单片机的最小系统。
第二章:基本I/O应用软件延时子程序设计应用1一般来说,I/O接口电路应有一下功能:
●数据缓冲
●信号变换
●电平转换
●传送控制命令和状态信息
2、输入输出接口的工作方式
1.无条件传送方式:用这种方式传送数据时,可认为外围设备随时处于准备就绪状态。
CPU要输入数据时,只要执行输入数据的指令就可输入所需信息。
3、汇编语言的指令分析。
1.汇编语言的指令类型:
●基本指令:即指令系统中的指令。
它们都是机器能执行的指令,每一
条指令都有对应的机器码,共有110条。
●伪指令:汇编时用于控制汇编的指令。
它们都是机器不执行的指令,
无机器码,常用7条。
2.伪指令介绍:
●ORG:汇编起始地址。
用来说明以下程序段编译后在程序存储器中存放
的起始地址。
●EQU:赋值指令给变量标号赋予一个确定的数值。
利用循环指令操作,设计一个循环程序,达
到时间延时的目的。
观看延时程序名的DELAY.ASM
DELAY: MOV R6,#256
DELAY1: MOV R7,#250
DJNZ R7,$
DJNZ R6,DELAY SJMP $思考:如果写成子程序形式,应该如何修改?
如果嵌入到程序中,应该如何修改?
void delayms(uint xms)
{
uint m,n;
for(m=xms;m>0;m--)
for(n=110;n>0;n--);
}
第三章:中断
1)单片机的中断源
2)几个中断源的中断响应过程
3)中断服务程序初始化
2.中断方式
(1) 外部中断
外部中断是指从单片机外部引脚INT0(P3.2)和INT1(P3.3)输入中断请求信号的中断,即外部中断源有两个。
如输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0和INT1输入。
外部中断请求和有电平触发和跳变(边沿)触发两种触发方式。
这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。
(2) 内部中断
内部中断是单片机芯片内部产生的中断。
MCS-51单片机(51子系列)的内部中断有定时/计数器T0和T1的溢出中断,串行口的发送/接收中断。
CPU中断响应过程:(简答)
1)保护断点
CPU响应中断后,执行一条中断系统提供的LCALL指令,与软件中
调用子程序执行的LCALL指令一样,即把程序计数器PC的内容(CPU
要执行的下一条指令地址)压入堆栈保护,并将该中断源对应的中
断服务程序入口地址送入PC。
2)转入中断服务程序入口
如CPU响应外部中断0中断申请后,即将要执行的指令地址压入堆
栈保护,然后赋值(PC)=0003H,以转入外部中断0的入口处
3)执行中断服务程序(用户程序安排)
第四章:定时器
考点定时、计数工作原理,定时器工作
方式、定时器初始化、定时器应用
1、定时、计数工作原理
工作方式寄存器TMOD:字节地址89H。
用于设定定时/计数器T0、T1的工作方式,低四位用于T0,高四位用于T1。
1)GATE门控位。
该位用来设定时/计数工作受内部TR0控制还是收内
部TR0和外部中断引脚INT0共同控制。
GATE=0,定时/计数工作受内部TR0控制。
由软件编程TR0=1,即启
动T0工作
GATE=1,由外部中断引脚INT0和TR0共同控制T0工作。
此时INT0
应发出高电平信号。
一般应用中,定时/计数器工作受内部TR0控制
2)C/T=0为定时功能,C/T=1为计数功能。
书P107 图
定时器工作方式
例题书P110 例4-6 P113 例4-7
第六章串口,串口工作方式,移位寄存器方式应用
第七章:单片机系统扩展技术人机接口
8255扩展,输出显示,按键输入
输出显示:动态显示方式,静态显示,移
位寄存器方式显示
按键输入:独立式按键,矩阵式按键
看实验板原理图。