第六章 定时器计数器、外部中断(C51)_第1页
第六章 定时器计数器、外部中断(C51)_第2页
第六章 定时器计数器、外部中断(C51)_第3页
第六章 定时器计数器、外部中断(C51)_第4页
第六章 定时器计数器、外部中断(C51)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、1一、单片机内部定时器一、单片机内部定时器/ /计数器计数器(一)(一)、结构、结构 CPUTH1(8D)TL1(8B)TH0(8C)TL0(8A)TCON(88)TMOD(89)P3.5(T1) P3.4(T0)2(二)、定时器工作方式控制寄存器(二)、定时器工作方式控制寄存器TMODTMOD 方式字方式字(TMOD)D7 D6 D5D4D3D2D1D0 GATE1 C/T1 M1 M0 GATE0 C/T0 M1 M0 方式方式选择选择 M1 M0 功功 能能 说说 明明 0 0 0 0 方式方式0 0,为,为1313位定时位定时/ /计数器,计数器,THTH8 8位,位,TLTL低低5

2、5位。位。 0 10 1 方式方式1 1,为,为1616位定时位定时/ /计数器。计数器。 1 1 0 0 方式方式2 2,为常数自动重新装入的为常数自动重新装入的8 8位位定时定时/ /计数器。计数器。 1 11 1 方式方式3 3,仅适用于,仅适用于T0T0,分为两个分为两个8 8位计数器,对位计数器,对T1T1停停 止计数。止计数。3(三)、定时器(三)、定时器/ /计数器控制寄存器计数器控制寄存器TCONTCON 字节地址为字节地址为88H(TCON) D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1,TF0TF1,T

