80C51单片机及定时器计数器.pptVIP

  • 11
  • 0
  • 约4.91千字
  • 约 27页
  • 2017-10-02 发布于浙江
  • 举报
80C51单片机及定时器计数器

* 定时的实现方式: 1.软件定时; 2.不可编程硬件定时; 3.可编程定时。 4.2 定时器/计数器 * 一、定时/计数器的定时和计数功能 在TMOD中,各有一个控制位( ),分别用于控制定时/计数器T0和T1是工作在定时器方式还是计数器方式。 1. 定时功能----计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。 2. 计数功能----计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。 定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1)。 * 二、定时器/计数器的控制寄存器 与定时器/计数器有关的控制寄存器有: 1.定时器控制寄存器TCON(字节地址88H) D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 中断请求标志 触发方式选择 启动定时/计数器 0 低电平1 下降沿 0 停止 1 启动 定时溢出标志 * 2.工作方式控制寄存器TMOD(89H) T1控制 T0控制 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 GATE—门控位 C/T—计数/定时选择 M1 M0—工作方式选择 * 计数脉冲输入 三、定时器/计数器的工作方式 共有四种工作方式 1. 方式0—13位方式 TF0 T0 TR0 GATE INT0 振荡器 1/12 C/T=0 1 ≥1 C/T=1 TL0 TH0 8位 低5位 13位计数器 定时器 计数器 申请 中断 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 * 2. 方式1—16位方式 振荡器 1/12 1 ≥1 T0 TR0 GATE INT0 C/T=0 C/T=1 TL0 TH0 TF0 8位 8位 16位计数器 申请 中断 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 * 3. 方式2—8位自动装入时间常数方式 振荡器 1/12 1 ≥1 T0 TR0 GATE INT0 C/T=0 C/T=1 TF0 TL0 TH0 8位计数器 申请 中断 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 * 4. 方式3—2个8位方式 振荡器 1/12 1 ≥1 T0 TR0 GATE INT0 C/T=0 C/T=1 TL0 TF0 8位计数器 振荡器 1/12 TR1 TH0 TF1 8位定时器 申请 中断 申请 中断 工作方式:8位计数/定时 工作方式:8位定时 * 振荡器 1/12 T1 C/T=0 C/T=1 13或16位计数器 串行口 振荡器 1/12 T1 C/T=0 C/T=1 TL1 TH1 8位计数器 串行口 TL1 TH1 T1方式0,1 T1方式2 * 四、应用举例 ② 计算计数器的计数初值: 编程时将计数初值送THi、 TLi; 可编程器件在使用前需要进行初始化: ① 确定TMOD控制字:编程时将控制字送TMOD; ③ 开中断(如果使用中断方式): 编程时置位EA、ETi ④ TRi位置位控制定时器的启动和停止。 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 TMOD TCON * 例题1:设晶振频率fOSC=6MHz,使用定时器/计数器T0以方式0产生周期为2ms的方波脉冲,并由P1.0输出。试以中断方式实现。 8051 P1.0 2ms * ① TMOD确定 0 0 0 0 X X X X M0 M1 C/T GATE M0 M1 C/T GATE 控制字00H 要产生2ms 的方波脉冲,只需在P1.0端以1ms为间隔,交替输出高低电平即可实现。为此,定时间应为1ms。使用6MHz晶振,则一个机器周期为2μs,设待求计数初值为X,则: ② 计算计数器的计数初值; T1控制 T0控制 * 1000×10-6 = (213-X)×2×10-6 即 500 = 213-X X = 213-500 = 2000H-1F4H = 1E0CH =01100B 所以,初值为: TH0=0F0H,TL0=0CH * 程序设计 ORG 0000H LJMP MAIN ;主程序入口

文档评论(0)

1亿VIP精品文档

相关文档