第7章 定时(计数器)
单片机原理及接口技术(C51编程)第7章 定时器计数器
图7-14 由外部计数输入信号控制LED的闪烁
(3)设置IE寄存器 本例由于采用T1中断,因此需将IE寄存器的EA、ET1位置1。
(4)启动和停止定时器T1 将寄存器TCON中TR1=1,则启动T1计数;TR1=0,则停止T1计数。
参考程序如下:
#include <reg51.h> void Delay(unsigned int i)
7.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,只是计数位数不同。方
式0为13位,方式1为16位。由于方式0是为兼容MCS-48而设,计数初 值计算复杂,所以在实际应用中,一般不用方式0,常采用方式1。
7.4.1 P1口控制8只LED每0.5s闪亮一次 【例7-1】在AT89S51的P1口上接有8只LED,原理电路见图7-
当TMOD的低2位为11时,T0被选为方式3,各引脚与T0的逻辑关系 见图7-8。
T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的状态控制位 C/T* 、GATE、TR0 ,而TH0被固定为一个8位定时器(不能作为外部 计数模式),并使用定时器T1的状态控制位TR1,同时占用定时器T1的 中断请求源TF1。
13。采用T0方式1的定时中断方式,使P1口外接的8只LED每0.5s闪亮 一次。
23
图7-13 方式1定时中断控制LED闪亮
24
(1)设置TMOD寄存器 T0工作在方式1,应使TMOD寄存器的M1、M0=01;应设置C/T*=0,为定
时器模式;对T0的运行控制仅由TR0来控制,应使相应的GATE位为0。定时 器T1不使用,各相关位均设为0。所以,TMOD寄存器应初始化为0x01。 (2)计算定时器T0的计数初值
plc第七章7.基本指令及应用
逻辑堆栈指令
S7-200可编程序控制器使用一个逻辑堆栈来 分析控制逻辑,用语句表编程时要根据这一堆 栈逻辑进行组织程序,用相关指令来实现堆栈 操作,用梯形图和功能框图时,程序员不必考 虑主机的这一逻辑,这两种编程工具自动地插 入必要的指令来处理各种堆栈逻辑操作。 S7-200可编程序控制器的主机逻辑堆栈结构如 表7-1所示。
基本逻辑指令
基本逻辑指令一般指位逻辑指令、定时器指令 及计数器指令。位逻辑指令又含触点指令、线 圈指令、逻辑堆栈指令、RS触发器指令等。这 些指令处理的对象大多为位逻辑量,主要用于 逻辑控制类程序中。
位逻辑指令
1.标准触点指令 标准触点指令有LD、LDN、A、AN、O、ON、NOT、 =指令(语句表)。这些指令对存储器位在逻辑堆栈 中进行操作。 由于堆栈存储单元数的限制,语句表中A、O、AN、 ON指令最多可以连用有限次。同样,梯形图中,最多 一次串联或并联的触点数也有一定限制,功能框图中 AND和OR指令盒中输入的个数也不能超过这个范围 标准触点指令中如果有操作数,则为BOOL型,操作 数的编址范围可以是:I、Q、M、SM、T、C、S、 VL。
//装入常开触点 //或常开触点 //被串的块开始 //被并路开始 //与常开触点 //栈装载或,并路结束 //栈装载与,串路结束 //输出触点 //装入常开触点 //逻辑推入栈,主控 //与常开触点 //输出触点 //逻辑读栈,新母线 //装入常开触点 //或常开触点 //栈装载与 //输出触点 //逻辑弹出栈,母线复 //装入常开出触点 //或常开触点 //栈装载与 //输出触点
5、LRD(逻辑读栈指令)Logic Read LRD,逻辑读栈指令。把堆栈中第二级的值复 制到栈顶。堆栈没有推入栈或弹出栈操作,但 原栈顶值被新的复制值取代。在梯形图中的分 支结构中,当左侧为主控逻辑块时,开始第二 个和后边更多的从逻辑块。应注意,LPS后第 一个和最后一个从逻辑块不用本指令。
单片机原理与应用(方怡冰)1-10
单元0:什么是单片机
本课程《微机原理与接口技术》,主要学习某种型号的微 处理器及其接口电路的结构、工作原理、设计应用。
本课程选择microchip公司的PIC16F877A单片机为学习对 象。
CPU与存储器/寄存器关系是哈佛架构、2级流水线。 接口电路丰富。 8位CPU,适合入门学习。 单片机设计软件、硬件开发套件等易得,理论学习和实践
5.1 中断逻辑
图5-1 PIC16F87X中断逻辑图
5.2 与中断逻辑有关的寄存器
5.2.1 中断控制寄存器INTCON 5.2.2 选项寄存器OPTION-REG INTEDG,这是与上述的外部中断有关的控制位。
1=选择RB0/INT上升沿触发; 0=选择RB0/INT下降沿触发。
5.3 端口RB做中断信号输入时的工作原理 5.3.1 外部中断输入端RB0/INT
用举例
4.1 RA端口
输入\输出端口分别是RA、RB、RC、 RD、RE
图4-2 RA4端口内部结构 图4-1 RA0-3、5端口内部结构
拓展:用汇编指令在RA端口电路上说明电 路工作原理
4.2 RB端口
拓展视:频用:C指用令汇在编R指B端令口在电RB路端上口说电明路上说明 电路工作原理 图4-3 RB0-3端口内部结构
第3脚:V0为液晶显示器对比度调整端
第4脚:RS为寄存器选择,高电平时选择 数据寄存器、低电平时选择指令寄存器
第5脚:RW为读写信号线,高电平时进行 读操作,低电平时进行写操作
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令 第7~14脚:D0~D7为8位双向数据线 第15~16脚:背光灯电源正负极
STM8S系列单片机原理与应用(潘永雄)第6-11章章 (2)
第7章 STM8S系列MCU定时器
TIM1定时器功能完善,可实现下列操作: (1) 基本定时操作、计数操作。 (2) 利用输入捕获功能,测量脉冲信号时间参数(高、低 电平时间)。 (3) 利用输出比较功能,可产生单脉冲信号、PWM信号 等。 (4) 在PWM输出信号中,具有死区时间编程选择功能。 (5) 具有与其他定时器联动的功能。
第7章 STM8S系列MCU定时器
表7-1 STM8S定时器的主要功能
定时器 计数 计数 编号 方向 长度
分频系数
捕获 /比较 (CC) 通道数
向上
1~65 536 之间任意
TIM1
16
4
向下
整数
互 补
重 复 计
外部 刹车 与其他定时
计数脉冲可选
输 数 输入 器级联
出器
可选,有外部 3 8 位 1 TIM5、TIM6
第7章 STM8S系列MCU定时器 图7-1 高级控制定时器TIM1的内部结构
第7章 STM8S系列MCU定时器
7.2 TIM1时基单元
TIM1时基单元内部结构如图7-2所示。它由16位预分频 器TIM1_PSCR(TIM1_PSCRH, TIM1_PSCRL)、16位双向(向 上或向下)计数器TIM1_CNTR(TIM1_CNTRH, TIM1_CNTRL)、 16位自动重装寄存器TIM1_ARR(TIM1_ARRH,TIM1_ARRL) 及8位重复计数器TIM1_RCR组成。
定时器与计数器
第7章定时器/计数器MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,这第三个称定时器T2)。
它们既可用作定时器方式,又可用作计数器方式。
7 . 1定时器/计数器结构定时器/计数器的基本部件是两个8位的计数器(其中TH1,TL1是T1的计数器,TH0,TL0是T0的计数器)拼装而成。
在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器也可看作是对计算机机器周期的计数器(因为每个机器周期包含12个振荡周期,故每一个机器周期定时器加1,可以把输入的时钟脉冲看成机器周期信号)。
故其频率为晶振频率的1/12。
如果晶振频率为12MH Z,则定时器每接收一个输入脉冲的时间为1us。
当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。
在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1(它在每个机器周期的S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,则计数器加1)。
加1操作发生在检测到这种跳变后的一个机器周期中的S3P1,因此需要两个机器周期来识别一个从“1”到“0”的跳变,故最高计数频率为晶振频率的1/24。
这就要求输入信号的电平要在跳变后至少应在一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次。
定时器/计数器有四种工作方式,其工作方式的选择及控制都由两个特殊功能寄存器(TMOD和TCON)的内容来决定。
用指令改变TMOD或TCON的内容后,则在下一条指令的第一个机器周期的S1P1时起作用。
1、定时器的方式寄存器TMOD图7-1 TMOD寄存器各位定义特殊功能寄存器TMOD为定时器的方式控制寄存器,寄存器中每位的定义如图7-1所示。
高4位用于定时器1,低4位用于定时器0。
其中M1,M0用来确定所选的工作方式,如表7-1所示。
①M1 M0 定时器/计数器四种工作方式选择,见表7-1所示。
飞思卡尔8位单片机-第7章 定时器和比较器模块
二、TPM中的寄存器
(三)TPM模寄存器(TPMMODH:TPMMODL)
TPMMOD高位 TPMMODH
TPMMOD低位 TPMMODL
两个可读/写8位寄存器,定义计数器的最大值 加法计数器(CPWMS=0),当计数器计数到与模寄存 器数值相等时,TPMCNT翻转至0x0000 加/减计数器(CPWMS = 1),当计数器计数到与模寄存器 数值相等时,计数器开始递减。
表7-5 模式、沿和电平选择
CPWMS MSnB: MSnA ELSnB: ELSnA
模式
功能
x 0
xx 00
00 01 10 11 00 01 10 11 10 x1
通道未使用外部管脚,可能是管脚作为TPM的外部时钟 输入或者是将管脚作为通用I/O使用。 输入捕捉 仅上升沿捕捉 仅下降沿捕捉 上升沿或下降沿都捕捉 仅软件比较,无管脚输出 比较匹配时,外部管脚翻转 比较匹配时,外部管脚清0 比较匹配时,外部管脚置1 脉宽有效期间高电平(比较匹配时, 外部管脚清0) 脉宽有效期间低电平(比较匹配时, 外部管脚置1) 脉宽有效期间高电平(比较匹配时, 外部管脚清0) 脉宽有效期间低电平(比较匹配时, 外部管脚置1)
触发:外部引脚发生有效电平跳变
响应: CHnF=1 , 主计数器TPMCNT值→通道辅助寄存器TPMCnV
三、TPM模块的功能模式
(二)输出比较
功能:从外部引脚输出可编程脉冲
模式设定方式:
CPWMS 0 MSnB: MSnA 01 ELSnB: ELSnA 00 01 10 11 模式 输出比较 功能描述 仅软件比较,无管脚输出 比较匹配时,外部管脚翻转 比较匹配时,外部管脚清0 比较匹配时,外部管脚置1
第7章 常用时序逻辑功能器件
5
第七章 常用时序逻辑功能器件
*** 中规模集成计数器
学习应注意以下几点: (1)编码 自然二进制/8421十进制 (2)模数 5进制、10进制、16进制 (3)加、减、可逆 (4)清0、置数端 同步还是异步
6
第七章 常用时序逻辑功能器件
74x161(74LS161 ,74HCT161): 4位二进制同步加法计数器 74x160: 8421十进制加法计数器(实验五) 74x290:异步二—五—十进制计数器 74x390:异步二—十进制计数器 主要任务: 读功能表掌握计数器使用方法 学会使用集成计数器构成任意进制计数器的方法
RCO ET Q D Q C Q B Q A
10
第七章 常用时序逻辑功能器件
74x161计数状态
1
CR D D D D 1 CET 0 1 2 3 TC 1 CEP 74x161 CP > Q Q Q Q PE 0 1 2 3
1
M=16
11
第七章 常用时序逻辑功能器件
1)异步清零。CR=0 时, 计数器输出直 接清零 Q3Q2Q1Q0 = 0000.无需CP 2)同步并行预置制数。
31
第七章 常用时序逻辑功能器件
基本寄存器 按照功能
Q0
FF0
Q1
FF1
移位寄存器 并行
串行
按照存、取 数据方式
D0
D1
应用: 存储代码、串/并行转换、数值计算、缓冲区
32
第七章 常用时序逻辑功能器件
一、 集成中规模双向移位寄存器74x194 P284 DSR:右移串行输入端 Q0 Q1 Q2 Q3 CP S1 S0 DSL:左移串行输入端 VCC DI3,2,1,0 :并行输入端 Q3~ Q0:数据输出端 74x194 CP:时钟脉冲输入端 D GND 上升沿触发 CR DSRDI0DI1 DI2 DI3 SL CR CR :清零端, =0时清零
KL25-ch07(定时器模块)-20130910课件
15
PIT有以下三个基本操作: 1.定时器 当使能时,定时器定期产生触发。定时器加载 LDVAL寄存器中指定的开始值,递减计数到0,然后再次加 载单独的开始值。每当定时器达到0时,它将生成一个触发 脉冲并置位中断标志。一个新的中断只有在当前一个中 断被清0后才能产生。 有两种方法来改变计数器的周期: 1)通过先禁用定时器,设置一个新的载入值,然后再 使能计时器的方式可以修改正在运行的定时器的计数器 周期。
7.4.3 PIT构件设计及测试实例 在 P183 的 程 序中 ,将 MCU 的 串口与 PC 机相连 , PIT每次中断进行一次计时,并通过串口将计时信息发送 给PC机。通过串口调试工具,我们可以看到时间计数值 在递增。 PIT 模块具有初始化、使能 PIT 通道、禁止 PIT 通道以及PIT中断处理函数。
2
7.2 ARM Cortex-M0+内核时钟
ARM Cortex-M内核中包含了一个简单的定时器 SysTick,又称为“滴答”定时器。 SysTick定时器被捆 绑在NVIC(嵌套向量中断控制器)中,有效位数是24位 ,采用减1计数的方式工作,当减1计数到0,可产生 SysTick异常(中断),中断号为15。
7.2.2 Systick构件设计及测试工程
书P158给出以Systick定时器模块为时钟源,每隔一 秒钟通过串口向PC机发送时钟、分钟和秒钟的应用。
5
7.3 定时器/PWM模块功能概述及编程结构
7.3.1 TPM模块功能概述
TPM(定时器/脉宽调制模块)共有三个模块 TPM0/TPM1/TPM2,TPM0有6个通道,TPM1和TPM2 只有2个通道。TPM支持输入捕捉、输出比较,并且能够 产生PWM信号来控制电机。 TPM的基本定时器部分是一个递增的计数器,通过 设定模块的溢出值,当计数器递增到该数值时,产生 TPM中断,可以通过选择时钟源和溢出值设定该计数器 的频率。 1.外部引脚 TPM模块具有基本定时、输入捕捉、输出比较、脉 宽调制(PWM)功能。
微机原理与接口技术_第7章8253
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
第7章习题解答
第7章思考题及习题71.如果采用的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?答:晶振的频率为24MHz, 机器周期为µs。
方式0最大定时时间=µs×213=µs×8192=4096µs方式1最大定时时间=µs×216=µs×65536=327686µs方式2最大定时时间=µs×28=µs×256=128µs2.定时器/计数器用作计数器模式时,对外界计数频率有何限制?答:外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
3.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
4.TH x与TL x(x= 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
5.Proteus虚拟仿真使用定时器T0,采用方式2定时,在脚输出周期为400µs,占空比为4:1的矩形脉冲,要求在脚接有虚拟示波器,观察脚输出的矩形脉冲波形。
答:略6.Proteus虚拟仿真利用定时器T1的中断来使控制蜂鸣器发出1kHz的音频信号,假设系统时钟频率为12MHz。
答:利用定时器T1的中断控制引脚输出频率为1kHz的方波音频信号,驱动蜂鸣器发声。
系统时钟为12MHz。
方波音频信号的周期为1ms,因此T1的定时中断时间为 ms,进入中断服务程序后,对求反。
电路如图所示。
图控制蜂鸣器发出1kHz的音频信号先计算T1初值,系统时钟为12MHz,则方波的周期为1µs。
第7章习题解答
第7章思考题及习题71.如果采用的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?答:晶振的频率为24MHz, 机器周期为0.5µs。
方式0最大定时时间=0.5µs×213=0.5µs×8192=4096µs方式1最大定时时间=0.5µs×216=0.5µs×65536=327686µs方式2最大定时时间=0.5µs×28=0.5µs×256=128µs2.定时器/计数器用作计数器模式时,对外界计数频率有何限制?答:外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
3.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
4.TH x与TL x(x= 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
5.Proteus虚拟仿真使用定时器T0,采用方式2定时,在P1.0脚输出周期为400µs,占空比为4:1的矩形脉冲,要求在P1.0脚接有虚拟示波器,观察P1.0脚输出的矩形脉冲波形。
答:略6.Proteus虚拟仿真利用定时器T1的中断来使P1.7控制蜂鸣器发出1kHz的音频信号,假设系统时钟频率为12MHz。
答:利用定时器T1的中断控制P1.7引脚输出频率为1kHz的方波音频信号,驱动蜂鸣器发声。
系统时钟为12MHz。
方波音频信号的周期为1ms,因此T1的定时中断时间为0.5 ms,进入中断服务程序后,对P1.7求反。
中职教育-《89C51单片机实用教程》课件:第7章 89C51单片机中断系统和定时器(4).ppt
SJMP LOOP
END
例7.9 工作模式1的应用 利用定时器 T1 工作模式1, 在引脚 P1.1 上输出
7.4 89C51单片机中定时器/计数器的应用
在定时器/计数器应用时,进行如下工作: 1. 设定TMOD来选择定时器T0,T1的工作方式:
按照实际需要,选择定时方式还是计数方式; 按照定时长短,选择工作模式0、1、2或 3 ; 按照具体要求,选择是否受INT0 (INT1) 控制。 2.根据定时时间长短和工作模式计算计数初值: 根据工作模式,计算出定时时间的计数初值 ;
将计数初值送入定时器中(TH1,TL1,TH0、TL0) 3. 对TCON的设定来启动定时器/计数器工作。 4. 正确选择用程序查询方法或程序中断方式来进
行定时时间到(计数溢出)后的处理操作。
7.4.1 定时器工作方式的设置和计数初值计算
对定时器的工作模式寄存器TMOD进行设定:
l. 定时方式和计数方式选择。
解: ⑴ 如图在引脚 P1.0 上输出周期为 2ms 连续方波,
需要定时器 T0 产生 1ms 的定时。 每隔1ms时间 P1.0 引脚的输出取反即可。
解:
⑵. T0工作于模式0,计数器为13位的加1计数器, fosc=6MHz,则1个振荡周期为1/6μs 定时时间为1ms,根据公式: t =(213-T0初值)×振荡周期×12 1×10-3=(213-T0初值) ×( 1/6×10-6 ) ×12 T0初值= 7692 = 1111000001100B
多为:213=8192个。
例7.5 定时器T0工作在模式0, CPU主频 fosc=6MHz 定时1ms, T0的初值为多少?计算最长定时时间?
解:T0工作于模式0时, 为13位的加1计数器 ①. 定时1ms,根据公式:
第7章 STC15单片机的计数器-单片机原理及接口技术-彭文辉-清华大学出版社
位符号 TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
88H
位地址 8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
(1)TF0、TFl——T0、Tl计数溢出标志位。当计数器计数溢出时,该位置“1”。
(2)TR0、TRl——T0、Tl计数运转控制位。当TR1置“1”时,T/C才可能启动, 但是否启动T/C,还与GATE位的状态有关。
单片机原理与接口技术————基于STC1T5系4H列的51单片机
字节地址 8CH 8AH 8DH 8BH D6H D7H D4H D5H
第7章D2SHTC15单片机定时/计数器
第三节 定时/计数器的工作方式
T0、T1的工作方式0 T0、T1的工作方式1 T0、T1的工作方式2
定时/计数器的工作方式
1.STC单片机T/C有两种工作模式——定时模式和计数模式。每个 T/C都有四种工作方式。具体的工作模式和工作方式可以通过 TMOD寄存器设定
第7章 STC15单片机定时/计数器
二、计数寄存器
1.在STC15系列单片机为5个T/C设置了5组计数寄存器。用于保存计数值。每 组寄存器又由两个8位的寄存器组成,为TH和TL。每个寄存器有唯一地址对应。
2.计数寄存器用于存储计算初值和计算中间值。
计数寄存器地址表
寄存器符号 TH0 TL0 TH1 TL1 T2H T2L T3H T3L
单片机原理与接口技术————基于STC15系列的51单片机
第7章 STC15单片机定时/计数器
一、特殊功能寄存器-续1
3.工作方式寄存器TMOD
位
D7
单片机原理及智能仪表技术第7章
计数状态:X=M-N
定时状态:X=M-定时时间/T,T为机器周期
2、TMOD定时器方式设置寄存器(89H):
TMOD主要用于 选择定时器的工作 模式(C/T)、启动方 式(GATE)和工作方 式等。该寄存器的 格式如图所示。
2、TMOD定时器方式设置寄存器(89H):
TMOD,#方式字 THx,#XH TLx,#XL EA ETx TRx
;选择方式 ;装入Tx时间常数 ;开Tx中断
;启动Tx定时器
需考虑:1. 按实际需要选择定时/计数功能; 2. 按时间或计数长度选择工作方式; 3. 计算时间常数:
二、定时/计数器初值的计算
(1)定时器初值的计算
在定时器模式下,计数器由单片机主脉冲经 12 分频后 计数。因此,定时器定时时间T的公式:T=(M-TC)×T计数, 上式也可写成:TC=M-T/T计数 式中,M为模值,和定时器的工作方式有关,在方式0时 M为213,在方式1时M为216,在方式2和方式3时M为28;T计数是 单片机振荡周期TCLK的12倍;TC为定时器的定时初值。 例:单片机时钟频率12MHz,定时器工作在方式1下,定 时100us,初值为多少? 解:时钟频率Ф CLK=12MHz,所以振荡周期TCLK=1/12us T计数=12×TCLK=1us,M=216=65536,T=100us 所以,TC=65536-100/1=65436,0xFF9C
定时器工作方式:当选择定时器方式时(C/T=0),TR1=1,定时器对系统的机器周 期计数,每过一个机器周期,计数器TH1,TH0加1,直至计满规定个数回零,置 位定时器中断标志(TF1)产生溢出中断。根据机器周期和设定的计数初值,可以定 时产生各种精确的时间。 计数器工作方式:当选择计数器方式时(C/T=1),外部脉冲通过引脚T1(P3.5)引入, 计数器对此外部脉冲的下降沿进行加1计数,直至计满规定值回零,置位定时器中 断标志(TF1)产生溢出中断。根据规定的时间内的计数个数,可以得到信号的频率。 计数最高频率不得超过振荡频率的1/24。
单片机第七章习题参考答案
第七章习题参考答案一、填空题1、在串行通信中,有数据传送方向为单工、半双工和全双工三种方式。
2、要串口为10位UART,工作方式应选为方式1 。
3、用串口扩并口时,串行接口工作方式应选为方式0 。
4、计算机的数据传送有两种方式,即并行数据传送和串行数据传送方式,其中具有成本低特点的是串行数据传送方式。
5、串行通信按同步方式可分为异步通信和同步通信。
6、异步串行数据通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。
7、串行接口电路的主要功能是串行化和反串行化,把帧中格式信息滤除而保留数据位的操作是反串行化。
8、专用寄存器“串行数据缓冲寄存器”,实际上是发送缓冲寄存器和接收缓冲寄存器的总称。
9、MCS-51的串行口在工作方式0下,是把串行口作为同步移位寄存器来使用。
这样,在串入并出移位寄存器的配合下,就可以把串行口作为并行输出口使用,在并入串出移位寄存器的配合下,就可以把串行口作为并行输入口使用。
10、在串行通信中,收发双方对波特率的设定应该是约定的。
11、使用定时器/计数器设置串行通信的波特率时,应把定时器/计数器1设定作方式 2 ,即自动重新加载方式。
12、某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)组成。
当该串行口每分钟传送1800个字符时,则波特率应为300b/s 。
解答:串口每秒钟传送的字符为:1800/60=30个字符/秒所以波特率为:30个字符/秒×10位/个字符=300b/s13、8051单片机的串行接口由发送缓冲积存器SBUF、接收缓冲寄存器SBUF 、串行接口控制寄存器SCON、定时器T1构成的波特率发生器等部件组成。
14、当向SBUF发“写”命令时,即执行MOV SBUF,A 指令,即向发送缓冲寄存器SBUF装载并开始由TXD 引脚向外发送一帧数据,发送完后便使发送中断标志位TI 置“1”。
15、在满足串行接口接收中断标志位RI=0 的条件下,置允许接收位REN=1 ,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1,当发读SBUF命令时,即指令MOV A,SBUF 指令,便由接收缓冲寄存器SBUF取出信息同过8051内部总线送CPU。
第7章8253微机原理及应用
MOV AL,37H;写入方式控制字 OUT 83H,AL MOV AL,50H;写入计数初始值低8位 OUT 80,AL MOV AL,12H ;写入计数初始值高8位 OUT 80H,AL
(3)读计数值 ①以普通对计数器端口读的方法取得当前计数值 ②锁存计数器的当前值(RL1RL0=00)
7.2.4 8253-5的应用举例 一、用8253-5监视一个生产流水线 1.硬件设计
INT 1 +5V
2.5MHz 8255PA0
OUT0 CLK0
GATE0
8253
CLK1 GATE1
OUT1
• 方式2:可变频率脉冲发生器
(MODE 2) CLOCK
WRn#
OUTPUT
n=4
n=3
4 3 2 1 0(4) 3 2 1 0(3) 2 1 0
0(3) OUTPUT
3 2 1 0(3) 2 1 0(3) 2 1 0
GATE (RESET)
方式3—方波速率发生器 方式3的输出都是周期性的,方式3在计数过程中输出
(2)计数器1用来产生动态存储器刷新操作的定 时控制,它工作于方式2,计数初值为18, OUT1端输出一个负脉冲序列,其脉冲周期约 为18 ÷1.1931816MHz=15.08(μs)。该输出将 作为动态刷新控制器8237A中通道0的DMA请 求信号DREQ0,控制DMA控制器完成每隔 15.08(μs)对系统中的动态存储芯片进行一次 刷新操作
– 选通输入(门控输入)GATE——用于启动或禁止计数器的 操作,以使计数器 和计测对象同步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 .2
2.2.1
模式0(方式0)与应用(P151) 模式0(方式0)与应用(P151) 0(方式0)与应用
结构框图
12
2.2.2 说明 若把M1,M0设置为00,则定时器工作于方式0。方式0为13 位的计器,由TL0的低5位和TH0的8位组成。TL0低5位计数溢 出时向TH0进位,TH0计数溢出时,置标志位TF0为“1”,同 时申请定时器T0中断。进人中断后该位自动被硬件清0,也可 用软件查询TF0。方式0初值计算麻烦,较少采用。 2.2.3 初值计算 当C/T=0时,多路开关连接振荡器的12分频器输出,T0对 机器周期脉冲计数,这是定时工作方式。其定时时间为: 的初值) 定时时间 t = (213-T0的初值)×机器周期 的初值) 时钟周期× = (213-T0的初值)×时钟周期×12
2
89C51单片机中有两个计数器,分别称之为T0和T1,这两 个计数器分别是由两个8位的RAM单元组成的,即每个计数 器都是16位的计数器,最大的计数量是65536。 1.1.3 定时 89C51中的计数器除了可以作为计数之用外,还可以用作 时钟。时钟的用途当然很大,如打铃器,电视机定时关机, 空调定时开关等等,那么计数器是如何作为定时器来用的呢? 一个闹钟,我将它定时在1个小时后闹响,换言之,也可以 说是秒针走了(3600)次,所以时间就转化为秒针走的次数 3600 的,也就是计数的次数了。 可见,计数的次数和时间之间的确十分相关。那么它们的 关系是什么呢?那就是秒针每一次走动的时间正好是1秒。为 此,只要计数脉冲的间隔相等,则计数值就代表了时间的流 逝。 可见,单片机中的定时器和计数器是同一事物,只不过计 数器是记录的外界的事情,而定时器则是由单片机提供一个 非常稳定的计数源。
10
TF1也可用程序置位或清0。这就是说,定时/计数器T1的中 断请求还能用程序产生,这称为软件中断。 ● TR1(TCON.6)——定时/计数器T1运行控制位。 TR1置l时,定时/计数器T1开始工作;TR1置0时,定时/ 计数器T1停止工作。TR1由软件置1或清0。所以,用软件可控 制定时/计数器的起停。 ● TFO(TCON.5)——定时/计数器TO溢出中断请求标志位, 其功能与TF1相同。 ● TR0(TCON.4)——定时/计数器T0运行控制位,其功能 与TR1相同。
4
定时/ 1.1.5 定时/计数器的计算 如果计数器的容量为:16位,则最大的计数值到65535。 因此计数计到65536就会产生溢出。 但现实生活中,经常会要求不到65536时就要发生溢出, 如何解决?比如:一个空的盆要1万滴水滴进去才会满,我 在开始滴水之前就先放入一勺水,还需要1万滴嘛?—— 采 用预置数的方法,若要计数100,那我就先放进65436,再来 100个脉冲,不就到了65536了吗? 定时也是如此,每个脉冲是1微秒,则计满65536个脉冲 1 65536 需时65.536毫秒,但现在我只要10毫秒就可以了,怎么 办?——10个毫秒为10000个微秒,所以,只要在计数器里 面放进55536就可以了。 51单片机概述 1.1.6 51单片机概述 89C51单片机中有2个16位的定时器/计数器,一般用TO表 TO表 TO 示定时器/计数器0 T1表示定时器 计数器1 表示定时器/ 示定时器/计数器0,T1表示定时器/计数器1。定时器/计数 器有定时和计数两种功能,其内部实质上是加法计数器。 它们都有定时和事件计数的功能,可用于定时控制、延时、 对外部事件计数和检测等场合。
1
2 3 4
SETB TRx ;启动定时器 TLx, 8192-COUNT) MOV TLx, #[(8192-COUNT) MOD 32] 制 MOV THx, #[(8192-COUNT) / 32 ] THx, 8192-COUNT) JNB TFx ;检查TFx是否溢出 检查TFx是否溢出 TFx ;取余数转16进 取余数转16进 16 ;取商转16进制 取商转16进制 16
7
1.3.2 定时器的优点 不论是定时工作方式还是计数工作方式,定时器在对内部 时钟或外部脉冲计数时,都不占用CPU时间,启动定时器/计 数器后,它们就自动工作,除非定时器/计数器定时时间到或 计数次数到,才可能中断CPU的当前操作,请求CPU处理,处理 完成后马上回到断点处继续原来的程序,而不是像软件延时那 样,始终占用CPU的时间,不能做其他处理。
1 .5
【TCON】—定时控制寄存器 TCON】
TCON的低4位用于控制外部中断,在中断方面已作介绍, 不再重述。TCON的高4位用于控制定时/计数器TO、T1的运 行。其格式如下:
●
TF1(TCON.7)——定时/计数器T1溢出中断请求标志 位。 定时/计数器T1计数溢出时由硬件自动置TF1=1。若中 断开放,CPU响应中断后TF1由硬件自动清0。T1工作时, CPU可随时查询TF1的状态。所以,采用查询方式时,TF1 可用作查询测试标志。
3
定时/ 1.1.3 定时/计数器的实质 定时/计数器的实质是一个X位的寄存器。完成定时或者 计数功能时都必须向其中输入计数脉冲。 如果一个12MHz的晶振,它提供给计数器的脉冲时间 间隔是多少呢?——1us。可见,计数脉冲的间隔与晶振 有关,6MHz的晶振,计数脉冲的间隔是2微秒。 定时/ 1.1.4 定时/计数器的溢出 让我们再来看水滴的例子,当水不断落下,盆中的水不 断变满,最终有一滴水使得盆中的水满了。这时如果再有 一滴水落下,就会发生什么现象?——水会漫出来,用个 术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0变为 “1”。至于TF0是什么,以后再谈。 一旦TF0由0变成1,就是产生了变化,产生了变化就会 引发事件,就象定时的时间一到,闹钟就会响一样。
15
2.2.6 应用实例 设f= 12 MHz,定时时间t=2ms,求定时器TO的初值及THO、 TL0的值。 ● 方法1: TO的初值=213-定时时间t×时钟频率/12=213-2×10-3 ×12×106/12=8192-2000=6192=1830H=11000001 10000B 将TO的初值低5位送TLO,高8位送THO,则THO=OC1H, TL0=10H。 ● 方法2: TL0 = (8192-2000)/32 取余数 = 16 = 10H。 TH0 = (8192-2000)/32 取商 = 193 = OC1H,
14
当GATE=1,且TR0=1时,或门、与门全部打开,定时 器/计数器打开或关断受外部INT0脚信号的影响,INT0引 脚输入高电平时,允许计数,否则停止计数。常用这种操 作方式来测量外部INT0引脚信号的脉冲宽度。 2.2.5 应用方法
序号 MOV MOV MOV MOV TMOD, TMOD, TMOD, TMOD, #xxxx #x000 #xxxx #x100 设定MODE0的步骤 的步骤 设定 x000B xxxxB x100B xxxxB ;T0设定计时工作方式(内部输入) T0设定计时工作方式(内部输入) 设定计时工作方式 T1设定计时工作方式 内部输入) 设定计时工作方式( ;T1设定计时工作方式(内部输入) T0设定计数工作方式 T0输入 设定计数工作方式( 输入) ;T0设定计数工作方式(T0输入) ;T1设定计数工作方式(T1部输入) T1设定计数工作方式(T1部输入) 设定计数工作方式 部输入
M1M0 00 01 10 11 工作方式 方式0 方式1 方式2 方式3 功能 13位定时/计数器 16位定时/计数器 8位自动重装载定时/计数器 TO:分成两个8位定时/计数器 T1:停止计数
注意:TMOD不能位寻址,只能用字节指令设置定时/计 注意:TMOD不能位寻址,只能用字节指令设置定时/ 不能位寻址 数器的工作方式。CPU复位时 TMOD所有位清 复位时, 所有位清0 数器的工作方式。CPU复位时,TMOD所有位清0。 9
13
当C/T=1时,多路开关与引脚TO(P3.4)相连,外部计数 脉冲由引脚TO(P3.4)输入,当外部信号电平发生“1”到“0” 的跳变时,计数器加1,这时,T0成为外部计数器。其计数值 为: 计数次数 = 213-T0的初值 2.2.4 门控位的影响 当GATE=0时,允许软件控制位TR0或TR1启动定时器。 GATE信号经过“非”门后,输出变为“1”。由于该信号和引 脚INT0输入信号同为“或”门输入,所以“或”门的输出也 变为“l”。作为计数开关的“与”门只由TR0来控制。若TR0 置1,接通控制开关,启动定时器T0工作,允许TO在初值上加 法计数,直到溢出。溢出时,TH0、TL0寄存器复位,TF0置1, 并可申请中断。若不重装T0的初值,则T0的初值以0开始计数。 若TRO=0,则关断控制开关,停止计数。
1 .4
【TMOD】—工作模式寄存器(P149) TMOD】 工作模式寄存器(P149)
TMOD寄存器用来设置TO和T1的工作模式、定时/计数方式 以及其他引脚信号对定时器/计数器的影响等,其字节地址为 89 H,格式如图所示。
8
●
●
●
GATE——门控位。 GATE=0,允许软件控制位TR0或TR1启动定时/计数器工作; GATE=1,允许外部中断引脚INT0或INT1启动定时/计数器工作。 C/T——定时/计数器方式选择。 C/T=0为定时器方式;C/T=1为计数器方式。 M1M0:工作方式选择位。 定时/计数器四种工作方式的选择由M1M0的值决定,见表所示
5
1 .2
51单片机TC的结构 51单片机TC的结构 单片机TC
单片机中与定时器有关的特殊功能寄存器有:TMOD、 TCON、TH0、TL0、TH1和TL1。 TMOD是模式控制寄存器,其中两位控制两个定时器/计 数器的工作方式。TH0、TL0、TH1、TL1是时间常数寄存器, 用来存放定时或计数的初值。TCON是控制寄存器,它控制定 时器/计数器的启动和关闭。定时器结构如图所示。
7 单片机的定时 计 单片机的定时/计 数器及应用 数器