实验六单片机定时计数器实验优秀课件

合集下载

《定时计数器》PPT课件 (2)

《定时计数器》PPT课件 (2)
<想一想> 如果我们需要超过计数器计数范围的定时或计数功能,应该怎样做?
2.时间常数初值的计算
定时/计数器只要预设一个时间常数初值,就可以完成不
超过其计数范围的任意大小的计数。算法如下:
定时时间常数初值X:
方式0
X=8192-t(fosc/12)
方式1
X=65536-t(fosc/12)
方式2、方式3 X=256-t(fosc/12)
TH0此时只能用作内部定时功能,它借用了定时/计数器T1的控 制位TR1和T1的中断标志位TF1,其启动和停止只受TR1控制。
图4-14 定时/计数器T0方式3的逻辑结构示意图
定时器T1无工作方式3,当定时器T0工作在方式3 时,定时器T1可设置为方式0、方式1和方式2。
1.定时/计数器的定时/计数范围
;自动申请中断 SETB TR0 ;启动T0波特率发生器 3.总结:对计数过程是否结束有查询和中断两种 方法,要合理选择,并在程序设计中正确体现。
1. 定时/计数器用于外部脉冲宽度的测量 (1)测量原理
可以利用定时/计数器方式寄存器TMOD中的门控 位GATE与 引脚配合使用,控制定时/计数器的启 动与停止: ➢ 当GATE=1时,要求TR1=l,且 为高电平, 才能启动定时器T1计数工作;如果 出现低电平,则 T1停止计数; ➢ 当GATE=0时,只要TR1=1就可以启动定时器, 而与 的输入状态无关。
定时器初值的设置
在主频为12MHz的情况下,每个时钟脉冲是1微秒,则 计满65536个脉冲需65.536毫秒,如要定时10毫秒则存入初 值55536,(10毫秒是10000微秒,需计数10000个脉冲)。 可见,
定时器的定时时间长短与系统时钟和定时器初 值有关。

单片机定时计数器PPT教案学习

单片机定时计数器PPT教案学习
7.2.2 控制寄存器TCON
TCON是定时计数器控制寄存器,在51单片机 复位后 初始化 值为所 有位都 被清“0”
位序号 位名称
说明
7
TF1
定时计数器1溢出标志位,其功能和TF0相同
6
TR1
定时计数器1启动控制位,其功能和TR0相同
5
TF0
定时计数器0溢出标志位,该位被置位则说明单片机检测到了
定时计数器0的溢出,并且PC自动跳转到该中断向量入口,当
1
5
M10
4
M01
T1工作方式选择位
M10M01
工作方式
00
0
01
1
10
2
10
3
3
GATE0
定时计数器0门控位,其功能和GATE1相同
2
C/T0#
定时计数器0定时/计数选择位,其功能和C/T1#相同
1
M10
T0工作方式选择位,其功能和M10M01相同
0
M00
第21页/共34页
7.2 51单片机定时计数器的寄存器 P1
第54页/共34页
7.3 51单片机定时计数器的工作方式
7.3.2 工作方式1
当M1、M0设定为“01”时,T0/T1工作 于方式1,和工 作方式 0比较 起来, 工作方 式1的得 唯一区 别在于 此时的 内部计 数器宽 度为16位,分 别由TH 0/TH1的8位 和TL0/T L1的8位组成 ,其溢 出方式 和驱动 事件的 来源和 工作方 式相同 。51系 列单片 机的定 时计数 器采用 加1计数 的方式 ,即当 接收到 一个驱 动事件 时候计 数器加 1,当 计数器 溢出时 候则产 生相应 的中断 请求, 第一个 驱动事 件到来 时刻和 中断请 求产生 。

单片机定时计数器PPT课件

