实验五 定时计数器实验PPT课件

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;启动定时器
SJMP $
;等待定时器0溢出中断
TODS: MOV TH0,#0B1_____ ;重装定时初值
MOV TL0,#0E0_____
DJNZ R2,RTUN
2020/10/13 CPL P1.5____
;取反
10
MOV R2,#50
RTUN: RETI
;定时中断返回
END
2020/10/13
11
中断方式:计数
ORG 0000H
SJMP MAIN
ORG 000BH ;定时器0溢出中断入口地址 AJMP JISHU ;跳到中断子程序
3 、 在 编 辑 窗 口 输 入 源 程 序 , 保 存 , 文 件 名 为 T5-1.ASM 等 。 对 T51.ASM等源程序进行编译,编译无误后,执行程序,观察实验现 象,分析结果。
4、完成定时计数程序设计。
5、完成定时1秒程序设计。
2020/10/13
7
六、内容1(A)参考程序:(查询方式)定时20MS
LJMP TODS
ORG 4100H
START: MOV TMOD,#10H ;设置工作方式1_____
MOV TH0,#09EH______ ;置定时初值45536=B1E0H
MOV TL0,#58H
SETB ET1
; 开放TO中断
SETB EA
; 开放CPU总中断
SETB TR0
;启动定时器
SJMP $
实验五 定时计数器实验
一、 实验目的 1、学习51单片机内部定时计数器的工作原理、基本性能;
2、学习51单片机内部定时计数器的使用和编程方法;
ຫໍສະໝຸດ Baidu
3、学习定时扩展的编程方法 。
二、实验仪器和设备 PC机、WAVE仿真软件、E6000/S仿真器+POD8X5X仿真头、
单片机应用与仿真开发实验台、开关电源等。
;等待定时器0溢出中断
TODS: MOV TH0,#0B1_____ ;重装定时初值
MOV TL0,#0E0_____
CPL P1.5____
;取反
RETI
;定时中断返回
2020/10/13 END
9
内容1(B)中断方式(1秒定时):
ORG 0000H
LJMP START

ORG 000BH
;定时计数器0溢出中断入口地址
三、实验内容
内容1:A、用单片机内部定时器T1(查询)和中断方式定时,实
现每20ms使P1.5输 出状态发生一次反转。
B、完成定时1秒I/O口线状态反转或者P1口所接的LED轮
流点亮。
2020/10/13
1
内容2:利用内部定时计数器T1,按计数器模式工作 于方式1,对P3 .5(T1)引脚进行计数,将其数值按二 进制数在P1口驱动LED灯上显示出来。
与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。 TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计 数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行 或停止等。
内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度 是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序定时器工作于方 式1(16位方式)时,最大定时时间为:
2相020应/10的/13中断。
5
内部计数器起计数器的作用时,外部事件计数脉冲由T0(P3.4 )脚引入定时器T0。单片机在每个机器周期采样一次输入波形, 因此单片机至少需要两个机器周期才能检测到一次跳变,这就要 求被采样电平至少维持一个完整的机器周期,以保证电平在变化 之前即被采样。同时这就决定了输入波形的频率不能超过机器周 期频率。
2020/10/13
2
四、实验说明
实现定时一般有三种方法:
1、利用软件实现(延时程序);
优点:简单,控制方便;缺点:CPU效率低。
2、硬件实现,专门设计一个单稳态定时器:
优点:CPU效率高;缺点:修改参数麻烦。
3、利用计数器实现
8051内部设有两个16位的定时器/计数器,可用软件控 制。
定时器:对机器周期计数, 每过一个机器周期,计数器内容加1 ;
计算机一般利用第三种方法实现
2020/10/13
3
计数器:对外来脉冲进行计数, T0、T1引脚上从高电平到低电平跳变时,计数器内容加1。
T0 外来脉冲
机器周期
片内计数器
单片机
2020/10/13
4
内部定时器/计数器的编程主要是定时时间常数的设置和有关控制寄存 器的设置。内部定时器/计数器在单片机中主要有定时和计数两种功能。本 实验使用的是定时功能。
216*1μs=65536μs
再利用软件记数,当T0中断16次时,所用时间为:
65536*16=1048576μs≈1s
因此在T0中断处理程序中,要判断中断次数是否到16次,若不到16次,则 只使中断次数加1,然后返回,若到了16次,则使输出状态位取反。
在设置时间常数前要先关对应的中断,设置完时间常数之后再打开
2020/10/13
6
五、实验步骤
1、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真 头插到模块的单片机插座中,打开实验台电源,打开仿真器电源 打开电脑。
2、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真 器的设置,选择仿真器型号、仿真头型号、CPU类型。选择通信 端口,点击测试串行口,通信成功便可退出设置,进行仿真。
否为1,为1就执行NEXT子程序
SJMP WAIT
;为0就不停的查询TF0
NEXT: CPL P1.5
MOV TH1,#09H
MOV TL1,#58H
SJMP WAIT
2020/10/13
8
内容1(A)中断方式(20MS定时):
ORG 0000H
LJMP START

ORG 000BH
;定时计数器0溢出中断入口地址
ORG OOOOH
LJMP START
;查询方式
ORG 4100H
START: MOV TMOD,# 10H ;设置工作方式1
MOV TH1,# 09EH ;置定时初值45536=B1E0H
MOV TL1,#58H
SETB TR1
; 启动定时器
WAIT: JBC TF1,NEXT ;查询定时器0溢出标志位是
LJMP TODS
ORG 4100H
START: MOV TMOD,#10H ;设置工作方式1_____
MOV TH0,#9EH____ ;置定时初值45536=B1E0H
MOV TL0,#58H______
SETB ET1
; 开放TO中断
SETB EA
; 开放CPU总中断
MOV R2,#50
SETB TR0
相关文档
最新文档