3、F0定时器的溢出标志位。最高位产生溢出时置定时器的溢出标志位。最高位产生溢出时置1 1,并请求中断。,并请求中断。用于标志用于标志T0T0和和T1T1计数器是否产生了溢出中断请求。计数器是否产生了溢出中断请求。TR1,TR0TR1,TR0定时器的运行控制位定时器的运行控制位1 1允许计数,允许计数,0 0停止计数。停止计数。IE1IE1外部中断外部中断1 1请求标志(请求标志(/INT1/INT1,P3.3P3.3)( (测到低电平或高低脉冲,则测到低电平或高低脉冲,则认为中断请求有效。认为中断请求有效。IT1IT1外部中断外部中断1 1触发控制位。触发控制位。0 0为电平触发,低有效。为电平

4、触发,低有效。1 1为边沿触发,下为边沿触发,下降沿有效。降沿有效。IE0IE0,IT0IT0外部中断外部中断0 0请求标志(请求标志(/INT0/INT0,P3.2P3.2)和触发控制位。)和触发控制位。注意:注意:计数器为增计数器为增1计数器计数器。4(四)、定时器(四)、定时器/ /计数器的工作模式计数器的工作模式(T1(T1) 方方式式0 0:(:(M1 M0=0 0M1 M0=0 0) 1313位计数器位计数器方式方式(1616位加法计数器只用了位加法计数器只用了1313位)位) (5位位) (8位位) C/T=0 中断中断T1脚(脚(P3.5) C/T=1 控制器控制器 TR1 B

5、 GATE A /INT1脚脚如果要重新实现如果要重新实现N个个单位的单位的计数,应重新置入初值。计数,应重新置入初值。振荡器振荡器 12+TL1 TH1TF15方方式式1 1 (M1 M0=0 1M1 M0=0 1) 1616位计数器方式位计数器方式结构图同模式结构图同模式0,TL1和和 TH1都是都是8位位 方方式式2 2(M1 M0=1 0M1 M0=1 0)自动恢复初值的自动恢复初值的8 8位计数器位计数器 (8位位) C/T=0 中断中断T1脚(脚(P3.5) C/T=1 控制器控制器 TR1 B GATE A /INT1脚脚 12振荡器振荡器TL1+TF1TH16TL0和和TH0为

6、两个独立的为两个独立的8位计数器。位计数器。 (8位位) C/T=0 中断中断T0脚(脚(P3.4) C/T=1 控制器控制器 TR0 B GATE A/INT0 中断中断 TR1振荡器振荡器 12TL0TF0+振荡器振荡器 12TH0TF1方方式式3 3(M1M0=1 1M1M0=1 1)仅限于)仅限于T0T07( (五五) )、定时器工作举例、定时器工作举例 定时器编程流程定时器编程流程:1 1、确定、确定工作方式工作方式,确定工作方式控制字,确定工作方式控制字(TMOD) (TMOD) 。2 2、确定计数或定时值,计算计数初值(、确定计数或定时值,计算计数初值(TLTL和和THTH值)。

7、值)。3 3、确定中断优先级和中断控制字。、确定中断优先级和中断控制字。4 4、将、将有关控制字和参数写入相关的寄存器中。有关控制字和参数写入相关的寄存器中。 用用以启停以启停T/CT/C的运行的运行。5 5、等待定时、等待定时/ /计数时间到,执行中断服务程序。计数时间到,执行中断服务程序。8计数初值的计算计数初值的计算9例题一:使用例题一:使用T0定时,使得由定时,使得由P0.7输出周输出周期为期为2ms的方波。设单片机时钟为的方波。设单片机时钟为6MHz。使用方式使用方式0和方式和方式1分别实现。请编制程分别实现。请编制程序。序。分析:分析:2ms的方波,即的方波,即1ms高电位,高电位

8、,1ms低低电位。可以这样实现:定时电位。可以这样实现:定时1ms中断一次,中断一次,在中断中使得在中断中使得P0.7状态反相。状态反相。101)计算定时器初值)计算定时器初值X。定时器计数脉冲周期是时钟的定时器计数脉冲周期是时钟的12倍。计时倍。计时1ms需要计数需要计数1000/2=500个脉冲。即个脉冲。即N=500。若用方式若用方式0,13位计数器,位计数器,则有:则有:X= 500 = 8192500 = 7692换算成换算成16进制数为进制数为1E0CH用高八位和低五位表示(用高八位和低五位表示(TH0、TL0):):F00CH112)编制汇编语言初始化程序)编制汇编语言初始化程序

9、:T0工作在方式工作在方式0,方式控制字为,方式控制字为00H,TH0=F0H,TL0=0CH编程:编程: ORG 0200HMOV TMOD,#00HMOV TH0,#0F0HMOV TL0,#0CHMOV IE,#82HSETB TR0WAIT:SJMP WAIT中断程序:中断程序:ORG 000BHLJMP TINTORG 0300HTINT: CPL P0.7MOV TH0,#0F0HMOV TL0,#0CHMOV IE,#82HRETI124、编制、编制C51语言语言初始化程序初始化程序:#include Sbit P1_7=P17;main()TMOD = 0 x00;TH0 =

10、0 xFE;TL0 = 0 x0C;TR0 = 1;IE = 0 x82;while(1)void timer0() interrupt 1 using 1TH0 = 0 xFE;TL0 = 0 x0C;P1_7=!P17;13设系统时钟设系统时钟12MHz,编程实现从,编程实现从P1.1输出输出周期为周期为1秒的方波秒的方波14设系统时设系统时钟钟12MHz,编程实现从,编程实现从P1.1输出输出周期为周期为1秒的方波秒的方波(汇编汇编) ORG 0100HMAIN: MOV TMOD,#01H MOV TH0,#0D8H MOV TL0,#0F0H SETB EA SETB ET0 SET

11、B TR0 SJMP $ INTT0:MOV TH0,#0D8H MOV TL0,#0F0H INC R2 CJNE R2,#32H,NEXT CPL P1.1 MOV R2,#00HNEXT: RETI END15设系统时钟设系统时钟12MHz,编程实现从,编程实现从P1.1输出输出周期为周期为1秒的方波秒的方波(C51)#include Sbit P1_1=P11;Char i;main()TMOD = 0 x01;TH0 = 0 xD8;TL0 = 0 xF0;EA=0;ET0=1;i=0;TR0 = 1;while(1)void timer0() interrupt 1 using 1

12、TH0 = 0 xD8;TL0 = 0 xF0;i+If(i=50)P1_7=!P17;i=0;;161718IT0IT0:外部中断触发方式控制位:外部中断触发方式控制位1 1、IT0IT0设置为设置为“0 0”,电平触发方式;,电平触发方式;IE0:IE0:中断请求标志位,在电平触发方式时,中断请求标志位,在电平触发方式时,CPUCPU在每个在每个S5P2S5P2采样采样P3.2P3.2,若,若P3.2P3.2引脚为高电平,则引脚为高电平,则IE0IE0清清0 0;若若P3.2P3.2引脚引脚为低电平为低电平,则,则IE0IE0置置1 1;2 2、IT0IT0设置设置为为“1 1”,边沿触发,边沿触发;边沿触发边沿触发时,第一个机器周期时,第一个机器周期P3.2P3.2为为高高电平,第二个电平,第二个机器周期机器周期P3.2P3.2为低电平,则为低电平,则 IE0IE0置置1 1,向,向CPUCPU请求中断。请求中断。方式方式用外中断用外中断0的中断方式进行数据采集的中断方式进行数据采集#include s

温馨提示

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

评论

0/150

提交评论