单片机c语言编程定时,单片机C语言编程定时器的几种表达方式
单片机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语言编程定时器的几种表达方式相关推荐
- c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式
原标题:单片机C语言编程定时器的几种表达方式 吴鉴鹰单片机开发板地址 店铺:[吴鉴鹰的小铺] 地址:[https://item.taobao.com/item.htm?_u=ukgdp5a7629&a ...
- 单片机定时器c语言程序,单片机C语言编程定时器的几种表达方式
单片机C语言编程中,定时器的初值对于初学者真的是比较不好计算,因此我总结了以下几种方法. 第1种方法: #define FOSC 11059200L //晶振的频率 #define TIMS (655 ...
- 三丰三坐标编程基本步骤_加工中心开机回零的两种基本方式及常见问题的应对方法...
任何CNC数控加工设备,回零操作都是其必须执行的重要环节,对重新确定机床原点与坐标有着重要的作用.同时对机床的各项误差补偿也有着举足轻重的影响. 一.机床开机回零操作的两种基本方法 所谓开机回零,简单 ...
- 【C++ 语言】面向对象 ( 函数重载 | 运算符重载 | 运算符重载两种定义方式 | 拷贝构造方法 | RVO 优化 | NRVO 优化 )
文章目录 函数重载 运算符重载 ( 类内部定义云算符重载 ) 运算符重载 ( 类外部定义运算符重载 ) 可重载的运算符 拷贝构造方法 编译器优化 ( RVO 优化 | NRVO 优化 ) 完整代码示例 ...
- android编程fragment,详解Android中Fragment的两种创建方式
onCreate():在创建fragment时系统会调用此方法.在实现代码中,你可以初始化想要在fragment中保持的那些必要组件,当fragment处于暂停或者停止状态之后可重新启用它们. onC ...
- android 开启一个定时线程_ANDROID开发中定时器的3种方法
在android中,经常用到的定时器主要有以下几种实现: 一.采用Handler与线程的sleep(long )方法 二.采用Handler的postDelayed(Runnable, long) 方 ...
- python编程实现n的阶乘_Python阶乘的三种实现方式
以下三种方式分别采用了不同的方法,第一种是最容易理解的,第二种是最pythonic的,而第三种则是易用性最高的.第三种直接定义一个阶乘函数,随时都可以调用,从而得到不同值. 方法一: 普通方法: a ...
- 基于C语言的软件,基于C语言的计算机软件编程分析
摘 要 C语言是在B语言的基础上发展而来,其功能强大,使用便利,是目前计算机软件编程最基础的语言.C语言有着特殊的编程技巧,他的函数库中包含了编程所需的大部分函数,因此不需要程序员再另外定义:C语言中 ...
- c语言程序设计概述总结,c语言程序设计总结.docx
c语言程序设计总结.docx 第1章 C语言概述1.1 程序设计语言1. 机器语言一种CPU的指令系统,也称CPU的机器语言,它是CPU可以识别的一组由1和0序列构成的指令码.例如,10000000和 ...
- C语言二维数组的四种遍历方式
二维数组的四种遍历方式: a[i][j] *(a[i]+j) *(*(a+i)+j) *(&a[0][0]+i*n+j) 1.a[i][j] : 这种方法是最基本的方式. 2 ...
最新文章
- 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...
- 谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...
- 音频处理四:(音频的分帧)
- android工程建立到最后一步提示unsupported template dependency的解决方法
- pycharm快捷键_春节快结束了回单位途中总结下pycharm快捷键
- Dynamic CRM 2013学习笔记(四十二)流程5 - 实时/同步工作流(Workflow)用法图解...
- php用于字符串函数是,php中用于查找字符串的常用函数
- 使用Linux快速使用redis集群
- 在android中编程制作kml、kmz文件的思路
- 【围棋棋盘绘制——html实现】
- 有哪些VPS云主机值得学生选择?
- Win10 Chromedriver安装教程
- 详细理解JS的三座大山
- PHP开发阿里云短信服务接口
- win10怎么设置动态壁纸
- CenterNet环境搭建记录
- requires the ionCube PHP Loader
- 苹果ll是什么版本_新的iPad Pro和旧版本有什么区别?苹果背后的策略是什么?...
- Java实现 LeetCode 6 Z字形变换
- keil新建库函数模板
热门文章
- 吞了1000瓶老干妈的南山头铁鹅,Python制作千图成像(附上源代码和应用程序)...
- 弘辽科技:复购率太低怎么办呢?
- 计算机无法访问iTunes,PC端itunes识别不了iphone怎么办 itunes无法识别插入iPhone解决方法...
- Java面试题十二:Java内存模型,h5移动端开发面试题
- FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)
- 单龙芯3A3000-7A1000PMON研究学习-(7)撸起袖子干-make cfg 所执行的操作(d)
- AutoCAD2018_图层编辑
- 中华好诗词大学季第二季(一)
- SAP中计划策略11测试
- 卡尔曼滤波和互补滤波的区别