微机原理-单片机知识点整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、(10011.101)B=1×24+0×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3
4、常用的ASCII码字符:0—9的ASCⅡ码30H—39H;A—Z的ASCⅡ码41H—5AH;a—z的ASCⅡ码61H—7AH。
5、十进制的15,压缩BCD码为0001 0101,非压缩BCD码为0000 0001 0000 0101。
6、正数:原,反,补相同;负数:原,反,补不同,但最高位为1。
负数: 原→反,符号位不变,尾数按位求反
原→补,符号位不变,尾数按位求反+1
补→原,符号位不变,尾数求反+1
反→原,符号位不变,尾数求反.
7、振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。
单片机外接晶振的倒数,例如12MHz的晶振,时钟周期是1/12μs。
状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是12 个时钟周期。
在一个机器周期内, CPU可以完成一个独立的操作。
晶振是12MHz,一个机器周期就是1μs,晶振是6MHz,机器周期是2μs。
指令周期: 它是指CPU完成一条操作所需的全部时间。
每条指令执行时间都是有一个或几个机器周期组成。
MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。
8、单片机的控制口线包括
片外取指信号(片外程序存储器读)输出端,低电平有效。
通过P0口读回指令或常数。
控制的是片外程序存储器。
在访问外部程序存储器时,该信号自动产生,每个机器周期输出2个脉冲。
访问片外数据存储器时,不会有脉冲输出。
地址锁存信号。
ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。
用下降沿锁存P0口的低8位地址到外部锁存器
程序存储器选择信号。
=0时,选外部ROM,=1时,地址小于4k时,选内部ROM;地址大于4k时,选外部ROM。
RESET 复位信号:高电平复位CPU,低电平CPU工作
复位后,各个寄存器的状态如图所示。
9、数据存储器的容量小,仅256B。
程序存储器容量大,为64KB。
10、8051 / 8751内部有4KB 的ROM / EPROM,地址:0000H ~ 0FFFH。
52 子系列内部有8KB 的ROM / EPROM,地址:0000H ~ 1FFFH。
11、内部数据存储器RAM ,地址:00H ~ FFH,在共256个字节的片内RAM中,00H~1FH单元是通用寄存器区,20H~2FH单元是位寻址区,30H~0FFH单元是供用户使用的一般RAM区。
通用寄存器区(00H~1FH):包括R0~R7
位寻址区(20H~2FH):可以直接或者间接寻址。
对于51系列,数据存储器只有00H~7FH的片内RAM和SFR结构,SFR结构从80H~FFH,而52系列,80H~FFH既包括片内RAM,又包括SFR。
因此,51系列片内RAM共128B,52系列片内RAM共256B。
52系列的片内RAM只能通过间接寻址方式进行访问,SFR只能通过直接寻址方式访问。
12、8051单片机复位时,堆栈指针SP指向07H 单元。
51的栈区不是固定的,为避开工作寄存器区、位寻址区,用户堆栈一般设置在30H ~ 7FH 之间。
13、堆栈指针SP字长为8位,它的设立是为了中断操作和子程序的调用而用于保存返回地址的,也就是常说的断点保护和现场保护。
该指针在SFR中。
数据压入堆栈时,SP自动加1;数据弹出堆栈时,SP自动减1。
14、数据指针DPTR是16位,可按DPH和DPL两个8位寄存器来使用。
15、程序计数器PC是16位专用寄存器,寻址范围64KB。
通电时自动复位,运行时可手动复位,复位后,PC的内容自动清零。
PC用来存放下一条指令地址。
CPU取指令时,将PC内容经地址总线送到程序存储器,从该地址单元取回指令,译码并执行;同时,PC自动加1。
16、MOVX A,@DPTR;将外部RAM中地址为@DPTR的单元内容读到A中。
17、MOVX @DPTR,A;将A中的内容写到外部RAM中地址为@DPTR的单元。
18、MOVC A,A+ @DPTR;采用基址+变址的方法读程序存储器内的表格常数。
19、对外部RAM产生读写操作:MOVX A,@Ri;MOVX A,@DPTRi(读操作);
MOVX @Ri,A;MOVX @DPTRi ,A(写操作)
20、直接寻址:直接使用数所在单元的地址找到了操作数,所以称这种方法为直接寻址。
22、直接寻址:MOV 20H,A。
把源操作数指定的内容送入由直接地址指出的片内存储单元。
23、间接寻址:MOV @R0,A。
把源操作数指定的内容送入以R0或R1为地址指针的片内存储单元中。
24、累加器A与片外RAM之间的数据传递类指令(4条):
MOVX A,@Ri;
MOVX @Ri,A
MOVX A,@DPTR
MOVX @DPTR,A
25、在51中,与外部存储器RAM打交道的只可以是A累加器。
所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。
可以看出内部RAM间可以直接进行数据的传递,而外部则不行。
比如,要将外部RAM中某一单元(设为0100H单元的数据)送入另一个单元(设为0200H单元),也必须先将0100H单元中的内容读入A,然后再送到0200H单元中去。
例:将外部RAM中100H单元中的内容送入外部RAM中200H单元中。
MOV DPTR,#0100H
MOVX A,@DPTR
MOV DPTR,#0200H
MOVX @DPTR,A
26、读程序存储器指令(2条):
MOVC A,@A+DPTR
MOVC A,@A+PC
将ROM中的数送入A中,本组指令也被称为查表指令。
27、交换指令(5条):
MOV R6,#29H ;R6=29H,A原来是34H
XCH A,R6 ;A=29H,R6=34H
SWAP A ;A=92H
XCH A,R6 ;A=34H,R6=92H
XCHD A,@R0 ;A=36H,(R0)=54H (设原来R0指向的单元的内容为56H)
28、RL相当于乘以2;RR相当于除以2
29、无条件转移类指令(4条)
短转移类指令:AJMP addr11
长转移类指令:LJMP addr16
相对转移指令:SJMP rel
间接转移指令:JMP @A+DPTR
转移范围:AJMP:2KB;LJMP:64KB;SJMP:-128~+127。
原则上,所有用SJMP或AJMP的地方都可以用LJMP来替代。
30、JZ rel ;如果A=0,则转移,否则顺序执行。
转移到相对于当前PC值的8位移量的地址去。
即:新的PC值=当前PC+偏移量rel
31、空操作指令(1条):NOP空操作,停一个周期,一般用作短时间的延时。
32、51单片机有32根输入输出线,组成4个8位并行输入输出接口,分别为P0、P1、P2、P3口。
每个接口都由锁存器、输出驱动器和输入缓冲器组成。
作为普通接口时,P0口无上拉电阻。
作为输入时,要先置1,输出1时,本质上是开关,输出0时,开关闭合。
33、在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口作为地址线和双向数据总线的低8位。
P3口的第二功能是中断定时通信扩展。
34、TCON的中断标志位,可位寻址。
IT0(TCON.0),外部中断0触发方式控制位。
当IT0=0时,为电平触发方式(低电平)。
当IT0=1时,为边沿触发方式(下降沿有效)。
IE0(TCON.1),外部中断0中断请求标志位。
当INT0出现中断请求信号(低电平或脉冲下降沿),硬件自动将IE0置1,产生中断请求。
IT1(TCON.2),外部中断1触发方式控制位。
功能与IT0相同。
IE1(TCON.3),外部中断1中断请求标志位。
功能与IE0相同。
TF0(TCON.5),定时/计数器T0溢出中断请求标志位。
TF1(TCON.7),定时/计数器T1溢出中断请求标志位。
TR0定时器/计数器T0的启动位。
TR1定时计数器T1的启动位。
35、SCON(98H)的中断标志
RI(SCON.0),串行口接收中断标志位。
当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。
CPU响应中断时,不能自动清除RI,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。
当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。
每发送完一个串行帧,由硬件置位TI。
TI必须由软件清除。
36、中断允许控制IE
EX0(IE.0),外部中断0允许位;EX0=1,允许外部中断0。
ET0(IE.1),定时/计数器T0中断允许位;ET0=1,允许T0中断。
EX1(IE.2),外部中断1允许位;EX1=1,允许外部中断1。
ET1(IE.3),定时/计数器T1中断允许位;ET1=1,允许T1中断。
ES(IE.4),串行口中断允许位;ES=1,允许串行接口中断。
EA (IE.7),CPU中断允许(总允许)位。
EA=1,CPU开放中断。
37、中断优先级控制IP
PX0(IP.0),外部中断0优先级设定位;
PT0(IP.1),定时/计数器T0优先级设定位;
PX1(IP.2),外部中断1优先级设定位;
PT1(IP.3),定时/计数器T1优先级设定位;
PS (IP.4),串行口优先级设定位;
PT2 (IP.5) ,定时/计数器T2优先级设定位。
置1和置0可以设定方式。
例:设置52单片机的4个中断源,使其处理的优先顺序为T1,INT1,INT0,T0。
IPH = 08H;0000 1000
;PT1
IP = 04H;0000 0100
;PX1
INT0的自然优先级高于T0。
自然优先级顺序(高到低):外部中断0、定时器0、外部中断1、定时器1、串行接口中断、定时器2。
38、
39、中断请求标志位的清除方式:
定时器/计数器T0和定时器/计数器T1的溢出中断标志由TF0和TF1产生。
当产生定时器中断时,进入中断服务程序之后由片内硬件清除标志位。
如果用查询方式编写定时或计数溢出后的处理程序,必须用软件对TF0或TF1清零。
外部中断0和外部中断1在选择为边沿触发方式时,进入中断服务程序后由片内硬件清零,当触发方式为电平触发时,需用户软件清除中断标志。
40、定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。
TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
下面是TMOD,TCON已在上面介绍。
41、工作方式寄存器TMOD(89H,不支持位寻址)
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。
GATE:门控位。
GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。
定时/计数模式选择位,=0,定时,对单片机内部脉冲进行计数;=1为计数方式,对外部
脉冲信号进行计数,外部脉冲信号接至T0或T1引脚。
M1M0:工作方式设置位。
定时/计数器有四种工作方式,由M1M0进行设置。
方式1的16位定时计数器兼容方式0的13位。
42、方式0:
方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。
TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。
计算初始值参考书P158
方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。
初值16X=2-N ,N 是计数个数。
计算方式参考书P161
44、方式2:
计数个数与计数初值的关系为:8X=2-N
45、定时器/计数器初始值的计算公式:
假如计数器的最大的计数值为n 2[方式0时n=13,方式1时n=16,方式2时n=8,方式3时(只有T0有此方式)n=8,定时器/计数器T2的n=16],定时时长为m ,则
当=0时选择计时,定时器/计数器的初值X 的计算公式为
(2)n X m -⨯=分频数晶振值
晶振值为单片机所用晶体大小,分频数为12。
当=1时选择计数,定时器/计数器的初值X 的计算公式为
(2)n X T m -⨯=
T 为定时器/计数器计数脉冲的周期。
46、从通信的方式看,串行通信的工作模式分为:单工通信、半双工通信和全双工通信。
无线广播是单工通信,对讲机是半双工通信,电话是全双工通信。
47、SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:
RI :接收中断标志,1:表示接收缓冲器中收到新的数据。
硬件置1;软件置1或清0。
TI :发送中断标志,1:表示发送缓冲器的数据发送成功。
硬件置1;软件置1或清0。
RB8:接收数据第9位(方式2和方式3)。
由硬件、软件改写。
TB8:发送数据第9位(方式2和方式3)。
由软件实现改写。
REN :接收控制。
1为允许,0为不允许。
由软件实现改写。
SM2:多级通信。
1位允许,0为不允许。
由软件实现改写。
SM0和SM1为工作方式选择位,可选择四种工作方式:
方式0时,必须对SM2清0。
方式0时,串行口为同步移位寄存器的输入输出方式。
主要用于扩展并行输入或输出口。
SCON 一般设置为72H 。
即SM0=0,SM1=1,SM2=1,REN=1,TB8=0,RB8=0,RI=0,TI=1。
方式1是10位数据的异步通信口。
TXD 为数据发送引脚,RXD 为数据接收引脚,传送一帧数据共10位。
其中1位起始位,8位数据位,1位停止位。
用软件置REN 为1时,接收器以所选择波特率的16倍速率采样RXD 引脚电平,检测到RXD 引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。
接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。
当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF ,第9位(停止位)进入RB8,并置RI=1,向CPU 请求中断。
49、波特率是串行通信的速率,单位为bps ,它是串行通信中,每秒传送的二进制位数。
*//bps =-SMOD osc TH12f 1232/
SMOD 与PCON 有关。
若PCON 置1,则SMOD=1。
12是机器周期,参考书P187。
考试的时候可以不计算,直接把式子和数据摆上去。
50、PCON 是电源寄存器。
波特率与SMOD 有关,当SMOD=1时,波特率提高一倍。
复位时,SMOD=0。
51、串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。
具体步骤如下:
确定T1的工作方式(编程TMOD 寄存器);
计算T1的初值,装载TH1、TL1;
启动T1(编程TCON 中的TR1位);
确定串行口控制(编程SCON 寄存器);
52、总线,就是连接系统中各部件的一组公共信号线。
DB :P0(须锁存);AB :P0和P2;CB :单片机发出的以控制片外ROM 、RAM 和I/O 读写操作的一组控制线。
53、扩展单片机系统总线时,使用ALE 作为地址锁存的选通信号,以实现低8位的地址锁存,这样可以分开数据信号和地址信号(详细参考书P214)。
常用的锁存芯片是74HCT573(与74LS573功能相同)。
和:控制数据传送的方向,均为低电平有效。
有效时,表示单片机从外围芯片读取数据,而有效时,表示单片机发送数据给外围芯片。
:读取外部程序存储器的控制信号,低电平有效。
:选择单片机外部程序存储器的控制信号,低电平有效。
高电平时,选择内部程序存储器。
当操作地址超过单片机片内的地址范围时,无论是什么状态,单片机自动选择外部程序存储器。
可以看出,虽然单片机有4组I/O口,当用到系统扩展时,真正可用的I/O口,就只有P1和P3的部分口线了。
54、采用三总线扩展方法,在编程时必须选择对应的指令。
如、和,任何时候最多只有其中一个信号为有效低电平,确保数据总线单一使用。
三总线的地址信号用于选择不同的外围芯片或单元,52单片机共有16根地址信号线,可操作的单元
为216,共64KB空间,即0000H~0FFFFH。
由于程序存储器有专门的控制信号,数据存储器的
控制信号为和,程序存储器和数据存储器可同时使用0000H~0FFFFH地址而不会造成混乱,因
此单片机的扩展能力是外部程序存储器和外部数据存储器各64KB的空间。
芯片选择现在多采用线选法,地址译码法用的渐少。
ROM与RAM共享数据总线和地址总线。
55、80C51系列单片机的CPU在访问片外ROM的一个机器周期内,信号ALE出现两次(正脉冲),ROM选通信号也两次有效,这说明在一个机器周期内,CPU两次访问片外ROM,也即在一个机器周期内可以处理两个字节的指令代码,所以在80C51系列单片机指令系统中有很多单周期双字节指令。
56、RAM扩展原理:
地址总线的连接:存储器地址总线的高8位A8~A15直接与单片机P2口对应信号相连,低8位A0~A7与P0口锁存后的信号相连。
数据总线的连接:存储器的8位数据信号线直接与P0口对应相连。
控制总线的连接:是单片机读取片外数据存储器的控制信号,与存储器的读控制信号连接。
57、单片机系统中,存储芯片的片选控制信号的连接方法有线选法和译码法。
线选法就是将主机多余的地址总线中的某一根地址总线作为选择某一芯片的片选信号,每一块芯片均需占用一根地址线。
这种方法适用于存储器容量小、扩展芯片数量少的情况。
优点是不需要地址译码器,节省硬件成本。
特点是地址信号直接连接片选。
地址不连续。
译码法地址组合译码后连接片选。
增加芯片。
译码法常用的译码芯片有74LS138和74LS138。
译码法又可以分为全译码和部分译码。
58、I/O接口用于单片机和外部设备的连接。
数据的传送方式主要有无条件方式、查询方式、中断方式和直接存储器存取DMA方式。
无条件方式适用于对简单的I/O设备(如开关、LED显示器、继电器等)的操作,或者I/O设备的定时固定或已知的场合。
查询方式的效率低,中断方式效率大大提高。
DMA方式的传送速度快,效率高,但它要求CPU具有DMA功能,而51系列不支持DMA方式。
适于高速外设以及成组交换数据的场合。
59、访问扩展数据存储器的方法:
如对4000H的地址单元操作,指令是:
MOV DPTR, #4000H
MOVX A, @DPTR;读操作
MOVX @DPTR, A;写操作
操作时,数据、地址和/RD,/WR控制信号自动产生,不需要其它指令。
60、访问程序存储器的方法(不区分是否扩展):
如对5000H的地址单元操作,指令是:
MOV DPTR, #5000H
CLR A
MOVC A, @A+DPTR;只有读操作
61、8086的CPU包括16位内部寄存器组、16位数据总线、20位地址总线(1M存储单元的寻址能力)。
8086的CPU按照功能结构分成总线接口单元BIU和执行单元EU两个部分。
BIU负责取指、读写操作数。
EU负责指令的执行。
BIU和EU分开的意义:取指和执行重叠,提高CPU的利用率。
62、BIU由4个部分组成:4个段寄存器、6个指令队列、指令指针寄存器IP和20位的地址加法器。
BIU负责CPU内部与存储器和I/O接口的信息传递。
包括:
取指令,BIU从内存取出指令送到指令队列中。
传送数据,BIU从内存中读取执行指令过程中所需的操作数,传送给EU部分去执行,并把EU执行结果送回内存或I/O接口。
生成20位的物理地址;
将执行部件的操作结果送到指定的内存单元或I/O端口。
63、EU部件包括:4个数据寄存器、2个指针寄存器、2个变址寄存器,1个状态标志寄存器和一个算术逻辑单元。
算术逻辑单元ALU计算16位地址偏移量。
64、8086的CPU内部有14个16位寄存器,分为通用寄存器、控制寄存器和段寄存器3类。
65、存储单元的逻辑地址与物理地址:
程序中使用逻辑地址来表示存储单元的地址,它由段地址和段内偏移值所组成,段地址与段内偏移值都为16位的二进制数,标准写法为:“段地址:偏移量”。
在8086中,两种地址的关系为:
物理地址=段地址*16+偏移量或物理地址=段地址<<4+偏移量(左移)
例:逻辑地址“1200H:008FH”、“1111H:1234H”对应的存储单元的物理地址是多少?
解:1200H:008FH代表物理单元1208FH
1111H:1234H代表物理单元12344H
如下逻辑地址单元为同一物理单元:
1000H:2345H
1234H:0005H
1200H:0345H
其物理地址为:12345H
66、8086的工作模式有最小模式和最大模式两种工作组态。
当MN/接高电平时,工作在最小模式;
接低电平,工作在最大模式。
67、8259A是8086微机系统中常用的可编程中断控制器件,它具有对多至8个可屏蔽外设中断源进行管理,并具有向CPU转达中断请求的能力。
8259A通过编程可以控制中断请求信号引入的方式分别为边沿触发方式、电平触发方式和中断查询方式。
68、8086的DMA传送方式的特点:不通过CPU:由DMA控制器(DMAC)控制存储器与外设、外设与外设、存储器与存储器之间进行传送,不需要CPU中转。
接管总线控制权:在DMA传送过程中,CPU将失去对总线的控制权,DMAC将接管三总线,完成传送过程。
DMAC控制传送过程:DMAC负责传送过程中源和目的地址的修改、传送计数的修改、传送过程结束条件的判断。
DMAC的初始化:尽管CPU不参与DMA过程,但DMAC的初始化由CPU进行,包括设置传送计数、起始地址、传送方向、DMA通道号等。
69、总线的数据传输方式:
同步式传输、异步式传输、半同步式传输和分离式传输。
70、USB数据传输类型为:控制方式传输、等时方式传输、中断方式传输和批方式传输。