单片机原理及应用课后习题答案第六章作业(李传锋)
第六章 单片机原理与应用第二版习题答案-推荐下载

8. 设某异步通信接口,每帧信息格式为 10 位,当接口每秒传送 1000 个字符时,其波 特率为多少?
答:10000 波特 9. 串行口数据寄存器 SBUF 有什么特点? 答:发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器 SBUF(串行口数据 寄存器),执行 MOV SBUF,A 发送时为发送数据寄存器,执行 MOV A, SBUF 接收时为 接收数据寄存器。 10. MCS-51 单片机串行口有几种工作方式?各自特点是什么? 答:有四种工作方式,分别是方式 0、方式 1、方式 2 和方式 3。其中: 方式 0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展 I/O 接口。 方式 1,称为 8 位的异步通信方式,通常用于双机通信。 方式 2 和方式 3,称为 9 位的异步通信方式,通常用于多机通信。 11. 说明 SM2 在方式 2 和方式 3 对数据接收有何影响。 答:通过 SM2 对方式 2 和方式 3 数据接收进行控制, SM2=1,那么只有接收的第 9 位 为“1”才接收有效。如 SM2=0,接收的第 9 位无论为 1 还是 0 都接收有效。 12. 怎样来实现利用串行口扩展并行输入/输出口? 答:利用串行口在方式 0 时,当外接一个串入并出的移位寄存器,就可以扩展并行输 出口;当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。 13. 什么是中断、中断允许和中断屏蔽? 答:在计算机中,由于计算机内外部的原因或软硬件的原因,使 CPU 从当前正在执 行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。执 行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断,实现中 断的硬件系统和软件系统称为中断系统。中断允许是允许中断请求送 CPU 产生中断,中 断屏蔽是禁止中断请求信号送 CPU 产生中断。 14. 8051 有几个中断源?中断请求如何提出? 答:MCS-51 单片机提供 5 个硬件中断源:两个外部中断源 INT0 (P3.2)和 INT1 (P3.3), 两个定时/计数器 T0 和 T1 中断;1 个串行口中断。 外部中断源 INT0 和 INT1 的中断请求信号从外部引脚 P3.2 和 P3.3 输入;两个定时/计 数器 T0 和 T1 的溢出中断 TF0 和 TF1 定时/计数器 T0(或 T1)溢出时提出;串行口中断由 发送中断标志 T1 和接收中断标志 R1 产生。 15. 8051 的中断源中,哪些中断请求信号在中断响应时可以自动清除?哪些不能自动 清除?应如何处理? 答:工作在边沿触发方式下的两个外部中断源和两个定时/计数器中断中断请求信号 在中断响应时可以自动清除,工作在电平触发方式下的两个外部中断源和串行口中断不能 自动清除。工作在电平触发方式下的两个外部中断源的中断请求信号通过外加硬件和加软 件的方式清除,串行口中断标志 T1 和标志 R1 完全由软件清除。 16. 8051 的中断优先级有几级?在形成中断嵌套时各级有何规定?
单片机原理及应用课后习题答案

单片机原理及应用课后习题答案1. 为什么单片机被广泛应用于各种电子设备中?单片机被广泛应用于各种电子设备中的原因有很多。
首先,单片机具有体积小、功耗低、成本低的特点,能够满足现代电子设备对于小型化、便携和节能的需求。
其次,单片机集成了中央处理器、存储器、输入输出端口等功能模块,能够满足电子设备对于高性能、多功能的要求。
此外,单片机具有灵活的可编程性,能够根据不同的应用需求进行定制开发,满足各种电子设备的特定功能和性能要求。
因此,单片机被广泛应用于各种电子设备中。
2. 什么是单片机的工作原理?单片机是一种集成了中央处理器、存储器、输入输出端口等功能模块的微型计算机系统。
其工作原理是通过中央处理器执行程序指令,对输入输出端口进行数据交换,从而实现对外部设备的控制和数据处理。
单片机内部包含了运算器、控制器、存储器等核心部件,通过时钟信号的控制,按照程序指令序列完成各种运算和数据处理操作。
单片机的工作原理可以简单概括为接收输入信号、进行数据处理、输出控制信号的过程。
3. 单片机的应用领域有哪些?单片机在各种电子设备中都有广泛的应用,主要包括消费类电子产品、工业自动化设备、通信设备、汽车电子系统等领域。
在消费类电子产品中,单片机被应用于智能手机、数码相机、家用电器等产品中,实现各种功能和控制。
在工业自动化设备中,单片机被应用于PLC、工业控制器、传感器等设备中,实现自动化生产和控制。
在通信设备中,单片机被应用于调制解调器、路由器、交换机等设备中,实现数据传输和网络控制。
在汽车电子系统中,单片机被应用于发动机控制、车载娱乐、车身电子系统等领域,实现车辆的各种功能和控制。
可以看出,单片机在各种应用领域都有重要的地位和作用。
4. 单片机的发展趋势是什么?随着科技的不断发展,单片机也在不断演进和升级。
未来单片机的发展趋势主要包括以下几个方面,首先,单片机将继续向着高性能、低功耗、小型化的方向发展,以满足电子设备对于性能和外形的要求。
单片机原理及应用课后习题答案

