PIC16F877A 定时器实验1

发布者:中华古风最新更新时间:2016-12-07 来源: eefocus关键字:PIC16F877A  定时器 手机看文章 扫描二维码
随时随地手机看文章

*************************** 
TMR0用作定时器时,定时器时钟=系统时钟/4; 
写TMR0时,会产生2个周期的的延时,如果不使用前置分频器,可通过设置 
初值进行补偿。 
例如 需要定时200个时钟周期时,TMR0 = 256 -200 + 2= 58

OPTION_REG:

bit5 T0CS:TMR0 Clock Source Select bit

       1 = Transition on T0CKI pin

       0 = Internal instruction cycle clock(CLKO)

bit 4 T0SE:TMR0 Source Edge Select bit

       1 = Increment on high-to-low transition on T0CKI pin

       0 = Increment on low-to-high transition on T0CKI pin

bit 3 PSA:Prescaler Assignment bit

      1 = Prescaler is assigned to the WDT

      0 = Prescaler is assigned to the Timer0 module

bit2-0 PS2:PS0:Prescaler Rate Select bits

给大家一个意见:如果想用TMR0实现精确的定时,一旦用了预分频器后就不要对TMR0做任何写操作。

注意:在中断服务程序中查询TMR0中断时,既要查询T0IE位,还要查询T0IF位。 
***********************/ 
#include  
#include "../head/config.h"

__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); 
//HS振荡,禁止看门狗,低压编程关闭,启动延时定时器

uint16 count = 0; 
void main(void) 

    PSA = 1;//prescaler is assigned to the WDT 
    T0CS  = 0;//Internal instruction cycle clock

    TMR0 = 58;//timer 200 cycle clock

    GIE = 1;//global interrupt enable 
    T0IE = 1;//TMR0 interrupt enable

    PORTD = 0x00; 
    TRISD = 0x00;

    while(1) 
    {} 
}

void interrupt ISR(void) 

    if(T0IE && T0IF) 
    { 
        T0IF = 0; 
        count++; 
        if(count == 1000) 
        { 
        count = 0; 
        PORTD = ~PORTD; 
        } 
        TMR0 = TMR0 + 58; 
    } 
}


关键字:PIC16F877A  定时器 引用地址:PIC16F877A 定时器实验1

上一篇:PIC16F877A TMR0定时器实验2
下一篇:PIC学习5定时器

推荐阅读最新更新时间:2024-03-16 15:23

stm32 定时器重映射
void TIM3_GPIOB5_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE); GPIO_AFIODeInit(); //将重映射恢复为初始值 //在程序中只可以调用一次,不然之前的设置就取消了 GPIO_PinRemapConfig(GPIO_Par ti alRemap
[单片机]
暗室定时器电路图
暗室定时器电路图
[模拟电子]
暗室<font color='red'>定时器</font>电路图
51单片机定时器/计数器的结构和原理
  定时器/计数器简称定时器,其作用主要包括产生各种时标间隔、记录外部事件的数量等,是微机中最常用、最基本的部件之一。803l单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。   T0由2个定时寄存器TH0和TL0构成,T1则由TH1和TL1构成,它们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器中这些寄存器的读写来实现对这两个定时器的操作。作定时器时,每一个机器周期定时寄存器自动加l,所以定时器也可看作是计量机器周期的计数器。由于每个机器周期为12个时钟振荡周期,所以定时的分辨率是时钟振荡频率的1/12。作计数器时,只要在单片机外部引脚T0(或T1)有从1到0电平的负跳变,计数器就自动加1。计
[单片机]
51单片机<font color='red'>定时器</font>/计数器的结构和原理
S3C2440 的定时器的设置
在前面的几篇文章中,每当程序需要延时时,我们是利用循环语句来实现。这种方法的延时简单,但不是很精确,就是说不能得到确切的一段时间的延时。因此当需要精确延时时,就不能采用这种方法了。一般是利用定时器来实现。在这里,我们就介绍一下s3c2440定时器的使用方法。 在讲解之前,先介绍一下s3c2440时钟系统。一般来说,MCU的主时钟源主要是外部晶振或外部时钟,而用的最多的是外部晶振。在正确情况下,系统内所使用的时钟都是外部时钟源经过一定的处理得到的。由于外部时钟源的频率一般不能满足系统所需要的高频条件,所以往往需要PLL(锁相环)进行倍频处理。在s3c2440中,有2个不同的PLL,一个是MPLL,另一个是UPLL。UPLL是给U
[单片机]
51单片机入门经验分享9-定时器模拟实现PWM呼吸灯效果
众所周知,PWM的应用是及其广泛的,现在很多高速的单片机内部都集成了硬件PWM,使用起来也很简单,配置好频率和装入计数值就可以工作了,但是在一些低成本的场合,我们选择的单片机没有硬件PWM功能模块,但是我们还存在这个需求怎么办呢?这个时候,我们需要用PWM来模拟实现他,但实现PWM必须要了解PWM的原理,这里我们先了解下。 PWM全称是脉冲宽度调制解调,比如1个小灯,按照500MS亮一次,500MS灭一次,周期是1S,频率是1HZ,在这里,1个周期说明白了就是2个方波,有高电平和低电平组成,在周期固定的情况下,我们通过不断的调整高电平所占的整个周期比例,即所谓的占空比,就可以实现小灯”不是那么亮“的效果,如果连续起来,就可以实
[单片机]
51单片机入门经验分享9-<font color='red'>定时器</font>模拟实现PWM呼吸灯效果
PIC16F877A初学之定时器中断篇
程序功能:让RC口的八个灯亮65MS灭65MS采用定时器0中断来完成 程序如下: tmr0 equ 01h pcl equ 02h status equ 03h option_reg equ 81h i NTC on equ 0bh portc equ 07h trisc equ 87h tmr0_b equ 0 w equ 0 f equ 1 rp0 equ 5 t0if equ 2 w_temp equ 7fh portc_b equ 23h flag equ 24h
[单片机]
无需更换电池的数字倒计时定时器
只需 MCU、LCD、32kHz 晶振以及一个电阻器即可构成一部基本的倒计时定时器,而且只需一颗普通的纽扣电池即可实现连续超过 10 年的工作时间,如图 1 所示。例如,此类倒计时定时器可用于餐馆提供服务时间保证,服务人员按下一个按钮即可启动倒计时定时器,微控制器开始自动倒计时,时间长短可预先设定,倒计时过程则会显示在显示屏上。如果服务人员在计时结束前尚未向客人提供服务,那么显示器就会闪动显示超时信息,提示未达到服务保证。有两大关键性设计可最小化功耗,并尽可能延长电池使用寿命,一是认真选择电池,二是充分利用 MCU 的低功耗模式。 我们之所以选择 CR2032 纽扣式锂电池,主要是因为它占地较小,可以支持便携式应用,放电曲线较平,
[手机便携]
STM32 定时器 定时时间的计算
假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到 关键是设定 时钟预分频数,自动重装载寄存器周期的值 定时器的基本设置 1、 TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数 例如 :时 钟频率=72/(时钟预分频+1) 2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时 时间) 累计 0xFFFF个频率后产生个更新或者中断(也是说定时时间到) 3、 TIM_TimeBaseStructure.TIM_Co
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved