单片机考点总结及考试大题
1. 2. 3. 4.
单片机由CPU 、存储器及各种I/O接口三部分组成。
单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051和8751. 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; (2)21个特殊功能寄存器(SFR )(21页—23页);
(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, SP=07H, P0~P3=FFH
6. 程序计数器PC :存放着下一条要执行指令在程序存储器中的地址,即当前PC 值或现行值。程序计数器PC 是16位寄存器,没有地址,不是SFR.
7. PC与DPTR 的区别:PC 和DPTR 都用于提供地址,其中PC 为访问程序存储器提供地址,而DPTR 为访问数据存储器提供地址。 8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR ,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR 。 9. 程序状态字寄存器PSW (16页) (2)PSW 寄存器中各位的含义; Cy:进位标志位,也可以写为C 。 Ac:辅助进位标志位。
P 为奇偶标志位:该标志位用来表示累加器A 中为1的位数的奇偶数 P=1, A中1的个数为奇数; P=0, A中1的个数为偶数。
另:使用加法指令时,累加器A 中的运算结果对各个标志位的影响: (1)如果位7有进位,则置1进位标志位Cy ,否则清0 Cy;
(2)如果位3有进位,置1辅助进位标志位Ac ,否则清0 Ac;
(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV 置1,否则清0 OV。即只要位7和位6中有一个进位,而另一个没进位,OV 就置1.
12. MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页
共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。
13. MCS-51的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式的帧格式和波特率是什么? 串行口有4种工作方式: SM0、SM1:串行口4中工作方式的选择位
TXD P3.1 RXD P3.0 REN 允许串行接收 设240字符每秒 异步通讯240*10=2400bit SCON:串行口控制 PCON 波特率设置 15. 系统总线
按其功能通常把系统总线分为三组:(1)、地址总线(Address Bus ,简写AB ) 地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。 MCS-51单片机最多可以扩展64KB ,即65536个地址单元,因此,地址总线为16条。 (2)、数据总线(Data Bus,简写DB )
。MCS-51单片机是8位字长,所以,数据总线的位数也是8位的。数据总线是双向的,可以进行2个方向的传送。 控制总线)
15. 单片机外部扩展存储器地址分配的方法线选法和译码法。外部扩展存储器容量大小的确定方法(1)由该存储器芯片上的地址根数决定,如程序存储器芯片27128有A0—A13共14根地址线,故27128的存储容量=214=16KB;(2)用存储器芯片型号后面的数字÷8 即可得
到该芯片的存储容量,如27128的存储容量=128÷8=16KB;
16.P0口作第八位的地址、数据总线,P2口作为高位地址线,PSEN:ALE作为P0口低八位所存控制,EA-ROM 的选择控制 16. 存储器扩展的读写控制:
外扩的RAM 芯片既能读出又能写入,所以通常都有读写控制引脚,记为和的RAM 的读写控制引脚分别与MCS-51的R D和 WR引脚相连。
外扩的EPROM 在正常使用中只能读出,的芯片没有写入控制引脚,只有读出引脚,记为OE ,该引脚与MCS-51 的PSEN 相连。
17. 在MCS-5116位地址线和八8位数据线,为何不发生冲突?
外接程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于访问外扩程序存储器时是PSEN 信号有效, 而访问数据存储器时是R D或 WR 信号有效。而这些控制信号执行1种指令,只产生1种控制信号,所以不会产生数据冲突的问题。
已知8051单片机的fosc=12MHZ,用T1定时,试编程P1.1周期为2ms 的方波
MOV TMOD ,#20H ;T1方式2定时 MOV TH1,#06H ;定时250μs MOV TL1,#06H SETB TR1
L2: MOV R2,#04H L1: JNB TF1,$ CLR TF1
DJNZ R2,L1 CPL P1.1 SJMP L2
请回答:(共16分)
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分) 2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (6分,) 3.请编写程序,要求:
(1)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(4分) (2)将2# 6264的前4个单元的内容送入40H~43中;(4分)
解: 1. 外扩程序存储器的容量是8K ,外扩数据存储器的容量是16K
2. 2764范围:
C000H~DFFFH
1#范围: A000H~BFFFH 2#范围: 6000H~7FFFH
3.请编写程序 (1)
MOV
R1 ,#10H
MOV MOV LOOP: MOV
DPTR,@0A000H R0,#30H A,@R0
MOVX @DPTR,A
INC INC
D J NZ
RET
(2)
MOV MOV MOV
R1,#04H DPTR,#6000H R 0 ,#40H DPTR
R 0
R1,LOOP
LOOP :MOVX
MOV
A ,@DPTR
@R0 ,A
INC INC D J NZ RET
DPTR R 0 R1,LOOP
将外部数据存储器中的5000H —50FFH 单元全部清零(10分) 。 答: ORG 0100H (1分) MOV DPTR #5000H
MOV R0,#00H
CLR A (3分)
LOOP : MOVX @DPTR,A
INC DPTR (3分) DJNZ R0,LOOP (2分)
HERE: SJMP HERE (RET或SJMP $ 等) (1分)
题 9.9电路图可以参考图9-10,PA 口每一位接二极管的正极,二极管的负极接地。PB 口每1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB 口的值送给PA 口就可以满足题目要求了。
ORG
0100H
;设置PA 口方式0输出,PB 口方式0输入
MIAN : MOV
A ,#10000010B
MOV DPTR ,#0FF7FH ;控制口地址送DPTR
;送方式控制字
MOVX @DPTR ,A MOV
DPTR ,#0FF7DH ;PB 口地址送DPTR
;读入开关信息
MOVX A ,@DPTR MOV
DPTR ,#0FF7CH ;PA 口地址送DPTR
;PA 口的内容送PB 口点亮相应的二极管
MOVX @DPTR ,A END
单片机考点总结及考试大题
1. 2. 3. 4.
单片机由CPU 、存储器及各种I/O接口三部分组成。
单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051和8751. 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; (2)21个特殊功能寄存器(SFR )(21页—23页);
(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, SP=07H, P0~P3=FFH
6. 程序计数器PC :存放着下一条要执行指令在程序存储器中的地址,即当前PC 值或现行值。程序计数器PC 是16位寄存器,没有地址,不是SFR.
7. PC与DPTR 的区别:PC 和DPTR 都用于提供地址,其中PC 为访问程序存储器提供地址,而DPTR 为访问数据存储器提供地址。 8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR ,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR 。 9. 程序状态字寄存器PSW (16页) (2)PSW 寄存器中各位的含义; Cy:进位标志位,也可以写为C 。 Ac:辅助进位标志位。
P 为奇偶标志位:该标志位用来表示累加器A 中为1的位数的奇偶数 P=1, A中1的个数为奇数; P=0, A中1的个数为偶数。
另:使用加法指令时,累加器A 中的运算结果对各个标志位的影响: (1)如果位7有进位,则置1进位标志位Cy ,否则清0 Cy;
(2)如果位3有进位,置1辅助进位标志位Ac ,否则清0 Ac;
(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV 置1,否则清0 OV。即只要位7和位6中有一个进位,而另一个没进位,OV 就置1.
12. MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页
共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。
13. MCS-51的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式的帧格式和波特率是什么? 串行口有4种工作方式: SM0、SM1:串行口4中工作方式的选择位
TXD P3.1 RXD P3.0 REN 允许串行接收 设240字符每秒 异步通讯240*10=2400bit SCON:串行口控制 PCON 波特率设置 15. 系统总线
按其功能通常把系统总线分为三组:(1)、地址总线(Address Bus ,简写AB ) 地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。 MCS-51单片机最多可以扩展64KB ,即65536个地址单元,因此,地址总线为16条。 (2)、数据总线(Data Bus,简写DB )
。MCS-51单片机是8位字长,所以,数据总线的位数也是8位的。数据总线是双向的,可以进行2个方向的传送。 控制总线)
15. 单片机外部扩展存储器地址分配的方法线选法和译码法。外部扩展存储器容量大小的确定方法(1)由该存储器芯片上的地址根数决定,如程序存储器芯片27128有A0—A13共14根地址线,故27128的存储容量=214=16KB;(2)用存储器芯片型号后面的数字÷8 即可得
到该芯片的存储容量,如27128的存储容量=128÷8=16KB;
16.P0口作第八位的地址、数据总线,P2口作为高位地址线,PSEN:ALE作为P0口低八位所存控制,EA-ROM 的选择控制 16. 存储器扩展的读写控制:
外扩的RAM 芯片既能读出又能写入,所以通常都有读写控制引脚,记为和的RAM 的读写控制引脚分别与MCS-51的R D和 WR引脚相连。
外扩的EPROM 在正常使用中只能读出,的芯片没有写入控制引脚,只有读出引脚,记为OE ,该引脚与MCS-51 的PSEN 相连。
17. 在MCS-5116位地址线和八8位数据线,为何不发生冲突?
外接程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于访问外扩程序存储器时是PSEN 信号有效, 而访问数据存储器时是R D或 WR 信号有效。而这些控制信号执行1种指令,只产生1种控制信号,所以不会产生数据冲突的问题。
已知8051单片机的fosc=12MHZ,用T1定时,试编程P1.1周期为2ms 的方波
MOV TMOD ,#20H ;T1方式2定时 MOV TH1,#06H ;定时250μs MOV TL1,#06H SETB TR1
L2: MOV R2,#04H L1: JNB TF1,$ CLR TF1
DJNZ R2,L1 CPL P1.1 SJMP L2
请回答:(共16分)
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分) 2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (6分,) 3.请编写程序,要求:
(1)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(4分) (2)将2# 6264的前4个单元的内容送入40H~43中;(4分)
解: 1. 外扩程序存储器的容量是8K ,外扩数据存储器的容量是16K
2. 2764范围:
C000H~DFFFH
1#范围: A000H~BFFFH 2#范围: 6000H~7FFFH
3.请编写程序 (1)
MOV
R1 ,#10H
MOV MOV LOOP: MOV
DPTR,@0A000H R0,#30H A,@R0
MOVX @DPTR,A
INC INC
D J NZ
RET
(2)
MOV MOV MOV
R1,#04H DPTR,#6000H R 0 ,#40H DPTR
R 0
R1,LOOP
LOOP :MOVX
MOV
A ,@DPTR
@R0 ,A
INC INC D J NZ RET
DPTR R 0 R1,LOOP
将外部数据存储器中的5000H —50FFH 单元全部清零(10分) 。 答: ORG 0100H (1分) MOV DPTR #5000H
MOV R0,#00H
CLR A (3分)
LOOP : MOVX @DPTR,A
INC DPTR (3分) DJNZ R0,LOOP (2分)
HERE: SJMP HERE (RET或SJMP $ 等) (1分)
题 9.9电路图可以参考图9-10,PA 口每一位接二极管的正极,二极管的负极接地。PB 口每1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB 口的值送给PA 口就可以满足题目要求了。
ORG
0100H
;设置PA 口方式0输出,PB 口方式0输入
MIAN : MOV
A ,#10000010B
MOV DPTR ,#0FF7FH ;控制口地址送DPTR
;送方式控制字
MOVX @DPTR ,A MOV
DPTR ,#0FF7DH ;PB 口地址送DPTR
;读入开关信息
MOVX A ,@DPTR MOV
DPTR ,#0FF7CH ;PA 口地址送DPTR
;PA 口的内容送PB 口点亮相应的二极管
MOVX @DPTR ,A END