单片机原理及应用课后习题答案单片机是一种集成了微处理器、存储器和输入输出功能的微型计算机系统,广泛应用于各种电子设备中。
在学习单片机原理及应用过程中,课后习题是检验学习效果的重要方式。
下面,我们将为大家提供一些单片机原理及应用课后习题的答案,希望能够帮助大家更好地理解和掌握相关知识。
1. 什么是单片机?简要描述其组成结构。
答,单片机是一种集成了微处理器、存储器和输入输出功能的微型计算机系统。
其组成结构主要包括中央处理器(CPU)、存储器(RAM、ROM)、输入输出端口(I/O)以及定时计数器等部分。
2. 请简要说明单片机系统的工作原理。
答,单片机系统的工作原理是通过中央处理器(CPU)对存储器中的程序进行解释和执行,同时通过输入输出端口(I/O)与外部设备进行数据交换和控制,从而实现各种功能。
3. 什么是单片机的时钟周期?为什么要使用时钟周期?答,单片机的时钟周期是指CPU执行一条指令所需要的时间。
使用时钟周期可以使CPU按照一定的节奏进行工作,保证系统的稳定性和可靠性。
4. 请简要说明单片机的中断系统及其作用。
答,单片机的中断系统是一种能够在CPU执行程序的过程中,根据外部设备的要求,暂时中断CPU的工作,处理完中断请求后再返回原程序继续执行的机制。
其作用是提高系统的实时性和处理效率。
5. 请简要说明单片机的定时器/计数器及其应用。
答,单片机的定时器/计数器是一种能够产生精确的时间延迟和计数功能的模块,广泛应用于定时、计数、脉冲宽度调制等领域。
6. 请简要说明单片机的串行通信接口及其应用。
答,单片机的串行通信接口是一种能够实现串行数据传输的接口,广泛应用于与外部设备进行数据通信和控制。
7. 请简要说明单片机的模拟输入/输出接口及其应用。
答,单片机的模拟输入/输出接口是一种能够实现模拟信号的输入和输出的接口,广泛应用于模拟信号采集和控制领域。
通过以上答案,相信大家对单片机原理及应用课后习题有了更深入的理解。
单片机原理及应用教程(第2版)各章习题参考答案

单片机原理及接口技术第6章习题答案

第6章习题答案1、定时器模式2有什么特点?适用于什么场合?答:(1) 模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。
TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。
TL0用作8位计数器,TH0用以保存初值。
(2) 用于定时工作方式时间(TF0溢出周期)为()82T H 012T =-⨯⨯初值振荡周期,用于计数工作方式时,最大计数长度(TH0初值=0)为28=256个外部脉冲。
这种工作方式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。
2、单片机内部定时方式产生频率为100KH Z 等宽矩形波,假定单片机的晶振频率为12MH Z ,请编程实现。
答:5100,110(00)Z f KH t T -==⨯采用定时器选择工作模式50.510-⨯=⨯⨯136(2-X )12/(1210)13(2)5X -=81871111111111011X ==T0低5位:1BHT0高8位:FFHMOV TMOD,#00H ;设置定时器T0工作于模式0MOV TL0,#1BH ;设置5ms 定时初值MOV TH0,#0FFHSETB TR0 ;启动T0LOOP:JBC TF0,L1 ;查询到定时时间到?时间到转L1SJMP LOOP ;时间未到转LOOP ,继续查询L1:MOV TL0,#1BH ;重新置入定时初值MOV TH0,#0FFHCPL P1.0 ;输出取反,形成等宽矩形波SJMP LOOP ;重复循环3、89C51定时器有哪几种工作模式?有何区别?答:有四种工作模式:模式0,模式1,模式2,模式3(1) 模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。
TL 低5位溢出时向TH 进位,TH 溢出时向中断标志位TF 进位,并申请中断。
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲(2) 模式1:与模式0的唯一差别是寄存器TH 和TL 以全部16位参与操作。
单片机原理及应用教程第3版习题课后答案

