习题二
2-1 试述8051单片机主要由哪几个部分构成?
1. 一个8位微处理器CPU
2. 数据存储器RAM和特殊功能寄存器 3. 内部程序存储器ROM 4. 两个定时/计数器
5. 四个8位可编程的I/O并行端口 6. 一个串行端口 7. 中断控制系统 8. 内部时钟电路
2-2 MCS-51单片机的片外总线是怎样构成的?试画出其结构示意图。
1. 片外总线构成: 1)地址总线AB 2)数据总线DB 3)控制总线CB 2. 结构示意图
2-3 MCS-51单片机四组并行I/O口在使用时各有什么特点?
1. P0口特点:
1) 作输出口使用时,由于输出驱动为漏极开路式,需外接上拉电
阻,阻值一般为5~10K.
2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚 处于悬浮状态,再读入数据.
3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A7~A0,数据D7~D0) 2. P1口特点:
1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)
2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据. 3. P2口特点:
1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)
2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.
3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A15~A8,数据D15~D8) 4. P3口特点:
1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)
2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据. 3) 第二功能如下表
2-4 MCS-51单片机的存储器有几个存储空间?各自的地址范围和容量是多少?使用时各有什么特点?
四个存储空间:(不同的单片机有所不同)
1. 片内RAM,地址范围:00H~FFH,共256个字节
1) 00H~1FH为通用寄存器区,共分四组
(0组 1组 2组 3组,由PSW的RS1 RS0决定,复位时自动选中0组) 每组8个寄存器R0~R7
2) 20H~2FH为位寻址区,共128位(16*8) 3)30H~7FH为通用RAM区,共64个字节
4)80H~FFH为特殊功能寄存器(SFR)区,共128个字节
并行口 串行口 中断系统 定时/计数器 等功能单元和状态寄存器等共21个单元离散的分布在这个区中,其他空闲单元不能使用
2. 片外RAM,地址范围:0000H~FFFFH,共64K字节
3. 片内ROM(EA=1),地址范围:0000H~0FFFH,共4K字节 4. 片外ROM(EA=0),地址范围:0000H~FFFFH,共64K字节
2-5 在单片机内RAM中哪些字节有位地址?哪些字节没有位地址?特殊功能寄存器中安排位地址的作用何在?
有位地址的字节:20H~2FH 80H 88H 90H 98H A0H A8H B0H B8H D0H E0H F0H
SFR安排地址位的作用:可按位访问,方便使用
2-6 什么叫振荡周期、时钟周期、机器周期和指令周期?
振荡周期----为单片机提供时钟信号的振荡源的周期
时钟(状态)周期----振荡源信号经二分频后形成的时钟脉冲信号 机器周期-----完成一个基本操作所需的时间,由6个时钟(状态)周期组成
指令周期----CPU执行一条指令所需的时间 时钟(状态)周期=2振荡周期
机器周期=6时钟(状态)周期=12振荡周期 指令周期=1个或2个或4个机器周期
2-7 若单片机使用的晶振为6MHz,那么振荡周期、机器周期和指令周期分别是多少?
fosc=6MHZ
T振荡=1/fosc=0.167μs
T机器=12* T振荡=2μs T指令=(1~4) T机器=2~8μs
2-8 当单片机使用的晶振为12MHz时,执行一条指令所需的最长时间为多少?
fosc=12MHZ T指令=1~4μs TMAX指令<=4μs
2-9 说出单片机复位后,各特殊功能寄存器的初始化状态是什么 各特殊功能寄存器的初始化状态如表
特别SP=07H,P0~P3=FFH
注意: 复位后要先给SP赋值(30H~7FH), P0~P3置初值
习题三
3-1 说明下列各条指令划线部分的寻址方式,并用图说明指令实现的操作。
(1)ADD A,30H ;直接寻址
(2)MOVX A,@DPTR ;寄存器间接寻址 (3)MOVC A,@A+PC ;变址寻址
(4)ORL 60H,#22H ; 直接寻址 立即寻址 (5)MOV @R1,A ; 寄存器间接寻址 3-2 查附录写出下列各条指令的机器码。 ACALL 0100H ;3100
LCAlL 0300H ;120300 AJMP 0100H ;2100 LJMP 0300H ;D20300 SJMP —5 ;80FB SJMP $十5 ;8003
3-3 设R0=7EH,DPTR=10FEH,片内RAM中7EH、7FH单元内容
为0AAH、0BBH,试分析下列每条指令、增加注释并写出其执行结果。
INC @R0 ;(7EH)+1 7EH, (7EH)=0ABH 1NC R0 ;R0+1 R0, (R0)=7FH
1NC @R0 ;(7FH)+1 7FH, (7FH)=0BCH
1NC DPTR;DPTR+1 DPTR DPTR=10FFH
3-4 若A=80H,R0=17H,(17H)=34H,执行下段程序后,A=? ANL A,#17H;A=0
ORL 17H,A ;A=0 (17H)=34H XRL A, @R0;A=34H
CPL A ;A=0CBH
3-5 说明下段程序执行过程中,SP的内容以及堆栈中内容的改变过程。
MOV SP,#20H;SP=20H MOV A,#20H ;A=20H MOV B,#30H ;B=30H
PUSH ACC ;SP+1 SP=21H,(21H)=20H PUSH B ; SP+1 SP=22H,(22H)=30H POP ACC ;(22H) A,SP-1 SP=21H
POP B ;(21H) B,B=20H,SP-1 SP=20H 3-6有程序如下:
CLR RS1;位操作 RS1=0 CLR RS0;位操作 RS0=0
MOV A,#38H;字节操作 A=38H MOV R0,A ; 字节操作R0=38H MOV 29H,R0;字节操作 (29H)=38H