习题一
1.什么是单片机,和微机相比较,它有什么优点? 2.请叙述51系列单片机的主要产品及其特点。
3.除51系列单片机外,常用的单片机还有哪些型号,各有什么优点? 4.单片机中常用的数制有哪些,它们之间相互如何转换? 5.计算机中常用的二进制编码有哪些,请分别予以叙述。 6.(1)10和(-1)10的原码、反码和补码分别是多少?
习题二
1.单片机主要应用在什么领域?
2. 89C51单片机包含哪些主要逻辑功能部件? 各有什么主要功能? 3.89C51单片机EA端如何使用?
4.什么是机器周期、指令周期?89C51指令周期、机器周期和时钟周期的关系如何?当主频为12MHz时,一个机器周期等于多少微秒?执行一条最长的指令需多少微秒?
5. 如何认识89C51存储器空间在物理结构上可划分为四个空间,而在逻辑上又可划分为三个空间?各空间的寻址范围、寻址方式是什么? 6.89C51有哪些主要的特殊功能寄存器,分布在哪里?
7.内部RAM低128B从功能和用途方面,可划分为哪三个区域?
8.89C51内部RAM有几组工作寄存器?每组工作寄存器有几个工作寄存器?寄存器组的选择由什么决定?
9.89C51的外部RAM和I/O口是如何编址的,如何寻址?
10.89C51的程序存储器的寻址空间是多少,如何区别片内程序存储器和片外程序存储器的?
11.89C51的位寻址区在哪里,位寻址空间是多少?
12.什么是堆栈,什么是SP,89C51的堆栈位于什么地方,复位后堆栈指针初值是多少,一般将SP设置为多少?进栈、出栈时堆栈指针将怎样变化? 13.单片机包括哪两种复位方式,在单片机应用系统中为何需要系统复位,复位后主要寄存器的状态如何?
完美WORD格式编辑
专业资料整理分享
14.89C51的P3口各引脚的第二功能是什么? 15.89C51有几种低功耗方式,如何进入和退出?
习题三
1.什么是指令,什么是指令系统? 2.89C51总共有多少条指令,分为哪几类? 3.89C51有哪些寻址方式,各自的寻址空间如何? 4.说明下列指令中源操作数采用的寻址方式。
MOV MOV MOV JMP MOV MOV
A,R7 A,55H A,#55H @A+DPTR 30H,C A,@R0
MOVX A,@R0
5.下列各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH,(DPTR)=2000H,(2000H)=0AAH,(2019H)=23H。
(1)MOV A,#48H (2)ADD A,60H (3)ANL A,@R0 (4)XCHD A,@R0 (5)MOVX A,@DPTR (6)MOV A,R0 (7)MOVC A,@A+DPTR
6.阅读下列程序段,写出每条指令执行后的结果。 (1)并说明此程序段完成什么功能?
MOV MOV ADD
R1,#30H A,#64H A,#47H
;(R1)= ;(A)= ;(A)=
完美WORD格式编辑
专业资料整理分享
DA MOV
A @R1,A
;(A)= ;(R1)=
(2)若(A)=80H,(R0)=17H,(17H)=34H,执行下列程序段后,(A)=?
ANL ORL XRL CPL
A,#17H 17H,A A,@R0 A
;(A)=
;(17H)= ,(A)= ;(A)= ;(A)=
(3)设 (A)=0FH ,(R0)=30H,内部RAM (30H)=0AH, (31H)=0BH,(32H)=0CH,请写出在执行各条列指令后,所示单元的内容 (4) (5)
MOV MOV MOV MOV MOV
A,@R0 @R0,32H 32H,A R0,#31H A, @R0
;(A)= ;(30H)= ;(32H)= ;(R0)= ;(A)=
MOV SP,#50H MOV MOV
A,#0F0H B,#0FH
PUSH ACC ;(SP)= ;(51H)= PUSH B ;(SP)= ;(52H)= POP POP MOV MOV MOV MOV XCH
ACC B A,#30H B,#0AFH R0,#31H 30H,#87H
A,R0 ;(A)= ;(R0)=
;(SP)= ;(B)= ;(SP)= ;(A)=
SWAP A ;(A)=
7.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后,各寄存器和RAM单元的值是多少?
POP
DPH
完美WORD格式编辑
专业资料整理分享
POP MOV RL MOV
DPL
DPTR,#4000H A B,A
MOVC A,@A+DPTR PUSH A MOV INC
A,B A
MOVC A,@A+DPTR PUSH A RET ORG
4000H
DB 10H,80H,30H,50H,30H,50H
A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。
8. 假定累加器A中的内容为30H,执行指令
1000H:MOVC A,@A+PC
后,把程序存储器( )单元的内容送入累加器A中。
9. 试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。 10. 试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。 11. 试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。
12. 若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下:2000H:LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL 直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?
13.编写程序,进行两个16位数的减法:6F5DH-13B4H,结果存入内部RAM的30H和31H单元,30H存差的低8位。
14.编写程序,进行两个16位数的加法:6F5DH+13B4H,结果存入内部RAM
完美WORD格式编辑
专业资料整理分享
的30H和31H单元,30H存和的低8位。
15.已知R3,R4中存有一个16位的二进制数,高位在R3中,低位在R4中。请编程将其求补,并存回原处。
16.已知30H,31H中存有一个16位的二进制数,高位在前,低位在后。请编程将其乘2,并存回原单元处。
17.内存中有2个四字节压缩的BCD码形式存放的十进制数,一个存放在30H~ 33H的单元中,一个存放在40H~43H的单元中 。请编程将求它们的和,结果存放在30H~33H中。
习题四
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单元。
完美WORD格式编辑
专业资料整理分享
X21YX2841X1010X15 X15习题五
1. 什么是中断?在单片机中中断能实现哪些功能? 2. 中断服务子程序和普通子程序有什么区别?
3. 什么是中断优先级?中断优先级处理的原则是什么? 4. 什么是中断嵌套?
5. 89C51有几个中断源,各中断标志如何产生的,又如何清0的?CPU响应中断时,中断入口地址各是多少? 6. 简述89C51单片机中断响应过程。
7. 中断响应后,是怎样保护断点和保护现场的? 8. 在89C51 Flash ROM中,应如何安排程序区?
9. 试编写出外部中断1为边沿触发方式的中断初始化程序。 10. 89C51有哪几种扩展外部中断源的方法?各有什么特点?
11. 当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 12. 试编写一段对中断系统初始化的程序,允许INT0、INT1、T0、串行口中断,且使T0中断为高优先级。
13. 在89C51中,需要外加电路实现中断撤除的是: (1)定时中断
(2)脉冲方式的外部中断 (3)串行中断
(4)电平方式的外部中断
14. 在89C51单片机中,外部中断有哪两种触发方式?如何加以区别? 15. 在89C51单片机的应用系统中,如果有多个外部中断源,怎样进行处理? 16. 在89C51中,以下几种中断优先级顺序能否实现?如可以,中断优先级应如何设置,若不行,请说明理由。
(1)定时器0,定时器1,外中断0,外中断1,串行口中断。
完美WORD格式编辑
专业资料整理分享
(2)串行口中断,外中断0,定时器0,外中断1,定时器1。 (3)外中断0,定时器1,外中断1,定时器0,串行口中断。 (4)外中断0,外中断1,串行口中断,定时器0,定时器1。 (5)串行口中断,定时器0,外中断0,外中断1,定时器1。 (6)外中断0,外中断1,定时器0,串行口中断,定时器1。 (7)外中断0,定时器1,定时器0,外中断1,串行口中断。
习题六
1. 89C51单片机中的定时/计数器有什么实际用途?
2. 89C51单片机内部有几个定时/计数器,他们有哪些专用寄存器? 3. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
4. 门控制信号GATE为1时,外部中断引脚INT0在什么状态下启动计数? 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寄存器的内容。
完美WORD格式编辑
专业资料整理分享
14. 定时器/计数器作为外部中断源使用时,需要如何初始化,以T0为例通过程序说明。
习题七
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.0592 MHz,串行口工作在方式1,波特率为4800 b/s。写出用T1作为波特率发生器的方式字并计算T1的计数初值。
13. 为什么定时器T1用作串行口波特率发生器时,常选用工作方式2,若已知系统时钟频率和通信的波特率,则如何计算其初值?
14. 已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?
15. 设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM 30H~3FH存储区的数据块通过串行口传送到乙机内部RAM 40H~4FH存储区中去。
16. 利用89C51串行口控制8个发光二极管工作,要求发光二极管每隔1s交替的亮灭,画出电路并编写程序。
习题八
1. 简述89C51系列单片机系统扩展时总线形成电路的基本原理,并说明各控制
完美WORD格式编辑
专业资料整理分享
信号的作用。
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接口中单片机WR和RD引脚在控制接口电路中起什么作用?
11. 89C51单片机外部程序存储器和数据存储器地址范围都是0000H~FFFFH,在实际使用时如何区分?
12. 给89C51单片机扩展一片2716和6116,请画出系统连接图。
13. 采用统一编址的方法对89C51单片机进行存储器扩展。要求用一片2764、一片2864和一片6264,扩展后存储器的地址应连续,试给出电路图及地址分配表。
习题九
1. 试说明非编码键盘的工作原理,为何要消除键抖动?又为何要等待键释放? 2. 说明矩阵式键盘按键按下的识别原理。
3. 键盘有哪三种工作方式?说明它们的工作原理和特点。
4. 用89C51的P1口作8个按键的独立式按键接口,试画出其中断方式的接口电路及相应的键盘处理程序。
5. 设计一个2*2行列式键盘并编写扫描子程序。
6. LED的静态显示方式与动态显示方式有何区别?各有什么优缺点? 7. 设计一个LED显示/键盘电路。
完美WORD格式编辑
专业资料整理分享
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,要求任意按下一个键,则在数码管上显示该键的键值,请编写一段程序完成上述任务。
习题十
1. C51的data、bdata、idata有什么区别?
2. 定义变量a、b、c,a为内部RAM的可位寻址区的字符变量;b为外部数据存储区浮点型变量;c为指向int型xdata区的指针。
3. 用C语言编制将内部RAM中40H单元和50H单元的数据相乘,结果存放到外部RAM 1000H和1001H单元的程序。
4. 用C语言编制将外部RAM的20H~30H单元的内容传送到内部RAM 20H~30H单元。
5. 用C语言编制求出内部RAM 50H~5FH单元中的最大数,存入内部RAM 60H单元中。
完美WORD格式编辑
专业资料整理分享
6. 将下面汇编语言程序转换成等效的C语言程序。
ORG MOV MOV MOV CLR SETB
0030H P1,#04H R6,#0AH R0,#30H P1.0 P1.3
ACALL TLC SJMP
TLC: MOV
$ A,#0 P1.3 R5,#08H C,P1.2 A P1.0 P1.0 R5,LOP @R0,A R0 R6,TLC
CLR MOV
LOP: MOV
RLC SETB CLR DJNZ MOV INC DJNZ RET END
7. 用C语言编制实现对外部脉冲计数,当计到100时,从P1.1从引脚输出一个正跳变。
8. 设系统时钟为6MHz,用ADC0809设计一个数据采集系统,要求8个通道的地址为7FF8H~7FFFH,每10ms采样一路模拟信号,每路信号采样8次,采集的数据存放于外部RAM2000H开始的单元中,试用C语言编制编制对8个通道采样一遍的程序。
完美WORD格式编辑
专业资料整理分享
12
完美WORD格式编辑
因篇幅问题不能全部显示,请点此查看更多更全内容