单片机知识点总结.docx
《单片机知识点总结.docx》由会员分享,可在线阅读,更多相关《单片机知识点总结.docx(17页珍藏版)》请在冰豆网上搜索。
单片机知识点总结
单片机考点总结
1.单片机由CPU、存储器及各种I/O接口三部分组成。
2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。
3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、
8051和8751.
(1)I/O引脚
(2)8031、8051和8751的区别:
8031片内无程序存储器、8051片内有4KB
程序存储器ROM、8751片内有4KB程序存储器EPROM。
4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可
分时复用为低8位地址输出口和数据口。
MCS-51单片机片外可扩展存储最大
容量为216=64KB,地址范围为0000H—FFFFH。
(1.以P0口作为低8位地
址/数据总线;2.以P2口作为高8位地址线)
5.MCS-51片内有128字节数据存储器(RAM),21
个特殊功能寄存器(SFR)。
(1)MCS-51片内有128字节数据存储器(RAM),
字节地址为00H—7FH;
00H—1FH:
工作寄存器区;
00H—1FH:
可位寻址区;
00H—1FH:
用户RAM区。
(2)21个特殊功能寄存器(SFR)(21页一23页);
(3)当MCS-51上电复位后,片内各寄存器的状态,见
34页表2-6。
PC=0000H,DPTR=0000H,Acc=00H,PSW=00H,
B=00H,SP二07H,
TMOD=00H,TCON=00H,TH0=00H,TL0=00H,
TH1=00H,
6.程序计数器PC:
存放着下一条要执行指令在程序存储器中的地址,即当前PC
值或现行值。
程序计数器PC是16位寄存器,没有地址,不是SFR.
7.PC与DPTR的区别:
PC和DPTR都用于提供地址,其中PC为访问程序存储
器提供地址,而DPTR为访问数据存储器提供地址。
8.MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器
DPTR,其中MOVEDPTR,#data16是唯一的16位数据传送指令,用来设置地址指针DPTR0(46页)
定时/计数器T0和T1各由2个独立的8位寄存器组成,共有4个独立寄存
器:
TH1、TL1、TH0、TLO,可以分别对对这4个寄存器进行字节寻址,但不能吧
T0,#data16;MOVT1,
T0或T1当作1个16位寄存器来寻址。
即:
MOV
#data16都是错的,
PSW寄存器中各位的含义;
Cy:
进位标志位,也可以写为Co
Ac:
辅助进位标志位。
RS1、RS0:
4组工作寄存区选择控制位。
RS1
RS0
所选的4组寄存器
0
0
0区(内部RAM地址00H〜07H)
0
1
1区(内部RAM地址08H〜0FH)
1
0
2区(内部RAM地址10H〜17H)
1
1
3区(内部RAM地址18H〜1FH)
P为奇偶标志位:
该标志位用来表示累加器A中为1的位数的奇偶数
P=1,A中1的个数为奇数;
P=0,A中1的个数为偶数。
出标志位0V置1,否则清00V。
即只要位7和位6中有一个进位,而另一个没
进位,0V就置1.
10.MCS-51指令系统的七种寻址方式,熟练掌握各寻址方式。
(40页)0
寻址方式
使用的变量
寻址空间
寄存器寻址方式
R0〜R7、A、B、
4组通用工作寄存区、部分特殊功能
C(位)DPTR、
寄存器
AB
直接寻址方式
内部RAM128B、特殊功能寄存器
奇存器间接寻址方
@R1,@R0,SP
片内RAM
式
@R1,@R0,@
片外数据存储器
DPTR
立即寻址方式
#data
基址寄存器加变址寄存器间接寻址方式
@A+DPTR,
@A+PC
程序存储器
位寻址方式
内部RAM20H〜2FH单元的128个
可寻址位、SFR中的可寻址位(85个)
相对寻址方式
PC+偏移量
程序存储器
11.访问MCS-51单片机中:
(1)访问片内RAM应使用MOV指令;
分别是什么哪些中断源的中断请求标志位在响应中断时由硬件自动清除那些中断
源的中断请标志位必须使用软件清除记住各个中断请求标志位,优先级标志位,
触发方式标志位。
(102页一108页)
中断源
入口地
址
响应中断时
中断请求标
志位
外部中断0
0003H
硬件自动清
除
IE0
定时器/计数器
T0
000BH
硬件自动清
除
TF0
外部中断1
0013H
硬件自动清
除
IE1
定时器/计数器
001BH
硬件自动清
TF1
T1
除
串行口中断
0023H
软件清除
TI或RI
前面4种都是硬件自动清0,串行中断必须使用软件清除,因为串行接收和发送共享串
行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。
13.MCS-51的串行口为全双工的异步串行通信口,串行口有几种工作方式每种工作方式的帧格式和波特率是什么
串行口有4种工作方式:
SM
0
SM
1
方
式
功能说明
0
0
0
冋步异位寄存器方式(用于扩展I/O口)波特率固定,
为fosc/12
0
1
1
8位异步收发,波特率可变(有定时器控制)
1
0
2
9位异步收发,波特率为fosc/64或fosc/32
1
1
3
9位异步收发,波特率可变(有定时器控制)
SM0、SM1:
串行口4中工作方式的选择位。
(1)方式0:
帧格式及波特率
D0
D1
D2
D3
D4
D5
D6
D7
方式1的波特率是固定的,为fosc/12
(2)方式1:
帧格式及波特率
D0
D1
D2
D3D
4D!
)D6
停止位
起始位
方式1的波特率为2SMOD/32X定时器T1的溢出率
(3)方式2:
帧格式及波特率
D0
D1
D2
D3D
4d5D6
iD7
方式2的波特率为2SMOD/64Xfosc
(3)方式3:
帧格式及波特率
方式3的波特率为2SMOD/32X定时器T1的溢出率
14.8255A可扩展3个8位并行I/O口(PA口、PB口和PC口),其中PC口具有按位置为/复位功能。
15.系统总线(仅了解)
所谓总线,就是连接计算机各部件的一组控制信号。
MCS-51使用的是哈佛结构,
,按其功能通常
即并行总线结构(程序存储器和数据存储器的空间是截然分幵的)
的存储单元数目。
16条。
(2)、数据总线(DataBus,简写DB)
数据总线用于单片机与存储器之间或单片机与I/O之间传送数据。
MCS-51单片
机是8位字长,所以,数据总线的位数也是8位的。
数据总线是双向的,可以进
行2个方向的传送。
(3)、控制总线(ControlBus,简写CB)
控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其它部件传送
给单片机的。
15.单片机外部扩展存储器地址分配的方法线选法和译码法。
外部扩展存储器容量
大小的确定方法
(1)由该存储器芯片上的地址根数决定,如程序存储器芯片27128
有A0—A13共14根地址线,故27128的存储容量=214=16KB;
(2)用存储器
-8=16KB;
16.存储器扩展的读写控制:
(做最后一题时需要用到)
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM的芯片没有写入
控制引脚,只有读出引脚,记为OE,该引脚与MCS-51的PSEN相连。
八8位数据线,为何不发生冲突
外接程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于访问程
序存储器时是PSEN信号有效,而访问数据存储器时是RD或WR信号有效。
而这些控制信号是由MCS-51执行访问外部外序存储器和或访问外部数据存储器
数据冲突的问题。
(2)abcdef是按照顺时针走的,知道g,dp的位置。
18.单片机晶振频率fosc与机器周期Tcy的关系式:
仃cy=12/fosc。
19.编程题
DEL:
MOV
R7,
#200
DEL1:
MOV
R6,
#125
DEL2:
DJNZ
R6,
DEL2
MOV
R7,DEL1
RET
(2)中断初始化程序的编写
(104页例5—1,107页例5—2)
知识点:
(1)中断允许寄存器IE
MCS-51的CPU的中断源的幵放或屏蔽,是由片内的中断允许寄存器IE控制的。
EA
ES
ET1
EX1
ET0
EX0
EA:
中断允许总控制位;
ES:
串行口中断允许位;
IE的字节地址为A8H,可进行位寻址。
(2)中断优先级寄存器P
MCS-51的片内有一个中断优先级寄存器IP,其字节地址为B8H,可位寻址。
PS:
串行口中断优先级控制位;
PT1:
定时器T1中断优先级控制位;PX1:
外部中断1中断优先级控制位;
PTO:
定时器TO中断优先级控制位;PX0:
外部中断0中断优先级控制位;
注:
当上述值置为0时,表示定义为低优先级中断;置为1时表示高优先级中断。
例5-1、若允许片内2个定时器/计数器中断,
禁止其它中断源的中断请求。
请编
写出设置IE的相应程序段:
(A)、用位操作指令编写如下程序段:
CLR
CLR
EX1
;禁止外部中断
1中断
CLR
EX0
;禁止外部中断
0中断
SETB
ET0
;允许定时器/计数器T0中断
SETB
ET1
;允许定时器/计数器T1中断
SETB
EA
;CPU开中断
;禁止串行口中断
ES
(B)、用字节操作指令来编写:
MOVIE,#8AH
例5-2、设置IP寄存器的初始值,使得MCS-51
的2个外中断请求为高优先级,
其它中断请求为低优先级。
(A)、用位操作指令编写如下程序段:
SETB
PX0
;2个外中断请求为高优先级
SETB
PX1
CLR
PS
;串行口、2个定时器/计数器为低优先级中断
CLR
PT0
CLR
PT1
(3)定时/计数器TO或T1在指定工作方式下产生一个定时或者计数的程序编写。
125页例6—1,130页
例6—4)
4)书中有一道程序编写,
但不知是哪一道,所以都找出来了(99页第10题、
第11题,117页第9题、据。
试若编有写,程则序将,
试编写程序,的次数。
查找在内部
RAM
的3OH~5OH
51H单元置为“
O1H”若;未找到,
ORG
OOOOH
MOV
RO,#3OH
MOV
R2,#21H
LOOP:
MOV
A,@RO
CJNE
A,#OAAH,NOT
MOV
51H,#O1H
SJMP
DEND
NOT:
INC
RO
DJNZ
R2,LOOP
MOV
51H,#OOH
DEND:
SJMP
DEND
查找在内部
RAM
的2OH~4OH
14,136页第4题)
单元中是否有OAAH这一数则将51H单元置为“OOH”。
单元中出现“00H”这一数据
并将查找到的结果存入
41H
单元。
ORG
OOOOH
MOV
RO,#2OH
MOV
R2,#21H
MOV
41H,#OOH
LOOP:
MOV
A,@RO
CJNE
A,#OOH,NOTE
INC
41H
NOTE:
INC
RO
DJNZ
R2,LOOP
END
编写出外部中断1为跳沿触发的中断初始化程序。
ORG
OOOOH
AJMP
MAIN
ORG
OO13H
AJMP
PINT1
ORG
O1OOH
MAIN:
SETB
IT1
SETB
EX1
SETB
EA
HERE:
AJMP
HER
PINT1:
RETI
END
某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,进行处理,它们的优先处理次序由高到低依次为地址分别为1000H,1100H,1200H
3、2、1
便要求CPU中断处理程序的入口
应的中断处理程序的入口即可)
、/7V、J、■?
—丁亠I亠八MJZ
试编写主程序及中断服务程序(转至相
ORG
0000H
AJMP
MAIN
ORG
0003H
LJMP
PINT0
ORG
0100H
MAIN:
SETB
IT0
SETB
EX0
SETB
EA
HERE:
SJMP
HERE
PINT0:
PUSH
PSW
PUSH
A
JNB
IR3
JNB
IR2
JNB
IR1
PINTIR:
POP
A
POP
PSW
RETI
IR3:
LJMP
IR3INT
IR2:
LJMP
IR2INT
IR1:
LJMP
R1INT
ORG
1000H
o
IR3INT:
LJMP
PINTIR
ORG
1100H
IR2INT:
LJMP
PINTIR
ORG
1200H
IR1INT:
LJMP
PINTIR
END
采用定时器/计数器T0对外部脉冲进行计数,
为定机的鮎震。
器的频率为
每计数100个脉冲后,T0转
ORG
AJMP
MAIN
ORG
000BH
LJMP
PT0J
ORG
0100H
TMOD,#05H;00000001
MOV
TH0,#0FFH;X=65436
MOV
TL0,#9CH
CLR
F0
SETB
TR0
SETB
ET0
0000H
后,又转为计数方式,如此循环不止。
假定MCS---516MHZ,请使用方式1实现,要求编写出程序。
MAIN:
MOV
HERE:
AJMP
PT0J:
JBMOV
PT0D:
CLR
MOV
SETBEA
HERE
F0,PT0DTMOD,#01H;00000001MOVMOVSETB
RETI
F0
TH0,#0FEH;X=65036
TL0,#0CH
F0
TMOD,#05H
MOV
MOV
RETI
END
TH0,#0FFH
TL0,#9CH
5)最后一道大题的程序编写(
185页
例8—1,189页例8—4)