单片机C语言项目式教程课后题解大学期末复习资料_第1页
单片机C语言项目式教程课后题解大学期末复习资料_第2页
单片机C语言项目式教程课后题解大学期末复习资料_第3页
单片机C语言项目式教程课后题解大学期末复习资料_第4页
单片机C语言项目式教程课后题解大学期末复习资料_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、思考与讨论题1- 1什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机(Single Chip Computer),又 称为微控制器(MCU即Micro-Co ntroller Un it)。它是在一块芯 片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定 时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。微型计算机的基本结构由CPU(运算器、控制器)、存储 器、输入设备和输出设备五大部分组成,各部分通过外部总线 连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定

2、时器/计数器、中断控制、各种输入/输出接口(如并 行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内 部部总线连接而成为一体。1- 2单片机的发展大致可分为几个阶段?各阶段的单片机 功能特点是什么?答:1976年9月Intel公司推出MCS-48单片机,8位机1978年下半年Motorola公司推出M6800系列单片机,增 加了串口功能1982年Mostek公司和In tel公司先后又推出了性能更高的16位机思考与讨论题2- 1串行在线仿真系统中单片机与PC机的通信线怎样连 接?答:设计好单片机产品硬件,作一根通信线,一般是买一根标准串口通信线,一端(A端)9芯插头与PC机相连,另一

3、端(B端)的插头不用,直接将三根线分别与单片机的串口和地相连(A端的2脚与单片机的P3.0连;A端的3脚与单片机的P3.1连;A端的5脚与单片机的地连;A端的7脚与A端的8脚短 接;A端的4脚与A端的6脚短接)。2- 2在线仿真与软件仿真的主要区别在哪里?答:软件仿真:这种方法主要是使用计算机软件来模拟运行, 实际的单片机运行因此仿真与硬件无关的系统具有一定的优 点。用户不需要搭建硬件电路就可以对程序进行验证,特别适 合于偏重算法的程序。软件仿真的缺点是无法完全仿真与硬件 相关的部分,因此最终还要通过硬件仿真来完成最终的设计硬件仿真:使用附加的硬件来替代用户系统的单片机并完 成单片机全部或大部

4、分的功能。使用了附加硬件后用户就可以 对程序的运行进行控制,例如单步,全速,查看资源断点等。 硬件仿真是开发过程中所必须的。习题与思考题3- 1单片机中有哪些抗干扰技术答:软件抗干扰和硬件抗扰。3- 2 LED控制仿真时要注意哪些问题?答:答:1要注意延时时间长短,太短人眼感觉不出亮暗变化,太长会增大电流2要加驱动电路。3用P0口接指示灯时,一定要加上拉电阻,阻值为5.1K-10K之间思考与讨论4- 1 MCS-51系列单片机内部有哪些主要的逻辑部件?答:一个8位CPU。一个片内振荡器及时钟电路。4K字节ROM程序存储器。128字节RAM数据存储器。两个16位定时器/计数器。可寻址64K外部数

5、据存储器和64K外部程序存储器空间的 控制电路。32条可编程的I/O线(4个8位并行I/O端口)。一个可编程全双工串行口。具有5个中断源、两个优先级嵌套中断结构。4- 2 MCS-51设有4个8位I/O端口(32条I/O线),实 际应用中8位数据信息由哪一个端口传送?16位地址线怎样形 成?P3口有何功能?答:低8位地址线经P0口输出,高8位地址线经P2口输出。P3口为多功能口4-3 MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何功用?程序存储器是用于存放是系统工作的应用程序及一些不需 改变的数据常数的,程序写入程序存储器后,单片机系统只能 读取程序指令使系统

6、运行,而不能再进行改写,且系统掉电后, 程序不会丢失。因此,程序存储器是ROM( Read Only Memory), 即只读存储器。数据存储器是用于存放程序运行的中间处理数据的,可随 程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。因此,数据存储器是RAM(Random AcceseMemory),即可随机读写的存储器。4-4 MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?答:内部RAM分为工作寄存器区、位寻址区、数据区。通过对PSW中的D4、D3位内容的修改,就能任选一个工 作寄存器区。位地址范围为00H7F

7、H。4-5特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?地址数值能被8整除的特殊功能寄存器可以位寻址4-6简述程序状态字PSW中各位的含义答:BO-F0H ACC-E0H PSW-D0HIP-B8H P3-B0HIEA8HP2-A0H SCON-98H P1-90HTCON-88HP0-80HPSW:CY进位AC辅助进位标志位F0用户使用的状态标志位RS1/RS04组工作寄存器区选择控制位1和位0OV溢出标志位PSW.1保留位P奇偶标志位思考与讨论5- 1 C语言为什么要规定对所有用到的变量要后使用”这样做有什么好处?答:先定义,IP-B8H P3-B0HIEA8H方便使用时直接

8、调用。5- 2字符常量与字符串常量有什么区别?答:字符常量只有一个字符,字符串常量:字符串常量是用双 引号括起来的,在C语言中系统会在每个字符串的最后自动加 入一个0作为字符串的结束标志。5-3 C中的while和do while的不同点是什么?答:While先判断后执行,do while先执行再判断,比前一种多 执行一次。5-4用三种循环方式分别编写程序,显示整数1100的平方。解:#in clude#in cludemai n()int i,sum=O;for(i=1;iv=100;i+)sum=i*i;prin tf(%dn,sum);#in clude#in cludemain ()i

9、nt i=0,sum=0;doi+;sum=i*i;pri ntf(%dn,sum);while(i=100);#in clude#in cludemain ()int i=0,sum=0;while(i=100)i+;sum=i*i;prin tf(%dn,sum);思考与练习6- 1用while语句编写三重循环程序解:#in cludemain ()int i=1,j=26,sum=100;i+;while(i2)while(sumvO)sum二sum+1;j+;i=i+2;6- 2用dowhile语句编写三重循环程序解:#in cludemai n()int i=1,j=26,sum=1

10、00;doi+;doj+;dosum-; while(sum0);while(j25);while(i19);6-3编写控制P2、P3两个口线控制的16个指示灯分别左 移、右移、中间向两端移、两端向中间移的程序。解:#in elude #defi ne uchar un sig ned char#defi ne uint un sig ned intucharcodeLP248=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f,Oxff,Oxff,Oxff,Oxff,Oxff,Oxff,Oxff,Oxff,0 xff,0 xff,0 xff,0 x

11、ff,0 xff,0 xff,0 xff,0 xff,0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe,0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe,0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;uchar code LP348=0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f,0 x7f,0 xbf,0 xd

12、f,0 xef,0 xf7,0 xfb,0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f,0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe;void mai n()uchar i;uint j;P2=0 xff;P3=0 xff;dofor(i=0;i=47;i+)P2二LPOi;P3二LP1i;for(j=0;j2500;j+);while(1);6- 4编写控制PO、P1、P2三个

13、口线控制的24个指示灯分 别左移、右移、中间向两端移、两端向中间移的程序。解:该题简单,参看例题,程序略思考与讨论7- 1定时器/计数器各种方式有何区别答:M1 M0方式说明0 0013位定时器/计数器0 1116位定时器/计数器1 02自动装入时间常数的8位定时器/计数器3对T0分为两个8位独立计数器;对T1置1 1方式3时停止工作(无中断重装8位计数器)7-2编写定时器/计数器程序有何规律。(1)根据题目要求先给定时器方式寄存器TMOD送一个方 式控制字,以设定定时器/计数器的相应工作方式。(2)根据实际需要给定时器/计数器选送定时器初值或计数 器初值,以确实需要定时的时间和需要记数的初值

14、。(3)根据需要给中断允许寄存器IE选送中断控制字和给中 断优先级寄存器IP选送中断优先级字,以开放相应中断和设定 中断优先级。(4)给定时器控制寄存器TCON送命令字,以启动或禁止定时器/计数器的运行。思考与讨论题8- 1简述中断、中断源、中断源的优先级及中断嵌套的含 义。答:外部中断0最高,其次定时器/计数器0,再次外部中 断1,然后定时器/计数器1,最后串行口中断。当CPU正在处理一个优先级低的中断请求时, 如果发生另 一个优先级比它高的中断请求,CPU能暂停正在处理的中断源 的处理程序,转去处理优先级高的中断。请求,待处理完以后,再回到原来正在处理的低级中断程序, 这种高级中断源能中断

15、 低级中断源的中断处理称为中断嵌套。8- 2 MCS-51单片机能提供几个中断源?几个中断优先 级?各个中断的源的优先级怎样确定?在同一优先级中各个中 断源的优先级怎样确定?答:5个中断源,分为低优先级和高优先级,统一有寄存 器IP控制,优先级高的先执行完,再去处理低优先级的。8-3简述MCS-51单片机中断响应过程答:CPU在每个机器周期的S5P2时刻采样中断标志,而 在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的S5P2有中断标志,则查询周期内会查询到,并按优先 级高低进行中断处理,中断系统将控制程序转入相应的中断服 务程序。8-4 MCS-51单片机外部中断有哪两种触发方

16、式?如何选 择?对外部中断源的触发脉冲或电平有何要求?答:电平触发和负边沿触发。如果IT1=0,贝卩外中断1为 电平触发方式,如果IT0=1,|NT0上的电平由1变0时,IEO由 硬件置位。电平触发时INTO或|NTT 的信号由0变为1,负边沿 触发时INT0或|NT1的信号由1为0。8- 5在MCS-51单片机的应用系统中,如果有多个外部中 断源,怎样进行处理?答:单片机扩展外部中断源,设定优先级。思考与讨论题9- 1简述8051单片机内部串行接口的4种工作方式。答:串行口的操作方式由SM0,SM1定义,1.方式0串行口的工作方式0为移位寄存器输入输出方式,可外接 移位寄存器,以扩展I/O口

17、,也可外接同步输入输出设备。1方式0输出(发送)串行数据通过RXD引脚输出,而在TXD引脚输出移位时 钟,作移位脉冲输出端。当一个数据写入串行口数据缓冲器时,就开始发送。在此 期间,发送控制器送出移位信号,使发送移位寄存器的内容右 移一位,直至最高位(D7位)数字移出后,停止发送数据和移位 时钟脉冲。完成发送一帧数据的过程,置TI为“1,申请中断, 如果CPU响应中断,则从0023H单元开始执行串行口中断服 务程序。2方式0输入(接收)当串行口定义为方式0时,RXD端为数据输入端,TXD端为同步脉冲信号输出端。接收器以振荡频率的1/12的波特率 接收TXD端输入的数据信息。2.方式1串行口工作

18、于方式1时,被控制为波特率可变的8位异步 通信接口。传送一帧信息为10位,即1位起始位(0),8位数据 位(低位在先)和1位停止位(1)。数据位由TXD发送,由RXD接收。波特率是可变的,取决于定时器1或2的溢出速率。1方式1发送CPU执行任何一条以SBUF为目标寄存器的指令,就启动 发送。先把起始位输出到TXD,然后把移位寄存器的输出位送 到TXD,接着发出第一个移位脉冲(SHIFT),使数据右移一位, 并从左端补入0。此后数据将逐位由TXD端送出,而其左端不 断补入0。当发送完数据位时,置位中断标志位TI。2方式1接收串行口以方式1输入时, 当检测到RXD引脚上由1到0的跳变时开始接收过程

19、,并复位内部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单片机的异步通信速度一

20、般在50b/s9600b/s之间。同步通信一次可以连续传送几个数据,每个数据不需要起始位和 停止位,数据之间不留间隙,因而数据传输速率高于异步通信(通常可达56 OOOb/s)9-3串行通信有哪几种制式?各有什么特点?答:串行通信根据数据的传送方向通常可分为单工、半双工和全双工等3种,单工:只允许数据向一个方向传送。半双工:允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送。全双工:允许同时双向传送数据,因此,全双工需配置两 根传输线,并要求两端的通信设备都具有独立的发送和接收能 力。9-4 MCS-51串行口控制寄存器SCON中SM2的含义是什么?主要在什么方式下使用?答:SM2:

21、允许方式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-

22、2试述串口芯片的读/写过程。答:片选使能,时钟脉冲出发SI移位输出字节。习题与思考题11- 1 8255A有几种工作方式?答:三种:方式0、方式1、方式2.11-2 8255A如何初始化。答:算出片选地址2算出控制字3向命令口送控制字11-3试为8031微机系统设计一个键盘接口,芯片使用8255A。键盘共有12个键(3行M列)其中10个为数字键09,两个为功能键RESET和START。具体要求:按下数字键后,键值存入3040H开始的单元中(每个字 节存放一个键值)按下RESET(复位)键后,将PC复位成0000H。按下START(启动)键后,系统开始执行用户程序(用 户程序的入口地址为4080

23、H)。试画出该接口的硬件连接图并 进行程序设计。解:参看例题,程序略11- 4试为8031微机系统设计一个LED显示器接口,该 显示器共有八位, 从左到右分别DG1DG8(共阴极式) , 要 求将内存3080H3087H八个单元中的十进制数(BCD)依次 显示在DG1DG8上。要求:画出该接口硬件连接图并进行接 口程序设计。解:参看例题,程序略思考与讨论12- 1本章提及的D/A,A/D转换器各有哪几种工作方式, 分别叙述其工作原理。答:单缓冲器方式单缓冲器方式即输入寄存器的信号和DAC寄存器的信号同时控制,使一个数据直接写入DAC寄存器。双缓冲器工作方式双缓冲器方式即输入寄存顺的信号和DAC

24、寄存器信号分开控制,这种方式适用于几个模拟量需同时输出的系统。12-2请为8031单片机设计一个两路D/A接口,使该接 口能在示波器上显示一个字母“Y”的图象。试画出该接口的硬件连接图并进行程序设计。解:参看例题,程序略12- 3图12-7为8031与ADC0809的接口电路图, 若要从 该A/D接口通道每隔1秒钟读入一个数据并将数据存入3800H开始的内存单元中,试进行程序设计。解:参看例题,程序略思考与讨论13- 1单片机抗干扰技术有哪些?答:软件抗干扰和硬件抗扰。13-2如何保证电机不能频繁起动?答:电动机应避免频繁起动或尽量减少起动次数,防止因 起动频繁而使电动机发热,影响电动机的使用寿命。对于小型电动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论