打印

PIC16F877A 定时器实验1

[复制链接]
401|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
monitoring|  楼主 | 2020-3-7 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*********************
Forum:http://bbs.cepark.com
Author:hnrain
Date:2010-12-28
Email:hnrain1004@gmail.com
***************************
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位。
***********************/

使用特权

评论回复
沙发
monitoring|  楼主 | 2020-3-7 11:25 | 只看该作者
#include <pic.h> 
#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)
    {}
}

使用特权

评论回复
板凳
monitoring|  楼主 | 2020-3-7 11:26 | 只看该作者
void interrupt ISR(void) 
{
    if(T0IE && T0IF)
    {
        T0IF = 0;
        count++;
        if(count == 1000)
        {
        count = 0;
        PORTD = ~PORTD;
        }
        TMR0 = TMR0 + 58;
    }
}

使用特权

评论回复
地板
monitoring|  楼主 | 2020-3-7 11:27 | 只看该作者
作者:Leo Chin
出处:http://www.cnblogs.com/hnrainll/
本博客**,大多系网络中收集,转载请注明出处
相关标签:嵌入式培训、嵌入式开发、嵌入式学习

使用特权

评论回复
5
guanjiaer| | 2020-4-2 15:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
heimaojingzhang| | 2020-4-2 15:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
keaibukelian| | 2020-4-2 15:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
labasi| | 2020-4-2 15:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
paotangsan| | 2020-4-2 15:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

192

帖子

1

粉丝