单片机原理及应用第五章课后题答案
- 格式:doc
- 大小:1.10 MB
- 文档页数:5
单片机原理及应用课后答案第一章单片机的基础知识1.1 什么是单片机?单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器、存储器、输入输出设备和定时计数器等功能模块的片上系统。
1.2 单片机的特点有哪些?单片机具有以下特点:•高度集成:单片机上集成了多个功能模块,如CPU、存储器和输入输出设备等,实现了多种功能的集成。
•低功耗:单片机的设计目标是低功耗,在低频率下工作,能够满足电池供电或其他低功耗应用的需求。
•程序可编程:单片机可根据用户的需求编写程序,实现不同的功能。
•成本低廉:由于单片机的集成度高,生产成本相对较低。
•体积小:单片机通常采用表面贴装技术,可以实现小尺寸、轻量级的设计。
1.3 单片机的应用领域有哪些?单片机广泛应用于各个领域,包括:•家电控制:如电视、空调、冰箱等家电产品的控制板中常用单片机进行控制。
•工业自动化:用于控制工业生产线上的各种设备以及工业机械的控制。
•汽车电子:单片机在汽车电子中的应用非常广泛,如发动机控制、车载娱乐系统等。
•通信设备:单片机用于各种通信设备,如手机、路由器等。
•医疗设备:单片机应用于医疗设备如心电图仪、血压计等。
•家庭安防:用于监控摄像头、门禁系统等。
第二章单片机的硬件组成2.1 单片机的核心部件是什么?单片机的核心部件是中央处理器(Central Processing Unit,CPU),它负责执行程序指令。
2.2 单片机的外围设备有哪些?单片机的外围设备包括:•存储器:用于存储程序和数据,包括闪存、RAM、EEPROM等。
•输入输出设备:用于与外部设备进行数据交互,如键盘、显示屏、串口等。
•定时计数器:用于计时和定时中断等功能。
•中断系统:用于处理外部中断请求,提高程序的响应速度。
•时钟源:提供单片机工作的时钟信号。
2.3 单片机的存储器有哪些分类?单片机的存储器主要分为以下几类:•只读存储器(Read-Only Memory,ROM):用于存储程序指令,不可修改。
单片机原理与应用(C51编程+proteus仿真)第2版-张毅刚课后习题参考答案第5章思考题及习题5参考答案一、填空1. AT89S51单片机任何一个端口要想获得较大的驱动能力,要采用()电平输出。
答:低2.检测开关处于闭合状态还是打开状态,只需把开关一端接到I/O端口的引脚上,另一端接地,然后通过检测()来实现。
答: I/O端口引脚的电平3. “8”字型的LED数码管如果不包括小数点段共计()段,每一段对应一个发光二极管,有()和()两种。
答:7,共阳极,共阴极4. 对于共阴极带有小数点段的数码管,显示字符“6”(a段对应段码的最低位)的段码为(),对于共阳极带有小数点段的数码管,显示字符“3”的段码为()。
答:7DH,B0H5. 已知8段共阳极LED数码显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为()。
答:d6. LED数码管静态显示方式的优点是:显示()闪烁,亮度(),()比较容易,但是占用的()线较多。
答:无,较高,软件控制,I/O口7. 当显示的LED数码管位数较多时,一般采用()显示方式,这样可以降低(),减少()的数目。
答:动态,成本,I/O端口8. LCD 1602是()型液晶显示模块,在其显示字符时,只需将待显示字符的()由单片机写入LCD 1602的显示数据RAM(DDRAM),内部控制电路就可将字符在LCD上显示出来。
答:字符,ASCII码9. LCD 1602显示模块内除有()字节的()RAM外,还有()字节的自定义(),用户可自行定义个5×7点阵字符。
答:80,显示数据,64,字符RAM,810.当按键数目少于8个时,应采用()式键盘。
当按键数目为64个时,应采用()式键盘。
答:独立,矩阵11.使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接()个按键,而对矩阵式键盘而言,8根I/O口线最多可以接()个按键。
答:8,6412.LCD 1602显示一个字符的操作过程为:首先(),然后(),随后(),最后()。
第5章习题答案5-1 什么叫中断系统?中断系统的功能是什么?什么是中断嵌套?答:当CPU正在执行主程序时,外部或内部发生的某一事件(如某个引脚上电平的变化、一个脉冲的发生或计数器的计数溢出等)请求CPU迅速处理,CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,CPU再继续执行原来被中断的程序,这样的过程称为中断。
功能:中断系统是为使CPU 具有对单片机外部或内部随机发生的事件进行实时处理而设置的。
中断嵌套:8051设置了两级中断优先级,低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。
5-2 MCS-51型单片机各中断源的中断标志是如何产生的?又是如何清除的?CPU响应中断时,中断入口地址各是多少?答:见p133;.或端出现有效中断请求时,IE0 IE1)位由硬件置“1”。
当中断响应当CPU采样到IE0IE1完成转向中断服务程序时,由硬件把IE0(或IE1)清零。
TF0和TF1——计数溢出标志位,当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。
当转向中断服务时,再由硬件自动清“0”。
TI:串行发送中断标志。
CPU将数据写入发送缓冲器SBUF时就启动发送,每发送完一帧后,硬件将TI置位,必须由软件清0.RI:串行接收中断标志。
串口允许接收时,每接收完一帧后,硬件将RI置位,必须由软件清0.地址分别为:0003H,000bH0013H,001BH,0023H5-3:在MCS-51型单片机中,哪些中断标志可以在响应自动撤除。
见第二题,也可见P136;5-4答:见p136.5-5:解:PX1=1;IT1=0;PT1=0;PS=1;EA=1;ES=1;ET1=1;EX1=1;ET0=0;EX0=0;5-6解:两个,它由模式设置寄存器TMOD,中断控制寄存器IE,中断优级级寄存器IP,中断标志寄存器TCON组成5-8 请叙述TMOD=A6H所代表的含义。
《单片机原理与应用开发技术》第五章习题答案(P137-138):4. 答:串行口有四种工作方式:方式0、方式1、方式2、方式3。
有三种帧格式:8位、10位、11位。
串行口的4种工作方式对应三种波特率模式。
方式0:波特率是固定的,为f osc /12。
方式2:波特率由振荡频率f osc 和SMOD(PCON.7)所决定。
对应公式为波特率 = 2SMOD *f osc /64,当SMOD=0时,波特率为f osc /64;当SMOD=1时,波特率为f osc /32。
方式1和方式3:波特率由定时器/计数器T1的溢出率和SMOD 决定,即由下式确定:波特率 = 2SMOD *定时器/计数器T1溢出率 /32 。
= 6. 答:当定时器/计数器为定时工作方式时,其计数脉冲由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
定时时间与系统的振荡频率、定时器/计数器工作模式和计数初值有关,t=(M -初值)*振荡周期*12 。
10. 设晶振频率为6MHz ,即机器周期为2μs 。
占空比(正脉冲持续时间:脉冲总周期)为1:10,即正脉冲时间为40μs ,负脉冲时间360μs 。
初值分别如下:(28-X 1)* 2μs = 40μs)x 256(12f 322osc smod-⋅X1 = 28 - 20 = 236D = 0ECH(28-X2)* 2μs = 360μsX2 = 28 - 180 = 76D = 4CH主程序:MOV TMOD,#02H;设置T0为模式2,定时方式START: MOV TH0,#0ECH;T0定时40μs初值MOV TL0,#0ECHSETB P1.0 ;P1.0置1SETB TR0 ;启动T0定时40μsLOOP1: JBC TF0,LOOP2;查询溢出标志,定时到TF0=1转移,且TF0=0 SJMP LOOP1LOOP2: CLR TR0 ;停止计数MOV TH0,#4CH ;T0定时360μs初值MOV TL0,#4CHCLR P1.0 ;P1.0清0SETB TR0 ;启动T0定时360μsLOOP3: JBC TF0,LOOP4;查询溢出标志,定时到TF0=1转移,且TF0=0 SJMP LOOP3LOOP4: CLR TR0 ;停止计数SJMP START中断方式下?如:可以设一个标志,00,01,02,,,07,00则设P1.0为高,01-07设P1.0为低。
第五章作业答案6. 当DAC 0832 D/A转换器的CS接8031的P2.0时,程序中0832的地址指针DPDR寄存器应置为(D)。
A:0832H B;FE00H C:FEF8H D;以上三种都可以10.简述D/A转换器的主要技术指标。
解:D/A转换器的主要性能指标有:(1)分辨率:单位数字量所对应模拟量增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。
它确定了D/A产生的最小模拟量变化,也可用最低位(LSB)表示。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误差,它是以满量程V FS 的百分数或最低有效位(LSB)的分数形式表示。
(3)线性误差:D/A转换器的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是D/A的线性误差。
即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。
常以LSB的分数形式表示。
(4)转换时间T S(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。
22.具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少?解:对于8位A/D转换器,实际满量程电压为5V,则其量化单位1LSB=5V/256=0.0196V, 通常,A/D采用均匀量化,即每一量化层的输出都取该量化层的中值。
所以最大量化误差为(1/2)LSB,即0.0098V。
23.在一个80C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。
试画出有关逻辑电路图,并编写产生矩形波,其波形占空比为1:4,高电平为2.5V,低电平为1.25V的转换程序。
解:硬件电路连接图如图5.23所示。
图5.23 5.23题逻辑电路图DAC0832的口地址为7FFFH。
波形占空比为1:4,高电平波形时间/低电平波形时间为1/3。
单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。
b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。
c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。
d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。
e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。
2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。
b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。
c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。
d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。
e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。
3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。
b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。
c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。
d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。
e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。
4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。
b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
第5章 AT89S51的中断系统参考答案及解析:1.答:0013H;001BH解析:P93 表5-2,由表各中断源入口地址2.答:串行口中断;T1溢出中断解析:P92 由于(IP)=00010100B,PS=1,PX1=1,故串行口、外部中断1中断为高优先级,其余为低优先级,再由表5-1,同级中断查询次序T1溢出中断为最低3.答:P96 设置中断允许控制寄存器IE,允许相应的中断请求源中断。
设置中断优先级寄存器IP,确定并分配所使用的中断的优先级。
若是外部中断源,还要设置中断请求的触发方式IT0或IT1,以决定采用电平触发方式还是跳沿触发方式。
中断程序返回使用RETI指令,RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断,而普通子程序RET指令则没有这个操作。
4.答:D解析:P88 5.2.2 5个中断源的中断请求标志分别由特殊功能寄存器TCON和SCON的相应位锁存。
5.答:P94 5.5在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
推迟对外部中断请求的响应:P94 5.4(1)A T89S51正在处理同级或更高优先级的中断。
因为当一个中断被响应时,要把对应的中断优先级状态触发器置1(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断请求和同级请求。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。
设定这个限制的目的是只有在当前指令执行完毕后,才能进行中断响应,以确保当前指令执行的完整性。
(3)正在执行的指令是RETI或是访问IE或IP的指令。
因为按照AT89S51中断系统的规定,在执行完这些指令后,需要再执行完一条指令,才能响应新的中断请求。
如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。
6.答:D解析:P94(A)如果已在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算了。
第五章选择题答案(1)外部中断0允许中断的C51语句为______。
A.RI=1;B.TR0=1;C.IT0=1;D.EX0=1;(2)按照中断源自然优先级顺序,优先级别最低的是______。
A.外部中断INT1B.串口发送TI C.定时器T1D.外部中断INT0 (3)当CPU响应定时器T1中断请求时,程序计数器PC里自动装入的地址是______。
A.0003H B.000BH C.0013H D.001BH(4)当CPU响应定时器/INT0中断请求时,程序计数器PC里自动装入的地址是______。
A.0003H B.000BH C.0013H D.001BH(5)当CPU响应定时器/INT1中断请求时,程序计数器PC里自动装入的地址是______。
A.0003H B.000BH C.0013H D.001BH(6)在80C51单片机中断自然优先级里,级别倒数第二的中断源是______。
A.外部中断1B.定时器T0C.定时器T1D.外部中断0(7)在80C51单片机中断自然优先级里,级别正数第二的中断源是______。
A.外部中断1B.定时器T0C.定时器T1D.串口TX/RX(8)为使P3.2引脚出现的外部中断请求信号能得到CPU响应,必须满足的条件是______。
A.ET0=1B.EX0=1C.EA=EX0=1D.EA=ET0=1(9)为使定时器T0的中断请求信号能得到CPU的中断响应,必须满足的条件是______。
A.ET0=1B.EX0=1C.EA=EX0=1D.EA=ET0= 1(10)用定时器T1工作方式2计数,要求每计满100次向CPU发出中断请求,TH1、TL1的初始值应为______。
A.0x9c B.0x20C.0x64D.0xa0(11)80C51单片机外部中断1和外部中断0的触发方式选择位是______。
A.TR1和TR0B.IE1和IE0C.IT1和IT0D.TF1和TF0(12)在中断响应不受阻的情况下,CPU对外部中断请求做出响应所需的最短时间为______机器周期。
第五章作业答案
6. 当DAC 0832 D/A转换器的CS接8031的P2.0时,程序中0832的地址指针DPDR寄存器应置为(D)。
A:0832H B;FE00H C:FEF8H D;以上三种都可以
10.简述D/A转换器的主要技术指标。
解:
D/A转换器的主要性能指标有:
(1)分辨率:单位数字量所对应模拟量增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。
它确定了D/A产生的最小模拟量变化,也可用最低位(LSB)表示。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误差,它是以满量程V FS 的百分数或最低有效位(LSB)的分数形式表示。
(3)线性误差:D/A转换器的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是D/A的线性误差。
即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。
常以LSB的分数形式表示。
(4)转换时间T S(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。
22.具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少?
解:
对于8位A/D转换器,实际满量程电压为5V,则其量化单位1LSB=5V/256=0.0196V, 通常,A/D采用均匀量化,即每一量化层的输出都取该量化层的中值。
所以最大量化误差为(1/2)LSB,即0.0098V。
23.在一个80C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。
试画出有关逻辑电路图,并编写产生矩形波,其波形占空比为1:4,高电平为2.5V,低电平为1.25V的转换程序。
解:
硬件电路连接图如图5.23所示。
图5.23 5.23题逻辑电路图
DAC0832的口地址为7FFFH。
波形占空比为1:4,高电平波形时间/低电平波形时间为1/3。
当V O=2.5V时,D=80H;V O=1.25V时,D=40H。
程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV SP,#60H
MOV DPTR,#7FFFH
NEXT:MOV A,#80H
MOVX @DPTR,A
ACALL DELAY
MOV R4,#03H
MOV A,#40H
MOVX @DPTR,A
LOOP:ACALL DELAY
DJNZ R4,LOOP
AJMP NEXT
DELAY:……
RET
END
24.在一个80C51与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H~7FFFH。
试画出逻辑电路图,并编写程序,每隔1分钟轮流采集一次8个通道数据,8个通道总共采集100次,其采样值存入以片外RAM 3000H开始的存储单元中。
解:
硬件电路连接图如图5.24所示。
图5.24 5.24题逻辑电路图
设8051的时钟频率为12MHz,程序如下:
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP T1_1
ORG 0100H
MAIN:MOV SP,#60H ;设堆栈指针
MOV R7,#100 ;置采集次数
MOV R1,#30H ;片外RAM地址高位
MOV R0,#00H ;片外RAM地址低位
MOV R2,#20 ;置入初值20(计1 s)
MOV R3,#60 ;置入初值60(计1 min)
SETB 7FH ;置1 min标志为1
MOV TOMD,#10H ;定时器T1工作于模式1
MOV TH1,#3CH ;计数器初值
MOV TL1,#0B0H
SETB EA ;开中断
SETB ET1 ;定时器T1允许中断
SETB TR1 ;启动定时器T1
LOOP:SJMP LOOP ;等待中断
JB 7FH,LOOP ;1 min未到,等待
DJNZ R7,LOOP ;是否到100次?
SJMP $
ORG 0200H
T1_1:MOV TH1,#3CH ;中断服务程序,重新赋计数器初值
MOV TL1,#0B0H
SETB 7FH ;置1 min未到标志
DJNZ R2,RETI_0 ;1 s未到,返回
MOV R2,#20 ;重新置“100 s”计数器初值
DJNZ R3,RETI_0 ;1 min未到,返回
MOV R3,#60
CLR 7FH ;置1 min到标志
MOV R6,#8 ;8个通道计数器初值
MOV DPTR,#7FF8H ;IN0地址
LOOP1:MOVX @DPTR,A ;启动A/D转换
JB P3.2,$ ;判转换是否结束
MOVX A,@DPTR ;读取转换结果
PUSH DPH ;将通道地址压入堆栈
PUSH DPL
MOV DPH,R1 ;将片外RAM地址送DPTR
MOV DPL,R0
MOVX @DPTR,A ;将转换结果存入片外RAM
INC DPTR ;片外RAM地址增1
MOV R1,DPH ;保存片外RAM地址
MOV R0,DPL
POP DPL ;恢复通道地址
POP DPH
INC DPTR
DJNZ R6,LOOP1 ;8个通道是否采集结束
RETI_0:RETI ;中断返回
END
查询法采集8路数据的程序:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV SP,#60H ;设堆栈指针
MOV R1,#30H ;片外RAM地址高位
MOV R0,#00H ;片外RAM地址低位
MOV R6,#8 ;8个通道计数器初值
MOV DPTR,#7FF8H ;IN0地址
LOOP1:MOVX @DPTR,A ;启动A/D转换
JNB P1.0,$ ;判转换是否结束
MOVX A,@DPTR ;读取转换结果
PUSH DPH ;将通道地址压入堆栈
PUSH DPL
MOV DPH,R1 ;将片外RAM地址送DPTR
MOV DPL,R0
MOVX @DPTR,A ;将转换结果存入片外RAM
INC DPTR ;片外RAM地址增1
MOV R1,DPH ;保存片外RAM地址
MOV R0,DPL
POP DPL ;恢复通道地址
POP DPH
INC DPTR
DJNZ R6,LOOP1 ;8个通道是否采集结束
SJMP $
END
中断法采集8路数据的程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT00
ORG 0030H
MAIN:MOV SP,#60H ;设堆栈指针
MOV R1,#30H ;片外RAM地址高位
MOV R0,#00H ;片外RAM地址低位
MOV R6,#8 ;8个通道计数器初值
SETB EA
SETB EX0
SETB IT0
MOV DPTR,#7FF8H ;IN0地址
MOVX @DPTR,A ;启动A/D转换
LOOP:SJMP LOOP ;等待
INT00:MOVX A,@DPTR ;读取转换结果
INC DPTR ;通道地址+1
PUSH DPH ;将通道地址压入堆栈
PUSH DPL
MOV DPH,R1 ;将片外RAM地址送DPTR
MOV DPL,R0
MOVX @DPTR,A ;将转换结果存入片外RAM
INC DPTR ;片外RAM地址增1
MOV R1,DPH ;保存片外RAM地址
MOV R0,DPL
POP DPL ;恢复通道地址
POP DPH
DJNZ R6,LOOP1 ;8个通道是否采集结束
CLR EX0
RETI
LOOP1:MOVX A,@DPTR ;启动下一路A/D转换RETI
END。