




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、练习与思考题 9 参考答案 1 AT89S51 单片机中与定时器 /计数器相关的特殊功能寄存器有哪几个?它们的功能各是什 么? 答: AT89S51单片机中与定时器 /计数器相关的特殊功能寄存器有 TMOD 、TCON、IE、IP、 TH0 、TL0 、 TH1 、 TL1 等 8个。 TMOD 用于设定定时器 /计数器的工作模式与工作方式; TCON 用于提供定时器 /计数器启动 或停止的软开关,另外还提供定时器 /计数器的溢出标志位; IE 、IP 提供对定时器 /计数器的 溢出中断进行管理的控制位; TH0 、TL0 、TH1 、 TL1 用于对定时器 /计数器的初始值进行设 定并实现对
2、输入的计数信号进行计数的功能。 2 AT89S51 单片机内设有几个可编程的定时器 /计数器?它们可以有哪几种工作模式?哪几种 工作方式?如何选择和设定?各有什么特点? 答:AT89S51单片机内部有两个 16位可编程的定时器 /计数器,即定时器 T0 和定时器 T1 它们可以有定时和计数两种工作模式,由 TMOD 中的 C/ T位设定。 C/T=0 为定时器模式, C/T=1 为计数器模式 。每种工作模式下又有如下表所示的四种工作 方式。 定时器/计数器四种工作方式由 TMOD 中的 M1 M0两位确定,如下表所 示。 M1M0 方式 特点 0 0 0 13位定时器/计数器 0 1 1 16
3、位定时器/计数器 1 0 2 自动装入时间常数的 8 位定时器/计数器 1 1 3 对 T0 分为两个 8 位独立计数器;对 T1置方式 3 时停止 工作 3 如果采用晶振的频率为 3MHz ,定时器 /计数器工作在方式 0、1、2下,其最大的定时时间为 多少? 1212 答:因为机器周期 Tcy1212 6 4( s) , cy fOSC 3 106 所以定时器 /计数器工作方式 0下,其最大定时时间为 TMAX 213 TC 213 4 10 6 8.192(ms) ; 同样可以求得方式 1下的最大定时时间为 262.144ms;方式 2下的最大定 时时间为 1024ms。 4 AT89S
4、51单片机内的定时器 /计数器 T0、T1 工作在方式 3时,有何不同? 答:方式3对定时器 T0和定时器T1是不相同的。若T1设置为方式 3,则停 止工作。方式3只适用于T0。当T0设置为方式 3时,将使TL0和TH0成为 两个相互独立的 8 位计数器, TL0 利用了 T0 本身的一些控制方式,它的操 作与方式 0和方式 1类似。而 TH0被规定为用作定时器功能,对机器周期计 数,并借用了 T1 的控制位 TR1 和 TF1。在这种情况下 TH0 控制了 T1 的中 断。 5定时器 /计数器用做定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 答:定时/计数器作定时时, 其计数脉冲由
5、系统振荡器产生的内部时钟信号 12 分频后提供。定时时间与时钟频率和定时初值有关。 6. 定时器 /计数器用做计数器模式时,对外界计数频率有何限制? 答:由于确认 1次负跳变要花 2个机器周期,即 24个振荡周期,因此外部输 入的计数脉冲的最高频率为系统振荡器频率的 1/24。 7AT89S51 单片机的晶振频率为 6MHz ,若要求定时值分别为 0.1ms和 10ms,定时器 0 工作在 方式 0、方式 1 和方式 2,其定时器初值各应是多少? 答:( 1) 0.1ms 方式 0: 0.110-3=(213-X) 12/(6106) 所以: X=8142=1111111001110B T0
6、低 5 位 01110B=0EH T0 高 8 位: 11111110B=FEH 方式 1: 0.1 10-3= (216-X) 12/(6 106) 所以: X=65486=FFCEH 方式 2: 0.1 10-3= (28-X) 12/(6 106) 所以: X=206=CEH ( 2) 10ms 方式 0: 10 10-3=(213-X) 12/(6 106) 所以: X=3192=110001111000B T0低 5位 11000B=18H T0 高 8 位: 01100011B=63H 方式 1: 10 10-3=(216-X) 12/(6 106) 所以: X=60536=EC7
7、8H 方式 2:在此情况下最长定时为 512 s,无法一次实现定时 10ms,可用 0.1ms 定时循环 100次 8定时器 /计数器的工作方式 2 有什么特点?适用于什么应用场合? 答:方式 2把TL0 配置成一个可以自动恢复初值的 8位计数器, TH0 作为常数缓冲器, TH0由 软件预置初值。 当 TL0 产生溢出时, 一方面使溢出标志 TF0 置 1 ,同时把 TH0 中的 8 位数据重 新装入 TL0 中。 方式 2 常用于定时控制,或用作串行口波特率发生器。 9要求定时器 /计数器的运行控制完全由 TR1、TR0 确定或完全由 INT0 、INT1高、低电平控制时, 其初始化编程应
8、做何处理? 答: TMOD 中 GATE的值不同:完全由 TR1、TR0确定时 GATE 为 0;完全由 INT0 、 INT1高 低电平控制时 GATE为 1且 TR0、TR1 也要设置为 1。 10定时器/计数器测量某正单脉冲的宽度, 采用何种方式可得到最大量程?若时钟频率为 6MHz ,求 允许测量的最大脉冲宽度。 答:采用方式 1 可得到最大量程。最大脉宽 =2us65536 11THX 与 TLX(X = 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后 的新值是立即刷新还是等当前计数器计满后才能刷新? 答: THX 与 TLX(X=0,1) 是由特殊功能寄存器构成
9、的计数器,其内容可以随时用指令更改, 更改后的新值是立即刷新。但在读 THX 、 TLX 的值时,应该先读 THX 值,后读 TLX ,再读 THX 。若两次读得 THX 相同,则可确定读得的内容正确。若前后两次读得的 THX 有变化, 再重复上述过程。 12定时器 /计数器作为外部中断源使用时,需要如何初始化?以T0 为例通过程序说明。 答: 初始化程序: MOV TMOD, #06H MOV TL0, #0FFH MOV TH0, #0FEH SETB TR0 SETB EA SETB ET0 13采用定时器 /计数器 T0 对外部脉冲进行计数,每计数 100个脉冲后, T0 转为定时工作
10、方式。 定时 1ms 后,又转为计数方式,如此循环不止。假定 AT89S51 单片机的晶体振荡器的频率 为 6MHz ,请使用方式 1 实现,要求编写出程序。 答:定时器 /计数器 T0 在计数和定时工作完成后,均采用中断方式工作。除了第一次计数工 作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位 识别下一轮定时器 /计数器 T0 的工作方式。编写程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN: MOV TMOD,#06H ;定时器 /计数器 T0 为计数方式 2 MOV TL0,#156 ;计数 100 个
11、脉冲的初值赋值 MOV TH0,#156 SETB GATE ;打开计数门 SETB TR0 ;启动 T0,开始计数 SETB ET0 ;允许 T0 中断 SETB EA ;CPU 开中断 CLR F0 ;设置下一轮为定时方式的标志位 WAIT: AJMP WAIT IT0P: CLR EA ;关中断 JB F0,COUNT ;F0=1,转计数方式设置 MOV TMOD,#00H ;定时器 /计数器 T0 为定时方式 0 MOV TH0,#0FEH ;定时 1ms 初值赋值 MOV TL0,#0CH SETB EA RETI COUNT: MOV TMOD,#06H MOV TL0,#156
12、SETB EA RETI 14编写程序,要求使用 T0,采用方式 2 定时,在 P1.0输出周期为 400、s占空比为 10:1 的矩 形脉冲。 答:根据题意, 从 P1.0 输出的矩形脉冲的高低电平的时间为 10:1,则高低电平的时间分别为 363.63 s和 36.37s。如果系统采用 6MHz 晶振的话, Tcy 2 s ,因此高低电平输出取 整,则约为 364 s和 36 s。编写程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN:MOV TMOD,#02H ;定时器 /计数器 T0 为定时方式 2 MOV TL0,#4AH ;定时 3
13、64s 初值赋值 SETB TR0 ;启动 T0,开始计数 SETB ET0 ;允许 T0 中断 SETB EA ; CPU 开中断 SETB P1.0 WAIT:AJMP WAIT IT0P: CLR EA CLR P1.0 ;关中断 MOV R0,#9 DLY: DJNZ R0,DLY ;延时 26 s MOV TL0,#4AH ;定时 364s 初值赋值 SETB P1.0 SETB EA RETI 15已知单片机时钟振荡频率为 6MHz ,利用 T0 定时器,在 P1.1 引脚上输出连续方波,波形如 图 9-23 所示。 图 9-23 题 15 波形图 解:首先计算定时常数: Tc=F
14、FCEH ; 方式 2 Tc=CEH Tc=FFB5H ; 方式 2 Tc=B5H 100us 方式 0Tc=FE0EH ; 方式 1 150us 方式 0Tc=FD15H ; 方式 1 方法一 :采用方式一,定时器中断 流程图: 主程序流程图 中断子程序流程图 源程序: ORG 0000H LJMP START ORG 000BH LJMP TINT0 ORG 0100H START: MOV TMOD, #01H MOV TL0, #0CEH MOV TH0, #0FFH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0
15、: JNB 20H.0, NEXT MOV TL0, #0B5H MOV TH0, #0FFH CLR P1.1 CPL 20H.0 SJMP LAST NEXT: MOV TL0, #0CEH MOV TH0, #0FFH SETB P1.1 CPL 20H.0 LAST:RETI 方法二: 采用方式 2 定时器中断 加延时程序 流程图: 主程序流程图 中断子程序流程图 源程序: ORG 0000H LJMP START ORG 000BH LJMP TINT0 ORG 0100H START: MOV TMOD, #02H MOV TL0, #0CEH MOV TH0, #0CEH SET
16、B TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0: JNB 20H.0, NEXT CLR TR0 CLR P1.1 LCALL DELAY CPL 20H.0 SETB TR0 SJMP LAST NEXT: SETB P1.1 CPL 20H.0 LAST: RETI DELAY: MOV R7, #8 DELAY1: DJNZ R7, DELAY1 RET 16一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时? 答:方式一,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定 时器
17、;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。这种方式 的定时时间为两个定时器定时时间的和。 方式二,一个作为定时器, 在定时中断后产生一个外部计数脉冲 (比如由 P1.0 接 INT0 产生), 另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以另 一个定时器的计数值。 17当定时器 /计数器 T0 用做方式 3 时,定时器 /计数器 T1 可以工作在何种方式下?如何控制 T1 的开启和关闭? 答:T0用作方式 3时,T1可以工作在方式 0、1和 2。T1的开启由 TR1控制,即 TR11 时,T1 开始工作; TR10时或者定时 /计数器工
18、作在方式 3时,T1 停止工作。 18编写一段程序,功能要求为:当 P1.0 引脚的电平正跳变时,对 P1.1 的输入脉冲进行计数; 当 P1.2 引脚的电平负跳变时, 停止计数, 并将计数值写入 R0 、R1(高位存 R1 ,低位存 R0)。 答:将 P1.1的输入脉冲接入 INT0 ,即使用 T0 计数器完成对 P1.1 口的脉冲计数。编写程序 如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN: JNB P1.0, MAIN MOV TMOD,#05H ;定时器 / 计数器 T0 为计数方式 1 SETB TR0 ;启动 T0,开始计数 SETB ET0 ;允许 T0 中断 SETB EA; CPU 开中断 WAIT: JB P1.2, WAIT CLR EA CLR TR0 MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 2 Room Review &Rewards(教学设计)-2023-2024学年人教新起点版英语一年级下册
- MARKETINGENVIRONMENT市场营销环境分析
- 薪酬福利激励体系设计
- 2025年百色道路货运运输从业资格证模拟考试
- 山东省菏泽市部分市县重点中学2024-2025学年初三适应性考试语文试题试卷含解析
- 忻州师范学院《学校体育学A》2023-2024学年第一学期期末试卷
- 山东省济南一中等四校2025届高三年级一模前测试卷4月物理试题含解析
- 上蔡县2025届数学五下期末达标检测试题含答案
- 武汉工商学院《商务泰语》2023-2024学年第二学期期末试卷
- 武汉商学院《合唱与指挥Ⅲ》2023-2024学年第一学期期末试卷
- 临床急救常见急症详解
- 病例分型标准
- LongleyRice无线电波传输模型
- 幕墙工程重要环境因素及采取的措施方案
- 我的家乡烟台课件
- 二级板式换热器热网疏水回收的优势
- 2021届高考英语887核心词(打印、词频、出处、例句、背诵)
- 国外几家气压盘式制动器的比较
- 培养初中学生的数学阅读理解能力
- 卒中相关肺炎的指南解读
- 六下统编版复习2形近字
评论
0/150
提交评论