《(高职)任务四 时间管理—定时器计数器ppt课件.ppt》由会员分享,可在线阅读,更多相关《(高职)任务四 时间管理—定时器计数器ppt课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、任务四 时间管理定时器计数器单片机原理及应用第一篇 单片机应用入门 2020年5月20日任务四 “如何做到”时间管理定时器/计数器一、任务内容在本篇任务三中,我们通过外部中断的方式实现了流水灯的单灯循环点亮。同时我们也了解到了定时/计数控制寄存器TCON的符号位的使用,了解STC15W4K32S4单片机的定时器/计数器的结构和功能;掌握STC15W4K32S4单片机定时器/计数器相关的SFR的功能;掌握STC15W4K32S4单片机定时器/计数器查询方式下设置以及使用方法;掌握STC15W4K32S4单片机定时器/计数器中断方式下设置以及使用方法。任务四 “如何做到”时间管理定时器/计数器因此
2、,在本任务中,我们将要通过对TCON等相关寄存器更加深入的学习,来完成以下新的任务,要求如下:1、利用定时器/计数器T1查询方式(工作方式0)控制流水灯,每个灯亮、灭时间均为1s。2、利用定时器/计数器T2中断方式控制流水灯,每个灯亮、灭时间均为0.5s。流水灯电路原理图见图1-4-1所示: 图1-4-1 流水灯电路原理图任务四 “如何做到”时间管理定时器/计数器二、实施条件1、教学做一体化教室。2、电脑(安装有Keil 软件、ISP下载软件)、串口下载线或专用程序烧写器,作为程序的开发调试以及下载工具。3、由单片机最小系统图以及流水灯电路原理图中所需器件构成的电路板,用来存储和运行程序,并演
3、示效果。任务四 “如何做到”时间管理定时器/计数器三、安全提示1、焊接电路时注意规范操作电烙铁,防止因为操作不当导致受伤。2、上电前一定要进行电路检测,将桌面清理干净,防止桌面残留的焊锡、剪掉的元器件引脚引起电路板短路,特别是防止电源与地短路导致芯片损坏。3、上电后不能够用手随意触摸芯片,防止芯片受损。4、规范操作万用表、示波器等检测设备,防止因为操作不当损坏仪器。任务四 “如何做到”时间管理定时器/计数器03 知识链接 STC15W4K32S4系列单片机内部定时器/计数器(T0/T1)的工作方式和控制主要由TCON、TMOD和AUXR三个特殊功能寄存器进行管理。 当定时器/计数器TO、T1工
4、作在定时模式时,特殊功能寄存器AUXR中的T0 xl2、Tlxl2分别决定是系统时钟/12还是系统时钟/1(不分频),后让TO、T1进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计数不分频。1、定时器/计数器0/1控制寄存器TCON TCON:定时器/计数器中断控制寄存器(复位后其值为00H,可位寻址)。 TCON为定时器/计数器TO、T1的控制寄存器,同时也锁存TO、T1溢出中断源和外部请求中断源等,TCON格式如表1-4-1所示:SFR name AddressbitB7B6B5B4B3B2BlB0TCON88Hname TF1TR1TF0TR0IE1IT1IE0IT0 TF1:
5、T1溢出中断标志。T1被允许计数以后,从初始值开始加1计数。当产生溢出时由硬件置“1”TF1,向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”(也可由查询软件清“0”)。 TR1:定时器T1的运行控制位。该位由软件置位和清零。当GATE (TMOD.7) =0, TR1=1时就允许T1开始计数,TR1=O时禁止T1计数。当GATE (TMOD.7) =1, TR1=1且INTI输入高电平时,才允许T1计数。TFO:T0溢出中断标志。T0被允许计数以后,从初值开始加1计数,当产生溢出时,由硬件置“1”TFO,向CPU请求中断,一直保持CPU响应该中断时,才由硬件清“0” (也可由查
6、询软件清“0”)。TR0:定时器T0的运行控制位。该位由软件置位和清零。当GATE(TMOD.3)=0,TR0=l时许T0开始计数,TR0=0时禁止TO计数。当GATE (TMOD.3) =1,TR0=l且INTO输入高电平时,才允许TO计数,TR0=0时禁止TO计数。2、定时器/计数器工作模式寄存器TMOD TMOD:定时器/计数器工作模式控制寄存器(复位后其值为00H,不可位寻址)。定时和计数功能由特殊功能寄存器TMOD的控制位C/进行选择,TMOD寄存器的各位信息如表1-4-2所列。该寄存器的低4位控制定时器/计数器T0,高4位控制定时器/计数器T1。SFR name Addressbi
7、tB7B6B5B4B3B2BlB0TMOD89Hname GATE C/M1M0 GATE C/M1M0 M1M0 : 定时器/计数器方式选择控制位。该寄存器中有两对,TM0D.5与TM0D.4控制的是定时器/计数器1,而TM0D.1与TM0D.0控制的是定时器/计数器0。 C/:该寄存器中有两个C/位,其中TM0D.6控制定时器1用作定时器或计数器。清零时设置为定时器功能 (对内部系统时钟进行计数),置1时设置为计数器功能(对引脚T1/P3.5 外部脉冲进行计数)。TM0D.2控制定时器0用作定时器或计数器。清零用作定时器(对内部系统时钟进行计数),置1则用作计数器(对引脚T0/P3.4 的
8、外部脉冲进行计数)。 GATE:该寄存器中有两个GATE位,其中TMOD.7控制定时器1。置1时只有在INT1脚为高且TR1控制位置1 时才可打开定时器/计数器1。TM0D.3控制定时器0,置1时只有在INTO脚为高且TRO控制位置1时才可打开定时器/计数器0。 M1 M0方式功能描述0 0方式016位自动重装定时器,当溢出时,将RL_TH1和RL_TL1存放的值自动重装入TH1和TL1中0 1方式116位不可重装载模式,TL1、TH 1全用1 0方式28位自动重装载定时器,当溢出时将TH1存放的值自动重装入TL11 1方式3定时器/计数器1此时无效(停止计数)M1 M0方式功能描述0 0方式
9、016位自动重装定时器,当溢出时,将RL_TH0和RL_TL0存放的值自动重装入TH0和TL0中0 1方式116位不可重装载模式,TL0、TH0全用1 0方式28位自动重装载定时器,当溢出时,将TH 0存放的值自动重装入TL01 1方式3不可屏蔽中断的16位自动重装定时器AUXR:辅助寄存器(复位后其值为00H,不可位寻址)。STC15W4K32S4单片机是1T的8051单片机,为兼容传统8051,定时器0、定时器1和定时器2复位后是传统8051的速度,即12分频,这是为了兼容传统8051。但也可不进行12分频,通过设置新增加的特殊功能寄存器AUXR,将TO,T1,T2设置为1T。SFR na
10、meAddressbitB7B6B5B4B3B2BlBOAUXR8EHname T0 xl2 Tlxl2UART M0 x6T2R T2_ C/ T2xl2 EXTRAM S1ST2该寄存器与T0和T1分频系数设置相关的位只有2位,分别是T0 xl2和Tlxl2,故在本章节只对这两个位进行介绍。T0 x12:定时器0速度控制位。该位为0时,定时器0被设置为传统8051速度,即12分频;该位为1时, 定时器0的速度是传统8051的12倍,即不分频。T1X12:定时器1速度控制位。该位为0时,定时器1被设置为传统8051速度,即12分频;该位为1时, 定时器1的速度是传统8051的12倍,即不分频
11、。三、STC15W4K32S4单片机的定时器/计数器(T0/T1)的工作方式通过对寄存器TMOD中的Ml、MO的设置,定时器/计数器有4种不同的工作方式,分别为方式0、方式1、方式2和方式3。其中,定时器/计数器0可以工作在这4种工作方式中的任何一种,定时器/计数器1在工作方式3下会停止工作。在方式0、方式1、方式2中,定时器/计数器0和定时器/计数器1的工作原理是一样的。值得注意的是,在设置在方式3时,定时器1停止计数,效果与将TR1设置为0相同。符号地址位地址及其符号MSBLSB复位值T2HD6HT2的高8位0000 0000BT2LD7HT2的低8位0000 0000BAUXR8EHT0
12、 xl2 T1X12UART_M0 x6T2R T2_ C/ T2xl2EXTRAM S1ST20000 0001BINT_CLKOAUXR28FH-EX4EX3EX2-T2CLKO T1CLKO T0CLKOx000 x000BIE2AFH-ET4ET3ES4ES3ET2ESPIES2x000 0000B04任务实施硬件准备工作步骤一编写程序步骤二调试程序步骤三下载程序并运行步骤四图1-4-8查询程序流程图#include #include /*= Name: Init Description: 定时器初始化. =*/ void Init( )TMOD = 0 x00; TH1 = (655
13、36-50000)/256;TL1 = (65536-50000)%256;TR1 = 1;/*= Name: GPIO_int Description: GPIO初始化. =*/ void GPIO_int( )P1M1=0;P1M0=0;/*= Name: Delay Description: 查询延时. =*/ void Delay( )while(!TF1);TF1 = 0; /*= Name: Cycle Description: 循环执行. =*/ void Cycle( )unsigned char i;while(1)for(i=0;i20;i+)Delay( );P1 = _
14、crol_(P1,1);/*= Name: main Description: 主函数. =*/ void main( ) GPIO_int( );Init( );P1 = 0 xfe;Cycle( ); / =/ * END OF FILE */ =1-4-9中断方式程序流程图#include #include unsigned char cnt = 0;/*= Name: Init Description: 定时器初始化. =*/ void Init( ) T2H = (65536-50000)/256; /单次定时50ms T2L = (65536-50000)%256; IE2=IE2
15、|0 x04; AUXR=AUXR|0 x10;/设置为定时器,12T模式,启动T2 EA=1;/*= Name: GPIO_int Description: GPIO初始化. =*/ void GPIO_int( )P1M1=0;P1M0=0;/*= Name: Cycle Description: 循环执行. =*/ void Cycle( )while(1)if(cnt=10)cnt = 0;P1 = _crol_(P1,1);/*= Name: main Description: 主函数. =*/ void main( ) GPIO_int( );Init( );P1 = 0 xfe;
16、Cycle( );/*= Name: 定时器2中断 Description: 定时器2中断. =*/ void Isr_3( ) interrupt 12cnt+;/ =/ * END OF FILE */ =05任务检查与评价一级指标比例二级指标比例得分电路板制作30%1.元器件布局的合理性5%2.布线的合理性、美观性2%3.焊点的焊接质量3%4.电路板的运行调试20%程序设计及调试40%1.开发软件的操作、参数的设置2%2.控制程序具体设计25%3.程序设计的规范性3%4.程序的具体调试10%通电实验20%1.程序的下载5%2.程序的运行情况,现象的正确性15%职业素养与职业规范10%1.材料利用效率,耗材的损耗2%2.工具、仪器、仪表使用情况,操作规范性5%3.团队分工协作情况3%总计100%06巩固与拓展