博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STC12C5A60S2笔记7(定时器)
阅读量:7100 次
发布时间:2019-06-28

本文共 838 字,大约阅读时间需要 2 分钟。

1. 基本特性

STC12C5A60S2单片机集成了两个16位定时/计数器。

  1)寄存器

    1.1)TMOD 定时器工作方式控制寄存器,包括13位寄存器、16位寄存器、8位寄存器等;

    1.2)TCON 定时器控制寄存器,主要包括定时器启动控制位等;

    1.3)AUXR 辅助寄存器,用以设置分频;默认12分频

    1.4)TH0/1:定时器高8位寄存器

    1.5)TL0/1:定时器低8位寄存器

 

  2)定时器计算

  N = 2n - Tc/Tu,其中n为定时器的位数,Tu为单位时间及系统时钟周期,分频倍数/晶振频率,Tc为要设置的时间。例子:

  15位定时器,12分频,定时50ms,晶振为6MHZ,则N = 216 - (50*10-3)/(12/6000000) = 9E 58H,此时最大定时为131ms。

  则TH设置为9E,而TL设置为8H

 

2. 典型例子

 

#include
#define uint unsigned intsbit P00 = P0^0;uint i = 40;void Timer_Routine(void) interrupt 1{ TL0 = 0x3C; TH0 = 0xB0; i--; if(0 == i){ P00 = !P00; i = 40; } }void main(void){ TMOD = 0x01; //16位定时器 TL0 = 0x3C; //50ms定时 TH0 = 0xB0; i = 40; ET0 = 1; //允许T0中断 EA = 1; //开放中断 TR0 = 1; while(1);}

转载于:https://www.cnblogs.com/Fredric-2013/p/3403838.html

你可能感兴趣的文章
Linux IO和管道练习题
查看>>
关于Service与Broadcast以及Notification的终于告一段落了
查看>>
瑞信CDP与HA集群
查看>>
爱创课堂每日一题七十天- 说说你对前端架构师的理解?
查看>>
JavaWeb21-HTML篇笔记
查看>>
phpcms筛选功能
查看>>
简练软考知识点整理-制定进度计划过程
查看>>
H3C-1000S 内部服务器映射
查看>>
世界500强某知名日企面试题库
查看>>
MySQL MyISAM 库转换为InnoDB的方法
查看>>
linux chkconfig and umask
查看>>
公司那些事-薪酬
查看>>
Oracle查询被锁的表及进程的方法
查看>>
树莓派2+无线网卡==伪热点+钓鱼网站
查看>>
在Linux中安装Oracle(安装总结)
查看>>
java 面试基础题 引用
查看>>
C#中yield用法
查看>>
SharePoint 2013中的默认爬网文件扩展名和分析文件类型
查看>>
Android菜鸟的成长笔记(8)——Intent与Intent Filter(上)
查看>>
使用 Subversion 修改文件名称的大小写的方法
查看>>