单片机定时计数器PPT课件
需要注意:每个机器周期的S5P2期间,对外部输入进行采 样。如在第一个周期中采得的值为1,而在下一个周期 中采得的值为0,则计数器加1。由于确认一次下跳变至 少要用两个机器周期,即24个振荡周期,因此外部输入 的计数脉冲的最高频率为振荡器频率的1/24,同时输入 信号的高、低电平保持一个机器周期以上。 例如:选用6MHz频率的晶体,允许输入的脉冲频率为
此时,定时/计数器T1可为方式0、方式1 和方式2,作为串行口的波特率发生器。
14
工作于方式3的T0
15
T0工作于方式3时的T1
16
定时器的工作方式(总结)
方式0:13位定时计数器
• 注意:TLx的低5位和THx共同组成
方式1: 16位定时计数器 方式2: 自动重装入的8位定时计数器
• 溢出后TFx=1,同时由THx→TLx
5
6.2.1 TMOD:工作方式控制寄存器
GATE:门控位 GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0
引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或 INT1引脚出现的正脉冲的宽度。
GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。 C/T位:计数器模式和定时器模式的选择位 C/T=0,为定时器模式。内部计数器对晶振频率12分频后的脉冲
6
工作方式控制寄存器TMOD
M1、M0工作方式选择位
7
6.2.2 定时/计数器控制寄存器TCON
TF1位:T1计数溢出标志位。当T1计数溢出时,由硬件置 1,申请中断。进入中断服务程序后被硬件自动清0。 TR1位:T1计数运行控制位。由软件置1或清0。当GATE 位(TMOD.7)=0时,若TR1=1,允许T1计数;TR1=0时, 禁止T1计数。当GATE位=1时,TR1=1且INT1=1时, 允许T1计数。 TF0位:T0计数溢出标志位,功能同TF1。 TR0位:T0计数运行控制位,由软件置1或清0。当GATE 位(TMOD.3)=0时,若TR0=1,允许T0计数;TR0=0时, 禁止T0计数。当GATE位=1时,TR0=1且INT0=1时,允许 T重装入)

3.2单片机定时器计数器ppt课件

