单片机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

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

单片机c语言编程定时,单片机C语言编程定时器的几种表达方式相关推荐

  1. c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式

    原标题:单片机C语言编程定时器的几种表达方式 吴鉴鹰单片机开发板地址 店铺:[吴鉴鹰的小铺] 地址:[https://item.taobao.com/item.htm?_u=ukgdp5a7629&a ...

  2. 单片机定时器c语言程序,单片机C语言编程定时器的几种表达方式

    单片机C语言编程中,定时器的初值对于初学者真的是比较不好计算,因此我总结了以下几种方法. 第1种方法: #define FOSC 11059200L //晶振的频率 #define TIMS (655 ...

  3. 三丰三坐标编程基本步骤_加工中心开机回零的两种基本方式及常见问题的应对方法...

    任何CNC数控加工设备,回零操作都是其必须执行的重要环节,对重新确定机床原点与坐标有着重要的作用.同时对机床的各项误差补偿也有着举足轻重的影响. 一.机床开机回零操作的两种基本方法 所谓开机回零,简单 ...

  4. 【C++ 语言】面向对象 ( 函数重载 | 运算符重载 | 运算符重载两种定义方式 | 拷贝构造方法 | RVO 优化 | NRVO 优化 )

    文章目录 函数重载 运算符重载 ( 类内部定义云算符重载 ) 运算符重载 ( 类外部定义运算符重载 ) 可重载的运算符 拷贝构造方法 编译器优化 ( RVO 优化 | NRVO 优化 ) 完整代码示例 ...

  5. android编程fragment,详解Android中Fragment的两种创建方式

    onCreate():在创建fragment时系统会调用此方法.在实现代码中,你可以初始化想要在fragment中保持的那些必要组件,当fragment处于暂停或者停止状态之后可重新启用它们. onC ...

  6. android 开启一个定时线程_ANDROID开发中定时器的3种方法

    在android中,经常用到的定时器主要有以下几种实现: 一.采用Handler与线程的sleep(long )方法 二.采用Handler的postDelayed(Runnable, long) 方 ...

  7. python编程实现n的阶乘_Python阶乘的三种实现方式

    以下三种方式分别采用了不同的方法,第一种是最容易理解的,第二种是最pythonic的,而第三种则是易用性最高的.第三种直接定义一个阶乘函数,随时都可以调用,从而得到不同值. 方法一: 普通方法: a ...

  8. 基于C语言的软件,基于C语言的计算机软件编程分析

    摘 要 C语言是在B语言的基础上发展而来,其功能强大,使用便利,是目前计算机软件编程最基础的语言.C语言有着特殊的编程技巧,他的函数库中包含了编程所需的大部分函数,因此不需要程序员再另外定义:C语言中 ...

  9. c语言程序设计概述总结,c语言程序设计总结.docx

    c语言程序设计总结.docx 第1章 C语言概述1.1 程序设计语言1. 机器语言一种CPU的指令系统,也称CPU的机器语言,它是CPU可以识别的一组由1和0序列构成的指令码.例如,10000000和 ...

  10. C语言二维数组的四种遍历方式

    二维数组的四种遍历方式: a[i][j]   *(a[i]+j)   *(*(a+i)+j)    *(&a[0][0]+i*n+j)  1.a[i][j] :  这种方法是最基本的方式. 2 ...

最新文章

  1. 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...
  2. 谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...
  3. 音频处理四:(音频的分帧)
  4. android工程建立到最后一步提示unsupported template dependency的解决方法
  5. pycharm快捷键_春节快结束了回单位途中总结下pycharm快捷键
  6. Dynamic CRM 2013学习笔记(四十二)流程5 - 实时/同步工作流(Workflow)用法图解...
  7. php用于字符串函数是,php中用于查找字符串的常用函数
  8. 使用Linux快速使用redis集群
  9. 在android中编程制作kml、kmz文件的思路
  10. 【围棋棋盘绘制——html实现】
  11. 有哪些VPS云主机值得学生选择?
  12. Win10 Chromedriver安装教程
  13. 详细理解JS的三座大山
  14. PHP开发阿里云短信服务接口
  15. win10怎么设置动态壁纸
  16. CenterNet环境搭建记录
  17. requires the ionCube PHP Loader
  18. 苹果ll是什么版本_新的iPad Pro和旧版本有什么区别?苹果背后的策略是什么?...
  19. Java实现 LeetCode 6 Z字形变换
  20. keil新建库函数模板

热门文章

  1. 吞了1000瓶老干妈的南山头铁鹅,Python制作千图成像(附上源代码和应用程序)...
  2. 弘辽科技:复购率太低怎么办呢?
  3. 计算机无法访问iTunes,PC端itunes识别不了iphone怎么办 itunes无法识别插入iPhone解决方法...
  4. Java面试题十二:Java内存模型,h5移动端开发面试题
  5. FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)
  6. 单龙芯3A3000-7A1000PMON研究学习-(7)撸起袖子干-make cfg 所执行的操作(d)
  7. AutoCAD2018_图层编辑
  8. 中华好诗词大学季第二季(一)
  9. SAP中计划策略11测试
  10. 卡尔曼滤波和互补滤波的区别