习题终稿.docx
《习题终稿.docx》由会员分享,可在线阅读,更多相关《习题终稿.docx(10页珍藏版)》请在冰豆网上搜索。
习题终稿
第1章绪论
1.什么是单片机?
它与一般微型计算机在结构上何区别?
2.微型计算机怎样执行一个程序?
3.单片机可分为几个系列?
简述每个系列的主要特性。
4.什么叫原码、反码及补码?
5.将下列十六进制无符号数转换为十进制数:
2CHD5HCADH4FEH378H64H100H
6.用十进制数写出下列补码的真值:
1FH69H89HFCH97HCDHB3H10H
7.已知X和Y,求(X+Y)补。
(1)X=31D,Y=55D
(2)X=46D,Y=-81D
(3)X=-54D,Y=93D
(4)X=-23D,Y=-67D
(5)X=75D,Y=89D
8.写出下列各数的8421BCD码。
12345678
第2章89C51的结构和原理
1.89C51单片机内部有哪些主要的逻辑部件?
2.单片机的片内、片外存储器如何选择?
3.89C51单片机的控制信号有哪些?
作用如何?
4.简述89C51内部数据存储器的存储空间分配。
5.片内和片外数据存储器地址重叠的区域是哪些地址?
6.89C51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几个地址具有什么特殊的功能?
7.程序状态字寄存器PSW的作用是什么?
其中状态标志有哪几位?
它们的含义是什么?
8.位地址7CH和字节地址7CH有何区别?
位地址7CH具体在内存中什么位置?
9.特殊功能寄存器中哪些寄存器可以位寻址?
它们的字节地址是什么?
10.什么叫堆栈?
堆栈指示器SP的作用是什么?
单片机初始化后SP中内容是什么?
在程序设计时,为什么要对SP重新赋值?
11.数据指针DPTR和程序计数器PC都是16位寄存器,它们有什么不同之处?
12.89C51单片机的时钟周期、机器周期、指令周期是如何定义的?
当振荡频率为12MHz时,一个机器周期为多少微秒?
13.89C51的4个I/O端口在结构上有何异同?
14.89C51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?
16位地址线怎样形成?
P3口有何功能?
15.复位的作用是什么?
有几种复位方法?
复位后单片机的状态如何?
16.开机复位后,CPU使用的是哪组工作寄存器?
他们的地址是多少?
CPU如何确定和改变当前工作寄存器组?
17.AT89系列单片机有哪几种省电方式?
第3章89C51指令系统
1.简述下列名词术语的基本概念:
指令、指令系统、程序、汇编语言指令
2.89C51单片机有哪几种寻址方式?
这几种寻址方式是如何寻址的?
3.89C51单片机的指令系统可以分为哪几类?
说明各指令的功能。
4.要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?
5.外部数据传送指令有哪几条?
有和区别?
6.指出下列指令的寻址方式和操作功能:
INC40H
INCA
INC@R2
MOVCA,@A+DPTR
MOVA,#6EH
SETBP1.0
7.写出下面程序被执行后,各数据存储器地址中的内容。
MOV40H,#33H
MOV41H,#44H
MOVA,40H
MOV50H,A
MOVA,41H
MOV51H,A
8.已知A=C9H,B=8DH,CY=1。
执行指令“ADDCA,B”结果如何?
执行指令“SUBBA,B”结果又如果?
9.假设外部存储器215AH单元的内容为3DH,执行下列指令后,累加器A中的内容为何值?
MOVP2,#21H
MOVR0,#5AH
MOVXA,@R0
10.试说明下段程序中每条指令的作用,并分析当指令执行完后,R0中的内容是什么?
MOVR0,#0A7H
XCHA,R0
SWAPA
XCHA,R0
11.请用两种方法实现累加器A与寄存器B的内容交换。
12.DAA指令有什么作用?
怎样使用?
13.求下列指令执行后,累加器A及PSW中进位CY、奇偶位P和溢出位OV的值。
(1)当A=5BH时;ADDA,#8CH
(2)当A=5BH时;ANLA,#7AH
(3)当A=5BH时;XRLA,#7FH
(4)当A=5BH,CY=1时;SUBBA,#0E8H
14.将累加器A中的数据由0递增,加到50,结果在累加器A中。
15.试编程将片外数据存储器60H中的内容传送到片内RAM54H单元中。
16.试编程将片外RAM中40H单元的内容与R1的内容交换。
17.下面的指令语句对吗?
为什么?
MOVR0,#0400H
MOV100H,A
MOV@R2,A
MOVX@R1,A
18.试说明压栈指令和弹栈指令的作用及执行过程。
19.若SP=60H,子程序标号MULT所在的地址为3A40H。
执行LCALLMULT指令后,堆栈指针SP和堆栈内容发生了什么变化?
20.简述转移指令AJMPaddr11,SJMPrel,LJMPaddr16及JMP@A+DPTR的应用场合。
21.设指令SJMPrel=7FH,并假设该指令存放在2113H和2114H单元中。
当该条指令执行后,程序将跳转到何地址?
22.写出ACALL和LCALL两个调用指令的调用范围,试写出这两条指令执行时,CPU的操作过程。
23.使用位操作指令完成下列操作。
(1)将P1.1置“1”。
(2)将ACC.7置“1”。
第4章汇编语言程序设计
1.写出89C51单片机汇编指令的指令格式,并简单举例。
2.单片机的程序设计包括哪几个步骤。
3.单片机的分支结构程序指令有哪几条?
4.编程将片内40H~60H单元中的内容送到以3000H为首的存储区内。
5.已知内部RAM的20H和21H单元中各有一个无符号8位二进制数,试编程比较它们的大小,并把大数送到30H单元。
6.若从30H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数取补后送回。
7.设在2000H~2004H单元中.存放有5个压缩BCD码,编程将它们转换成ASCII码,存放到以2005H为首地址的存储区中。
8.试编写一段延时程序,延时时长为1s。
设单片机的晶振频率为12MHZ。
9.编程计算下列算式的程序
(1)23H+45H+ABH+03H=
(2)CDH+15H-38H-46H=
(3)1234H+8347H=
(4)AB123H-43ADCH=
10.设5AH单元中有一变量X,请编写计算下述函数式的程序,结果存入5B单元。
Y=
第5章中断系统
1.什么是中断?
在单片机中中断能实现哪些功能?
2.中断服务子程序和普通子程序有什么区别?
3.什么是中断优先级?
中断优先级处理的原则是什么?
4.什么是中断嵌套?
5.89C51有几个中断源,各中断标志如何产生的,又如何清“0”的?
CPU响应中断时,中断入口地址各是多少?
6.简述89C51单片机中断响应过程。
7.中断响应后,是怎样保护断点和保护现场的?
8.在89C51FlashROM中,应如何安排程序区?
9.试编写出外部中断1为跳沿触发方式的中断初始化程序。
10.89C51有哪几种扩展外部中断源的方法?
各有什么特点?
11.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?
在什么情况下不能响应新的中断请求?
12.试编写一段对中断系统初始化的程序,允许INT0,INT1,T0,串行口中断,且使T0中断为高优先级。
13.在89C51中,需要外加电路实现中断撤除的是:
(1)定时中断
(2)脉冲方式的外部中断
(3)串行中断
(4)电平方式的外部中断
14.在89C51单片机中,外部中断有哪两种触发方式?
如何加以区别?
15.在89C51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?
第6章定时器/计数器
1.89C51单片机中的定时/计数器有什么实际用途?
2.89C51单片机内部有几个定时/计数器,他们有哪些专用寄存器组成?
3.定时/计数器用作定时器时,其计数脉冲由谁提供?
定时时间与哪些因素有关?
4.门控制信号GATE为1时,外部中断引脚INTx在什么状态下启动计数?
5.当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?
6.通过对定时/计数器中的哪个特殊寄存器进行工作模式设置?
试叙述几种工作模式功能。
7.定时器/计数器的工作方式2有什么特点?
适用于哪些应用场合?
8.时钟频率为12MHz。
要求定时值分别为:
0.1ms、1ms、10ms;定时/计数器T0分别工作在模式0、模式1、模式2,其定时初值各为多少?
9.当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?
10设晶振频率fosc=12MHz,89C51定时器0的方式0、方式1、方式2的最大定时时间分别为多少?
11.已知89C51单片机系统时钟频率为24MHz,请利用定时器T0和P1.2输出矩形脉冲。
矩形波高电平宽度50µs,低电平宽度350µs。
12.设89C51单片机的晶振频率为6MHz,以计数器T1进行外部事件计数,每计数100个外部事件输入脉冲后,计数器T1转为定时工作方式,定时5ms后,又转为计数方式。
如此周而复始地工作,试编程实现。
13.设89C51单片机的晶振频率为12MHz,要求用定时器/计数器T0产生1ms的定时,试确定计数初值以及TMOD寄存器的内容。
14.定时器/计数器作为外部中断源使用时,需要如何初始化,以T0为例通过程序说明。
第7章89C51串行口及串行通信
1.并行数据通信与串行数据通信各有什么特点?
分别适用于什么场合?
2.什么是串行异步通信?
它有哪些特征?
3.半双工通信和全双工通信的区别?
4.波特率的含义是什么?
5.某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。
6.串行口异步通信时,ASCII码“3”的字符格式(10位)如何?
7.单片机的串行接口由哪些功能部件组成?
各有什么作用?
8.使用哪个特殊功能寄存器来确定串行口的工作方式?
MCS-51单片机串行口有几种工作方式?
各工作方式的波特率如何确定?
9.简述串行接口接收和发送数据的过程。
10.89C51单片机的串行口控制寄存器SCON的SM2,TB8,RB8有何作用?
11.简述利用串行口进行多机通讯的原理。
12.设晶振频率为11.0592MHz,串行口工作在方式1,波特率为4800b/s。
写出用T1作为波特率发生器的方式字并计算T1的计数初值。
13.为什么定时器T1用作串行口波特率发生器时,常选用工作方式2,若已知系统时钟频率和通信的波特率,则如何计算其初值?
14.已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?
15.设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM30H~3FH存储区的数据块通过串行口传送到乙机内部RAM40H~4FH存储区中去。
16.利用89C51串行口控制8个发光二极管工作,要求发光二极管每隔1S交替的亮灭,画出电路并编写程序。
第8章单片机系统及扩展
1.简述89C51系列单片机系统扩展时总线形成电路的基本原理,并说明各控制信号的作用。
2.单片机系统的扩展一般包含哪几个方面的内容?
3.系统的三总线,是指哪三总线?
每组总线都是有哪些引脚组成?
4.用P0、P2作为地址线,选11位地址线时,寻址范围?
选13位地址线时,寻址范围?
选16位地址线时,寻址范围?
5.问什么当P2作为扩展存储器的高8位地址后,不再适宜做通用I/O端口了?
6.解释在89C51系列单片机扩展多个芯片时,可能出现“地址不连续”或一个芯片有多个地址的现象?
7.简述地址译码和线选法的特点及应用场合。
8.8255A共有几种工作方式?
各适用于哪些场合?
9.8255A的A、B口工作于方式0,A口输输出,B口输输入,C口上半部输出,下半部输入,试编写其初始化程序。
10.简述在扩展I/O接口中单片机
和
引脚在控制接口电路中起什么作用?
11.89C51单片机外部程序存储器和数据存储器地址范围都是0000H~FFFFH,在实际使用时如何区分?
12.给89C51单片机扩展一片2716和6116,请画出系统连接图。
13.采用统一编址的方法对89C51单片机进行存储器扩展。
要求用一片2764、一2864和一片6264,扩展后存储器的地址应连续,试给出电路图及地址分配表。
第9章应用系统配置及接口技术
1.试说明非编码键盘的工作原理,为何要消除键抖动?
又为何要等待键释放?
2.说明矩阵式键盘按键按下的识别原理。
3.键盘有哪三种工作方式?
说明它们的工作原理和特点。
4.用89C51的P1口作8个按键的独立式按键接口,试画出其中断方式的接口电路及相应的键盘处理程序。
5.设计一个2*2行列式键盘并编写扫描子程序。
6.LED的静态显示方式与动态显示方式有何区别?
各有什么优缺点?
7.设计一个LED显示/键盘电路。
8.A/D转换器的性能指标有哪些?
9.分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0-5V时,其最大的量化误差是多少?
10.A/D转换器的种类有哪些?
11.用ADC0809的中断方式对8路模拟信号进行循环采集,各采集100个数据分别存入8个数据区中。
试画出应用系统的连接电路,并编写控制程序。
12.对于采用线反转法原理来编写识别某一按键按下并得到其键号的程序
13.DAC0832与8051单片机连接时有哪些控制信号?
其作用是什么?
14.89C51与DAC0832接口时,有哪三种连接方式?
各有什么特点?
各适合在什么场合使用?
15.在一个由89C51单片机与一片DAC0809组成的数据采集系统中,DAC0809的地址是7FF8H-7FFFH,试画出有关逻辑框图,并编写出每隔1min轮流采集一次8个通道的程序。
共采样100次,其采样值存入片外RAM3000H开始的存储单元中。
16.试用89C51单片机、按钮开关和LED显示器等器件,设计一个四路抢答器,请画出硬件电路
17.89C51单片机的P3口接一个共阴极的数码管,P1口接4×4的键盘,每个键的键值依次是0~F,要求任意按下一个键,则在数码管上显示该键的键值,请编写一段程序完成上述任务。
第10章89C51的C程序设计
1.C51的data、bdata、idata有什么区别?
2.定义变量a、b、c,a为内部RAM的可位寻址区的字符变量;b为外部数据存储区浮点型变量;c为指向int型xdata区的指针。
3.用C语言编制将内部RAM中40H单元和50H单元的数据相乘,结果存放到外部RAM1000H和1001H单元的程序。
4.用C语言编制将外部RAM的20H~30H单元的内容传送到内部RAM20H~30H单元。
5.用C语言编制求出内部RAM50H~5FH单元中的最大数,存入内部RAM60H单元中。
6.将下面汇编语言程序转换成等效的C语言程序。
ORG0030H
MOVP1,#04H
MOVR6,#0AH
MOVR0,#30H
CLRP1.0
SETBP1.3
ACALLTLC
SJMP$
TLC:
MOVA,#0
CLRP1.3
MOVR5,#08H
LOP:
MOVC,P1.2
RLCA
SETBP1.0
CLRP1.0
DJNZR5,LOP
MOV@R0,A
INCR0
DJNZR6,TLC
RET
END
7.用C语言编制实现对外部脉冲计数,当计到100时,从P1.1从引脚输出一个正跳变。
8.设系统时钟为6MHz,用ADC0809设计一个数据采集系统,要求8个通道的地址为7FF8H~7FFFH,每10ms采样一路模拟信号,每路信号采样8次,采集的数据存放于外部RAM2000H开始的单元中,试用C语言编制编制对8个通道采样一遍的程序。
第11章89C51应用系统设计
1.在单片机应用系统总体设计中,应考虑哪几方面的问题?
简述硬件设计和软件设计的主要过程。
2.单片机系统设计中的硬件调试怎么进行?
3.单片机系统设计中的软件调试怎么进行?
4.常用的硬件系统抗干扰措施有哪些?
5.采用哪些措施能提高软件的抗干扰能力?
6.在单片机应用系统中,常用的接地方法有哪几种?
7.如何提高应用系统电源的抗干扰能力?
8.请自行设计一个节日彩灯循环闪烁的应用系统。