《单片机原理及应用程序》(第三版)习题参考答案第一章1.为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1)01111001 79H(2) 0.11 0.CH (3) 01111001.1179.CH(4)11101010.1010EA.AH(5)01100001 61H (6) 00110001 31H3.(1)0B3H(2)80H (3) 17.AH(4) 0C.CH4.(1)01000001B65(2) 110101111B4315.(1) 001001000010010000100100(2) 101001001101101111011100(5) 1000000111111110111111116.00100101B00110111BCD25H7.137119898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB )控制总线( CB)数据总线( DB )地址总线 (AB) :CPU 根据指令的功能需要访问某一存储器单元或外部设备时,其地址1信息由地址总线输出,然后经地址译码单元处理。
地址总线为16 位时,可寻址范围为216=64K ,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线 (CB):由 CPU 产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU 还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案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) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
(完整版)单片机原理及应用习题答案(第三版)

第一章习题参考答案1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器 (CPU) 、存储器、 I/O 接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。
单片机与通用微机相比在结构上的异同:(1)两者都有 CPU,但通用微机的 CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。
例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲 (Cache) 技术等。
CPU的主频达到数百兆赫兹 (MHz) ,字长普遍达到 32 位。
单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。
例如,现在的单片机产品的 CPU大多不支持浮点运算, CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用 4 位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用 16 位字长单片机, 32 位单片机产品目前应用得还不多。
(2)两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU 对数据的存取速度。
现今微机的内存容量达到了数百兆字节 (MB),存储体系采用多体、并读技术和段、页等多种管理模式。
单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为 64 KB 。
(3)两者都有 I/O 接口,但通用微机中 I/O 接口主要考虑标准外设 ( 如 CRT、标准键盘、鼠标、打印机、硬盘、光盘等 ) 。
用户通过标准总线连接外设,能达到即插即用。
单片机应用系统的外设都是非标准的,且千差万别,种类很多。
单片机的I/O 接口实际上是向用户提供的与外设连接的物理界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章MCS-51的定时器/计数器
1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各
为多少?
2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?
4.定时器/计数器的工作方式2有什么特点?适用于什么应用场合?
5.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定
时?
6.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为
6MHz,求允许测量的最大脉冲宽度是多少?
7.判断下列说法是否正确?
(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。
(3)特殊功能寄存器IE,与定时器/计数器的控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关。
8.设定1ms的定时,可以在P1.0引脚上产生周期为2ms的方波输出,设晶体振荡器的频率
为6MHz,分别写出在方式0和方式1时,赋给T0的常数。
9.设MCS-51单片机的晶振频率为12MHz,请编程使P1.O端输出频率为20kHz的方波。
10.要求采用定时中断的方式,实现下图所示流水灯的双向循环(D1—D8—D1)流动功能。
其中流水灯的闪烁速率为每秒1次。
11.设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的方波,请用定时器TO方式2编程实现。
附录2:作业及答案
1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各
为多少?(12/3×8192=32.768ms;12/3*65636=262.144ms; 12/3*256=1.024ms)
2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
(定时的计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。
定时时间与定时器的工作模式、定时器的初值选择有关。
)
3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?
(计数脉冲的频率不能高于振荡脉冲频率的1/24;由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
)4.定时器/计数器的工作方式2有什么特点?适用于什么应用场合?
(自动重装的8位计数器,TLx读数溢出时,溢出标志位置1的同时,自动将THx中的常数送到TLx中,使TLx从初值开始计数。
多用于串口通信精确定时,产生波特率用)
5.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定
时?
(1)2个定时/计数器共同处理;
(2)1个定时/计数器配合软件计数方式处理。
6.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为
6MHz,求允许测量的最大脉冲宽度是多少?
(采用方式1定时工作方式,最大脉冲宽度为131.072ms)
7.判断下列说法是否正确?
(5)特殊功能寄存器SCON,与定时器/计数器的控制无关。
(对)
(6)特殊功能寄存器TCON,与定时器/计数器的控制无关。
(错)
(7)特殊功能寄存器IE,与定时器/计数器的控制无关。
(错)
(8)特殊功能寄存器TMOD,与定时器/计数器的控制无关。
(错)
8.设定1ms的定时,可以在P1.0引脚上产生周期为2ms的方波输出,设晶体振荡器的频
率为6MHz,分别写出在方式0和方式1时,赋给T0的常数。
(方式0:13位计数器(最大计数8192),TH0=1EH,TL0=0CH; 方式1为16位计数器(最大计数65536),TH0=0FEH,TL0=0CH)
7192=213-1000=7192=1111000001100
a=213-5000×12/12=3192= 1100 0111 1000B
9.设MCS-51单片机的晶振频率为12MHz,请编程使P1.O端输出频率为20kHz的方波。
解:fosc = 12MHz,所以机器周期为1us。
20kHz的方波周期为1/(20×1000)=50us,方波即高电平和低电平和时间相等,所以只需设一个定时器定时25us将P1.O求反一次即可。
由于题目没有规定,所以可以用查询方式,也可以用中断方式进行编程实现。
方法一:采用查询方式实现
#include<reg51.h>
sbit P1_0=P1^0;//定义输出引脚变量
void main(){
P1_0=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-25; //计25次,计数初值为模256减25
TL0=TH0;
TR0=1; //启动T0
while(1) //无限循环
if(TF0){ //查询T0溢出标志
TF0=0; //溢出标志复位
P1_0=!P1_0; //输出求反
}
}
方法二:采用中断方式实现
#include<reg51.h>
sbit P1_0=P1^0; //定义输出引脚变量
void main(){
P1_0=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-25; //计25次,计数初值为模256减25
TL0=TH0;
IE=0x82; //允许CPU响应中断,允许T0发中断请求
TR0=1; //启动T0
for(;;){} //无限循环等待中断
}
timer0()interrupt 1 using 1{
P1_0=!P1_0; //输出求反
}
10.要求采用定时中断的方式,实现下图所示流水灯的双向循环(D1—D8—D1)流动功能。
其中流水灯的闪烁速率为每秒1次。
#include<reg51.h>
#define unchar unsigned char
bit ldelay=0;
unchar t=0;
timer0() interrupt 1
{
t++;
TH0=0x3c;
TL0=0xb0;
if(t==20)
{ldelay=1;t=0;}
}
main()
{
unchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int i=0;
int j=1;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
while(1)
if(ldelay)
{
ldelay=0;
if(j)
{
P2=table[i];
i++;
if(i==8) {i=6;j=0;}
}
else
{
P2=table[i];
i--;
if(i==-1) {i=1;j=1;}
}
}
}
11.设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的方波,请用定时器TO方式2编程实现。
解:fosc = 12MHz,所以机器周期为1us。
要使P1.0输出周期为1000us的方波,可以通过定时中断方式实现,定时时间为250us,定时计数2次来实现,对P1.0求反即可。
要使P1.1输出周期为10ms的方波,也可以通过定时中断方式实现,定时时间为5ms,当时间到时,对P1.1求反即可。
由于5ms/250us=20,所以也可以通过对250us 的定时计数20次来实现。
程序如下:
#include<reg51.h>
sbit P1_0=P1^0;//输出周期为1000us的方波的引脚
sbit P1_1=P1^1; //输出周期为10ms的方波的引脚
unsigned char num1=0,num2=0;//中断次数计数器,初值为0
void main(){
P1_0=0; //输出初值为0
P1_1=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-250;//计250次,计数初值为模256减200
TL0=TH0;
IE=0x82; //允许CPU响应中断,允许T0发中断请求
TR0=1; //启动T0
for(;;){} //无限循环等待中断
}
void timer0()interrupt 1 using 1{
num1++;num2++; //中断次数加1
if(num1==2) // 中断次数达到2次
{ P1_0=!P1_0; //输出P1_0求反
num1=0; //中断次数复位为0
}
if(num2==20){ // 中断次数达到20次
num2=0; //中断次数复位为0
P1_1=!P1_1; //输出P1_1求反
}
}。