一、单片机的基本机构与工作原理
1 单片机与其他常见微机(如PC机)有什么不同?它是什么独特优点?80C51系列单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的主要功能是什么?
2 80C51系列单片机有哪些信号需要芯片引脚以第二功能的方式提供?
3 80C51单片机的“ALE”信号、“/EA”信号有何功能?在使用80C31时,它们的信号引脚应如何处理?
4 80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?
5 片内RAM低128单元划分为哪三个主要部分?各部分主要功能是什么?
6 80C51设有4个通用工作寄存器组,有什么特点?如何选用?如何实现工作寄存器现场保护?
7 特殊功能寄存器的地址范围是多少?哪些特殊功能寄存器可以位操作?
8 堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?
9 为什么说80C51具有很强的布尔(位)处理功能?共有多少单元可以位寻址?采用布尔处理有哪些优点?
10 80C51单片机的时钟周期、机器周期、指令周期有何区别?它们之间有何关系?单片机晶振频率与哪些工作参数有关?
11 单片机有几种复位方法?对复位信号有何要求?复位后机器的初始状态如何,即各寄存器的状态如何?
12 80C51的4个I/O口P0~P3在使用上有哪些分工和特点?试比较各口的特点?何谓分时复用总线?P3口的第二变异功能有哪些?
13 80C51端口P0~P3作通用I/O口时,在输入引脚数据时,应注意什么?
14 “读—改—写”指令有何优点?请至少列出五条不同操作的“读—改—写”指令。
15 为什么当P2作为扩展程序存储器的高8位地址后,就不再适宜作通用I/O了?
16 程序计数器PC作为不可寻址寄存器,它有哪些特点?地址指针DPTR有哪些特点?与程序计数器PC有何异同?
17 程序状态字PSW的含义是什么?如何利用它们?
18 80C51单片机运行出错或程序进入死循环,如何摆脱困境?
19 单片机在工业控制系统中有哪些掉电保护措施?
20 举例说明单片机在工业控制系统中低功耗工作方式的意义及方法。
21 单片机“面向控制”应用的特点,在硬件结构方面有哪些体现?
22 如何判断单片机是否处在运行工作状态?
二、单片机的中断与定时器/计数器
1. 80C51有几个中断源,各中断标志是如何产生的,又如何清除的?CPU响应中断时,其中断入口地址各是多少?
2. 哪些特殊功能寄存器对单片机的中断有影响?如何设置它们?
3. CPU如何响应中断?对软件编程有河要求?哪些情况会影响中断的响应?如何估算最快的中断响应时间?
4. 51系列单片机对中断信号有何要求?外部中断请求有哪两种触发方式?对跳变触发和电平触发信号有什么要求?如何选择和设置?
5. 80C51提供哪几种中断?在中断管理上有何特点?什么是同级内的优先权管理?中断请求被封存的条件有哪些?
6. 程序查询方式与程序中断方式有何异同之处?在程序中应该如何编写中断程序?
7. 80C51单片机内部设有几个定时器/计数器?它们各由哪些特殊功能寄存器所组成?有哪几种工作方式?简述各种工作方式的功能特点。如何选择?
8. 定时器/计数器作定时使用时,定时时间与哪些因素有关?作计数用时,对外界计数频率有何限制?如何启动它们?
9. 定时器T0为方式3时,由于TH1位已被T0占用,如何控制定时器T1的开启和关闭?
10. 在80C51单片机系统中,已知时钟频率为6MHz;选用定时器T0设置方式3,请编程P1.1口分别输出周期为1ms和400μs的方波。
11. 用80C51的定时器测量某正单脉冲的宽度,采用何种方式可得最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?
三、单片机的系统扩展与接口技术
1. 在80C51扩展系统中,片外程序存储器和片外数据存储器用相同的编制方法,是否会在数据总线上出现总线竞争现象?为什么?
2. 试绘出以并行方式对80C31单片机系统扩展8KB的片外数据存储器的电路原理图。
3. 你能以串行方式对80C31单片机系统扩展8KB的片外数据存储器吗?试绘出电路原理图。
4. 如何设计扩展两片以上片外数据存储器的电路?试绘出电路原理图。
5. 请用80C51的P1口设计一个16个键的键盘电路,并编写出相应的键盘程序。
6. LED显示器结构有何特点?如何设计才能正确工作?
7. 现有一静态显示接口电路,以74HC273为输出芯片。试问它应如何与LED管连接,为什么?试画出以80C51为控制器的完整电路。
8. 单片机用于外界过程控制中,为何要进行A/D、D/A转换?
9. A/D转换器有哪几个重要指标?
10. A/D转换接口中采样保持电路的作用是什么?
11. 试分析A/D转换器产生量化误差的原因和误差的大小。
12. 试分别画出利用ADC0801和ADC0809芯片与80C51组成的A/D转换电路。
13. D/A转换器为什么必须有锁存器?有锁存器和无锁存器的D/A转换器与80C51接口的电路有什么不同?
14. 在什么情况下要使用D/A转换器的双缓冲方式?试以DAC0832为例绘出双缓冲方式的接口电路。
15. 若某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辩率是多少伏?如果用12位D/A转换器其分辩率又是多少伏?
16. 10位的D/A芯片如何与8位数据总线相连?请说明设计要点。
17. 试分别编写出使DAC0832输出锯齿波、三角波和阶梯波的程序。
18. 拟将A/D和D/A转换器用于数字音频技术。例如先把人的声音写入EPROM芯片,然后在需要时送到喇叭上播放。试分析实现该功能的设计思路(画出方框图)和技术要点。
19. 串行数据传送的主要优点和用途是什么?它们分别适用于什么场合?如何实现?
20. 什么是串行数据通讯的波特率?如何设置?
12. 何谓波特率、溢出率?如何计算和设置80C51串行通信的波特率?
21. 串行数据传送有哪几种工作方式?各有什么特点?如何应用?
22. 哪些特殊功能寄存器对单片机的串行数据传送有影响?编程时必须考虑哪些参数?
13. 为什么定时器T1用做串行口波特率发生器时,常采用方式2?若已知系统时钟频率和通信波特率,如何计算其初始值?
14. 某异步通信接口,其帧格式由一个起始位0、七个数据位、一个奇偶校验位和一位停止位1所组成,当该口每分钟传送1800个字符时,计算其传送波特率。
15. 在80C51的应用系统中时钟频率为6MHz,现需利用定时器T1产生波特率为1200波特。请计算初值,实际得到的波特率误差是多少?
23. 试分别编写出8031单片机发送和接收数据的子程序。
四、单片机的指令系统
1. 80C51的指令系统有哪几种类型的指令?写出其汇编指令格式。
2. 简述80C51的寻址方式和所涉及的寻址空间。
3. 什么是变址寻址?举例说明变址寻址方式的应用。
4. 简述 MOV、MOVC和MOVX指令的异同之处。
5. 访问特殊功能寄存器和外部数据存储器,应采用哪种寻址方式?
6. 对80C51片内RAM的128~255字节区的地址空间寻址时应注意些什么?对特殊功能寄存器应采用何种寻址方式进行访问?
7. 在80C51的片内RAM中,已知(30H)=38H, (38H)=40H, (40H)=48H, (40H)=90H。分析下面各条指令,说明源操作数的寻址方式,按顺序执行各条指令后的结果。
8. 设计一段程序,其功能是:将寄存器R7的内容移到R6中。
9. 现需将外部数据存储器200DH单元中的内容传送到280DH单元中,请设计程序。
10. 已知当前PC(程序计数器)值1010H,请用两种方法将程序存储器10FFH中的常数送入累加器A.
11. 已知累加器A中存放两位BCD码数,请编写程序实现十进制数减1。
12. 请编写程序,将片外数据存储器中20H单元中的内容和21H单元的内容相乘,并将结果存放再22H和23H单元中,高位存放在高地址中。
13. 已知延时程序为:
DELAY: MOV R2,#0FAH
L1: MOV R3,#0FAH
L2: DJNZ R3,L2
DJNZ R2,L1
RET
若系统的晶振频率为6MHz,求该延时子程序的延时。
14. 请将片外数据存储器地址为40H~60H区域的数据块,全部搬移到片内RAM的同地址区域,并将原数据区全部填为FFH。
15. 试编写子程序,使间址寄存器R0所指的连续两个片外数据存储器RAM单元中的低4位二进制数,合并为一个字节,装入累加器A中。已知R0指向低地址,并要求该单元低4位放在A中的4位。
16. 试计算片内RAM区40H~47H八个单元中数的算术平均值,结果存放在4AH中。
17. 设有两个长度为15的数组,分别存放在0200H和0500H为首地址的片外数据存储器区域中,试编写求其对应项之和的程序,结果存放在以0300H为首地址的片外数据存储器区域中。
18. 80C51有哪些逻辑运算功能?各有什么用处?设A中的内容为10101010B内容为01010101B。请写出它们进行“与”、“或”、“异或”操作的结果。
19. 试编写延时1s的延时程序段,主频为6MHz。
20. 试编写多字节十进制(BCD码)减法程序段。