单片机复习题及答案Word下载.docx
《单片机复习题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《单片机复习题及答案Word下载.docx(5页珍藏版)》请在冰豆网上搜索。
CPU,RAM,ROM,I/O接口等。
第二章AT89C51单片机内部结构基础
1.AT89C51单片机引脚/EA、RST的功能是什么?
/EA是片内外ROM选择端,ROM的寻址范围为64KB,而AT89C51内部只有4KBROM,当不够用时可在外扩展ROM。
当/EA信号为低电平时,只访问外部ROM;
当/EA为高电平时,则先访问内部ROM,当PC值超过4KB时自动转向外部ROM中执行。
RST复位信号,当此引脚上的信号出现至少两个机器周期的高电平将使单片机复位。
2.什么是单片机的振荡周期、状态时钟周期、机器周期和指令周期?
它们之间有什么关系?
单片机是按一定的时序进行工作的,而时序是通过XTAL1和XTAL2引脚跨接振荡器与内部振荡电路共同产生固定频率的波形。
我们把振荡频率的倒数称振荡周期。
状态时钟周期是指单片机时钟信号的周期,是振荡周期的两倍,又称状态周期。
一个机器周期由6个状态组成,即机器周期等于6个状态时钟周期或等于12个振荡周期。
指令周期是指单片机执行一条指令所占用的时间,根据指令的不同,可包含有1、2、4等机器周期的倍数。
3.当AT89C51单片机外接晶振为4MHZ时,其振荡周期、状态时钟周期、机器周期、指令周期的值各为多少?
振荡周期为0.25μs,状态时钟周期为0.5μs,机器周期为3μs,指令周期根据指令而不同可能是3μs、6μs、12μs等。
4.简述AT89C51单片机复位条件,并说明复位后寄存器中的数值状态。
当RST引脚上的复位信号保持至少两个机器周期的高电平时,即满足复位条件。
复位后程序计数器PC的值初始化为0000H,这样单片机在复位后就从程序存储器ROM的0000H单元开始执行程序。
另外其他的寄存器内容为:
ACC,B,PSW,TCON,TL0,TH0,TL1,TH1,SCON,TMOD均为00H,而DPTR=0000H,SP=07H,P0~P3=0FFH,IP=×
×
000000B,IE=0×
00000B,PCON=0×
0000B。
6.AT89C51单片机的片内RAM是如何分区的,各有什么功能?
AT89C51单片机内RAM,最低32单元(00H~1FH)为工作寄存器区;
工作寄存器上面的16个单元(20H~2FH)构成固定的可位寻址存储区;
用户RAM区(30H~7FH),可作为数据缓冲区,用于存放各种数据和中间结果,同时没有使用的工作寄存器单元和可位寻址单元都可作为数据缓冲区,同时该区也可作为堆栈区,栈底可以根据片内数据存储器的使用情况由指令设定。
8.分别说明程序计数器PC和堆栈指针SP的作用?
复位后PC和SP中值各为何?
在程序设计时,有时为什么要对SP赋值?
程序计数器PC时一个16位的计数器,其内容为将要执行下一条指令的首地址,寻址范围达64KB,PC具有自动加1功能,以实现程序的顺序执行。
PC不可寻址,无法对它进行读写。
堆栈指针SP的内容就是堆栈栈顶的存储单元地址,向堆栈中每存一个数,SP中的值就自动加1,每取一个数就自动减1,SP始终指在栈顶地址。
RST复位信号,当此引脚上的信号出现至少两个机器周期的高电平将使单片机复位,而08H属于工作寄存器区,若程序要用到这些寄存器组则要将SP设置大些,因此堆栈最好在内部的RAM(30H~7FH)中开辟。
9.开机复位后,CPU作用的是哪组工作寄存器?
它们的地址是什么?
CPU如何确定和改变当前工作寄存器?
开机复位后,CPU作用的时第0组工作寄存器,它们的地址是内部RAM的00H~07H,CPU若要确定当前工作寄存器,则读出专用寄存器PSW的RS1和RS0内容;
若要改变当前工作寄存器,则需要修改PSW的RS1和RS0的内容。
10、PC和DPTR的异同。
第三章AT89C51指令系统
1.简述AT89c51的寻址方式并举例。
2.若晶振频率位6MHZ,试计算下面延时子程序的延时时间
DELAY:
MOVR7,#0F6H;
1个机器周期
LP:
MOVR6,#0FAH;
DJNZR6,$;
2个机器周期
DJNZR7,LP;
RET;
机器周期为2us,则有:
[1+(1+2×
250+2)×
246+2]×
2us=247482us
4.课后习题(第1、2、3、4(3)、4(4)、4(6))
第五章AT89C51中断系统与定时器/计数器
1.中断处理过程包括哪4个步骤?
中断过程可以分为四步,分别是中断请求、中断响应、中断服务和中断返回。
2.在响应中断过程中,PC的值如何变化?
响应中断的过程中,PC值随程序改变,在保护现场时将下条指令首地址压入堆栈,然后将中断的入口地址给PC,进入中断服务程序;
中断返回时,从堆栈取出断点地址给PC。
389c51有几个中断源?
CPU响应中断时,中断入口地址各是多少?
4在外部中断中,有几种中断触发方式?
如何选择中断源的触发方式?
5.AT89C51单片机中断优先级有几级?
优先级和优先权如何区别?
两级。
优先级分为高优先级和低优先级。
当几个中断源同时请求时,CPU先服务高优先级的中断,可由程序编程决定。
优先权是将同一优先级的所有中断源按先后进行排序,其中外部中断0最高,串行口中断最低,非编程决定。
6.AT89C51单片机响应中断的优先顺序应依什么原则?
先优先级从高到低,同优先级的再按优先权从高到低的响应原则。
7、第117页例5-6
8单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:
首先把()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(),使程序执行转向()中的中断地址区。
PC、PC、程序存储器
9。
AT89C51单片机内部有几个定时器/计数器?
它们是由哪些专用寄存器组成?
11.试归纳89C51单片机的定时器/计数器0、1、2三种工作方式的特点、初始化设置及使用方法。
M1M0=00,工作方式0,为13位计数器,由TL低5位和TH的8位组成,13位计满溢出;
M1M0=01,工作方式1,为16位计数器,由TL为低8位,TH为高8位组成;
M1M0=10,工作方式2,为8位计数器,其中TL作为计数器,TH作为预置寄存器,当TL的计数溢出时自动将TH的预置值装入TL计数器中;
M1M0=11,工作方式3。
13.当FOSC=6MHZ和FOSC=12MHZ时,最大定时值各为多少?
工作方式1下定时时间最长,FOSC=6MHZ时定时时间最长131.072ms;
FOSC=12MHZ时定时时间最长65.536ms。
第六章串口通信
1串行口有几种工作方式?
有几种帧格式?
各种工作方式的波特率如何确定?
串行口有4种工作方式:
方式0、方式1、方式2、方式3;
有3种帧格式,方式2和3具有相同的帧格式;
方式0的发送和接收都以fosc/12为固定波特率,
方式1的波特率=2SMOD/32×
定时器T1的溢出率
方式2的波特率=2SMOD/64×
fosc
方式3的波特率=2SMOD/32×
3为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?
若已知时钟频率、通讯波特率,如何计算其初值?
解答:
因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。
已知时钟频率、通讯波特率,根据公式:
,计算出初值。
4通过串行口发送或接收数据时,在程序中应使用:
(选(3))
(1)MOVC指令
(2)MOVX指令(3)MOV指令(4)XCHD指令
5某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。