21天学51单片机开发:第13章 51系列单片机的定时器计数器_第1页
21天学51单片机开发:第13章 51系列单片机的定时器计数器_第2页
21天学51单片机开发:第13章 51系列单片机的定时器计数器_第3页
21天学51单片机开发:第13章 51系列单片机的定时器计数器_第4页
21天学51单片机开发:第13章 51系列单片机的定时器计数器_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

21天学51单片机开发第十三讲:51系列单片机的定时器/计数器课程安排单片机的定时器/计数器定时器/计数器工作模式0及其程序设计定时器/计数器工作模式1及其程序设计定时器/计数器工作模式2及其程序设计定时器/计数器工作模式3及其程序设计单片机的定时器/计数器从单片机硬件结构上看,其本质是一种时序电路。定时器/计数器结构的核心是一个16位的加1计数器。定时器/计数器T0由TH0和TL0构成。定时器/计数器T1由TH1和TL1构成。定时与计数单片机的定时器/计数器具有两种功能:定时计数定时器/计数器的控制寄存器方式控制寄存器TMOD中断控制寄存器TCON定时器/计数器的初始化(1)在程序中包含头文件REG51.H。(2)初始化TMOD寄存器,用来指定工作模式。(3)初始化TH0、TL0或TH1、TL1。(4)如果需要使用定时器中断,则可以对IE赋值,启动定时器中断。(5)置位TR0或者TR1,启动相应的定时器/计数器。定时器/计数器工作模式0及其程序设计工作模式0是一个13位计数器定时器/计数器工作模式0及其程序设计01 #include<reg51.h> //头文件02 sbitb=P1^2; //位定义03 voidT0ISR(void)interrupt1 //定时器T0中断响应04 {05 TL0=0x0C; //重置计数初值06 TH0=0x0F0;07 b=~b; //反向08 }09 void main(void) //主函数10 {11 b=0; //初始化P1^1=012 TMOD=0x00; //设置定时器T0为模式013 TL0=0x0C; //初始化14 TH0=0x0F0;15 TR0=1;16 ET0=1;17 EA=1; //开中断18 while(1) //主循环19 {20 }21 }定时器/计数器工作模式1及其程序设计工作模式1是一个16位计数器定时器/计数器工作模式1及其程序设计01 #include<reg51.h> //头文件02 sbitb=P1^2; //位定义03 voidT1ISR(void)interrupt3 //定时器T1中断响应04 {05 TL1=0x0F0; //重置计数初值06 TH1=0x0D8;07 b=~b; //反向08 }09 void main(void) //主函数10 {11 b=0; //初始化P1^1=012 TMOD=0x10; //设置定时器T1为模式113 TL1=0x0F0; //初始化14 TH1=0x0D8;15 TR1=1;16 ET1=1;17 EA=1; //开中断18 while(1) //主循环19 {20 }21 }定时器/计数器工作模式2及其程序设计工作模式2是一个8位自动重新装入的计数器定时器/计数器工作模式2及其程序设计01 #include<ctype.h> //头文件02 #include<stdio.h>03 #include<reg51.h>04 void main(void) //主函数05 {06 unsigned char i; //变量声明07 char *ch;08 SCON=0x50; //串口模式1,允许接收09 TMOD|=0x20; //初始化T1为定时功能,工作模式210 PCON|=0x80; //设置SMOD=111 TL1=0xF4; //波特率4800bit/s,初值12 TH1=0xF4;13 IE|=0x90; //中断14 TR1=1; //启动定时器15 for(i=0;i<128;i++) //循环输出16 {17 ch=(isalpha(i)?"YES":"NO"); //调用isalpha函数18 printf("isalpha(%c)=%s\n",i,ch); //输出结果 19 }20 }定时器/计数器工作模式3及其程序设计工作模式3是两个相互单独的8位计数器定时器/计数器工作模式3及其程序设计01 #include<reg51.h> //头文件02 sbita=P1^0; //定义位变量03 sbitb=P1^1;04 voidT0ISR(void)interrupt1 //定时器T0中断响应05 {06 TL0=0x9C; //重置计数初值07 a=~a;08 }09 voidT1ISR(void)interrupt3 //定时器T1中断响应10 {11 TH0=0x38; //重置计数初值12 b=~b;13 }14 void main(void) //主函数15 {16 b=0; //初始化P1^1=017 TMOD=0x03; //设置定时器T0为模式318 TL0=0x9C;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论