定时计数器(B)

合集下载

单片机技术及应用B(答案)

单片机技术及应用B(答案)

信宜市职业技术学校(职教中心)2018-2019学年度第一学期期末统一考试《单片机技术及应用》试卷(B卷)(17级、电子专业、17东芝)班、出题教师李庆生)班别:姓名:学号:答卷说明: 1、本试卷共4页,4个大题,满分100分,90分钟完成。

一、填空题(每小题1分,共30分)1、8051的P0 口为低8位地址总线口, P3口为第二功能口。

2、修饰符interrupt m中m的取值为1对应的定时器/计数器0中断源,修饰符using n的功能是使用工作寄存器组号_。

3、定义变量a、b为内部RAM的无符号型字符变量,对应的指令是 unsigned char a,b;。

4、特殊功能寄存器TCON用于控制定时/计数器的中断标志和运行控制。

5、对于IE寄存器来说,开放总中断,其对应的C51命令为_EA=1___,允许串口中断,其对应的C51命令为__REN=1______。

6、变量tmp=0x01,经执行指令tmp<<1|0x01后tmp的值为_0x03___。

变量a1=0xff,if(!a1)结果是_假___ (真/假)。

7、单片机内有组成微机的主要功能部件CPU、储存器和外部接口。

8、LED数码管的显示方式有__动态扫描____和_静态______两种。

9、键盘抖动的消除有两种方法__软件____ __和___硬件 ______,硬件消除抖动的方法是_触发电路_______,软件去抖动的方法是___延时_______。

10、EA 被称为__内外程序储存选择__,当它为高电平时,首先访问__片内___,当它为低电平,只访问__外部程序________。

11、若已知向液晶写入命令的函数是Write_Commond,那么向RT-1602写入清屏的命令是Write_Commond(0x01),引脚RS用于控制传送数据或指令,R/W用于控制读写选择。

12、KeiL C51软件中,工程文件的扩展名是___.uvproj_______,C语言源文件扩展名为__.c_____,编译连接后生成可烧写的文件扩展名是_.hex__________。

定时器计数器讲解

定时器计数器讲解
6-13所示,计数输入引脚T1(P3.5)上外接开关K1,作为 计数信号输入。按4次K1后,P1口的8只LED闪烁不停。 (1)设置TMOD寄存器
TR1位(或TR0位)=1,启动定时器工作的必要条件。 TR1位(或TR0位)=0,停止定时器工作。 该位可由软件置“1”或清“0”。
10
6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。
6.2.1 方式0 当M1、M0为00时,定时器/计数器被设置为工作方式0,
这时定时器/计数器的等效逻辑结构框图如图6-4所示(以定 时器/计数器T1为例,TMOD.5、TMOD.4 = 00)。
(1)GATE=0时,A点(见图6-4)电位恒为1,B点电位仅 取决于TRx状态。TRx = 1,B点为高电平,控制端控制电子 开关闭合,允许T1(或T0)对脉冲计数。TRx = 0,B点为低 电平,电子开关断开,禁止T1(或T0)计数。
(2)GATE=1时,B点电位由INTX*(x = 0,1)的输入电 平和TRx的状态两个条件来定。当TRx=1,且INTX*=1时,B 点才为1,控制端控制电子开关闭合,允许T1(或T0)计数。 故这种情况下计数器是否计数是由TRx和INTX*两个条件来共 同控制。
图6-1 AT89S51单片机的定时器/计数器结构框图
4
只不过计数信号的来源不同。 计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚上
的外部脉冲进行计数(见图6-1) 定时器模式是对单片机的系统时钟信号经片内12分频后的
内部脉冲信号(机器周期)计数。由于时钟频率是定值,所 以可根据对内部脉冲信号的计数值可计算出定时时间。
本例由于采用定时器T0中断,因此需将IE寄存器中的EA、 ET0位置1。 (4)启动和停止定时器T0

定时器计数器实验报告

定时器计数器实验报告

定时器计数器实验报告简介:定时器是一种用来产生、计数和处理时间信号的计时装置。

在数字电路中,定时器主要分为内部定时器和外部定时器两类,内部定时器是在单片机内部实现的,外部定时器则是通过外部电路实现的。

计数器则是一种用来计数的电子元件,根据不同的使用场合和要求,计数器可以分为多种类型。

在嵌入式系统中,定时器计数器应用广泛,例如在时钟、延时、计数等方面都有很大的作用。

实验目的:1. 学习定时器和计数器的基本原理及应用。

2. 熟悉定时器和计数器在单片机中的编程方法。

3. 掌握通过定时器和计数器实现延时和计数功能的方法。

