1 / 18

任务一 单片机定时器 / 计数器控制

任务一 单片机定时器 / 计数器控制. 西安航空职业技术 学院 自动化工程系 自动化教研室. 任务一 单片机定时器 / 计数器控制. 实现定时常用的三种方法:. 软件定时:占用 CPU 时间,效率低。 用 555 电路:不可编程。 可编程芯片:功能强,需要另外扩展。. 单片机内部有 2 个 16 位的定时 / 计数器:使用灵活,编程方便 。--优先选用. 任务一 单片机定时器 / 计数器控制. 定时 / 计数器的结构. 加 1 计数器(高 8 位、低 8 位) TMOD ,工作方式设置; TCON ,启动、停止及设置溢出标志 。.

jalene
Download Presentation

任务一 单片机定时器 / 计数器控制

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 任务一 单片机定时器/计数器控制 西安航空职业技术 学院 自动化工程系 自动化教研室 《 智能系统设计 与项目实践》项目教学课件

  2. 任务一 单片机定时器/计数器控制 实现定时常用的三种方法: • 软件定时:占用CPU时间,效率低。 • 用555电路:不可编程。 • 可编程芯片:功能强,需要另外扩展。 单片机内部有2个16位的定时/计数器:使用灵活,编程方便。--优先选用

  3. 任务一 单片机定时器/计数器控制 • 定时/计数器的结构 • 加1计数器(高8位、低8位) • TMOD,工作方式设置; • TCON,启动、停止及设置溢出标志。

  4. 任务一 单片机定时器/计数器控制 • 定时/计数器的工作原理 • 计数器脉冲来源: • 振荡器脉冲经过12分频 • T0或T1引脚的外部脉冲 • 计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1), 发中断请求。 • 计数值:溢出时计数器值-计数初值。

  5. 任务一 单片机定时器/计数器控制 • 定时模式,对内部机器周期计数 定时时间t =计数值N x Tcy • 计数模式,对外部事件脉冲计数 计数脉冲周期要大于2 Tcy

  6. 任务一 单片机定时器/计数器控制 TMOD:工作方式;TCON控制启动和中断申请。 • 工作方式寄存器TMOD T1 T0 TMOD (89H) GATE C / T M1 M0 GATE C / T M1 M0 • M1、M0:工作方式设置位 0 0:13位计数器 0 1:16位计数器 1 0:可自动重装的8位计数器 1 1:T0分为2个8位计数器;T1此时停止工作

  7. 任务一 单片机定时器/计数器控制 • C/T:计数器/定时器选择位 • = 0, 片内时钟定时器 • = 1, 外部事件计数器 • GATE:门控位 • = 0,启动/停止仅由软件对TRx位写“1”/“0”控制 = 1,启动/停止由软件对TRx位写“1”/“0” 和在外中断INTx引脚出现信号的高/低共同控制

  8. 任务一 单片机定时器/计数器控制 • 控制寄存器TCON TCON (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 • TFx: 溢出标志位 • = 0, 计数未满 • = 1 ,计数溢出 • 在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。 • TRx: 运行控制位 • =0 ,停止计数 • =1 ,启动计数;

  9. 任务一 单片机定时器/计数器控制 • 方式0 13位计数。由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。

  10. 任务一 单片机定时器/计数器控制 • 计数个数:N=t / Tcy 初值:X=213-N • 门控位GATE具有特殊的作用(测量外中断引脚上正脉冲的宽度) • GATE=0时,仅由TR0控制与门的开启; • GATE=1时,与门开启由INTx引脚信号和TR0共同控制。TR0=1时, INTx引脚的高电平启动计数,低电平停止计数。

  11. 任务一 单片机定时器/计数器控制 • 方式1 16位计数,由TL0作为低8位、TH0作为高8位 。 初值:X=216-N

  12. 任务一 单片机定时器/计数器控制 • 方式2 自动重装初值的8位计数方式,适合于用作较精确的脉冲信号发生器。 初值:X=28-N

  13. 任务一 单片机定时器/计数器控制 • 方式3 T0分成为两个独立的8位计数器TL0和TH0 ,T1处于方式3时停止计数。

  14. 任务一 单片机定时器/计数器控制 5.3.4 定时/计数器用于外部中断扩展 在计数方式下,初值设为满程,外部中断源接计数引脚。输入一下降沿信号,计数器加1后便产溢出中断。 例:用T0扩展外部中断源 MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0 SETB EA SETB ET0 ;置T0为计数器方式2 ;置计数初值 ; ;启动T0工作 ;CPU开中断 ;允许T0中断

  15. 任务一 单片机定时器/计数器控制 初始化程序应完成如下工作: • 确定工作方式(对TMOD赋值) • 计算初值(写入TH0、TL0或TH1、TL1) • 开中断(对IE赋值) • 启动定时/计数器(TR0或TR1置位) 例: 用T0的方式1产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波。采用中断方式,设系统时钟频率为12 MHz。

  16. 任务一 单片机定时器/计数器控制 解:1、计算计数初值X: 晶振为12 MHz,所以Tcy为1 s。 N=t/ Tcy =10×10-3/1×10-6= 10000 X=65536-10000=55536=D8F0H 即应将D8H送入TH0中,F0H送入TL0中 2、求T0的方式控制字TMOD: M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;

  17. 任务一 单片机定时器/计数器控制 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ;转向中断服务程序 ORG 0100H MAIN:MOV TMOD,#01H ;置T0工作于方式1 MOV TH0,#0D8H ;装入计数初值 MOV TL0,#0F0H SETB ET0 ;T0开中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1.0 ;P1.0取反输出 MOV TH0,#0D8H ;重新装入计数值 MOV TL0,#0F0H RETI ;中断返回 END

  18. 谢谢! 《 智能系统设计 与项目实践》项目教学课件

More Related