3.2单片机定时器计数器ppt课件
例如:机器周期为1μs 时, 若工作在模式0,则最大定时值为:213×1μs =8.192ms 若工作在模式1,则最大定时值为: 216×1μs =65.536ms
20
5.3 定时器的工作方式 MCS-51的定时器T0有4种工作方式: 即:方式0,方式1,方式2,方式3。 MCS-51的定时器T1有3种工作方式: 即:方式0,方式1,方式2。
16
(2) M1、M0 — 工作方式选择位
M1 M0
工作方式
0 0 方式0,13位定时器/计数器。
0 1 方式1,16位定时器/计数器。
10
方式2,8位常数自动重新装载
(3)1C/T*1— 计方数式器3模,式仅和适定用时于器T模0,式选择位
0: 定时器模式。
1: 计数器模式。 (4)TMOD无位地址,不能位寻址。
置位以后,计数器即按规定的工作模式和初值进行计数或 开始定时。
19
5.2.3 定时/计数器的初始化
初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。 (模式0: M为213,模式1: M为216,模式2和3: M为28)
一个脉冲,计数器加1,直到计时器计满溢出;
10
TCON〔88H)
控制信号K可以控制计数器的“启动〞和“停顿”,
K=T R x(IN T x+G A T E )
11
指令周期
机器周期 S1 S2 S3 S4 S5 S6
机器周期 S1 S2 S3 S4 S5 S6
XTAL2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 (OSC)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修改程序,使用定时器T1实现125ms定时
(4)单片机输入输出C51程序设计与修改 (课外完成)
修改程序,使用定时器T1实现125ms定时
(5)修改汇编和C51程序,移植到学习板 (课内完成)
学习板发光二极管送0亮,实验箱送1 亮,因为要求闪烁,故而可以忽略此 处电路不同。
学习板晶振频率12Mhz,实验箱晶振 6Mhz,故而在初值相同情况下,学 习板上定时时间是62.5ms,直接下载 实验箱原程序led闪烁更快。
定时方式的初值计算:
假设需要的需要的定时时间为T,则应装入的计数 初值为:
TC M T/T 计数
6、定时/计数器的初始化
可编程器件在使用之前需要进行初始化。对定时/计数器而言需:
第一要能正确写入控制字; 第二能进行计数初值的计算。
一般步骤
(1)确定工作方式,即对TMOD寄存器进行赋值。 (2)计算计数初值,并写入寄存器TH0、TL0或TH1、TL1中。 (3)根据需要,置位ETx允许T/C中断。 (4)置位EA使CPU开中断(需要时)。 (5)置位TRx启动计数。
TMOD:用于设置T/C的工作方式。
89H
T MOD GATE C/ T M1 M0 GATE 0
GATA:定时/计数器启动控制位。
C/ T =1时为计数方式 =0时为定时方式
M1M0:T/C工作方式定义位。
4、定时/计数器的工作方式
T MOD GATE C/ T M1 M0 GATE C/ T M1 M0
C/T 1
C/T 0
四、实验内容 1、定时器实验1: 利用定时器T0实现P1.0输出周期为 250ms方波,让一个发光二极管闪烁。(课内) 2、定时器实验2: 在实验箱显示器上显示左移的数字 “8”,要求每过1秒“8”字左移一位,循环不断。(课内) 3、计数器实验1:CT0计数满3之后(即输入了3个外部脉 冲之后),使显示器上显示字符“8”左移一位。如此不断 重复。(课内) 4、程序移植实验
TC= 216-100×103/2
=65536-50000=15536
=3CB0H
设置TMOD方式字:
对于T0来说:M1M0=01、 C / T = 0 、GATE=0。 由于T1不用,可任意设置,现取为全0。 所以: TMOD=0000,0001B=01H
89H TMOD GATE C/ T M1 M0 GATE C/ T M1 M0
T0采用定时方式1, ①计算定时初值:
初值X1 =65536-125*1000/2 =0BDCH
② 确定TMOD方式字:
M1M0=01H、 C / T =0、GATE=0 TMOD=00000001B=01H
(2)、实验线路连接 (课内完成)
(3)单片机输入输出汇编程序设计与修改 (课内完成)
修改以上程序,移植到学习板(课内) 5、利用Proteus软件仿真以上三个实验(课外)
1、定时器实验1: 利用定时器T0实现P1.0输出 周期为250ms方波,让一个发光二极管闪烁。
(1)寄存器设置及初值计算 (课内完成)
➢若要产生周期为250ms的方波,只要每125ms将信号的幅 值由0变到1或由1变到0即可,可采用取反指令CPL来实现。 为了提高CPU的效率,可采用定时中断的方式,每125ms 产生一次中断,在中断服务程序中将输出信号取反即可。 ➢定时器T0的中断入口地址为000BH。 125ms 125ms ➢频率是6MHz,机器周期为2uS
左移“8”字一位,就必须进行定时时间扩展。
➢T0每隔100ms中断一次,中断10次即实现了1秒的定时。
T0采用定时方式1, ①计算定时初值:
初值X1 =65536-100*1000/2 =3CB0H
(6)、Proteus仿真 (课外完成)
➢仿真系统元器件参数:
器件名称 单片机 电容 电解电容
发光二极管 电阻 晶振 按键
英文名称 AT89C52
CAP CAP-ELEC LED-BLUE
RES CRYSTAL BUTTON
参数
30pF 22uF 10mA 10kΩ 12Mhz
备注
➢输入输出实验仿真图
将移植到学习板程序下载到本系统运行,可以观察到L1闪烁
2、定时器实验2: 在实验箱显示器上显示 左移的数字“8”,要求每过1秒“8”字左移 一位,循环不断。
(1)寄存器设置及初值计算 (课内完成)
➢频率是6MHz,机器周期为2uS,16位的定时器最大定时
时间仅为Tmax=2×65536=131.072mS。如果要求每过1秒
例: 若单片机的晶振频率为6MHz,要求定时/计数器 T0产生100ms的定时,试确定计数初值以及TMOD 寄存器的内容。
解: 当晶振频率为6MHz时,在不扩展计数器情况下产生 100ms的定时只能采用方式1(16位定时器)。
计数初值:TC=M-T/T计数
T计数=2μS
方式0时:Tmax=213×2μS=16.384 mS 方式1时:Tmax=216×2μS=131.072 mS 方式2、3 时:Tmax=28×2μS=0.512 mS
M1 M0 工作方式
方式说明
0
0
0
13位定时/计数器
0
1
1
16位定时/计数器
1
0
2
可自动重装入的8位定时/计数器
1
1
3
T0分为2个8定时器,T1无此方式
5、定时/计数初值的计算方法 计数方式的初值计算:
假设需要的计数值为N,则应装入的计数初值为:
X=M-N
(M :模数,为216、213、28、N :需要的计数值)
实验六单片机定时计数器实验
二、实验器材
1、计算机1台。 2、单片机实验箱1台 3、TKS仿真器 1台 4、串口通讯线 1根 5、单片机学习板 1块
三、实验原理 1、定时/计数器的结构
2、定时器控制寄存器TCON
TCON:用于控制定时器的启动与停止,中断标志。
88H
D7 D6 D5 D4 D3 D2 D1 D0
T C O N TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
位地址 8F 8E 8D 8C 8B 8A 89 88
TFx:
定时器启停和标志
外部中断标志和触发方式
0:无 Tx中断(硬件复位)
1:有 Tx溢出中断
TRx: 0:停 Tx计数 1:启 Tx计数
3、定时器工作方式寄存器TMOD
相关文档
最新文档