欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《片机应用》PPT课件.ppt

    • 资源ID:5550196       资源大小:490.50KB        全文页数:62页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《片机应用》PPT课件.ppt

    第七章 定时器/计数器的应用,广东机电职业技术学院-单片机应用,智能电子教研室,张永亮,1、定时器/计数器,MCS-51单片机内有2个16位可编程的定时/计数器,即定时器0(T0)和定时器1(T1)。两个定时/计数器都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等应用。,第七章、定时器/计数器的应用,2、定时/计数器的结构与原理,T0和T1受特殊功能寄存器TMOD和TCON控制。可由软件设置为定时或计数工作方式。,1)定时/计数器T0、T1结构,Timer Controller,Timer Mode,图1 定时/计数器的内部结构框图,2)加1计数器,T0、T1都是16位加1计数器,TH0、TL0构成定时/计数器T0加1计数器的高8位和低8位。加1计数器的初值可以通过程序进行设定,设定不同的初值,就可以获得不同的计数值或定时时间。,图1 定时/计数器的内部结构框图,3)定时控制寄存器(TCON),TF0、TF1:计数溢出标志位。TF0=1或TF1=1是计数溢出;TF0=0或TF1=0是计数未满。TR0、TR1:启/停控制位。TR0=1或TR1=1,使T0或T1启动计数;TR0=0或TR1=0,使T0或T1停止计数。,表1 TCON各位的地址、定义及其对应的功能,Timer Run,Timer Full,4)工作方式控制寄存器(TMOD),GATE:门控信号。当GATE=0时,TRx=1即可启动定时器工作;当GATE=1时,要求同时有TRx=1和INTx=1才可启动 定时器工作C/T:定时/计数器选择位。C/T=1,为计数器工作方式;C/T=0,为定时器工作方式。,M1、M0:定时/计数器工作模式选择位M1M0=00 工作方式0(13位方式)M1M0=01 工作方式1(16位方式)M1M0=10 工作方式2(8位自动再装入方式)M1M0=11 工作方式3(T0为2个8位方式),表1 TCON地址及其各位定义,5)T0、T1定时功能和计数功能的选择,通过选择控制C/T实现定时器或计数器的功能选择。当C/T=0时,选择定时器功能;当C/T=1时,选择计数器功能。,图2 定时/计数器T0逻辑结构,对单片机内部机器周期产生的脉冲进行计数,计数器每个机器周期自动加1。如果单片机的晶振频率为12MHz,则计数频率为1MHz,或者说计数器每加1,可实现1s的计时。,定时功能(C/T=0),5)T0、T1定时功能和计数功能的选择,对外部事件产生的脉冲进行计数。对于MCS-51单片机来说,P3.4和P3.5两个信号引脚分别是T0和T1计数器的计数脉冲信号输入端,当该引脚输入脉冲发生负跳变时,加1计数器自动加1。,计数功能(C/T=1),5)T0、T1定时功能和计数功能的选择,3、定时/计数器的工作方式,四种工作方式,表3 定时/计数器T0和T1的工作方式,当TMOD中M1M0=00时,选定方式0进行工作,13位状态。定时/计数值:N=8192-x。x是由TH0、TL0设定的初值。x=8191时为最小计数值l,x=0时为最大计数值8192,即计数范围为18192(213)。,1)方式0【13位状态】,图3 T0工作方式0时的逻辑结构,注意启动方式,当M1M0=01时,定时/计数器选定方式1进行工作。,2)方式1【16位状态】,定时/计数器范围:165536(216);作为定时器使用时,定时时间为:Td=(216-Count)Tcy。如果晶振频率fosc=12MHz,则定时范围为:165536s。,图4 T0工作方式1时的逻辑结构,方式0和方式1具有共同的特点,即当加法计数器发生溢出后,自动处于0状态,如果要实现循环计数或周期定时,就需要程序不断反复给计数器赋初值,这就影响了计数或定时精度,并给程序设计增添了麻烦。而方式2具有初值自动重新加载功能。,3)方式2【自动重装载模式】,图5 T0工作方式2时的逻辑结构,当M1M0=10时,定时/计数器选定方式2进行工作。该方式下,TL0作为计数器,TH0作为计数器TL0的初值预置寄存器,并始终保持为初值常数。当TL0计数溢出时,系统将TF0置位,并向CPU申请中断,同时将TH0的内容重新装入TL0,继续计数。,方式2特性,4)方式3,当M1M0=11时,T0定时/计数器处于方式3。在方式3下,T0被拆成两个独立的8位计数器TL0和TH0。,(1)T0的方式3工作模式,图6 T0工作方式3时的逻辑结构,图7 T0工作方式3时T1的工作逻辑结构,当作为波特率发生器使用时,只需设置好工作方式,便可自动运行。如要停止工作,只需送入一个把T1设置为方式3的方式控制字就可以了。,4)方式3,4、定时/计数器对输入信号的要求,定时器使用,当MCS-5l内部的定时/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲位,计数器增l,因此定时/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的l/12。当采用12MHz频率的晶振时,计数速率为1MHz,输入脉冲的周期间隔为1s。由于定时的精度决定于输入脉冲的周期,因此当需要高分辨率的定时时,应尽量选用频率较高的晶振。,当定时/计数器用作计数器时,计数脉冲来自外部输入引脚T0或T1。当输入信号产生由1至0的跳变(即负跳变)时,计数器的值增l。,计数器使用,由于确认一次负跳变需要2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24,例如,选用6MHz频率的晶振,允许输入的脉冲频率为250kHz,如果选用12MHz频率的晶振,则可输入500kHz的外部脉冲。对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一电平至少要保持一个机器周期。,4、定时/计数器对输入信号的要求,5、定时/计数器的应用,1)设置工作方式;2)计算加1计数器的计数初值Count,并将计数初值Count送入TH、TL中;3)启动计数器工作,即将TRx置1。4)若采用中断方式,则应设置T0、T1及CPU开中断。,1)定时/计数器初始化,图8 定时/计数器初始化流程图,例1:定时/计数器T0工作于计数方式,计数值x=1,允许中断,使用工作方式1。进行初始化编程。,#include sbit ET0=IE1;/*定义CPU中断控制字IE第1位为ET0*/sbit EA=IE7;/*定义CPU中断控制字IE第7位为EA*/sbit TR0=TCON4;/*定义TCON第4位为TR0*/TMOD=0 x05;/*设置T0工作于计数方式1*/TH0=0 xff;/*加1计数器高8位TH0赋初值FFH*/TL0=0 xff;/*加1计数器低8位TL0赋初值FFH*/ET0=1;/*T0开中断*/EA=1;/*CPU开中断*/TR0=1;/*启动T0*/,2)应用实例,计数值N与计数器初值Count的关系:N=2n-Count,所以定时时间Td=(2n-Count)*Tcy。,例2:设单片机的fosc=12MHz,要求在P1.0脚上输出周期为 2ms的方波。,周期为2ms的方波要求定时间隔为1ms,每次时间到将P1.0取反。定时器计数频率为fosc/12,Tcy=12/fosc=1s。每个机器周期定时器计数加1,1ms=1000s,需计数次数为1000/(12/fosc)=1000。由于计数器向上计数,为得到l000个计数之后的定时器溢出,必须给定时器赋初值65536-1000,C语言中相当于-1000。,分析,2)应用实例,2)应用实例,#include/包含51单片机头文件sbit LED=P20;/-void t0_sever(void)interrupt 1/入口 LED=LED;TH0=-1000/256;/重新载入初值 TL0=-1000%256;/-void main()/主函数 TMOD=0 x01;/方式1,16位定时器 TH0=-1000/256;/设定初值,1ms定时 TL0=-1000%256;EA=1;ET0=1;TR0=1;loop1:goto loop1;,五个中断源:入口地址 外部中断0(/INT0)0003H T0溢出中断 000BH 外部中断1(/INT1)0013H T1溢出中断 001BH 串口中断 0023H,中断服务程序入口地址,中断服务入口地址,3)中断响应,计数器(定时中断),工学结合任务五:,广东机电职业技术学院-单片机应用,目的和意义,1掌握计时器的工作原理。2、掌握单片机中断概念,定时器结构、工作原理,工作 方式控制寄存器。3掌握C51编写中断程序。4掌握PROTEUS仿真,烧写器的使用,硬件电路设计、焊接、装配,培养学生利用单片机技术解决生活 中的实际问题的能力。,一、任务描述,1、设计一个产品,每隔一定时间,执行某种动作(PWM)。2、具体要求:计时单位为100ms,计时个数小于20为低电 平,20-100为高电平,即占空比为20%。3、利用Keil C 软件编写主函数、定时器中断C程序代码。,二、任务分析,1、任务所需硬件知识 单片机最小系统(晶振,复位电路),中断接口、工作方式2、任务所需软件知识单片机C语言数据类型,结构,中断等程序设计3、任务所需环境安装操作系统的微机1台、单片机集成开发环境keil C2.0、软 硬件开发平台proteus 6.9、单片机下载软件STC_ISP_V3.3、单片机实验板、下载线。,项目实施过程理实一体化模式,系统设计规划,二、任务分析,要求会使用Keil C开发环境要求文件夹命名规范要求工程项目命名规范要求文件名命名规范要求程序是否功能齐全要求仿真软件达到设计要求要求硬件电路满足设计要求要求产品设计文档充分,二、任务分析,程序设计要求,1、进行功能分析,工作框架搭建,工作分工。2、使用软硬件开发平台proteus 7.4进行电路仿真。设计要点:新建电路图设计文件,查找元器件,放置元器件,布局布线,修改元器件属性,进行仿真单片机程序。3、使用单片机集成开发环境keil C2.0。要点:C程序构成,关键词,运算符与表达式,数据结构,结构化语句。4、使用单片机下载软件STC_ISP_V3.3,通过串口或USB将单片机程序下载到单片机芯片中进行调试。5、完善单片机产品硬件电路,进行合适的电容、电阻、芯片、传感器、显示器件等进行焊接,通电运行后观察硬件电路是否满足要求。6、完成实验文档编写,包括:题目、作者、摘要、关键词,绪论,硬件电路,软件流程、代码,数据分析。,任务实施步骤,三、任务设计,1)驱动硬件分析,.此电路核心件是MCS-51单片机(AT89C51)。2.包括时钟电路、复位电路及输出电路。3.用P2.0口作输出口,产生PWM波,占空比20%,周期10s。,三、任务设计,1、PWM波形发生器的设计,硬件电路参考原理图,2)仿真电路图,3)主程序设计,#include/包含51单片机头文件sbit LED=P20;unsigned int T0_num=0;/-void main()/主函数 12MHz晶振 TMOD=0 x01;/定时器T0方式1,16位定时器 TH0=0 xd8;/(65536-T0)*1us=100ms/定时 TL0=0 xf0;/T0=d8f0,定时100ms EA=1;/开总中断 ET0=1;/开T0中断 TR0=1;/启动定时器T0loop1:goto loop1;,4)中断服务程序,/*程序名称:void t0_sever(void)interrupt 1 程序功能:timer0 定时器0中断服务程序*/void t0_sever(void)interrupt 1 TH0=0 xd8;TL0=0 xf0;T0_num+;if(T0_num=20)LED=0;if(T0_num=100)LED=1;T0_num=0;,检查的标准要求,四、检查反馈,1、交流展示 指导学生对产品进行展示,互相交流。2、检测反馈 指导学生对他人产品检测,提出反馈意见。3、学生评价 学生对他人产品进行评价,提出产品的优点和缺点,以及 分数。4、教师评价 根据教师点评进行分组讨论,并对自己的项目进行修改、完善。,四、检查反馈,频率计(外部中断+定时中断),工学结合任务六:,广东机电职业技术学院-单片机应用,目的和意义,1掌握单片机的工作原理,最小系统的设计,外部中断和 定时中断。2、了解数字频率计测频率与测周期的基本原理;熟练掌握 数字频率计的设计与调试方法。3、掌握3掌握C51编写中断程序。4、掌握PROTEUS仿真,烧写器的使用,硬件电路设计、焊 接、装配,培养学生利用单片机技术解决生活中的实际 问题的能力。,一、任务描述,1、设计一个能够计数和计时的产品,测量1s内的脉冲个数即 频率计,利用单片机外部中断和定时中断。2、利用Keil C 软件编写主函数、外部中断和定时中断C程序 代码。3、测量信号:方波;正弦波;三角波;采用用液晶显示频率值。4、测量频率范围:1Hz到9999Hz之间,要求频率误差小于1%。,二、任务分析,1、任务所需硬件知识 单片机最小系统(晶振,复位电路),中断接口、工作方式字符型LCD原理、接口电路设计2、任务所需软件知识单片机C语言数据类型,结构,中断等程序设计3、任务所需环境安装操作系统的微机1台、单片机集成开发环境keil C2.0、软 硬件开发平台proteus 6.9、单片机下载软件STC_ISP_V3.3、单片机实验板、下载线。,项目实施过程理实一体化模式,系统设计规划,二、任务分析,要求会使用Keil C开发环境要求文件夹命名规范要求工程项目命名规范要求文件名命名规范要求程序是否功能齐全要求仿真软件达到设计要求要求硬件电路满足设计要求要求产品设计文档充分,二、任务分析,程序设计要求,三、相关知识,在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。测量频率的方法有多种,其中电子计数测量频率具有精度高、使用方便、测量迅速,以及便于实现测量自动化等优点,是频率测量的重要手段之一。通过MCS-51系列单片机内部的外部中断和定时器测量频率。定时器定时1s,统计1s时间内外部中断的脉冲次数,即为频率值。,1、频率测量原理,采用12 MHz的晶体振荡器的情况下,1秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时计数器T0作定时器,工作于方式1产生10 ms的定时,再用软件计数方式对它计数100次,就可得到1秒的定时。,2、定时器设计思想,三、相关知识,定时控制寄存器(TCON),TF0、TF1:计数溢出标志位。TF0=1或TF1=1是计数溢出;TF0=0或TF1=0是计数未满。TR0、TR1:启/停控制位。TR0=1或TR1=1,使T0或T1启动计数;R0=0或TR1=0,使T0或T1停止计数。,3、特殊功能寄存器配置,IT0:INT0触发方式控制位。IT0=0时,电平触发方式。IT0=1时,边沿触发方式(下降沿有效)IE0:INT0中断请求标志位。IT1:INT1触发方式控制位。IE1:INT1中断请求标志位。,工作方式控制寄存器(TMOD),GATE:门控信号。当GATE=0时,TRx=1即可启动定时器工作;当GATE=1时,要求同时有TRx=1和INTx=1才可启动 定时器工作C/T:定时/计数器选择位。C/T=1,为计数器工作方式;C/T=0,为定时器工作方式。,M1、M0:定时/计数器工作模式选择位M1M0=00 工作方式0(13位方式)M1M0=01 工作方式1(16位方式)M1M0=10 工作方式2(8位自动再装入方式)M1M0=11 工作方式3(T0为2个8位方式),3、特殊功能寄存器配置,当M1M0=01时,定时/计数器选定方式1进行工作。,方式1【16位状态】,定时/计数器范围:165536(216);作为定时器使用时,定时时间为:Td=(216-Count)Tcy。如果晶振频率fosc=12MHz,则定时范围为:165536s。,T0工作方式1时的逻辑结构,3、特殊功能寄存器配置,(MSB),(LSB),中断允许控制寄存器IE(0A8H),EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位;EX1(IE.2),外部中断0允许位;ET1(IE.3),定时/计数器T1中断允许位;ES(IE.4),串行口中断允许位;EA(IE.7),CPU中断允许(总允许)位。,3、特殊功能寄存器配置,1、进行功能分析,工作框架搭建,工作分工。2、使用软硬件开发平台proteus 7.4进行电路仿真。设计要点:新建电路图设计文件,查找元器件,放置元器件,布局布线,修改元器件属性,进行仿真单片机程序。3、使用单片机集成开发环境keil C2.0。要点:C程序构成,关键词,运算符与表达式,数据结构,结构化语句。4、使用单片机下载软件STC_ISP_V3.3,通过串口或USB将单片机程序下载到单片机芯片中进行调试。5、完善单片机产品硬件电路,进行合适的电容、电阻、芯片、传感器、显示器件等进行焊接,通电运行后观察硬件电路是否满足要求。6、完成实验文档编写,包括:题目、作者、摘要、关键词,绪论,硬件电路,软件流程、代码,数据分析。,任务实施步骤,四、任务设计,1)驱动硬件分析,.此电路核心件是MCS-51单片机(AT89C51)。2.包括时钟电路、复位电路及输出电路。3.用P0、P2口作输出口,驱动LCD,其中P0口加 10K上拉电阻。4、按键接外部中断0。,四、任务设计,1、频率计的设计,硬件电路参考原理图,2)仿真电路图,3)频率计程序设计,#include/包含51单片机头文件#define uchar unsigned char#define uint unsigned intsbit LCD_RS=P03;/RS 1:DATA 0:COMMANDsbit LCD_RW=P04;/R/W 1:READ0:WRITEsbit LCD_E=P05;/E 1:ENABLE#define LCD_ch P2/-延时子程序-void delay(uint i)while(i-);,(1)LCD线路连接、声明,/*写指令进入LCD1602*/void LCD_command()LCD_RS=0;LCD_RW=0;LCD_E=0;delay(200);/延时大约2ms LCD_E=1;/*把数据写入LCD1602*/void LCD_data()LCD_RS=1;LCD_RW=0;LCD_E=0;delay(200);LCD_E=1;,(2)LCD写程序,/-void Init_LCD(void)/*初始化液晶*/LCD_ch=0 x01;/清屏 LCD_command();LCD_ch=0 x38;/8位数据,两行显示,5*7点阵 LCD_command();LCD_ch=0 x0c;/开显示,关光标,关闪烁LCD_command();LCD_ch=0 x06;/读写数据后AC自动增一,画面不动 LCD_command();,(3)液晶初始化,/*将数据ch显示在第i行第j列*/void LCD_dis(uchar i,uchar j,uchar ch)uchar addr;if(i=0)addr=0 x80+j;/设置为第一行 else addr=0 xc0+j;/设置为第二行 LCD_ch=addr;LCD_command();/先写地址 LCD_ch=ch;LCD_data();/后送数据,(4)液晶单个字符显示,(5)主程序,#include/包含51单片机头文件#include/包含液晶头文件#include/包含定时器T0文件sbit LED=P07;unsigned int num=0;unsigned int dis_num=0;/-void main()/主函数 Init_LCD();init_timer0();/液晶初始化,定时器T0初始化 EA=1;IT0=1;EX0=1;/外部中断边沿触发,开启loop1:if(flag=1)flag=0;display(num);num=0;TR0=1;EX0=1;/开定时器T0和外部中断0 goto loop1;,(6)显示子程序,/-void display(unsigned int num)/液晶显示数字 unsigned int i;i=5;LCD_dis(0,i,0 x30+num/10000);/0-0=0 x30 i+;LCD_dis(0,i,0 x30+num%10000/1000);i+;LCD_dis(0,i,0 x30+num%1000/100);i+;LCD_dis(0,i,0 x30+num%100/10);i+;LCD_dis(0,i,0 x30+num%10);,/-void ex0_sev()interrupt 0/中断服务 num+;,(7)外部中断程序,(8)定时器T0初始化程序,/文件功能:定时器初始化和定时器中断#include/包含51单片机头文件bit flag=1;unsigned int T0_num=0;unsigned char T0_H=(65536-10000)/256;/12MHz,10000us=10msunsigned char T0_L=(65536-10000)%256;/*程序名称:void init_timer0()程序功能:timer0 定时器0初始化*/void init_timer0()TMOD=0 x01;/方式1,16位定时器 TH0=T0_H;/赋初值 TL0=T0_L;/赋初值 EA=1;/开总中断 ET0=1;/开定时器T0中断 TR0=1;/启动定时器T0,/*程序名称:void t0_sever(void)interrupt 1 程序功能:timer0 定时器0中断服务程序*/void t0_sever(void)interrupt 1 TH0=T0_H;/重新赋初值 TL0=T0_L;/重新赋初值T0_num+;if(T0_num=100)/加1计数,计100次 T0_num=0;/1s时间到,清0 EX0=0;/关外部中断 TR0=0;/停止定时器T0 flag=1;/置1s标志位,(9)定时器T0中断程序,检查的标准要求,五、检查反馈,1、交流展示 指导学生对产品进行展示,互相交流。2、检测反馈 指导学生对他人产品检测,提出反馈意见。3、学生评价 学生对他人产品进行评价,提出产品的优点和缺点,以及 分数。4、教师评价 根据教师点评进行分组讨论,并对自己的项目进行修改、完善。,五、检查反馈,(1)、单片机计数速率的限制引起误差。因为采用的是12 MHz的晶振,单 片机最大计数速度为500 kHz,所以当被测信号越接近500 kHz时,测量结果与实际频率的误差就越大。而当被测信号大于500 kHz时,频率计将测不出信号频率。(2)、原理上存在1误差。由于该设计是在计数门限时间1秒内的频率信 号脉冲数,所以定时开始时的第一个脉冲和定时时间到时的最后一个 脉冲信号是否被记录,存在随机性。(3)、晶振的准确度会影响一秒定时的准确度,从而引起测量结果误差。,五、检查反馈,误差来源,减小误差措施,(1)、选用频率较高和稳定性好的晶振。(2)、测量频率低的信号时,可适当调整程序,延长门限时间,减少原理上 1的相对误差。(3)、测量频率较高的信号时,可先对信号进行分频,再进行测量。,

    注意事项

    本文(《片机应用》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开