《 单片机应用技术》课件-项目五 制作电子秒表_第1页
《 单片机应用技术》课件-项目五 制作电子秒表_第2页
《 单片机应用技术》课件-项目五 制作电子秒表_第3页
《 单片机应用技术》课件-项目五 制作电子秒表_第4页
《 单片机应用技术》课件-项目五 制作电子秒表_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目五制作电子秒表硬件设计系统调试任务导读任务导入软件设计任务1、电子秒表任务目标导读学习目标技能目标了解51单片机定时计数器工作原理。掌握电子秒表的编程方法。掌握8段LED数码管使用方法。了解51单片机定时计数器工作原理8段LED数码管使用。掌握电子秒表的编程方法1.51单片机定时计数器工作原理。2.独立按键的工作原理。3.掌握数码管显示电路的硬件设计。4.掌握电子秒表的C语言驱动程序编写。知识教学点

任务目标导读教学重点、难点

教学重点:1.定时计数器的工作原理及使用方法。2.数码管的动态显示控制方式。教学难点:1.掌握电子秒表的C语言驱动程序编写。参考学时:1学时~2学时

常见的秒表4任务一电子秒表的制作任务一电子秒表的制作1.用单片机定时器进行计时。2.

秒表精度为1/100秒,用2个数码管显示出计时值,59秒,显示数码管点亮。3.设置一个启动健,一个停止键,一个清零键。项目设计任务:以单片机为核心控制器设计一个数字式电子秒表(二)项目设计要求:(三)项目完成要求:1.画出仿真电路图并说明电路的工作原理。2.画出程序设计流程图。3.编写和调试各模块源程序。4.完成整个项目源程序的综合调试。数字式电子秒表设计任务6任务一电子秒表的制作数字式电子秒表硬件系统方框图数码管显示电路单片机控制器键盘输入电路晶体振荡电路复位电路7任务一电子秒表的制作2.实验板硬件电路任务一电子秒表的制作显示电路:用6位一体的共阴数码管构成,P0口接段码,P2.0~P2.5接位码。键盘输入电路:用独立式按键方式,S1作为秒表的启动键。S2作为秒表的停止键,S3作为秒表的清零键。9任务一电子秒表的制作(一)实现定时的方法:最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时精确和硬件定时电路独立的特点。定时器/计数器基础

软件定时采用时基电路定时可编程定时器定时软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。例如延时程序。例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程,且定时时间容易漂移。定时器/计数器如何使用呢?任务一电子秒表的制作假如有一个水容器1000滴水刚好装满初始时已经装入500滴水问:还需滴入多少滴水才能将其装满?答:还需滴入500滴水才能将其装满,501滴溢出。答:还需500秒时间才能将其装满,501秒溢出。问:如果每秒滴入1滴水,还需多长时间才能将其装满?这就是“计数”这就是“定时”这就是“计数初值”(二)定时计数的概念----一个定时/计数的形象实例11任务一电子秒表的制作12(三)定时器/计数器的结构和工作原理

定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。T1计数器T0计数器控制单元1.定时器/计数器的结构

任务一电子秒表的制作132.定时器/计数器的工作原理用作计数器:此时设置为计数器模式,外部事件计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。定时与计数都是利用计数实现!!用作定时器:此时设置为定时器模式,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。定时应用计数运用任务一电子秒表的制作00方式013位计数器01方式116位计数器10方式2可自动重新装载初值的8位计数器11方式3T0分为2个8位计数器,T1停止计数M1M0操作方式功能GATEC/TM1M0GATEC/TM1M0控制T1控制T0定时/计数器(T0、T1)由TMOD中M1M0决定工作方式3.单片机定时/计数器工作方式14任务一电子秒表的制作

