Timer/Counter
虽说是定时/计数器,其实还是计数器,计数*机器周期=定时
TMOD | |||||||
Timer 1 | Timer 0 | ||||||
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
0:TR1 = 1时启动T1 | 0:定时 | 00:13位(8192) | 0:TR0 = 1时启动T0 | 0:定时 | 00:13位(8192) | ||
01:16位(65536) | 01:16位(65536) | ||||||
1:TR1 · INTR1 = 1时启动T1 | 1:计数 | 10:8位重载 | 1:TR1 · INTR1 = 1时启动T1 | 1:计数 | 10:8位重载 | ||
无方式3 | 11:8位×2(256×2) |
- 常用:
16位定时器0:TMOD = (TMOD & 0xF0) | 0x01
16位定时器1:TMOD = (TMOD & 0x0F) | 0x10
Time.c
//1 ~ 70ms内定时计数extern u8 shift = 0x01;
extern u8 buff = 0;void ConfigTimer0(u16 ms) //less than 70ms
{u32 onetime;onetime = 11059200 /12;onetime = (onetime * ms) / 1000;onetime = 65536 - onetime;T0_H = (u8)(onetime>>8);T0_L = (u8)onetime;TMOD = (TMOD & 0xF0) | 0x01;TH0 = T0_H;TL0 = T0_L;ET0 = 1;TR0 = 1;
}
//超70ms可用中断计数法实现void Interrupt_Timer0() interrupt 1
{static u16 count_LED = 0;TH0 = T0_H; //方式1 记得程序手动重载TL0 = T0_L;if(count_LED > 100){Flow_LED();count_LED = 0;}count_LED++;
}
注意:
① STC-ISP的Timer程序不带总中断开启和定时器开启,即EA = 1 和 ETx = 1,切记加上。
② 本例程基于12T模式下,仔细调整STC-ISP参数,或修改变量onetime。
③ 循环计时的情况下,中断切记程序手动重载初值。
④ SEG、KBD的扫描程序均可使用定时器中断,推荐时间1ms。
Timer/Counter相关推荐
- 关于MCU中Timer/Counter接口及使用
Timer就是定时器,一般做周期性任务处理时使用.在芯片中,Timer是如何设计,寄存器又是如何控制的呢? 定时器模式通常用于测量事件发生的时间或测量两个事件之间的时间差.计时器功能增加/减少了一个在 ...
- STM32 - 定时器的设定 - 基础 - 05 - Arbitrary waveform generation using timer DMAburst feature - 任意波形的序列产生
DMA的功能不说了,如何产生任意序列的波形,我们仔细看看: 本节叙述了同DMA的方法,在不占用MCU资源的情况下,通过提前编辑一组任意定制的波形参数,实现复杂的波形输出. STM32 DMA-burs ...
- STM32 - 定时器基础应用说明 - 03 - Application: timer clocking using external clock-source on ETR timer input
This application describes one use-case of using an external clock-source to clock the timer periphe ...
- APIC Timer
前言 (由于之前的blog已经关闭了,所以将此文章迁移至这里,并非转载) 之前已经大体的写过APIC的一些内容,这次是写一些APIC定时器的内容,当然,也是翻译了一些来自OSDev的资料(不要问我为什 ...
- NRF51822 Timer
首先熟悉一下NRF51822,这一篇文章讲得不错,链接如下: http://wenku.baidu.com/link?url=JNSJuhxNtMn3HJg6q5rETABXbejF_dallu8Ck ...
- DSP TMS320F2803x、TMS320F2806x CPU Timer定时器开发笔记(代码基于TMS320F28069 详解)
详解DSP F28069的 CPU Timer定时器模块,及代码讲解 32-Bit CPU Timers 0/1/2 代码讲解 timer.h /** Timer.h** Created on: 20 ...
- linux 用户空间 timer,Linux时间子系统(十五) clocksource
一.前言 和洋葱一样,软件也是有层次的,内核往往需要对形形色色的某类型的驱动进行抽象,屏蔽掉其具体的特质,获取该类驱动共同的逻辑,而又根据这些逻辑撰写该类驱动的抽象层.嵌入式系统总是会提供timer的 ...
- ARM generic timer驱动代码分析
转自 蜗窝科技 http://www.wowotech.net/linux_kenrel/arm-generic-timer.html 一.前言 关注ARM平台上timer driver(clo ...
- [笔记].如何使用Nios II的中断:PIO中断与定时器中断
引子 定时器中断,我以前在艾米电子论坛发帖讨论过:PIO中断我在博客里也讨论过,最近发现以前的总结有一点小错误.于是结合我最近玩触摸屏的一点点心得,写篇博文. 软硬件环境 硬件:艾米电子EP2C8核心 ...
最新文章
- leetcode算法题--LRU缓存机制
- JVM指令:invokeSpecial/invokeVirtual/invokeStatic/invokeInterface/invokeDynamic方法调用指令
- Java集合篇:Vector
- 模板:多项式乘法(FFTNTT)
- 获得Web目录URL
- Leangoo到底好在哪里?
- 自旋锁:pthread_spinlock_t,互斥锁:pthread_mutex_t,条件变量:pthread_cond_t,读写锁:pthread_rwlock_t
- 一起谈.NET技术,浅析五大ASP.NET数据控件
- vue框架安装mock
- Jenkins+码云 搭建持续集成环境
- ArcView GIS 应用与开发技术(10)-影像操作
- 计算机操作系统——程序执行的流程
- 上证50基金有哪些_“50”指数基金有哪些?
- 博客之星:我去,你竟然还不会用 synchronized
- vue使用高德地图web端JSAPI 路线规划、搜索提示教程
- windows系统IP地址、localhost、127.0.0.1 、0.0.0.0和 本机IP区别
- 应用安全系列之二十九:密码管理
- 214 情人节来袭,电视剧 《点燃我温暖你》李峋同款 Python爱心表白代码,赶紧拿去用吧
- linux 变量替换字符串,shell中常用的变量处理、字符串操作(之一)
- python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx
热门文章
- python如何求解微分方程_用Python数值求解偏微分方程
- 5944的空间骗人,黑心
- http://www.cnblogs.com/yungboy/archive/2010/05/28/1746376.html
- Codeforces Round #693 (Div. 3)部分题解
- 洪志鹏专栏> 我爱比尔盖兹
- 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码
- Win7开启休眠功能的两种方法(步骤)
- 100题前端面试[题目+答案] -- 自用
- 关于时间戳和标准时间、国际标准时间的一些方法
- Java代码评审歪诗!让你写出更加优秀的代码!