单片机的定时器与计数器

计数器

从一个生活中的例程看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。那么单片机中的计数器有多大的容量呢?8031单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。

定时器

计数器除了能作为计数之用外,还能用作时钟,计数器是如何作为定时器来用?

计数和时间之间的确十分相关,一个闹钟将它定时在1个小时后闹响,也能说是秒针走了(3600)次,时间就转化为秒针走的次数。

定时器计数器结构

只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机供给一个非常稳定的计数源。

定时器的是计数源是单片机的晶体震荡器经过12分频后获得的一个脉冲源,计数脉冲的间隔与晶体震荡器有关,一个12M的晶体震荡器12M/12等于1MHZ,倒数也就是1个微秒

溢出

计数器溢出后将使得TF0变为“1”,变成1后将产生事件。

经常会有少于65536个计数值的要求,我们采用预置数的办法,我要计100,那我就先放进65436,再来100个脉冲,就到了65536。定时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒,如果只要10毫秒,10个毫秒为10000个微秒,所以只要在计数器里面放进55536就能了。

时间: 2024-10-06 03:19:12

单片机的定时器与计数器的相关文章

51单片机的定时器

今天想尝试使用串口通信来控制舵机旋转的时候,由于同时用到了定时器T0和T1(用来设定波特率).程序有点问题,运行不畅,所以现在想通过写篇文章重新来梳理对51单片机这两个定时器的理解. STC89C51系列单片机有两个定时器:定时器T0.定时器T1 一.首先了解到51单片机的常用晶振是12MHz的,内部一般是12分频的,也就是12T.所以每计数一次需要1us的时间 二.定时器的工作模式有四种,模式0,1,2的工作模式对T0 .T1都是相同的,但是模式3只有T0才有: 模式0:13位计时器,有TL0

AVR单片机教程——定时器中断

本文隶属于AVR单片机教程系列. ? 中断,是单片机的精华. 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断.触发中断的事件成为中断源,处理事件的函数称为中断服务程序(ISR). 中断在单片机开发中有着举足轻重的地位--没有中断,很多功能就无法实现.比如,在程序干别的事时接受UART总线上的输入,而uart_scan_char等函数只会接收调用该函数后的输入,先前的则会被忽略.利用中断,我们可以在每次接受到一个字节输入时把数据存放到缓冲区中,程序可以从缓

单片机用定时器分配任务的程序结构总结

转载请注明本文地址:http://blog.sina.cn/dpool/blog/s/blog_6f2b6ba80101bwka.html?vt=4 http://blog.sina.cn/dpool/blog/s/blog_6f2b6ba80101bwka.html?vt=4本文是2013年写的,后来整理成了系统文章,请访问 http://nicekwell.net/ 查看单片机编程系列文章.以下是2013年原文:经过这几天做的程序,和以前做电子钟时的感悟,现在对单片机的整个程序结构做一下总结

8253 可编程定时器、计数器

1. 8253内部结构和引脚图 2. 8253计数器内部逻辑框图 3. 8253控制字格式 关于RL1.RL0的补充说明 RL1.RL0=00 将CE的内容锁存于OL: RL1.RL0=01 只读OL.写CR低位字节 RL1.RL0=10 只读OL.写CR高位字节 RL1.RL0=11 先读OL.写CR低位字节,后读.写高位字节

51单片机实现定时器00H-FFH、定时器000-255

#include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr P0M1 = 0x93; sfr P2M0 = 0x96; sfr P2M1 = 0x95; uchar count; uchar i,j,num; uchar code leddata[]={ 0xC0, //"0" 0xF9, //"1" 0xA4, //"

51单片机实现定时器中断0-F

#include <reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr P0M1 = 0x93; sfr P2M0 = 0x96; sfr P2M1 = 0x95; uint count,i,j; uchar code leddata[] = { 0xC0, //"0" 0xF9, //"1" 0xA4, //"2" 0

51单片机中断机制(定时器/计数器)

单片机中断简介 52单片机一共有6个中断源,它们的符号,名称以及各产生的条件分别如下: INT0 - 外部中断0,由P3.2端口线引入,低电平或下降沿引起 INT1 - 外部中断1,由P3.3端口线引入,低电平或下降沿引起 T0    - 定时器/计数器0中断, 由T0计数器计满回零引起 T1    - 定时器/计数器1中断, 由T1计数器计满回零引起 T2    - 定时器/计数器2中断, 由T2计数器计满回零引起 TI/RI - 串行口中断,串行端口完成一帧字符发送/接收后引起 其中T2是5

单片机 定时器/计数器

一.什么是定时器/计数器 在51单片机中,定时器/计数器是用来实现定时功能,并且具有计数的功能,来实现对外部信号的计数. 二.定时器/计数器有什么类型 在51单片机中,分为软件定时器,不可编程硬件定时器,可编程定时器. 软件定时:CPU每执行一条指令时,是需要固定时间的,所以,通过执行空指令可以达到延时的效果,这样子做的代价是占用CPU时间,所以一般很少这么做. 不可编程硬件定时器:是由电路和硬件来完成定时功能的,一般采用基电路,外接定时部件(电阻和电容),通过改变电阻的阻值和电容的电容值来修改

定时器计数器中断

定时器/计数器的工作由TMOD与TCON两个寄存器控制,TCON是控制寄存器,控制启动停止以及设置溢出标志,TMOD确定工作方式和功能.计数器溢出时会使得TCON寄存器中TF0或者TF1置1,并向CPU发出中断请求. TMOD 工作方式寄存器 TMOD在单片机复位时全部被清零,其高四位设置定时器1,低四位设置定时器0:四位的意义如下: GATE:门控制位,=0定时器的启动停止仅受TCON寄存器控制,=1时受TCON控制器和外部中断引脚电平状态共同控制: C/T:定时器与计数器模式选择,=1为计数