首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 51单片机-定时器
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
51单片机-定时器
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2014-4-6 16:13
|
只看该作者
51单片机-定时器
单片机
,
计数器
,
寄存器
,
定时器
定时/计数器的结构和工作原理
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。80C51
单片机
定时/计数器的工作是由两个特殊功能寄存器控制的。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能,低四位用于T0,高四位用于T1。TCON是控制寄存器,控制T0和T1的启动和停止及溢出标志,高四位与定时器有关,低四位与外部中断有关。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。
中断允许控制。CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器
IE控制的。
#include <reg52.h>
unsigned int t;
sbit p3_4 = P3^4;
void init_timer(){
TH0 = (65535 - 50000) / 256; //求取高8位
TL0 = (65535 - 50000) % 256; //求取低8位
EA = 1; //CPU总中断允许位
ET0 = 1; //定时/计数器中断允许位
IT0 = 1; //下降沿有效
TR0 = 1; //定时器启动
TMOD = 0x01; //使用定时器T0,16位计数器
p3_4 = 1;
}
void main(){
init_timer();
t = 0;
while(1){
if(t == 20){
p3_4 = "p3_4; //响一秒,停一秒
t = 0;
}
}
}
void bell() interrupt 1{
TH0 = (65535 - 50000) / 256; //从15535开始计时,共50000us,50ms
TL0 = (65535 - 50000) % 256; //20*50 = 1000ms = 1s 即1s响停一次
t++;
}
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议