实验器材:1. STM32F103C8T6开发板2. ST-LINK V2下载器3. 电脑实验内容:一、实验1:使用定时器和计数器实现延时功能1. 在Keil C中新建一个工程,并编写以下程序代码:```#include "stm32f10x.h"void TIM2_Int_Init(u16 arr,u16 psc){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure ;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);TIM_TimeBaseStructure.TIM_Period = arr;TIM_TimeBaseStructure.TIM_Prescaler=psc;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode _Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE );NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);TIM_Cmd(TIM2, ENABLE);}void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {TIM_ClearFlag(TIM2, TIM_FLAG_Update);GPIO_WriteBit(GPIOB,GPIO_Pin_12,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12)));}}int main(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure);TIM2_Int_Init(9999,7199);while (1);}```2. 将STM32开发板连接到电脑,并下载程序到开发板中。

单片机原理及应用A-题库

单片机原理及应用A-题库

单片机原理及应用A-题库1、单片机就是把(CPU)、( 输入输出)、和( 存储器 )等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统 ),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器 )或(微控制器)。

2、当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。

3、MCS-51单片机内部RAM区有(4)个工作寄存器区。

4、MCS-51单片机内部RAM区有128个位地址5、若不使用89C51片内的程序存储器,引脚()需要接地。

6、当MCS-51引脚(ALE)信号有效时,表示从P0口稳定地送出了低8位地址.7、在单片机的RESET端出现(2)个机器周期以上的高电平时,便可以可靠复位8、MCS-51系列单片机有:(外部中断0), (外部中断1), (定时/计数器T0溢出中断),(定时/计数器T1溢出中断), (串行口)等5个中断请求源。

9、C51中“!”运算符的作用是(取反)10、所谓的单片机,就是将CPU、存储器、定时计数器、中断功能以及I/O设备等主要功能部件都集成在一块超大规模集成电路的微型计算机。

(正确)11、8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。

(正确)12、8位二进制数构成一个字节,一个字节所能表达的无符号数的范围是0-255。

(正确)13、8051中的工作寄存器就是内部RAM中的一部份。

(正确)14、使用89C51且 =0时,可外扩64KB的程序存储器。

(错误)15、因为MCS-51 可上电复位,因此,MCS-51系统也可以不需要复位电路。

(错误)16、一个函数利用return可同时返回多个值。

(错误)17、89C51每个中断源相应地在芯片上都有其中断请求输入引脚。

(错误)18、中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令。

(错误)19、89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。

定时计数器详解

定时计数器详解

mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。

可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。

在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。

其访问地址依次为8AH-8DH。

每个寄存器均可单独访问。

这些寄存器是用于存放定时或计数初值的。

此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。

这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。

TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。

当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。

定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。

当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。

显然,定时器的定时时间与系统的振荡频率有关。

因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。

如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。

若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。

当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。

计数器在每个机器周期的S5P2期间采样引脚输入电平。

若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。

第6讲 定时器与计数器

第6讲 定时器与计数器
≥1
TMOD T0引脚 0 M0 1 M1 C/T 0 机器周期 GATE M0 1 INT0引脚 M1 C/T GATE D7 D0
工作方式2结构
定时器T0工作方式2结构
溢出 申请 中断 申请 中断 TCON TF1 TR1 TF0 TR0 溢出 TH0 8位 T0引脚 1 TL0 8位 &
≥1
四、定时计数器控制寄存器
1、工作方式控制寄存器TMOD
C/T用于选择定时或计数方式,定时计数器4种工作方式 可通过TMOD中的M1、M0进行选择。
MCS-51单片机将门控位GATE、定时计数方式选择位C/T、
工作方式选择位M1、M0组合在工作方式控制寄存器TMOD 中,TMOD是特殊功能寄存器,字节地址为89H。TMOD共8位, 低4位用于T0的工作方式选择,高4位用于T1的工作方式选择。 各位定义如下:
每个计数脉冲使加1计数器加1。(f< fosc/24 ,)
4. 加1计数器
加1计数器由特殊功能寄存器TH0与TL0组成,工作前应
先将TH0与TL0置初值Count。然后由定时或计数脉冲使加1计
数器加1,当加1计数器加到FFFFH后再加1时,发生溢出回零,
硬件自动将中断标志TF0置1,并以此向CPU发中断请求。 溢出回零后硬件要完成以下几项工作: ① 将溢出标志TF0置1。 ② 以TF0=1为标志向CPU发中断请求信号。 ③ 若CPU响应,则在响应过程中由硬件将TF0清零。并转入中断 处理程序执行定时或计数任务。
工作方式
00; 01; M1M0 = 10; 11;
加1计数器位数
13位 16位
加1计数器
TH15~8,TL4~0 TH15~8,TL7~0
方式0 方式1 方式2 方式3

