一、什么是定时器/计数器
在51单片机中,定时器/计数器是用来实现定时功能,并且具有计数的功能,来实现对外部信号的计数。
二、定时器/计数器有什么类型
在51单片机中,分为软件定时器,不可编程硬件定时器,可编程定时器。
软件定时:CPU每执行一条指令时,是需要固定时间的,所以,通过执行空指令可以达到延时的效果,这样子做的代价是占用CPU时间,所以一般很少这么做。
不可编程硬件定时器:是由电路和硬件来完成定时功能的,一般采用基电路,外接定时部件(电阻和电容),通过改变电阻的阻值和电容的电容值来修改定时值,一量确定后件不能通过软件修改,这样子做的优点是不需要占用CPU时间。
可编程定时器:通软件来确定定时值及其范围,可编程定时器功能强大,灵活性高。这是本文详细讲解的定时器。
三、定时器的内部结构及工作原理
8051单片机有定时器0(T0)和定时器1(T1)两个定时器。
定时器0(T0)和定时器1(T1)是两个16位加法计算器。
定时器0是由TH0和TH1两个8位计数器组成的,定时器1也是一样。
定时器内部还有以下寄存器:
8位的方式寄存器(TMOD)
8位控制寄存器(TCON)
选择定时器模式寄存器(C/T)
启动方式寄存器(GATE)
工作方式及发出启动信号寄存器(TR0或TR1)
内部结构如下图:
四、定时器工作方式
定时器的工作方式主要是通过THOD低4位是定时器0的工作方式控制位,高4位为定时器1的工作方式控制方式。均为M1M0
工作方式 | M1 | M0 | 功能 |
---|
0 | 0 | 0 | 13位计数器 |
1 | 0 | 1 | 16位计数器 |
2 | 1 | 0 | 8位计数器,初值自动装入 |
3 | 1 | 1 | T0分成两个8位计数器,T1停止工作 |
五、使用定时器
timer_count.c
#include
unsigned char i;
sbit LED0 = P1^0;
void main(void)
{
TMOD = 0x01;
TH0 = 0;
TL0 = 0;
ET0 = 1;
TR0 = 1;
EA = 1;
while(1);
}
void t0_delay(void) interrupt 1
{
i++;
TR0 = 0;
TH0 = 0;
TL0 = 0;
if(i == 20)
{
i = 0;
LED0 = ~LED0;
}
TR0 = 1;
}
关键字:单片机 定时器 计数器
引用地址:
单片机 定时器/计数器
推荐阅读最新更新时间:2024-03-16 15:30
【51单片机】考试基础知识总结(引脚)
考试范围: 选填看书本课后习题 大题: 纯程序:实验前四个,乘法不考 中断,定时器T1:方波书本例题5-1,也可以用C语言实现 显示、键盘:8位/16位(独立/矩阵键盘,Scanner) 0832/0809 例题10-1(1)(2)(3)10-6、10-6上面的程序(方波、矩形波) 第八章,拓展图,“第14讲内容会做就可” 串口: PO口: 外部扩展存储器时,当做数据总线,DB 不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口: 只做I/O口使用:其内部有上拉电阻。 P2口有两个功能: 扩展外部存储器时,当作地址总线使用,AB 做一般I/
[单片机]
STM32单片机和51单片机区别
单片机简介 单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。 51单片机和STM32单片机 51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flash ROM技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,他的代表型
[单片机]
如何将PIC单片机的数据存储器RAM当作寄存器来使用
PIC16C5X把数据存储器RAM都当作寄存器来使用以使寻址简单明洁,它们功能上可分为操作寄存器、I/O寄存器、通用寄存器和特殊功用寄存器。它们的组织结构如图1.4所示:这些寄存器用代号F0~F79来表示。F0~F4是操作寄存器,F5-F7是I /O寄存器,其余为通用寄存器。特殊功用寄存器地址对用户不透明。 §1.5.1 操作寄存器 1、F0 间址寄存器 寻址F0实际上意味着间址寻址。实际地址为寄存器选择寄存器F4的内容。 例: MOVLW 10 MOVWF f4 ;10→f4 MOVLW 55 MOVWF f0 ;55→f10 2、F1 实时时钟/计数寄存器(RTCC) 此寄存器是一个8位计数器。和其
[单片机]
AD574与8031单片机及前置电路的一种实用接口电路
AD574是美国核拟器件公司Analog Devices) 生产的12 位逐次逼近型快速A/D 转换器。其转换35us,转换误差为土0.05%,是前我国应用广泛,价格适中的A/D转换器。其内部含三态电路,可直接与各种微处理器连接,且无须附加逻辑接口电路,便能与CMOS 及TTL 电平兼容。内部配置的高精度参考电压源和时钟电路,使它不需要任何外部电路和时钟信号,就能实现A/D转换功能,应用非常方便。 许多文献有关于AD574与8031单片机接口技术的介绍, 但其控制功能引线基本局限于单一的AD574与8031的连接。由于8031无内部程序存贮器, 其内部数据存贮器也有限, 因而8031构成的测控系统, 往往都需外扩存贮器
[单片机]
51单片机定时器实现灯的闪烁
查询方式,键入程序,看到了什么?灯在闪烁了,这可是用定时器做的,不再是主程序的循环了。 ORG 0000H AJMP START ORG 30H START: MOV P1,#0FFH ;关所有灯 MOV TMOD,#00000001B ;定时/计数器0工作于方式1 MOV TH0,#15H MOV TL0,#0A0H ;即数5536 SETB TR0 ;定时/计数器0开始运行 LOOP:JBC TF0,NEXT ;如果TF0等于1,则清TF0并转NEXT处 AJMP LOOP ;否则跳转到LOOP处运行 NEXT:CPL P1.0 MOV TH0,#15H MOV TL0,#9FH;重置
[单片机]
从一名产线工人到单片机工程师的经历分享
我是学电子信息的,本科。当年毕业的时候,外企热得不得了,外企有先进的管理体制5s,有着现代化的电子设备,有着很高的福利。那个时候,每个人都以进外企工作为荣,我也不例外。 不论是当年还是现在外企要的条件都很高,能进去都是件很不容易的事,我最终凭借出色的英语表达能力进了外企。 我的职位是设备工程师,薪水是税后1500,五险一金,公司提供午餐和班车。这在一般人看来很一般,可是对于一贫如洗的我来说(我从小就是单亲,没见过钱),这个待遇已经可以让我蹦起来了。 上班了,我努里的工作着,积极地对待着我这来之不易的工作。可到第5个月的时候,我发现不对劲了。设备出现问题,无非是改改参数,换换零件。有时,大家为了体现自己的价值争着按一个按
[单片机]
一种太阳能报警器系统设计
引言 我国是世界上受自然灾害影响最为严重的国家之一,近年来由于滥砍滥伐严重,自然资源过度开采,造成地质灾害和自然灾害发生的频率增多,破坏程度也越来越严重,2008年的四川汶川大地震、2010年的贵州玉树地震都造成了严重的人员死亡和经济损失,还有各地频发的各种泥石流、山体滑坡和水灾等都造成了不同程度的破坏,随时威胁着人民的生命财产安全。每年国家在防灾、抗灾和救灾方面都要花费大量的人力物力。如果能在灾害监测和预警方面下大力气,做到准确预测灾害的来临,灾前做好充分的准备工作,可以将灾害所造成的人员伤亡和经济损失减到最低,也为国家节省大量的救灾资金。 太阳能防空防灾电声警报器为各自独立的功能部件用积木形式集成安装在可移动的防水机箱内外
[单片机]
单片机AT89S51与ADC0809设计一个数字电压表
1. 实验任务 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。 2. 电路原理图 3. 系统板上硬件连线 a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。 b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。 d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的
[单片机]