
单片机应用技术 定时器/计数器 4单片机定时器应用 顾筠
定 时 器 / 计 数 器 单片机应用技术 4 单 片 机 定 时 器 应 用 顾 筠

定时器/计数器 定时与计数原理 2 定时器/计数器结构与功能 定时器/计数器工作方式 单片机定时器应用
定时器/计数器 1 定时与计数原理 2 定时器/计数器结构与功能 定时器/计数器工作方式 单片机定时器应用 3 4

4单片机定时器应用 口单片机定时器应用编程 >定时器初始化 >查询方式编程 >中断方式编程 >定时器综合应用
4 单片机定时器应用 p单片机定时器应用编程 Ø定时器初始化 Ø查询方式编程 Ø中断方式编程 Ø定时器综合应用

1.定对器初始化 >MCS-51单片机的定时器/计数器采用加1计数,是可编程的。 >定时器/计数器初始化编程主要步骤如下: 1.确定工作方式 2.计算计数初值 3.设置定时器中断控制 4.启动定时器
1. 定时器初始化 ØMCS-51单片机的定时器/计数器采用加1计数,是可编程的。 Ø定时器/计数器初始化编程主要步骤如下: 1.确定工作方式 2.计算计数初值 3.设置定时器中断控制 4.启动定时器

(1)确定工作方式 >MCS-51单片机的定时器/计数器工作前首先要确定工作 方式。 ●设置方式控制字寄存器TMOD ●将控制字写入定时器方式控制寄存器TMOD
(1)确定工作方式 ØMCS-51单片机的定时器/计数器工作前首先要确定工作 方式。 l设置方式控制字寄存器TMOD l将控制字写入定时器方式控制寄存器TMOD

设置TMOD 【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。 >分析:根据题意填写TMOD各位。TMOD=01H TO D7 D6 D5 D4 D3 D2 D1 DO TMOD GATE C/T MI MO GATE C斤 MI MO 0 0 0 0 0 0 0 1 01H >将控制字写入TMOD ●指令: MOV TMOD,#01H :设T0工作方式1
设置TMOD 【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。 Ø分析:根据题意填写TMOD各位。TMOD=01H D7 D6 D5 D4 D3 D2 D1 D0 TMOD GATE M1 M0 GATE M1 M0 0 0 0 0 0 0 0 1 T1 T0 01H Ø将控制字写入TMOD l指令: MOV TMOD,#01H ;设T0工作方式 1

(2)计算计数初值 >计算计数初值,写入计数寄存器THx,TLx (x=0或1)。 ●定时器计数初值计算的公式: )x=2n-12/fosC×t (x:计数初值,fosc:晶振频率,n:计数位数,t:定时时间)
(2)计算计数初值 Ø计算计数初值,写入计数寄存器THx,TLx (x = 0或1)。 l定时器计数初值计算的公式: l x = 2n - 12/fosc×t (x:计数初值,fosc:晶振频率,n:计数位数,t:定时时间)

设置计数初值 >【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。晶振12MHz,定时时间10ms。 >分析计算:方式1是16位计数器 ●计数初值: 长除法进制转换 余数 X=216-12/12×10*103 16 55536 0 x=55536=D8F0H 16 3471 15 16 216 8 13
设置计数初值 Ø【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。晶振12MHz,定时时间10ms。 Ø分析计算:方式1是16位计数器 l计数初值: x = 216 - 12/12×10*103 x = 55536=D8F0H 长除法进制转换 余数 16 5 5 5 3 6 … 0 16 3 4 7 1 … 15 16 2 1 6 … 8 1 3

设置计数初值 >【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。晶振12MHz,定时时间10ms。 ●计数初值x=55536=D8F0H ●TH0=0D8H,TL0=0F0H >将计数初值写入TH0,TL0 ●指令: MOV THO,#0D8H MOV TLO.#OFOH ;设16位计数初值
设置计数初值 Ø【例】定时器/计数器T0进行定时,工作在方式1,只用 软件启动。晶振12MHz,定时时间10ms。 l计数初值 x=55536=D8F0H lTH0=0D8H,TL0=0F0H Ø将计数初值写入TH0,TL0 l指令: MOV TH0,#0D8H MOV TL0,#0F0H ;设16位计数初值

(3)设置定时器中断控制 >根据需要打开中断,设置E寄存器。 ●置位ETx和EA(IE.0或IE.1和IE.7) D7 D6 D5 D4 D3 D2 DI DO E EA ES EXI ETO EXO ·【例】定时器T0允许中断。 ●指令: SETB EA ;开总中断 SETB ETO ;允许T0O中断
(3)设置定时器中断控制 Ø根据需要打开中断,设置IE寄存器。 l置位ETx和EA(IE.0或IE.1和IE.7) l【例】定时器T0允许中断。 l指令: SETB EA ;开总中断 SETB ET0 ;允许T0中断 D7 D6 D5 D4 D3 D2 D1 D0 IE EA — — ES ET1 EX1 ET0 EX0