第六章 定时器 计数器

第六章 定时器  计数器

………
INSE1: MOV TL0,#0CH : , MOV TH0,#0F0H , CPL P1.0 RETI
(2)查询方式 )
ORG 1000H MOV TMOD,#00H , MOV TL0,#0CH , MOV TH0,#0F0H , SETB TR0 LOOP:JBC TF0,NEXT : , SJMP LOOP NEXT: MOV TL0,#0CH : , MOV TH0,#0F0H , CPL P1.0 SJMP LOOP
下降沿
跳变时,进行“+1”计数 跳变时,进行“+1”计数
外部输入脉冲宽度应大于2 外部输入脉冲宽度应大于2个机器周期 >T CY >T CY
高电平 低电平
T CY:为机器周期
§6.2
定时器的控制
定时器共有两个控制字,由软件写入 定时器共有两个控制字,由软件写入TMOD 两个8位寄存器 和TCON两个 位寄存器,用来设置 或T1的操 两个 位寄存器,用来设置T0或 的操 作模式和控制功能。 系统复位时, 作模式和控制功能。当89C51系统复位时,两个 系统复位时 寄存器所有位都被清0。 寄存器所有位都被清 。
控制寄存器TCON 二、控制寄存器TCON
MSB TCON 88H) (88H) TF1 TR1 TF0 TR0 IE1 LSB IT1 IE0 IT0
与外部中断INT1、INT0有关 已在中断系统介绍
“1” 启动 工作 T1、T0 启/停控制位 “0” 停止 “1” 有溢 T1、T0 溢出标志位 出 “0” 无溢 亦可由指令清“0” 亦可由指令清“ 出
解(1)模式选择 ) 首先选T0为模式 为模式2,外部事件计数方式。 首先选 为模式 ,外部事件计数方式。当P3.4引脚上的电平 引脚上的电平 发生负跳变时, 计数器加 计数器加1,溢出标志TF0置1;然后改变 发生负跳变时,T0计数器加 ,溢出标志 置 ;然后改变T0 定时工作方式, 输出由1变为 为500 µs定时工作方式,并使 定时工作方式 并使P1.0输出由 变为 。T0定时到产 输出由 变为0。 定时到产 生溢出, 引脚恢复输出高电平, 又恢复外部事件计数 生溢出,使P1.0引脚恢复输出高电平,T0又恢复外部事件计数 引脚恢复输出高电平 方式。如下图: 方式。如下图:

微机原理与接口技术(单片机)试题答案

