0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机C语言编程中定时器初值计算的两种方法

2oON_changxuemc 来源:工程师曾玲 2018-12-30 16:59 次阅读

单片机C语言编程中,定时器的初值对于初学者真的是比较不好计算,因此我总结了以下几种方法。

第1种方法:

#define FOSC 11059200L //晶振的频率

#define TIMS (65536-FOSC/12/1000) //12T mode 对于8051系列单片机通用

//#define TIMS (65536-FOSC/1000) //1T mode STC单片机可以用这个

unsigned int timer0_tick;

int timer0_count;

void Timer0(void) interrupt 1 using 1 //定时器0中断外理

{

TL0=TIMS;

TH0=TIMS>>8;

if(timer0_tick--==0) //加到1000次即1秒

{

timer0_tick=1000;

LED_Timer=~LED_Timer;

}

}

初值的赋值采用的是移位运算:

TL0=TIMS;

TH0=TIMS>>8;

第2种方法:

#define FOSC 11059200L //晶振的频率

TH=(65536-time*FOSC /12)/256

TL=(65536-time*FOSC /12)%256

time就是假设要延时的100ms(要取100000us)

FOSC 是晶振频率

注意:定时器一定要考虑晶振的频率,因为单片机最小的中断时间和频率有关系。

例如:

6MHz晶振对应的时间范围是:512us --- 16.384ms --- 131.072ms

因此,在设置时间前,一定要考虑晶振和定时器的关系。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5991

    文章

    43904

    浏览量

    619617
  • 晶振
    +关注

    关注

    31

    文章

    2444

    浏览量

    66710
  • 定时器
    +关注

    关注

    23

    文章

    3124

    浏览量

    111898

原文标题:单片机C语言编程定时器的几种表达方式

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机定时器初值计算工具

    单片机定时器初值计算工具
    发表于 02-13 10:28

    PIC单片机定时器初值计算器V1.0

    PIC单片机定时器初值计算器V1.0.zip
    发表于 01-21 20:40

    51单片机定时器初值计算问题 精选资料推荐

    最近在看51单片机定时器与中断,作为51单片机比较重点的内容,很多人也花费了很长时间在这上面,有些问题网上的资料方法各不相同,也看得云里雾里,比如
    发表于 07-15 09:42

    怎样去计算定时器初值

    单片机C语言编程定时器初值对于初学者真的是比较
    发表于 07-20 07:07

    51单片机定时器初值怎么计算

    51单片机定时器初值怎么计算
    发表于 10-08 08:44

    熟悉单片机定时器编程方法

    密码锁一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的1.熟悉单片机定时器编程方法。2。灵活运用
    发表于 01-19 06:33

    51单片机定时器初值计算软件工具

    给大空提供两个版本,一个是51定时器初值计算器工具另一个是单片机定时器初值
    发表于 02-13 10:25 506次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>定时器</b><b class='flag-5'>初值</b><b class='flag-5'>计算</b>软件工具

    PIC单片机定时器初值计算器V1.0

    PIC单片机定时器初值计算器V1.0
    发表于 12-28 10:16 16次下载

    14709225341T单片机定时器初值计算

    单片机定时初值计算器是一款不错的51单片机定时器初值
    发表于 08-31 14:34 19次下载
    14709225341T<b class='flag-5'>单片机</b><b class='flag-5'>定时器</b><b class='flag-5'>初值</b><b class='flag-5'>计算</b>器

    单片机定时器初值计算公式(51单片机和AVR单片机初值计算种方法

    单片机定时器初值计算公式 一、51单片机定时器初值
    发表于 11-09 17:17 7.8w次阅读

    使用51单片机进行定时器初值计算详细资料说明

    本文档的主要内容详细介绍的是使用51单片机进行定时器初值计算详细资料说明包括了:一、10MS定时器初值
    发表于 08-29 17:29 1次下载
    使用51<b class='flag-5'>单片机</b>进行<b class='flag-5'>定时器</b><b class='flag-5'>初值</b>的<b class='flag-5'>计算</b>详细资料说明

    单片机定时器初值方法解析

    8位的定时器最大可计数2的8次方为256,16位的定时器最大可计数2的16次方为65536。由于单片机定时器是递加式的,所以最大值减去所要定时
    发表于 11-13 16:28 6746次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>定时器</b>赋<b class='flag-5'>初值</b>的<b class='flag-5'>方法</b>解析

    51单片机定时器初值计算详解

    前言: 本文详细介绍了51单片机学习过程中定时器初值计算问题以及相关概念,力求把每一个学习过程中的可能会遇到的难点说清楚,并举相关的例子加以说明。学习完毕,又顺手利用刚学到
    发表于 11-12 14:51 12次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>定时器</b><b class='flag-5'>初值</b><b class='flag-5'>计算</b>详解

    51单片机定时器初值计算问题

    最近在看51单片机定时器与中断,作为51单片机比较重点的内容,很多人也花费了很长时间在这上面,有些问题网上的资料方法各不相同,也看得云里雾里,比如
    发表于 11-14 19:21 16次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>定时器</b><b class='flag-5'>初值</b><b class='flag-5'>计算</b>问题

    51单片机定时器初值计算以及初值计算软件

    51单片机定时器初值计算以及初值计算软件不想搞懂计算
    发表于 11-23 16:36 5次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>定时器</b><b class='flag-5'>初值</b><b class='flag-5'>计算</b>以及<b class='flag-5'>初值</b><b class='flag-5'>计算</b>软件