51单片机的定时器/计数器

本文系统总结了51单片机的定时器/计数器,包括其功能、使用场景及中断处理。通过实例介绍了如何设置计数器模式以实现LED闪烁,并提供了相关程序代码。同时讲解了单片机的时钟周期、状态周期、机器周期和指令周期等概念,以及如何计算定时器的初值。
摘要由CSDN通过智能技术生成

   以前写过单片机的计数器/定时器的相关程序。今天来系统总结下。借助网络和书本又把相关的知识复习了一遍。下面这个链接就计数器/定时器做了详细的介绍。http://hi.baidu.com/at_this_time/blog/item/6fb0fba169bd5e804610640c.html

对于系统学习计数器/定时器很有帮助。如果要用单片机对外部信号进行计数或者利用单片机对外部设备进行定时控制,就需要用到单片机的定时器/计数器。日常生活中也有很多地方需要用到计数,如流水线上生产药品,当药品瓶经过某处时有红外扫面从而对药物数量进行统计。而定时器用处也广泛,闹钟就是一个例子。设定时间,时间到了进行处理。51单片机有两个定时器/计数器T0和T1,当T0做计数器时(P3.4用来做输入信号)当T1用来做计数器时(P3.5引脚作为输入信号)。当检测到有脉冲信号输入时,则会技术,当计数达到65536时,则计数器会溢出且会发送给CPU一个信号,CPU会停止当前的任务去处理规定的任务。即产生定时器/计数器中断。联系52单片机的中断:52单片机有六个中断源。

T0:定时器/计数器0中断,由T0计数器计满回0引起。中断级别为1,中断入口地址为:000BH

T1定时器/计数器1中断,由T1计数器计满回0引起。中断级别为3,中断入口地址为:001BH

当需要用到计数器时则单片机需要外接信号,而计数器则通过时钟振荡器12分频后产生技术信号。如时钟振荡器为12MHZ,则12分频后得到1MHZ信号,1MHZ每个脉冲的持续时间(1个周期为)1uS.

利用计数器,编写发光二极管闪烁的程序,定时1M需要计算,这里随便写了一个数。能看到法官二极管闪烁。程序如下,这里选择模式2自动装载数据。

#include<reg52.h>
#define uint unsigned int
sbit led=P1^0;
uint count;

void main()
{
  count=0;
  TMOD=0x02;//选择计数器TO模式2自动再装入计数器
  //TH0=0;    //(256-256)/256
  TL0=0;   //(256-256)%256
  EA=1;    // 开总中断
  ET0=1;  //开计数器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值