二组M1、M0分别控制T0、T1的工作方式(二位组合对应方式0、方式1、方式2、方式3。INT1INT0引脚输入电平的控制。GATE:门控位。设定T1、T0运行时是否受GATE=0不受外部中断控制1受外部中断控制C/T=0为定时功能1为计数功能GATEC/TM1M0GATEC/TM1M0控制T1控制T0T0、T1定时/计数器方式控制寄存器TMOD4.定时/计数器控制寄存器TMOD15任务一电子秒表的制作16计数器工作方式选择M1 M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动重装8位计数器11方式3定时器0:分成两个8位定时器1:停止计数建议不采用该工作方式!在精确定时采用该工作方式!任务一电子秒表的制作

当T溢出时,由硬件自动使TF置1,并向CPU申请中断,CPU响应中断后,自动对TF清零;也可查询处理,用软件对TF清零或置位。LSBMSBTF1TR1TF0TR0IE1IT1IE0IT0T1、T0

启/停控制位T1、T0

溢出标志位与外部中断INT1、INT0有关在中断系统中介绍“0”停止“1”启动“1”有溢出“0”无溢出可编程可控制工作记录有无溢出5.T0、T1定时/计数器控制寄存器TCON17任务一电子秒表的制作T1(P3.5)GATETR1INT1震荡器÷12TL15位TH18位TF1中断KC/T=0C/T=1控制定时/计数器方式0逻辑图111“+1”中断13位的定时计数器,由TH的8位和TL的低5位组成TL4~0(以T1为例T0原理相同)。13位计数器TF1“+1”“+1”(1)方式0M1M0=00工作原理18任务一电子秒表的制作16位的定时计数器,由TH1的8位和TL1的8位组成T1(P3.5)GATETR1INT1震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制

定时/计数器方式1逻辑图16位计数器“+1”1中断(以T1为例,T0原理相同)TF1“+1”“+1”(2)方式1M1M0=01工作原理19任务一电子秒表的制作可自动重装载的8位计数器TH1(TH0)被定义为赋值寄存器TL1(TL0)被定义为计数器定时/计数器方式2逻辑图T1(P3.5)

GATETR1INT1震荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重装载重装载1“+1”以T1为例:中断TL18位TF1“+1”“+1”⑶方式2M1M0=1020任务一电子秒表的制作仅仅T0能工作在方式3,将16位计数器T0分为两个独立的8位计数器TH0、TL0。TL0占用T0的控制位:C/T、GATE、TR0、INT0、TF0,TL0功能和操作与T0在方式0、1、2时相同,可工作在定时方式或计数方式。TH0只能工作在定时方式,占用T1的控制位TR1、TF1,并控制T1的中断。当T0工作在方式3时,T1只能工作在方式0~2,且不能产生中断请求,此时,T1仅能控制C/T位切换计数或定时工作方式,计数器溢出输出一般送往串行口,充当波特率发生器。(4)方式321任务一电子秒表的制作51单片机的定时/计数器T0、T1是可编程的,因此在使用之前需要进行初始化。其编程包括以下几个步骤:(1)确定工作方式,即对TMOD寄存器进行赋值(2)计算计数初值,并写入寄存器TH0、TL0或TH1、TL1中。最好直接写负值。(3)如果用中断方式,置位ETx允许T/C中断(4)如果用中断方式,置位EA使CPU开中断(5)置位TRx启动计数(四)定时/计数器应用时的初始化1.初始化步骤:22任务一电子秒表的制作2.定时/计数器应用时的初值计算计数器的初值由程序设定设计数器宽度为n,定时时长为T,要求计数脉冲个数为N,计数初值为X,机器周期为TCY

。计数:2n=N+XX=2n-N定时:2n=T/TCY+XX=2n-T/TCY=

-T/TCY

计数器的初值由程序设定实际应用时最好用(简单):

X=-N计数方式

X=-T/TCY

定时方式23任务一电子秒表的制作(三)软件系统程序设计根据设计任务的要求确定系统程序的整体结构,尽可能采用模块化程序设计的方法,将任务划分为相对独立的功能模块,明确各模块的功能;画出各程序模块的详细流程图;根据流程图逐一编写程序;最后将各个模块连接成完整的程序。对于本项目来说,我们可以将系统程序划分为五个相对独立的功能模块,即主程序,LED动态扫描显示子程序,独立式键盘扫描子程序,待显数据处理子函数,定时器中断服务子程序。1.软件系统整体设计思路:24任务一电子秒表的制作主程序:主要完成系统初始化,如I/O口端口初始化,定时/计数器、中断的初始状态设定,调用各功能模块子程序等。待显示数据处理子程序:作用是将等待显示的数据进行分离。例如我们要在四个数码管上显示1234,首先要将1234分离出1、2、3、4送到显示缓冲区,然后根据显示缓冲区的数据去查找相应的代码段,送到数码管上,这样才能显示出要显示的数据。常用的方法是用“除法”和“求模”。25任务一电子秒表的制作LED显示子程序:显示子程序的作用是根据显示缓冲区中的数据查找相应的代码段并送到与数码管代码段连接的单片机端口,打开相应的位选信号,经延时后消隐。在我们的设计任务中,要在第1个和第3个数码管上显示小数点,方法有两种:第一种方法是将数码管的代码段再建立一个带小数点的数组,当要显示小数点时查带小数点的数组,当小数点不亮时查不带小数点的数组。第二种方法是将从显示数据的代码段从数组查出后,再将其与0x7f进行相与。26任务一电子秒表的制作数码管显示流程图27任务一电子秒表的制作键盘扫描程序流程图28任务一电子秒表的制作项目五制作电子秒表硬件设计系统调试任务导读任务导入软件设计任务2、5分钟倒计时任务目标导读学习目标技能目标了解51单片机定时计数器工作原理。掌握电子秒表的编程方法。掌握8段LED数码管使用方法。了解51单片机定时计数器工作原理8段LED数码管使用。掌握倒计时定时器的编程方法1.51单片机定时计数器工作原理。2.独立按键的工作原理。3.掌握数码管显示电路的硬件设计。4.掌握倒计时器的C语言驱动程序编写。知识教学点

任务目标导读教学重点、难点

教学重点:1.定时计数器的工作原理及使用方法。2.数码管的动态显示控制方式。教学难点:1.掌握倒计时的C语言驱动程序编写。参考学时:1学时~2学时

什么是倒计时定时器?32设定加热一只鸡的时间为15分钟(900s),启动后微波炉开始倒计时,并在显示屏上显示剩余时间。图示当前剩余时间为5分45秒(345s)。单片机只需要每过1s更新一次显示时间,当更新显示900次(900s)后就让微波炉停止加热即可。所以定时过程可视为单片机计算单位时间(可以是1s、1ms、1µs)的个数,当计时完成后,把单位时间乘以个数就得到了定时的时间长度。任务一五分钟倒计时器常见的定时器33任务一五分钟倒计时器1.用单片机定时器进行计时。2.

秒表精度为1/100秒,用4个数码管显示出倒计时时间,例如04分35秒,显示数码管点亮。3.设置一个启动健,一个停止键。项目设计任务:以单片机为核心控制器设计一个5分钟倒计时器(二)项目设计要求:(三)项目完成要求:1.画出仿真电路图并说明电路的工作原理。2.画出程序设计流程图。3.编写和调试各模块源程序。4.完成整个项目源程序的综合调试。5分钟倒计时器设计34任务一五分钟倒计时器5分钟倒计时器系统方框图数码管显示电路单片机控制器键盘输入电路晶体振荡电路复位电路35任务一五分钟倒计时器实验板硬件电路任务一五分钟倒计时器显示电路:用6位共阴数码管构成,P0口接段码,P2.0~P2.5接位码。键盘输入电路:用独立式按键方式,S1作为秒表的启动键。S2作为秒表的停止键。。37任务一五分钟倒计时器(一)实现定时的方法:最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时精确和硬件定时电路独立的特点。定时器/计数器基础

软件定时采用时基电路定时可编程定时器定时软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。例如延时程序。例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程,且定时时间容易漂移。定时器/计数器如何使用呢?任务一五分钟倒计时器假如有一个水容器1000滴水刚好装满初始时已经装入500滴水问:还需滴入多少滴水才能将其装满?答:还需滴入500滴水才能将其装满,501滴溢出。答:还需500秒时间才能将其装满,501秒溢出。问:如果每秒滴入1滴水,还需多长时间才能将其装满?这就是“计数”这就是“定时”这就是“计数初值”(二)定时计数的概念----一个定时/计数的形象实例39任务一五分钟倒计时器40(三)定时器/计数器的结构和工作原理

定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。T1计数器T0计数器控制单元1.定时器/计数器的结构

任务一五分钟倒计时器412.定时器/计数器的工作原理用作计数器:此时设置为计数器模式,外部事件计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。定时与计数都是利用计数实现!!用作定时器:此时设置为定时器模式,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。定时应用计数运用任务一五分钟倒计时器00方式013位计数器01方式116位计数器10方式2可自动重新装载初值的8位计数器11方式3T0分为2个8位计数器,T1停止计数M1M0操作方式功能GATEC/TM1M0GATEC/TM1M0控制T1控制T0定时/计数器(T0、T1)由TMOD中M1M0决定工作方式3.单片机定时/计数器工作方式42任务一五分钟倒计时器

二组M1、M0分别控制T0、T1的工作方式(二位组合对应方式0、方式1、方式2、方式3。INT1INT0引脚输入电平的控制。GATE:门控位。设定T1、T0运行时是否受GATE=0不受外部中断控制1受外部中断控制C/T=0为定时功能1为计数功能T0、T1定时/计数器方式控制寄存器TMOD4.定时/计数器控制寄存器TMOD43GATEC/TM1M0GATEC/TM1M0控制T1控制T0任务一五分钟倒计时器44计数器工作方式选择M1 M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动重装8位计数器11方式3定时器0:分成两个8位定时器1:停止计数建议不采用该工作方式!在精确定时采用该工作方式!任务一五分钟倒计时器

当T溢出时,由硬件自动使TF置1,并向CPU申请中断,CPU响应中断后,自动对TF清零;也可查询处理,用软件对TF清零或置位。LSBMSBTF1TR1TF0TR0IE1IT1IE0IT0T1、T0

启/停控制位T1、T0

溢出标志位与外部中断INT1、INT0有关在中断系统中介绍“0”停止“1”启动“1”有溢出“0”无溢出可编程可控制工作记录有无溢出5.T0、T1定时/计数器控制寄存器TCON45任务一五分钟倒计时器T1(P3.5)GATETR1INT1震荡器÷12TL15位TH18位TF1中断KC/T=0C/T=1控制定时/计数器方式0逻辑图111“+1”中断13位的定时计数器,由TH的8位和TL的低5位组成TL4~0(以T1为例T0原理相同)。13位计数器TF1“+1”“+1”(1)方式0M1M0=00工作原理46任务一五分钟倒计时器16位的定时计数器,由TH1的8位和TL1的8位组成T1(P3.5)GATETR1INT1震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制

定时/计数器方式1逻辑图16位计数器“+1”1中断(以T1为例,T0原理相同)TF1“+1”“+1”(2)方式1M1M0=01工作原理47任务一五分钟倒计时器可自动重装载的8位计数器TH1(TH0)被定义为赋值寄存器TL1(TL0)被定义为计数器定时/计数器方式2逻辑图T1(P3.5)

GATETR1INT1震荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重装载重装载1“+1”以T1为例:中断TL18位TF1“+1”“+1”⑶方式2M1M0=1048任务一五分钟倒计时器仅仅T0能工作在方式3,将16位计数器T0分为两个独立的8位计数器TH0、TL0。TL0占用T0的控制位:C/T、GATE、TR0、INT0、TF0,TL0功能和操作与T0在方式0、1、2时相同,可工作在定时方式或计数方式。TH0只能工作在定时方式,占用T1的控制位TR1、TF1,并控制T1的中断。当T0工作在方式3时,T1只能工作在方式0~2,且不能产生中断请求,此时,T1仅能控制C/T位切换计数或定时工作方式,计数器溢出输出一般送往串行口,充当波特率发生器。(4)方式349任务一五分钟倒计时器51

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论