




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、51单片机定时器的4种工作方式51单片机内部有两个16位可编程的定时器/计数器,即定时器0和定时器1。他们既有定时功能又有计数功能,通过设置与他们相关的特殊功能寄存器(TMOD、TCON)可以选择启动定时器功能或计数器功能。定时器/计数器实质是加1计数器(16位),由高8位和低8位两个寄存器组成。定时器/计数器工作方式寄存器TMODTMOD是定时器/计数器的工作方式寄存器,用来确定工作方式和功能GATE 门控制位GATE = 0 ,定时器/计数器的启动与停止仅受TCON中的TR0(或TR1)控制 GATE = 1 ,定时器/计数器的启动与停止由TCON中的TR0(或TR1)和外部中 断(INT
2、0或INT1)共同控制C/T 定时器模式和计数器模式选择位C/T = 0 ,定时器模式C/T = 1 ,计数器模式M0、M1 工作方式选择位定时器/计数器控制寄存器TCONTCON是控制寄存器控制T0、T1的启动和停止及设置溢出标志TCON中TF1、TR1、TF0、TR0用于定时器/计数器,IE1、IT1、IE0、IT0用于控外部中断TF1 定时器1溢出标志当定时器1溢出时,由硬件使TF1 = 1,申请中断,处理完中断后由硬件自动清零。TR1 定时器1运行控制位TR1= 1 启动定时器1TR1= 0 停止定时器1TF0 定时器0溢出标志当定时器0溢出时,由硬件使TF 0= 1,申请中断,处理完
3、中断后由硬件自动清零。TR0定时器0运行控制位TR0= 1 启动定时器0TR0= 0 停止定时器0IE1 外部中断1请求标志IT1 外部中断1触发方式选择位 IE0 外部中断0请求标志IT0 外部中断0触发方式选择位 实验电路图本电路图由AT89C52单片机、振荡电路、复位电路、LED显示电路组成方式0/*=实验名称:定时器方式0应用程序说明:定时器0方式0的具体用法实验平台:AT89C52 单片机 protues 仿真日期:2013-08-09-使用说明:利用定时器0方式0工作方式让一个放光二极管以 1s 周期亮灭闪烁=*/#include<reg52.h>#define uch
4、ar unsigned char#define uint unsigned intsbit led1 = P10;uchar num;void main()TMOD = 0x00;/设置定时器0为工作方式0TH0 = (8192 - 4607)/32;/设置初值,方式0为13为计数器TL0 = (8192 - 4607)%32;EA = 1;/开总中断ET0 = 1;/开定时器0中断TR0 = 1;/启动定时器0while(1)/等待中断发生if(num =200)/计数200次,1s时间到num = 0;/num清零,重新计时led1 = led1;/控制LED亮灭void timer0()
5、 interrupt 1TH0 = (8192 - 4607)/32;/重置初值TL0 = (8192 - 4607)%32;num+;方式1/*=实验名称:定时器方式1应用程序说明:定时器0方式1的具体用法实验平台:AT89C52 单片机 protues 仿真日期:2013-08-09-使用说明:利用定时器0方式1工作方式让一个放光二极管以 1s 周期亮灭闪烁=*/#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit led1 = P10;uchar num;void main()TMO
6、D = 0x01;/设置定时器0为工作方式1TH0 = (65536 - 50000)/256;/设置初值,方式1为16为计数器TL0 = (65536 - 50000)%256;EA = 1;/开总中断ET0 = 1;/开定时器0中断TR0 = 1;/启动定时器0while(1)/等待中断发生if(num =20)/计数20次,1s时间到num = 0;/num清零,重新计时led1 = led1;/控制LED亮灭void timer0() interrupt 1TH0 = (65536 - 50000)/256;/重置初值TL0 = (65536 - 50000)%256;num+;方式2
7、/*=实验名称:定时器方式2应用程序说明:定时器0方式2的具体用法实验平台:AT89C52 单片机 protues 仿真日期:2013-08-09-使用说明:利用定时器0方式2工作方式让一个放光二极管以 1s 周期亮灭闪烁-方式2为8位初值自动重装的8为定时器/计数器适合用作较精确的脉冲信号发生器=*/#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit led1 = P10;uint num;/注意数据类型为 uint 而不是 ucharvoid main()TMOD = 0x02;/设
8、置定时器0为工作方式2TH0 = 6;/设置初值,方式2为8为计数器TL0 = 6;EA = 1;/开总中断ET0 = 1;/开定时器0中断TR0 = 1;/启动定时器0while(1)/等待中断发生if(num = 3686)/计数3686次,1s时间到num = 0;/num清零,重新计数led1 = led1;/控制LED亮灭void timer0() interrupt 1/注意这里不需要重置初值num+;方式3/*=实验名称:定时器方式3应用程序说明:定时器0方式3的具体用法实验平台:AT89C52 单片机 protues 仿真日期:2013-08-09-使用说明:利用定时器0方式3
9、工作方式用TL0 让第一个放光二极管以 1s 周期亮灭闪烁用TH0 让第二个放光二极管以 0.5s 周期亮灭闪烁=*/#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit led1 = P10;sbit led2 = P11;uint num1,num2;void main()TMOD = 0x03;/设置定时器0为工作方式3TH0 = 6;/设置初值,方式3为两个8为计数器TL0 = 6;EA = 1;/开总中断ET0 = 1;/开定时器0中断ET1 = 1;/开定时器1中断TR0 = 1;/启动定时器0TR1 = 1;/启动定时器1while(1)/等待中断发生if(num1 >= 3686)/计数3686次,1s时间到num1 = 0;/num清零,重新计时led1 = led1;/控制LED亮灭if(num2 >= 1843)/计数1843次,1s时间到num
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育心肺复苏课件
- 牧场年终总结课件
- 林业局面试题库及答案
- 科技服务业信用评价指标评分细则
- 安全教育培训通信稿课件
- 客运服务员面试题库及答案
- 考研内科面试题库及答案
- 2025年新能源行业绿色金融支持绿色产业布局研究报告
- 2025年新能源汽车电池热失控防护技术市场分析报告
- 安全教育培训记录小学课件
- GB/T 41130-2021展览场馆安全管理基本要求
- 湘美版美术一年级上册全册课件
- 环境经济学(张)课件
- 人才管理-人才选用育留课件
- 成功八步课件
- 玉石床垫讲稿课件
- 初中音乐七年级上册第一单元 红岩魂走进歌乐山
- 栈桥修复方案(全文)
- 某五星级酒店单项工程经济指标
- 【课件】《红烛》课件24张统编版高中语文必修上册
- 电气一次设备吊装搬运施工方案
评论
0/150
提交评论