单片机C语言项目式教程课后题解大学期末复习资料.docx
- 文档编号:3354388
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:13
- 大小:26.06KB
单片机C语言项目式教程课后题解大学期末复习资料.docx
《单片机C语言项目式教程课后题解大学期末复习资料.docx》由会员分享,可在线阅读,更多相关《单片机C语言项目式教程课后题解大学期末复习资料.docx(13页珍藏版)》请在冰豆网上搜索。
单片机C语言项目式教程课后题解大学期末复习资料
思考与讨论题
1-1什么是单片机?
它与一般微型计算机在结构上何区别?
答:
单片微型计算机简称为单片机(SingleChipComputer),又称为微控制器(MCU即Micro-ControllerUnit)。
它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。
微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。
单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。
1-2单片机的发展大致可分为几个阶段?
各阶段的单片机功能特点是什么?
答:
1976年9月Intel公司推出MCS-48单片机,8位机
1978年下半年Motorola公司推出M6800系列单片机,增加了串口功能
1982年Mostek公司和Intel公司先后又推出了性能更高的16位机
思考与讨论题
2-1串行在线仿真系统中单片机与PC机的通信线怎样连接?
答:
设计好单片机产品硬件,作一根通信线,一般是买一根标准串口通信线,一端(A端)9芯插头与PC机相连,另一端(B端)的插头不用,直接将三根线分别与单片机的串口和地相连(A端的2脚与单片机的P3.0连;A端的3脚与单片机的P3.1连;A端的5脚与单片机的地连;A端的7脚与A端的8脚短接;A端的4脚与A端的6脚短接)。
2-2在线仿真与软件仿真的主要区别在哪里?
答:
软件仿真:
这种方法主要是使用计算机软件来模拟运行,实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。
用户不需要搭建硬件电路就可以对程序进行验证,特别适合于偏重算法的程序。
软件仿真的缺点是无法完全仿真与硬件相关的部分,因此最终还要通过硬件仿真来完成最终的设计..
硬件仿真:
使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部分的功能。
使用了附加硬件后用户就可以对程序的运行进行控制,例如单步,全速,查看资源断点等。
硬件仿真是开发过程中所必须的。
习题与思考题
3-1单片机中有哪些抗干扰技术
答:
软件抗干扰和硬件抗扰。
3-2LED控制仿真时要注意哪些问题?
答:
①要注意延时时间长短,太短人眼感觉不出亮暗变化,太长会增大电流。
②要加驱动电路。
③用P0口接指示灯时,一定要加上拉电阻,阻值为5.1K-10K之间
思考与讨论
4-1MCS-51系列单片机内部有哪些主要的逻辑部件?
答:
一个8位CPU。
一个片内振荡器及时钟电路。
4K字节ROM程序存储器。
128字节RAM数据存储器。
两个16位定时器/计数器。
可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路。
32条可编程的I/O线(4个8位并行I/O端口)。
一个可编程全双工串行口。
具有5个中断源、两个优先级嵌套中断结构。
4-2MCS-51设有4个8位I/O端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?
16位地址线怎样形成?
P3口有何功能?
答:
低8位地址线经P0口输出,高8位地址线经P2口输出。
P3口为多功能口
4-3MCS-51的存储器结构与一般的微型计算机有何不同?
程序存储器和数据存储器各有何功用?
答:
程序存储器是用于存放是系统工作的应用程序及一些不需改变的数据常数的,程序写入程序存储器后,单片机系统只能读取程序指令使系统运行,而不能再进行改写,且系统掉电后,程序不会丢失。
因此,程序存储器是ROM(ReadOnlyMemory),即只读存储器。
数据存储器是用于存放程序运行的中间处理数据的,可随程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。
因此,数据存储器是RAM(RandomAcceseMemory),即可随机读写的存储器。
4-4MCS-51内部RAM区功能结构如何分配?
4组工作寄存器使用时如何选用?
位寻址区域的字节地址范围是多少?
答:
内部RAM分为工作寄存器区、位寻址区、数据区。
通过对PSW中的D4、D3位内容的修改,就能任选一个工作寄存器区。
位地址范围为00H~7FH。
4-5特殊功能寄存器中哪些寄存器可以位寻址?
它们的字节地址是什么?
答:
地址数值能被8整除的特殊功能寄存器可以位寻址。
4-6简述程序状态字PSW中各位的含义。
答:
BO---F0HACC---E0HPSW---D0H
IP---B8HP3---BOHIE----A8H
P2---A0HSCON---98HP1---90H
TCON----88HP0----80H
PSW:
CY进位
AC辅助进位标志位
F0用户使用的状态标志位
RS1/RS04组工作寄存器区选择控制位1和位0
OV溢出标志位
PSW.1保留位
P奇偶标志位
思考与讨论
5-1C语言为什么要规定对所有用到的变量要“先定义,后使用”。
这样做有什么好处?
答:
方便使用时直接调用。
5-2字符常量与字符串常量有什么区别?
答:
字符常量只有一个字符,字符串常量:
字符串常量是用双引号括起来的,在C语言中系统会在每个字符串的最后自动加入一个'\0'作为字符串的结束标志。
5-3C中的while和dowhile的不同点是什么?
答:
While先判断后执行,dowhile先执行再判断,比前一种多执行一次。
5-4用三种循环方式分别编写程序,显示整数1~100的平方。
解:
#include
#include
main()
{
inti,sum=0;
for(i=1;i<=100;i++)
{
sum=i*i;
printf("%d\n",sum);
}
}
#include
#include
main()
{
inti=0,sum=0;
do{
i++;
sum=i*i;
printf("%d\n",sum);
}
while(i<=100);
}
#include
#include
main()
{
inti=0,sum=0;
while(i<=100)
{
i++;
sum=i*i;
printf("%d\n",sum);
}
}
思考与练习
6-1用while语句编写三重循环程序。
解:
#include
main()
{
inti=1,j=26,sum=100;
while(i<100)
{
while(j>2)
{
while(sum<0)
{
sum=sum+1;
}
j++;}
i=i+2;}
}
6-2用do~while语句编写三重循环程序。
解:
#include
main()
{
inti=1,j=26,sum=100;
do
{
i++;
do{
j++;
do{
sum--;}
while(sum>0);
}
while(j<25);
}
while(i<19);
}
6-3编写控制P2、P3两个口线控制的16个指示灯分别左移、右移、中间向两端移、两端向中间移的程序。
解:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeLP2[48]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f
};
ucharcodeLP3[48]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
voidmain()
{
uchari;
uintj;
P2=0xff;
P3=0xff;
do{
for(i=0;i<=47;i++)
{
P2=LP0[i];
P3=LP1[i];
for(j=0;j<2500;j++);
}
}
while
(1);
}
6-4编写控制P0、P1、P2三个口线控制的24个指示灯分别左移、右移、中间向两端移、两端向中间移的程序。
解:
该题简单,参看例题,程序略
思考与讨论
7-1定时器/计数器各种方式有何区别
答:
M1M0
方式
说明
00
0
13位定时器/计数器
01
1
16位定时器/计数器
10
2
自动装入时间常数的8位定时器/计数器
11
3
对T0分为两个8位独立计数器;对T1置方式3时停止工作(无中断重装8位计数器)
7-2编写定时器/计数器程序有何规律。
答:
(1)根据题目要求先给定时器方式寄存器TMOD送一个方式控制字,以设定定时器/计数器的相应工作方式。
(2)根据实际需要给定时器/计数器选送定时器初值或计数器初值,以确实需要定时的时间和需要记数的初值。
(3)根据需要给中断允许寄存器IE选送中断控制字和给中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。
(4)给定时器控制寄存器TCON送命令字,以启动或禁止定时器/计数器的运行。
思考与讨论题
8-1简述中断、中断源、中断源的优先级及中断嵌套的含义。
答:
外部中断0最高,其次定时器/计数器0,再次外部中断1,然后定时器/计数器1,最后串行口中断。
当CPU正在处理一个优先级低的中断请求时,如果发生另一个优先级比它高的中断请求,CPU能暂停正在处理的中断源的处理程序,转去处理优先级高的中断。
请求,待处理完以后,再回到原来正在处理的低级中断程序,这种高级中断源能中断低级中断源的中断处理称为中断嵌套。
8-2MCS-51单片机能提供几个中断源?
几个中断优先级?
各个中断的源的优先级怎样确定?
在同一优先级中各个中断源的优先级怎样确定?
答:
5个中断源,分为低优先级和高优先级,统一有寄存器IP控制,优先级高的先执行完,再去处理低优先级的。
8-3简述MCS-51单片机中断响应过程。
答:
CPU在每个机器周期的S5P2时刻采样中断标志,而在下一个机器周期对采样到的中断进行查询。
如果在前一个机器周期的S5P2有中断标志,则查询周期内会查询到,并按优先级高低进行中断处理,中断系统将控制程序转入相应的中断服务程序。
8-4MCS-51单片机外部中断有哪两种触发方式?
如何选择?
对外部中断源的触发脉冲或电平有何要求?
答:
电平触发和负边沿触发。
如果IT1=0,则外中断1为电平触发方式,如果IT0=1,
上的电平由1变0时,IE0由硬件置位。
电平触发时
或
的信号由0变为1,负边沿触发时
或
的信号由1为0。
8-5在MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?
答:
单片机扩展外部中断源,设定优先级。
思考与讨论题
9-1简述8051单片机内部串行接口的4种工作方式。
答:
串行口的操作方式由SM0,SM1定义,
1.方式0
串行口的工作方式0为移位寄存器输入输出方式,可外接移位寄存器,以扩展I/O口,也可外接同步输入输出设备。
①方式0输出(发送)
串行数据通过RXD引脚输出,而在TXD引脚输出移位时钟,作移位脉冲输出端。
当一个数据写入串行口数据缓冲器时,就开始发送。
在此期间,发送控制器送出移位信号,使发送移位寄存器的内容右移一位,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。
完成发送一帧数据的过程,置TI为“1”,申请中断,如果CPU响应中断,则从0023H单元开始执行串行口中断服务程序。
②方式0输入(接收)
当串行口定义为方式0时,RXD端为数据输入端,TXD端为同步脉冲信号输出端。
接收器以振荡频率的1/12的波特率接收TXD端输入的数据信息。
2.方式1
串行口工作于方式1时,被控制为波特率可变的8位异步通信接口。
传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位
(1)。
数据位由TXD发送,由RXD接收。
波特率是可变的,取决于定时器1或2的溢出速率。
①方式1发送
CPU执行任何一条以SBUF为目标寄存器的指令,就启动发送。
先把起始位输出到TXD,然后把移位寄存器的输出位送到TXD,接着发出第一个移位脉冲(SHIFT),使数据右移一位,并从左端补入0。
此后数据将逐位由TXD端送出,而其左端不断补入0。
当发送完数据位时,置位中断标志位TI。
②方式1接收
串行口以方式1输入时,当检测到RXD引脚上由1到0的跳变时开始接收过程,并复位内部16分频计数器,以实现同步。
3.方式2和方式3
串行工作于方式2和方式3时,被自定义为9位的异步通信接口,发送(通过TXD)和接收(通过RXD)一帧信息都是11位,1位起始位(0),8位数据位(低位在先),1位可编程位(即第9位数据)和1位停止位
(1)。
方式2和方式3的工作原理相似,唯一的差别是方式2的波特率是固定的,为fosc/32或fosc/64。
方式3的波特率是可变的,利用定时器T1或定时器T2作波特率发生器。
9-2通信波特率的定义是什么?
异步通信和同步通信的波特率范围各为多少?
答:
将串行口每秒钟发送(或接收)的位数称为波特率。
MCS-51单片机的异步通信速度一般在50b/s~9600b/s之间。
同步通信一次可以连续传送几个数据,每个数据不需要起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信(通常可达56000b/s)
9-3串行通信有哪几种制式?
各有什么特点?
答:
串行通信根据数据的传送方向通常可分为单工、半双工和全双工等3种,
单工:
只允许数据向一个方向传送。
半双工:
允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送。
全双工:
允许同时双向传送数据,因此,全双工需配置两根传输线,并要求两端的通信设备都具有独立的发送和接收能力。
9-4MCS-51串行口控制寄存器SCON中SM2的含义是什么?
主要在什么方式下使用?
答:
SM2:
允许方式2和3的多机通信使能位。
在方式2或3中,如果SM2置为“1”,且接收到的第9位数据(RB8)为0,则接收中断标志RI不会被激活。
在方式1中,如果SM2=1,则只有收到有效的停止位时才会激活RI。
在方式0中,SM2必须置为“0”。
9-5请用中断法编出串行口方式1下的发送程序。
设单片机主频为6MHZ,波特率为300bps,发送数据缓冲区在外部RAM,始址为TBLOCK,数据块长度为30,采用偶校验,放在发送数据第8位(数据块长度不发送)。
答;参看例题,程序略
习题与思考
10-1并口存储芯片与串口存储芯片的主要区别?
答:
并口存储芯片容量大,读取存放速度快。
串口芯片接口线少。
10-2试述串口芯片的读/写过程。
答:
片选使能,时钟脉冲出发SI移位输出字节。
习题与思考题
11-18255A有几种工作方式?
答:
三种:
方式0、方式1、方式2.
11-28255A如何初始化。
答:
①算出片选地址
②算出控制字
③向命令口送控制字
11-3试为8031微机系统设计一个键盘接口,芯片使用8255A。
键盘共有12个键(3行×4列)其中10个为数字键0~9,两个为功能键RESET和START。
具体要求:
⑴按下数字键后,键值存入3040H开始的单元中(每个字节存放一个键值)。
⑵按下RESET(复位)键后,将PC复位成0000H。
⑶按下START(启动)键后,系统开始执行用户程序(用户程序的入口地址为4080H)。
试画出该接口的硬件连接图并进行程序设计。
解:
参看例题,程序略
11-4试为8031微机系统设计一个LED显示器接口,该显示器共有八位,从左到右分别DG1~DG8(共阴极式),要求将内存3080H~3087H八个单元中的十进制数(BCD)依次显示在DG1~DG8上。
要求:
画出该接口硬件连接图并进行接口程序设计。
解:
参看例题,程序略
思考与讨论
12-1本章提及的D/A,A/D转换器各有哪几种工作方式,分别叙述其工作原理。
答:
①单缓冲器方式
单缓冲器方式即输入寄存器的信号和DAC寄存器的信号同时控制,使一个数据直接写入DAC寄存器。
②双缓冲器工作方式
双缓冲器方式即输入寄存顺的信号和DAC寄存器信号分开控制,这种方式适用于几个模拟量需同时输出的系统。
12-2请为8031单片机设计一个两路D/A接口,使该接口能在示波器上显示一个字母“Y”的图象。
试画出该接口的硬件连接图并进行程序设计。
解:
参看例题,程序略
12-3图12-7为8031与ADC0809的接口电路图,若要从该A/D接口通道每隔1秒钟读入一个数据并将数据存入3800H开始的内存单元中,试进行程序设计。
解:
参看例题,程序略
思考与讨论
13-1单片机抗干扰技术有哪些?
答:
软件抗干扰和硬件抗扰。
13-2如何保证电机不能频繁起动?
答:
电动机应避免频繁起动或尽量减少起动次数,防止因起动频繁而使电动机发热,影响电动机的使用寿命。
对于小型电动机,在冷态时不得超过3~5次,在长期工作后的热态下,停机不久再起动时,连续起动不得超过2~3次。
对于中型电动机,在冷态时连续起动不应超过两次,热态下只允许1次起动,以免电动机过热,影响使用寿命。
对起动时间不超过2~3秒的电动机,可多起动一次。
一般方法是软件延时和硬件延时。
思考与讨论
14-1总结启动停止编程规律
答:
将启动位置“1”,将停止位置“0”,
14-2步进电机抗干扰技术有哪些?
答:
A.加装电源滤波器,减少对交流电源的污染。
B.“一点接地”原则。
将电源滤波器的地、驱动器PE(地)(驱动器与机箱底板绝缘)、控制脉冲PULSE-和方向脉冲DIR-短接后的引出线、电机接地线、驱动器与电机之间电缆防护套、驱动器屏蔽线均接到机箱壁上的接地柱上,并要求接触良好。
C.尽量加大控制线与电源线(L、N)、电机驱动线(U、V、W)之间的距离,避免交叉.比如我们在处理双轴驱动系统中两个处在同一机箱的驱动器安装位置时,一个驱动器铭牌朝前,另一个则朝后,并在结构布置上使这些引线尽量短。
D.使用屏蔽线减轻外界对自己的干扰,或自己(电源线)对外界的干扰。
习题与思考题
15-1单片机的产品设计包括哪些步骤?
答:
⑴、产品的组成⑵、产品工作原理⑶、产品硬件设计
15-2以8031单片机组成8路温度检测产品。
每隔20ms采样一次,并把结果打印和显示(即各路信号循环显示,20ms后刷新)。
试绘出产品逻辑图和程序流程图。
解:
参看例题,程序略
15-3试为8031单片机设计一个自动管理交通信号灯产品。
设在一个十字路口的两个路口均有一组交通信号灯(红、黄、绿),控制要求:
主干线绿灯亮时间为30秒,然后转为黄灯亮,2秒后即转为红灯亮。
支干线当主干线绿灯和黄灯亮时,其为红灯亮,直到主干线黄灯熄时才转为绿灯亮。
其绿灯亮的持续时间为20秒,然后黄灯亮2秒即转为红灯。
如此反复控制。
试绘出产品逻辑图、程序流程图并编制程序。
解:
参看例题,程序略
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 项目 教程 课后 题解 大学 期末 复习资料