




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任务五时间间隔为1S钟的流水灯控制任务五时间间隔为1S钟的流水灯控制学习目标学习目标通过单片机控制时间间隔为通过单片机控制时间间隔为1S1S的流水的流水灯系统的制作,了解单片机定时器的结灯系统的制作,了解单片机定时器的结构及定时器的工作方式设定、初始值设构及定时器的工作方式设定、初始值设置等基本技能置等基本技能。任务五时间间隔为1S钟的流水灯控制工作任务工作任务v正确组装流水灯控制电路正确组装流水灯控制电路v 编写编写1S1S精确定时流水灯控制电路程序并完成调试精确定时流水灯控制电路程序并完成调试v根据要求修改程序并观察运行结果根据要求修改程序并观察运行结果v完成实训报告完成实训报告任务五时间
2、间隔为1S钟的流水灯控制精确定时的流水灯精确定时的流水灯电路电路任务五时间间隔为1S钟的流水灯控制相关知识点:相关知识点:一、定时器一、定时器/计数器逻辑结构计数器逻辑结构任务五时间间隔为1S钟的流水灯控制T0和和T1可编程选择为定时可编程选择为定时功能与计数功能,二者之间功能与计数功能,二者之间有什么不同?有什么不同?任务五时间间隔为1S钟的流水灯控制二、定时器二、定时器/计数器初始化计数器初始化一、步骤一、步骤1.确定定时确定定时/计数器的工作方式计数器的工作方式-对对TMOD寄存器编程。寄存器编程。2.计算定时计算定时/计数器中的计数初值,并装载到计数器中的计数初值,并装载到TH和和TL
3、。3.定时定时/计数在中断方式工作时,须开计数在中断方式工作时,须开CPU中断和源中断中断和源中断-对对IE寄存器编程。寄存器编程。4.启动定时启动定时/计数器计数器-对对TCON中的中的TR0或或TR1编程。编程。任务五时间间隔为1S钟的流水灯控制二、过程分析二、过程分析1.确定定时确定定时/计数器的工作方式计数器的工作方式-对对TMOD寄存器编程。寄存器编程。作用:作用:TMOD用来确定两个定时器的工作方式。低半字节设用来确定两个定时器的工作方式。低半字节设置定时器置定时器T0,高半字节设置定时器,高半字节设置定时器T1。字节地址:字节地址:89H,不可以位寻址。,不可以位寻址。格式:格式
4、: D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 定时器定时器T1 定时器定时器T0定时器的方式寄存器定时器的方式寄存器TMOD任务五时间间隔为1S钟的流水灯控制各位的含义:各位的含义:C/TC/T:功能选择位。功能选择位。0为定时器方式;为定时器方式;1为计数器方式。为计数器方式。M1M1,M0M0:方式选择位。可以选择为四种工作方式方式选择位。可以选择为四种工作方式0、1、2、3之之1。 四种工作方式的区别后面讲解。四种工作方式的区别后面讲解。 M1 M0工作方式工作方式功能说明功能说明 0 0方式方式013位计数器位计数器 0
5、 1方式方式116位计数器位计数器 1 0方式方式28位计数器位计数器 1 1方式方式3T0:分成两个:分成两个8位计数器位计数器T1:停止计数:停止计数任务五时间间隔为1S钟的流水灯控制GATEGATE:门控位。门控位。0:只要软件控制位:只要软件控制位TR0或或TR1置置1即可启动定时器开始工作;即可启动定时器开始工作;1:只有:只有INT0或或INT1引脚为高电平,且引脚为高电平,且TR0或或TR1置置1时,才时,才能启动相应的定时器开始工作。能启动相应的定时器开始工作。TF0 TH0 TL0 12分频OSC中断高8位 低5位控制+T0(P3.4)TR0GATEINT0(P3.2)C/T
6、=0C/T=1任务五时间间隔为1S钟的流水灯控制例如:设定时器例如:设定时器T0为定时工作方式,要求用软件启动为定时工作方式,要求用软件启动 定时器定时器T0工作,按方式工作,按方式1工作;定时器工作;定时器T1为计数为计数 工作方式,要求软件启动,工作方式为方式工作方式,要求软件启动,工作方式为方式2。 则根据则根据TMOD各位的定义可知,其控制字为:各位的定义可知,其控制字为: 即控制字为即控制字为61H,其指令形式为:,其指令形式为: MOV TMOD,#61H TMOD=0X61;格式:格式: D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/
7、T M1 M0 0 1 1 0 0 0 0 1任务五时间间隔为1S钟的流水灯控制思考:思考: 本次任务中,用定时本次任务中,用定时/计数器计数器T1工作在方式工作在方式1,定时定时1S,采用软件启动的方式,请设置,采用软件启动的方式,请设置TMOD。D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M000010000控制字:控制字:10H 指令:指令:TMOD=0 x10;任务五时间间隔为1S钟的流水灯控制注意:注意:TMOD不能进行位寻址,只能用字不能进行位寻址,只能用字节指令设置定时器工作方式。复位时,节指令设置定时器工作方式。复位时,TMOD所有位均清零。所有位均
8、清零。任务五时间间隔为1S钟的流水灯控制2.计算定时计算定时/计数器中的计数初值,并装载到计数器中的计数初值,并装载到TH和和TL。 (1)定时器四种工作方式特点定时器四种工作方式特点任务五时间间隔为1S钟的流水灯控制定时器的方式定时器的方式0 0、1 1示意图示意图返回TF0 TH0 TL0 12分频OSC中断高8位8位或低5位控制+T0(P3.4)TR0GATEINT0(P3.2)C/T=0C/T=1任务五时间间隔为1S钟的流水灯控制定时器的方式定时器的方式2 2示意图示意图 TH08位8位 TL0 12分频OSC控制+T0(P3.4)TR0GATEINT0(P3.2)C/T=0C/T=1
9、 1中断TF0 0溢出任务五时间间隔为1S钟的流水灯控制(2)定时器的初始值的计算)定时器的初始值的计算设置计数初值设置计数初值pT0T0、T1T1是是1616位加法计数器,分别由两个位加法计数器,分别由两个8 8位专用寄存器组成,位专用寄存器组成,T0T0由由TH0TH0和和TL0TL0组成,组成,T1T1由由TH1TH1和和TL1TL1组成。组成。TL0TL0、TL1TL1、TH0TH0、TH1TH1的访问的访问地址依次为地址依次为8AH8AH 8DH8DH,每个寄存器均可被单独访问,因此可以被设,每个寄存器均可被单独访问,因此可以被设置为置为8 8位、位、1313位或位或1616位计数器
10、使用。位计数器使用。p在计数器允许的计数范围内,计数器可以从任何值开始计数,对在计数器允许的计数范围内,计数器可以从任何值开始计数,对于加于加1 1计数器,当计到最大值时(对于计数器,当计到最大值时(对于8 8位计数器,当计数值从位计数器,当计数值从255255再加再加1 1时,计数值变为时,计数值变为0 0),产生溢出。),产生溢出。p定时定时/ /计数器允许用户编程设定开始计数的数值,称为赋初值。计数器允许用户编程设定开始计数的数值,称为赋初值。初值不同,则计数器产生溢出时,计数个数也不同。例如:对于初值不同,则计数器产生溢出时,计数个数也不同。例如:对于8 8位计数器,当初值设为位计数器
11、,当初值设为100100时,再加时,再加1 1计数计数156156个,计数器就产生溢个,计数器就产生溢出;当初值设为出;当初值设为200200时,再加时,再加1 1计数计数5656个,计数器产生溢出。个,计数器产生溢出。 任务五时间间隔为1S钟的流水灯控制对于不同的工作方式,计数器位数不同,故最大计数值对于不同的工作方式,计数器位数不同,故最大计数值M也不同:也不同: 方式方式0:M=213=8192 方式方式1:M=216=65536 方式方式2:M=28=256 方式方式3:定时器:定时器0分为分为2个个8位计数器,每个位计数器,每个M均为均为256。因为定时因为定时/计数器是作加计数器是
12、作加1计数,并在计满溢出时产生中断,因此初值计数,并在计满溢出时产生中断,因此初值X的计算如下:的计算如下: X = M 计数值计数值 计算出来的结果计算出来的结果X转换为转换为16进制数后分别写入进制数后分别写入TL0(TL1)、)、TH0(TH1)。)。注意!方式注意!方式0时初始值写入时,对于时初始值写入时,对于TL不用的高不用的高3位应填入位应填入0!任务五时间间隔为1S钟的流水灯控制用用T1T1、工作方式、工作方式0 0实现实现1 1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz12MHz。方式方式0 0采用采用1313位计数器,其最大定时时间为:位计数器,其最大定时时间为:
13、819281921 1 s = s = 8.192ms8.192ms,可选择定时时间为,可选择定时时间为5ms5ms,再循环,再循环200200次。次。定时时间为定时时间为5ms5ms,则计数值为,则计数值为5ms/15ms/1 s =5000s =5000,T1T1的初值为:的初值为: X = M X = M 计数值计数值= 8192 = 8192 5000 = 3192 = C78H = 5000 = 3192 = C78H = 00B00B1313位计数器中位计数器中TL1TL1的高的高3 3位未用,填写位未用,填写0 0,TH1TH1占高占高8 8位,所以,位,所以,X X的实际填写值
14、应为:的实际填写值应为:X = 01100011X = 0110001100000011000B = 6318H11000B = 6318H思考思考1.用用T1、工作方式、工作方式0实现实现1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz,请计算其初值,并加载到请计算其初值,并加载到TH1和和TL1。任务五时间间隔为1S钟的流水灯控制用用T1T1、工作方式、工作方式1 1实现实现1 1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz12MHz。方式方式1 1采用采用1616位计数器,其最大定时时间为:位计数器,其最大定时时间为:65536655361 1 s s = 65.536
15、ms= 65.536ms,可选择定时时间为,可选择定时时间为50ms50ms,再循环,再循环2020次。次。定时时间为定时时间为50ms50ms,则计数值为,则计数值为50ms/150ms/1 s =50000s =50000,T1T1的初的初值为:值为: X = M X = M 计数值计数值=65536 =65536 50000 = 15536 = 3CB0H 50000 = 15536 = 3CB0H TH1=0X3C; TH0=0 xBO;TH1=0X3C; TH0=0 xBO;2.用用T1、工作方式、工作方式1实现实现1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz,请计算其初
16、值,并加载到请计算其初值,并加载到TH1和和TL1。任务五时间间隔为1S钟的流水灯控制用用T1T1、工作方式、工作方式2 2实现实现1 1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz12MHz。方式方式2 2采用采用8 8位计数器,其最大定时时间为:位计数器,其最大定时时间为:2562561 1 s = s = 256us256us,可选择定时时间为,可选择定时时间为250us250us,再循环,再循环40004000次。次。定时时间为定时时间为250ms250ms,则计数值为,则计数值为250us/1250us/1 s =250s =250,T1T1的初的初值为:值为: X = M
17、 X = M 计数值计数值= 256 = 256 250 = 6 250 = 6 TH1=6;TH0=6;TH1=6;TH0=6;3.用用T1、工作方式、工作方式2实现实现1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz,请计算其初值,并加载到请计算其初值,并加载到TH1和和TL1。4.用用T1、工作方式、工作方式3实现实现1秒延时函数,晶振频率为秒延时函数,晶振频率为12MHz,请计算其初值,并加载到请计算其初值,并加载到TH1和和TL1。任务五时间间隔为1S钟的流水灯控制4.启动定时启动定时/计数器计数器-对对TCON中的中的TR0或或TR1编程。编程。3.定时定时/计数在中断方式
18、工作时,须开计数在中断方式工作时,须开CPU中断和源中中断和源中断断-对对IE寄存器编程。寄存器编程。定时器的控制寄存器定时器的控制寄存器TCON作用:作用:TCON用来控制两个定时器的启动、停止,表明定时用来控制两个定时器的启动、停止,表明定时器的溢出、中断情况。器的溢出、中断情况。字节地址:字节地址:88H,可以位寻址。系统复位时,所有位均清零。,可以位寻址。系统复位时,所有位均清零。格式:格式: D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0任务五时间间隔为1S钟的流水灯控制各位的含义:各位的含义:TCON中的低中的低4位与
19、中断有关,在中断章节中讨论。位与中断有关,在中断章节中讨论。TF1 (8FH)TF1 (8FH):定时器定时器1溢出标志。计满后自动置溢出标志。计满后自动置1。TR1 (8EH)TR1 (8EH):定时器定时器1运行控制位。由软件清零关闭定时器运行控制位。由软件清零关闭定时器1。当当GATE=0时,时,TR1 软件置软件置1即启动定时器即启动定时器1 。(。(SETB TR1)当当GATE=1时,且时,且INT1为高电平时,为高电平时,TR1置置1启动定时器启动定时器1 ; 任务五时间间隔为1S钟的流水灯控制用用T1T1方式方式0 0实现本任务中实现本任务中1 1秒延时函数如下:秒延时函数如下
20、: void delay1s()void delay1s() unsigned char i; unsigned char i; TMOD=0 x00; TMOD=0 x00; / / 置置T1T1为工作方式为工作方式0 0 for(i=0;i0 xc8;i+) for(i=0;i0 xc8;i+) / / 设置设置200200次循环次数次循环次数 TH1=0 x63;TH1=0 x63;/ / 设置定时器初值设置定时器初值 TL1=0 x18;TL1=0 x18; TR1=1; TR1=1; / / 启动启动T1T1 while(!TF1); / while(!TF1); / 查询计数是否溢
21、出,即定时查询计数是否溢出,即定时5ms5ms时时间到,间到,TF1=1TF1=1 TF1=0; TF1=0; / 5ms/ 5ms定时时间到,定时时间到,将定时器溢出标志位将定时器溢出标志位TF1TF1清零清零 举举 例例1任务五时间间隔为1S钟的流水灯控制任务分析任务分析v用单片机控制用单片机控制8 8个发光二极管,使个发光二极管,使8 8个发光二极管个发光二极管依次顺序点亮,时间间隔为依次顺序点亮,时间间隔为精确的精确的1S1S。v如果用延时函数来实现间隔如果用延时函数来实现间隔1S1S,时间较难精确控,时间较难精确控制,且单片机工作效率低。制,且单片机工作效率低。v可用定时器中断可用定时器中断实现流水灯的控制实现流水灯的控制。任务五时间间隔为1S钟的流水灯控制精确定时的流水灯精确定时的流水灯电路电路任务五时间间隔为1S钟的流水灯控制精确定时的流水灯精确定时的流水灯程序程序#include REG51.H#include REG51.H“void delay1s() void delay1s() unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度农村涵洞改造施工合同
- 2025版导游领队带团全程服务合同范本
- 2025版建筑消防技术咨询服务与改造协议
- 二零二五年度脚手架施工工程结算与支付合同
- 2025版汽车融资租赁车辆租赁合同模板修订版
- 二零二五年度货物运输保险协议:物流企业货物保险合同
- 二零二五年场部保密协议及保密信息保密义务履行监督合同
- 2025版江苏智能交通系统工程合同
- 2025版汽车租赁公司车辆股份买卖合作协议
- 2025版婚礼化妆服务及产品销售合同
- 员工能力提升计划协议书(2篇)
- 工程项目施工场地移交协议书
- 中国加速康复外科临床实践指南2021
- 2025年公共基础知识多选题库及答案(共100题)
- 2025年医院食堂肉类供应合同书
- 《新能源材料及器件组装》课程教学大纲
- 孕产期保健知识
- 2025年设计顾问技术服务合同模板
- 实验试剂耗材供应服务方案
- 初三下学期英语项目式学习方案
- 2025年度美团外卖配送员招聘合同范本
评论
0/150
提交评论