单片机原理复习题
- 格式:doc
- 大小:288.00 KB
- 文档页数:8
一.填空选择1.执行RET 指令时,送入PC 的是LCALL 指令的下一条指令的首地址。
2.80C51单片机通过数据总线与外部接口进行数据传送时,使用MOVX指令。
3.80C51单片机通过寄存器间接寻址访问片外数据存储器。
4.在五个中断源中,可通过软件确定各中断源中断级别的高或低,但在同一级别中,按硬件排队的优先级别是外部中断INT0,定时器T0,外部中断INT1,定时器T1,串行口。
5.中断响应后,硬件不会自动清除的中断标志位RI,TI,可以自动清除的中断标志位TF0,TF1,边沿触发方式的IE0,IE1。
6.80C51单片机中内部RAM20H-2FH既可位寻址又可字节寻址。
7.8031单片机的P3口的引脚,还具有外中断、串行通信等第二功能。
8.单片机应用程序一般存放在只读存储器ROM中。
9.开机复位后,CPU使用默认寄存器第0组,地址范围是00H-07H。
10.80C51单片机的堆栈区应建立在片内数据存储区。
11.在CPU内部,寄存器PSW反映程序运行状态或反映运算结果一些特征。
12.当需要从80C51单片机程序存储器取数据时,采用MOVC指令。
13.在中断服务程序中,至少应有一条中断返回指令。
14.执行LCALL 4000H指令时,80C51所完成的操作是PC+3入栈,4000H PC.15.MOVX @DPTR,A指令使WR信号输出有效,MOVX A,@DPTR指令使RD信号输出有效。
16.80C51 的引脚RST信号方向是输入,当该端出现高电平时,80C51进入复位状态,80C51一直维持这个状态,直到RST脚变到低电平,80C51才脱离复位状态,进入程序运行状态,从ROM 0000H单元开始取指令并执行。
17.半导体存储器分成两大类RAM和ROM,其中RAM具有易失性,常用于存储临时数据。
18.P2口在总线扩展时通常用作输出高8位地址,也可以作通用的I/O口使用。
19.指令LJMP的跳转范围是64kB, 指令AJMP的跳转范围是2kB。
20.P0口既做数据线又做地址线还可以做普通I/O口。
21.传输速率是用每秒传送数据位的位数来表示,定义为波特率。
22.中断源的允许是由IE寄存器决定的。
23.判断是否有半字节进位时用PSW的AC标志位。
24.80C51各中断服务子程序的入口地址分别在0003H、000BH、0013H、001BH、0023H。
25.80C51包含4个通用工作寄存器组,每个组含8个8位寄存器。
26.80C51程序存储器寻址空间64kB,单片机的外部数据存储器寻址空间为64kB。
27.位处理器也称为布尔处理器,它以状态寄存器中的Cy为累加位。
28.80C51时序的定时单位共有四个,从小到大依次是节拍、状态、机器周期和指令周期。
29.89C51复位后,PC=0000H。
若希望从片内程序存储器开始执行,EA引脚应接高平,当PC值超过0FFFH时,自动转向片外程序存储器继续取指令执行。
30.ORL C, /ACC.0指令是将CY与A的第0位的非求或。
31.80C51单片机的外部数据存储器寻址空间为64KB,对外部数据存储器采用间接寻址方式。
32.80C51包含5中断源。
最短中断响应时间为3个机器周期。
33.对51单片机,复位是靠在RST/VPD或RST引脚处至少保持2个机器周期的高电平而实现。
34.ANL P1, #0F0H 指令使P1口低四位输出0而高四位不变。
35.P0-P3作为输入口时,应先向锁存器写1,使输出级的2个FET都截至,数据正确读入。
36.指令MOVX A,@ R1的寻址方式是寄存器间接寻址,功能为R1所指向外部地址单元的内容送累加器。
37.80C51对片内高128字节RAM访问采用间接寻址方式,对于片内SFR区访问采用直接寻址方式。
38.串行口缓冲寄存器SBUF是可直接寻址的专用寄存器。
在物理上,它对应着两个寄存器,当执行指令MOV A,SBUF时,对接收寄存器进行操作。
39.80C51系统中,当PSEN信号有效时,表示CPU要从程序存储器读取信息。
40.使用定时器T1设置串型通信波特率发生器时,应把定时器T1设定为模式2,即自动重装载模式。
41.在80C51中PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
42.80C51扩展外部I/O口,占用片外数据存储器地址空间。
43.程序状态字PSW中RS1=1,RS0=1时,通用寄存器R0-R7的实际地址是18H-1FH。
44.若80C51的晶振频率为12MHz,则其两个定时器对重复频率高于0.5MHz的外部事件不能正确计数。
二、简答题:1.已知 (A) = 068H,当执行ADD A,#0C9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果转换成十进制表示是多少?2.80C51单片机的EA引脚功能是什么?对8031而言,EA引脚应如何连接?EA引脚是片外程序存储器访问允许信号,低电平有效。
EA引脚接高电平时,程序从片内程序存储器开始执行,当PC值超出片内ROM容量时,自动转向片外程序存储器空间执行。
当EA引脚接低电平时,系统全部执行片外程序存储器程序。
对于无片内程序的8031而言,EA引脚应接低电平时。
3.80C51单片机的程序存储器和数据存储器共处同一地址空间为什么不会发生总线冲突?程序存储器和数据存储器分别处于两个独立的存储空间,在软件上访问程序存储器和数据存储器采用不同的指令进行区分,在硬件上访问访问程序存储器用PSEN 作为选通信号,访问数据存储器用WR或RD作为选通信号。
4.已知累加器A为0C9H,R0中为54H,C已置位,执行SUBB A,R0后,PSW寄存器的OV、CY、AC、P的状态,以及累加器A的值?5.80C51单片机的定时器/计数器用做定时器和计数器时有什么区别?定时功能是对晶振分频的内部机器周期进行计数,每个机器周期计数值加1,一定数量值对应着精确的延时时间。
计数功能是对外部事件进行计数,计数脉冲来自外部引脚T0,T1或T26.80C51单片机应用系统中,时钟频率为12MHz,现利用定时器T1产生的波特率为1200,请计算初值和实际产生的波特率误差。
设SMOD=0,波特率B=T1溢出率/32=(fosc/12)*(1/32)/[256-(TH1)]=(1000000/32)/[256-(TH1)]=1200所以计数初值TH1=229.96≈230TH1=230时,实际波特率为B=(1000000/32)/[256-230]=1201.923波特率误差E=(1201.923-1200)/1200=0.16%7.80C51单片机引脚ALE、PSEN分别是什么信号?功能是什么?ALE :地址锁存允许信号,用于将低8位地址锁存于外部所存器,当ALE有效时,P0口输出低8位地址。
PSEN:读外部程序存储器的选通信号,在从片外程序存储器取指令期间,在每个机器周期中,当PSEN有效时,程序存储器的内容送上P0口。
三、程序设计题:1.编程将片外RAM8000H-8FFFH单元清零。
MOV DPTR,#8000HCLR ALOOP:MOVX @DPTR,AINC DPTRMOV R0, DPHCJNE R0,#90H, LOOPEND编程使Pl口连接的8个LED按下面方式显示:从P1.0连接的LED开始,每个LED 闪烁10次,再移向下一个LED,同样闪烁10次,循环不止。
要求:闪烁时要有延时。
MOV A,#01HLOOP1:MOV R0,#10LOOP2:MOV P1,ALCALL DELAY1MOV P1,#00HLCALL DELAY1DJNZ R0,LOOP2RL ALJMP LOOP1END2.编一段程序将片内RAM 50H单元开始的20个字节传送到片外RAM 2000H开始的单元中。
MOV R0,#50HMOV R1,#20MOV DPTR,#2000HLOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R1,LOOPEND3.编程将存放在片外RAM4000H、4001H中的两个8位无符号数,按由大到小顺序存放在片内RAM40H、41H单元。
MOV DPTR,#4000HMOVX A,@DPTRMOV R0, AINC DPTRMOVX A,@DPTRMOV R1, ACLR CSUBB A, R0JC CMP1MOV 40H, R1MOV 41H, R0SJMP CMP2CMP1: MOV 40H, R0MOV 41H, ACMP2: END4.编一段程序将片外RAM 4000H开始的20个字节传送到片内RAM 50H单元开始的单元中。
MOV R0,#50HMOV R1,#20MOV DPTR,#4000HLOOP:MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R1,LOOPEND四、综合题:(一)利用定时器T0溢出,控制P1.2输出40Hz的方波。
已知振荡器频率为12MHz。
要求:写出详细的解题过程,包括:模式的选择;TMOD寄存器的设定;定时器初值的计算;程序清单。
使T0工作定时器模式,方式1,TMOD=01H振荡频率为12MHz,则机器周期为1us40Hz信号周期为25ms,对于方波高低电平时间均为12.5ms或12500us方式1,T0计数器初值为65536-(12500/1)=53036=0CF2CH采用中断方式程序如下:ORG 0000HRESET: AJMP MAIN ;转主程序ORG 000BH ;T0的中断入口AJMP T0INT ;转T0中断处理程序ORG 0100HMAIN: MOV SP,#60H ;设堆栈指针MOV TMOD,#01H ;设置T0为方式1MOV TL0,#2CH ;T0置初值MOV TH0,#0CFHSETB TR0 ;启动T0SETB ET0 ;允许T0中断SETB EA ;CPU开中断HERE: AJMP HERE ;自身跳转T0INT: MOV TL0,#2CH ;T0中断服务子程序,T0置初值MOV TH0,#0CFHCPL P1.2 ;P1.2的状态取反RETI(二)用6264将80C51外部扩展8KB数据存储器,请画出系统电路原理图。
计算6264地址范围。
6264-1地址范围0000~1FFFH(三)使用80C51外部扩展32KB数据存储器,请画出系统电路原理图。
写出存储器地址分布。
62256地址范围0000~7FFFH。