微机原理与接口技术(单片机)试题答案
3)中断服务程序能完成高低电平输出2分
4)定时时间能完成100us和350us交替定时2分
(未采用中断法,但能实现波形输出的,扣3分)
七、综合设计题(每题10分,共10分)
得分
评阅人
1、设有一个8路模拟量输入的巡回监测系统,如下图所示,试求:
(1)、该系统中所扩展的芯片片选信号采用的方法是线选法,此外还有译码法;(2分)
5、当RS1=1,RS0=0,将寄存器R1中的内容压入堆栈,应使用(A)指令。
A、PUSH 11HB、PUSH @R1
C、PUSH 01HD、PUSH R1
6、定时/计数器T1的工作方式2为(A)位工作方式。
A、8B、10C、13D、16
7、当单片机的振荡频率为12MHz时,则定时器每计一个内部脉冲的时间为(A)。
EX0
SCON
98H
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
得分
评阅人
1、内部RAM低128单元划分为哪3个主要部分?说明各部分的特点。
1)00H~1FH为通用工作寄存器区,共分为4组,每组由8个工作寄存器(R0~R7)组成。(2分)
由RS1、RS0决定当前组。工作时只有1组做当前组。(1分)
2)20H~2FH位地址区
分为128位,位地范围为00H~(2分)
3)30H~7FH用户数据区(2分)
2、指令MOV@Ri,A和指令MOVX@Ri,A的功能是否相同.如果不同区别是什么?
两条指令功能是有区别的。(2分)
1)MOV @Ri, A指令是对片内RAM 00H~7FH的访问(2分)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
5.5 定时器/计数器的综合应用
ORG 0000H LJMP MAIN;转主程序 ORG 000BH;T0中断服务程序入口地址 LJMP T0 ;转T0中断服务程序 ORG 0030H ;主程序 MAIN:MOV SP,#60H;设置堆栈指针 MOV TMOD,#02H;T0工作于定时、方式2 MOV TL0,#06H ;置定时器初值 MOV TH0,#06H ;置定时器重装初值 SETB EA ;CPU允许中断 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0运行 SJMP $ ;实际应用中,这里应是其他程序
4
5.2 定时器/计数器的工作原理
计数器的初值与计数值
可预置初值 的加计数器 初值X
FFFFH FFFEH
计数值m
1 2
.....
0001H 0000H
...
65535 65536(216)
计数值 m=216-X
5
5.2 定时器/计数器的工作原理
工作模式 计数:对输入引脚T0(P3.4)、T1(P3.5)的脉冲 进行计数。 计数次数m=216-X 定时:将时钟脉冲经12分频后的脉冲(即机器周期 脉冲)作为计数的脉冲源。 定时时间t=mTM=(216-X) 12/fosc 即对机器周期脉冲TM进行计数。 二者的主要区别在于计数脉冲的来源不同。
23
5.5 定时器/计数器的综合应用
SETB EA ;中断总允许 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0工作 LOOP: LCALL CZ ;调用拆字子程序 LCALL DISP ;调用显示子程序 SJMP LOOP ;反复循环主流程
24
5.5 定时器/计数器的综合应用
ORG 0100H ;T0 500微秒中断服务程序 T0 :PUSH ACC PUSH PSW ;保护现场 INC 38H ;每500微秒加1 MOV A,38H CJNE A,#200,DONE ;满0.1秒? MOV 38H,#0 INC 39H ;每0.1秒加1 MOV A,39H CJNE A,#10,DONE 满1S MOV 39H,#0
工作计数器
溢出的同时,将 初值重新装入。 存放初值
14
5.4 定时器/计数器的工作方式
工作于方式2时 计数: 计数次数m=28-X 定时: 定时时间t=mTM=(28-X) 12/fosc
15
5.4 定时器/计数器的工作方式
工作方式3--仅T0可用
使用T0的控制寄存器资源
占用T1资源:TR1、TF1,只 能作为8位定时器使用
5 定时器/计数器
在测量控制系统中,常需要有实时时钟和计 数器,以实现定时(或延时)控制以及对外 界事件进行计数。 常用的定时(或延时)方法有: 软件延时 硬件定时 可可编程定时器/计数器T0、T1。
2
5.2 定时器/计数器的工作原理
定时器/计数器的结构(以T0工作于方式1为例)
定时器和计数器是同一个部件,其核心是 一个可预置初值的16位加计数器(特殊功 能寄存器TH0、TL0),对输入的脉冲进行 计数。 脉冲源
TF0:溢出标志,当计数器计 到全1时(FFFFH),此时, 再来一个计数脉冲,计数器 清0,产生溢出,TF0(TF1) 由0变为1。
6
5.2 定时器/计数器的工作原理
定时器/计数器的运行控制
运行控制位
门控位 GATE=0 “控制”=TR0 GATE=1 “控制”=TR0INT0
7
5.2 定时器/计数器的工作原理
定时器/计数器的控制寄存器 定时器控制寄存器TCON
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
运行控制电路
3
5.2 定时器/计数器的工作原理
工作原理 单片机中的定时器和计数器是同一个部件,其核心 是一个可预置初值的16位加计数器,对输入的脉冲 进行计数。 计数器的容量 计数器由两个8位特殊功能寄存器TLi、THi(i=0、1) 组成。最大计数值为216=65536。 计数器的溢出 当计数器计到全1时(FFFFH),此时,再来一个计 数脉冲,计数器清0,产生溢出,TF0(TF1)由0变 为1。
16
5.4 定时器/计数器的工作方式
T0方式3下的T1工作方式:
用作串行口 波特率发生器
设置好工作方式 就开始运行
17
5.5 定时器/计数器的综合应用
工作方式2的应用 例:利用定时器T0定时,在P1.0引脚输出周期为 1ms(频率为1KHz)的方波信号。(fosc=6MHz) 分析: 选择T0工作于定时、方式2、定时时间为500s。 TMOD=0000 0010B=02H 计算初值 fosc=6MHz 机器周期TM=2 s 要定时500 s 即要计数250个机器周期脉冲 初值X=28-250=6=06H
定时器/计数器T0溢出标 志,计数器溢出时,TF0 置“1”,可用于软件查询 或向CPU申请中断。
定时器/计数器T0的运行控 制位,当GATE=0时,只 要TR0=1,T0就开始工作。
TCON可位寻址!
8
5.2 定时器/计数器的工作原理
定时器工作方式寄存器TMOD
用于T1 用于T0 GATE C/T M1 M0 GATE C/T M1 M0
在P3.2低电平时 将TR0置“1”
当P3.2变为高 电平时T0开始 运行
当P3.2变为低电平 时T0停止,令 TR0=0,此时,T0 计数值TM即为被测 脉冲宽度。 31
29
5.5 定时器/计数器的综合应用
;T1中断服务程序,从001BH转来 T1:SETB P1.7 CLR P1.7 ;输出正脉冲 RETI ;中断返回
30
5.5 定时器/计数器的综合应用
门控位的应用 例:利用T0门控位检测出现在INT0引脚上的正脉 冲宽度。 解:先初始化T0工作于定时器方式1,初值为0, GATE设为1,测试过程如下: 机器周期脉冲TM
28
5.5 定时器/计数器的综合应用
ORG 0000H LJMP MAIN;转主程序 ORG 001BH;T1中断服务程序入口地址 LJMP T1 ;转T1中断服务程序 ORG 0030H ;主程序 MAIN:MOV SP,#60H;设置堆栈指针 MOV TMOD,#60H;T1工作于计数、方式2 MOV TL1,#0F4H ;置定时器初值 MOV TH1,#0F4H ;置定时器重装初值 SETB EA ;CPU允许中断 SETB ET1 ;允许T1中断 SETB TR1 ;启动T1运行 CLR P1.7 ;P1.7输出低电平 SJMP $ ;实际应用中,这里应是其他程序
21
5.5 定时器/计数器的综合应用
例:电子钟程序。 利用定时器T0定时,模拟24小时走时的电子钟,时、 分、秒以BCD码形式依次存放在3CH、3BH、3AH; 38H、39H作为软件计数器。 选择T0工作于定时、方式2、定时时间为500s。 TMOD=0000 0010B=02H 计算初值 fosc=6MHz 机器周期TM=2 s 要定时500 s 即要计数250个机器周期脉冲 初值X=28-250=6=06H
26
5.5 定时器/计数器的综合应用
MOV A,3CH ;小时单元(按BCD码)加1 ADD A,#1 DA A MOV 3CH,A CJNE A,#24H,DONE ;满24小时? MOV 3CH,#0 ;小时单元清零 DONE:POP PSW POP ACC ;恢复现场 RETI ;中断返回
27
25
5.5 定时器/计数器的综合应用
MOV A,3AH ;秒单元(按BCD码)加1 ADD A,#1 DA A MOV 3AH,A CJNE A,#60H,DONE ;满1分钟? MOV 3AH,#0 ;秒单元清零 MOV A,3BH ;分钟单元(按BCD码)加1 ADD A,#1 DA A MOV 3BH,A CJNE A,#60H,DONE ;满1小时? MOV 3BH,#0 ;分钟单元清零
19
5.5 定时器/计数器的综合应用
;中断服务程序,从000BH跳转过来 T0:CPL P1.0 ;输出取反 RETI ;中断返回
使用方式2的好处就是它可以自动重新装入初 值,定时时间比较精确。但是,定时时间短。
20
5.5 定时器/计数器的综合应用
如何延长定时时间? 定时器最大定时时间: 方式1:tmax=216TM 方式2: tmax=28TM 为了实现长时间的定时(如1S),我们引进软件计 数器的概念,思路是这样的,先用定时器/计数器做 一个500微秒的定时器,再设置一个2000次的软件 计数器,每次定时时间到了以后将软件计数器中的 值加1,如果软件计数器未计满2000次就直接返回, 若计满2000次(中断了2000次),定时时间就延长 成了 500 s 2000=1S
11
5.3 定时器/计数器的应用
ORG 0000H LJMP MAIN;转主程序 ORG 000BH;T0中断服务程序入口地址 LJMP T0 ;转T0中断服务程序 ORG 0030H ;主程序 MAIN:MOV SP,#60H;设置堆栈指针 MOV TMOD,#01H;T0工作于定时、方式1 MOV TH0,#0FFH MOV TL0,#06H ;置定时器初值 SETB EA ;中断总允许 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0运行 SJMP $ ;实际应用中,这里应是其他程序
5.5 定时器/计数器的综合应用
计数器的应用 注意:由于单片机检测一个脉冲需要2个机器周期, 故外部事件的最高计数频率为振荡频率的1/24 ( fosc/24)。 应用 例:利用T1计数,每计满12次,在P1.7输出一个正 脉冲信号。 选择T1工作于计数、方式2、计数值为12。 TMOD=0110 0000B=60H 计算初值 初值X=28-12=244=F4H
相关文档
最新文档