




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机定时器/计数器教学案例 邢栋华一.案例背景单片机是一门综合性、实践性极强的课程,通常分为理论教学与实践教学两部分。由于单片机的概念多、专有名词多,内容抽象,指令丰富,且软、硬件发展很快,新器件不断,故相当多数量的学生在学习单片机时感到郁闷,实际使用不知如何下手,不能真正掌握单片机技术。因此,如何安排教学内容,使学生既能了解新技术又能对单片机的应用技术融会贯通;如何设计教学方法,激发学生的学习兴趣,真正理解和掌握单片机技术,是在单片机教学中需要解决的问题。针对教学对象的特点和课程特点,我想出了“边学边干、边干边学、理论指导实践、实践带动理论”的教学理念,以达到“精理论、重实验、会设计”的人才培养效果。 下面以单片机定时器一节为例,介绍我如何安排教学以体现所提倡的教学理念,并达到所期望的教学效果。二案例过程1.情景导入 师:从选票的统计谈起:画“正”。这就是计数,生活中计数的例子处处可见。例如:家里面用的电度表、汽车上的里程表等等。师:举一个工业生产中的例子,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的方法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就可以知道走过的线有多长了。师:单片机中的计数器的计数功能与此类似,不同的是例子中计的是轮子转的圈数,而单片机的计数器计的是从单片机P3.4、P3.5引脚进入的脉冲的个数。我们今天就来学习一下单片机的计数器/定时器及其应用。(板书课题:51单片机的计数器/定时器)师:说到容器,我们都知道它有一定的容量。比如从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满,装满水盆需要的水滴数量就是水盆的计数容量。那么单片机中的计数器有多大的容量呢?(课件显示,引出计数器的容量) 2.计数器的容量 MCS-51单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是216=65536。师:计时器计满了会怎么样呢?让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0位变为“1”,此时单片机自动将计数器清零。至于TF0位是什么我们稍后再谈。师:拿出一个闹钟。(实物)请大家思考,我将它定时在1个小时后闹响,请问秒针动了多少次?生:回答3600次。师:也就是说,秒针走了3600下的时间正好是1个小时。换言之,时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间的确十分相关。那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。请大家想一想,如果计数器所计的脉冲的间隔相等,那么计数值是不是就代表了时间的流逝?(课件显示,引出定时器) 3.定时 师:单片机中的定时器和计数器是一个东西,只不过计数器是记录的从单片机P3.4、P3.5引脚进入的脉冲的个数,这些脉冲的周期可能是未知的,也可能不是等间隔的,因此单片机只能在脉冲的下降沿进行记录,每遇到一个下降沿记录一个数,因此只能记录脉冲的个数,不能确定时间;而定时器则是由单片机提供一个非常稳定的计数源。那么提供定时器的计数源是什么呢?看图所示。(课件显示) 师:原来就是由单片机的晶振经过12分频后获得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?生:12M/12=1M,T=1/f=1/106s,就是1个微秒。 师:我们得出这样的结论:单片机的定时的本质就是计数,但计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。师:前面我们提到,计数器计满了就会溢出,溢出后将使得TF0位变为“1”,就象定时的时间一到,闹钟就会响一样。现在我们来研究另一个问题:要有多少个计数脉冲才会使TF0由0变为1。生:65536个。师:不错。我们刚刚研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有少于65536个计数值的要求,怎么实现?(提示:如果是一个空的盆要1万滴水滴进去才会满,在开始滴水之前先放入一勺水,还需要10000滴吗?)生:不需要。师:对了,采用预置数的方法可以解决这个问题。(课件显示)师:通过上面的学习,我们知道单片机中的定时/计数器都可以有多种用途,那么怎样才能让它们工作于我们所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。(课件显示)4.计数器/定时器的方式和控制寄存器 师:在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。TMOD和TCON是名称,我们在写程序时就可以直接用这个名称来指定它们。师:从图中我们可以看出,TCON被分成两部份,高4位用于定时/计数器,低4位则用于中断(上节课学习过)。而TF1(0)我们已经提到了,当计数溢出后,TF1(0)就由0变为1。原来TF1(0)在这儿!那么TR0、TR1又是什么呢?TR0(1)称之为运行控制位,可用指令SETB来置位以启动计数器/定时器运行,用指令CLR来关闭定时/计数器的工作,一切尽在自已的掌握中。(课件显示)师:从图中我们可以看出,TMOD也被分成两部分,每部分4位,分别用于控制T1和T0。其中,GATE位为定时器/计数器运行门控标志位。(课件显示定时器/计数器逻辑结构图)师:看图,当我们选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器端,中间还有一个开关,显然这个开关不合上,计数脉冲就没法过去,那么开关什么时候过去呢?有两种情况:GATE位=0,分析一下逻辑,GATE位经非门后是变为1,进入或门,或门总是输出1,和或门的另一个输入端 无关,在这种情况下,开关的打开、合上只取决于TR1,只要TR1是1,开关就合上,计数脉冲得以畅通无阻,而如果TR1等于0则开关打开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR1。 GATE位=1,在此种情况下,计数脉冲通路上的开关不仅要由TR1来控制,而且还要受到 引脚的电平状态来控制,只有TR1为1,且 引脚也是高电平,开关才合上,计数脉冲才得以通过。这个特性可以用来测量一个信号的高电平的宽度,想想看,怎么测? (留作思考题)师:前面我们说过,定时/计数器既可作定时用也可作计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在编程者。如果 为位0,就是用作定时器(开关往下打),如果C/T为1就是用作计数器(开关往下打)。(结合课件显示的逻辑结构图说明)。注:顺便提一下,一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用的,这一点教材没有提到,但很多初学者却会有此困惑。师:M1M0-定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合,对应方式0方式3。(课件显示)师:定时器/计数器的工作方式0称之为13位定时/计数方式,它由TL(1/0)的低5位和TH(0/1)的8位构成13位的计数器,此时TL(1/0)的高3位未用,计数容量为213。(课件显示工作方式0的逻辑结构图)为什么在这种模式下只用13位呢?干吗不用16位,这是为了和51机的前辈48系列兼容而设的一种工作方式。工作方式1是16位的定时/计数方式,除了计数容量变为216外,其它特性与工作方式0相同。师:我们知道,每当定时器/计数器计满时会溢出,然后单片机自动将计数器清零,如果用户要计100个数,则计满后要重新给计数器设置初值,否则计数器将从0开始计,再次溢出时单片机计的不再是100个数,所以采用工作方式0或1都要在溢出后做一个重置预置数的工作,做工作当然就得要时间,一般来说这点时间不算什么,可是有一些场合我们还是要计较的,所以就有了第三种工作方式,即工作方式2,这是一个自动重装入初值的8位定时/计数方式,只有低8位参与计数,而高8位不参与计数,用作预置数的存放。(课件显示工作方式2的逻辑结构图)。师:如图所示,每当计数溢出,就会打开T(0/1)的高、低8位之间的开关,预置数进入低8位。这是由硬件自动完成的,不需要由人工干预。通常这种式作方式用于波特率发生器(我们将在串行接口中讲解),用于这种用途时,定时器就是为了提供一个时间基准。计数溢出后不需要做事情,要做的仅仅只有一件,就是重新装入预置数,再开始计数,而且中间不要任何延迟,可见这个任务用工作方式2来完成是最妙不过了。 师:工作方式3仅用于定时/计数器0,此时定时/计数器0被拆成2个独立的定时/计数器来用。其中,TL0可以构成8位的定时器或计数器的工作方式,而TH0则只能作为定时器来用。(课件显示工作方式2的逻辑结构图)。师:我们知道作定时、计数器来用,需要控制,计满后溢出需要有溢出标记,T0被分成两个来用,那就要两套控制及溢出标记了,从何而来呢?TL0还是用原来的T0的标记,而TH0则借用T1的标记,因此T1没有这种工作方式。师:学习了单片机的计数器/定时器的基础知识后,我们更关心的是在实际应用中如何使用它,下面我们以八只彩灯依次循环点亮为例加以说明。5.应用举例 师:我手中所拿的就是能实现彩灯依次循环点亮功能的实验板,(实物展示,并接通电源运行),功能要求及电路简图如课件所示。(课件显示)师:根据题目要求,大家想想应该如何编写程序实现?引导:首先应该考虑有时间要求应该用那种方法?生:用定时器。师:不错。使用单片机的定时器,就像我们使用别人的东西要告知主人一样,使用单片机的定时器也要告诉单片机,我要用你那一个定时器(T0还是T1),那种工作方式(方式0方式3中的哪一种),那种功能(定时还是计数),以及门控位的状态,这些要通过谁来告诉呢?生:专用寄存器TMOD。师:对,要对TMOD进行初始化。我们使用T0,采用方式1工作,用于定时,定时器的运行仅有TR0控制,即GATE位为0,所以TMOD的值为00H。(板书)1)TMOD初始化GATE=0,M1=0,M0=0,TMOD=00000000B=00H师:接下来我们要告诉单片机定时时间,怎么告诉它啊?生:通过给计数器TH0、TL0附初值。师:不错。就是要给TH0、TL0预置数。预置多少呢,根据我们前面讲的公式,一起来计算一下。(板书)2)计算计数初值X=M-定时时间/T,T=12晶振频率 ? 根据题意:T=126MHz=2s, X=216-0.1s/2s=15536=11110010110000B=3CB0HTH0=3CH,TL0=0B0H师:完成了这些事情,就可以启动定时器开始工作了。定时时间到了我们要做什么呢?生:让第一个灯点亮,然后再隔0.1秒钟让第二个等点亮,以此类推。师:对。那我们用程序如何实现呢,请看课件。(课件显示)(将上面的程序调入软件运行环境进行编译并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版数学一年级上学期第6单元测试卷
- 中学生学习心理压力缓解课件
- 浙江省2025年小升初数学专项复习9-圆(含答案)
- 广告设计师作品评价试题及答案
- 产科基础知识试题及答案
- 2024年助理广告师考试突破技巧试题及答案
- 松下集团招聘试题及答案
- 叉车考试题库分析及答案
- 本溪工勤考试题库及答案
- 安安规考试题库及答案
- 决策树在饲料技术推广中的应用研究
- 空管自动化系统的基本组成与功能课件
- 安宁疗护之舒适护理
- 2023年杭州市规划局拱墅规划分局编外人员招考考前自测高频难、易考点模拟试题(共500题)含答案详解
- 品牌国际化对企业出口竞争力和品牌价值的影响研究
- 大模型的因果推理与可解释性
- 《圆柱与圆锥》单元整体教学设计展示
- journal of affective disorders投稿格式要求
- 大白菜收获机的设计
- 卒中后抑郁(PSD)在中国的发病情况及临床管理分析-修改
- 260吨汽车吊地基承载力验算
评论
0/150
提交评论