单片机教案.doc_第1页
单片机教案.doc_第2页
单片机教案.doc_第3页
单片机教案.doc_第4页
单片机教案.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

崇德 厚学 励志 敦行单片机实训教案徐州师范大学电气学院“单片机原理及应用”是工学电气信息类专业的重要实用课程,是一门实践性、工程性很强的专业技术基础课程,是学生将来在电子类公司或电子行业工作的最基本的技能,是学生的“饭碗型”课程,它的教学效果直接影响学生就业以及将来的个人专业上的发展。如何设计教学方法,激发学生的学习兴趣,真正理解和掌握单片机技术,是在单片机教学中需要解决的问题。针对教学对象的特点和课程特点,我们提出了“边学边干、边干边学、理论指导实践、实践带动理论”的教学理念,以达到“精理论、重实践、会设计”的人才培养效果。“精理论”,精化理论教学内容。吸收一些代表现代水平的新观点、新理论、新技术、新器件、新方法等内容,真正实现“厚基础”、“宽口径”的教学要求。“重实践”,推广边学边做的教学模式,单片机应用技术是一门实战性很强的学科,结合理论和实践,一边学一边干是最好和最快捷的学习方法。为此,我们在单片机原理课程结束后安排3周时间的“单片机系统设计师”培训,培训内容包括“专项软件实训、典型软硬件系统实训、单片机应用系统样机制作”等,深受学生欢迎。“会设计”,增设单片机课程设计,以选题的综合性和先进性为出发点。训练和提高学生综合素质,学会设计思路和方法。借鉴电子设计竞赛的经验,引入一定数量的综合性较强的电子综合系统设计的内容。 下面以“51单片机的计数器/定时器及其应用”章节的实训教学为例,介绍如何实施教学过程以体现我们所提倡的教学理念,并达到所期望的教学效果。授课题目:单片机的计数器/定时器及其应用课时安排:2学时授课类型:理论+实训教学方式:讲授、启发、案例、实训教学资源:多媒体、实物、单片机实验箱、上位机教学目的:知识目标【理解51单片机的计数功能、定时功能,预置数的意义;掌握计数初值的计算方法,计数器/定时器的工作方式以及相关的寄存器。】能力培养目标【培养学生学习单片机的主动性,提高动手能力,发展分析和解决利用单片机计数器/定时器进行应用设计过程中出现的问题的能力。】情感目标【激发学生强烈的求知欲,培养学生积极探索、勇于创新的精神和工程意识。】教学内容:基本内容【常用的定时方法,定时器/计数器的定时和计数功能,定时器/计数器的控制寄存器,定时器的应用。】重点【与定时控制相关的寄存器(TMOD、TCON等),彩灯控制实训。】难点【定时中断。】教学过程设计:情景导入师:节日的夜晚,置身都市街头,各式彩灯把我们带入美轮美奂的世界。究竟是什么“魔力”使彩灯变换出多样的显示效果?师:通俗地讲,彩灯的出色表现是“大脑”控制的结果。这个“大脑”就是微处理器,微处理器在现代生活中扮演着非常重要的角色。MCS-51单片机就是一款常用的8位微处理器,其内部集成了非常重要的功能部件-计数器/定时器,熟悉计数器/定时器的工作原理并灵活编程,我们也可以用LED指示灯模拟彩灯显示。师:我们今天就以软硬件相结合的实训形式学习计数器/定时器的原理及其应用。在进入实训课题之前,我们先熟悉一下MCS-51单片机计数器/定时器的结构及工作原理。(板书课题:51单片机的计数器/定时器)计数器的容量师:MCS-51单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数容量是216=65536。如果计数器所计的脉冲的间隔相等,那么计数值就代表了时间的流逝。单片机的定时 师:单片机中的计数器和定时器是一个功能部件,只不过计数器记录的是从单片机P3.4、P3.5引脚进入的脉冲的个数;而定时器则是由单片机提供一个非常稳定的计数源。那么提供定时器的计数源是什么呢?看图所示。(课件显示)师:原来就是由单片机的晶振经过12分频后获得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?生:f =12M/12=1M,T=1/f =10-6s,就是1个微秒。 师:对。我们得出这样的结论:单片机的定时的本质就是计数,但计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。师:计数器计满了就会溢出,溢出后将使得TF1(0)位变为“1”,就象定时的时间一到,闹钟就会响一样。现在我们来研究另一个问题:要有多少个计数脉冲才会使TF1(0)由0变为1。生:65536个。师:不错。计数器的容量是16位,也就是最大计数值到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有少于65536个计数值的要求,怎么实现?提示:如果是一个空的盆要1万滴水滴进去才会满,在开始滴水之前先放入一碗水,还需要10000滴吗?生:不需要。师:对了,采用预置数的方法可以解决这个问题。(课件显示)师:单片机中的定时/计数器都可以有多种用途,那么怎样才能让它们工作于我们所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。(课件显示)计数器/定时器的方式和控制寄存器 师:在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。师:从图中我们可以看出,TCON被分成两部分,高4位用于定时/计数器,低4位则用于中断(上节课学习过)。TF1(0)我们已经提到过,当计数溢出后,TF1(0)就由0变为1。那么TR0、TR1又是什么呢?TR0(1)称之为运行控制位,可用指令SETB来置位以启动定时/计数器运行,用指令CLR清零来关闭定时/计数器的工作,一切尽在自已的掌握中。(课件显示)师:从图中我们可以看出,TMOD也被分成两部分,每部分4位,分别用于控制T1和T0。其中,GATE位为定时器/计数器运行门控标志位。(课件显示定时器/计数器逻辑结构图)师:看图,当我们选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器端,中间还有一个开关,显然这个开关不合上,计数脉冲就没法过去,那么开关什么时候合上呢?有两种情况。 GATE位=0,分析一下逻辑,GATE位经非门后变为1,进入或门,或门总是输出1,和或门的另一个输入端无关,在这种情况下,开关的打开、合上只取决于TR0,只要TR0是1,开关就合上,计数脉冲得以畅通无阻,而如果TR0等于0则开关打开,计数脉冲无法通过,因此定时/计数器是否工作,只取决于TR0。 GATE位=1,在此种情况下,计数脉冲通路上的开关不仅要由TR0来控制,而且还要受到引脚P3.2的电平状态来控制,只有TR0为1,且引脚P3.2也是高电平,开关才合上,计数脉冲才得以通过。这个特性可以用来测量一个信号的高电平的宽度,想想看,怎么测? (留作思考题)师:前面我们说过,定时/计数器既可作定时用也可作计数用,到底作什么用,由我们根据需要自行决定,决定权在编程者。如果C/位为0,就用作定时器(开关往上打),C/为1就用作计数器(开关往下打)。(结合课件显示的逻辑结构图说明)。顺便提一下,一个定时/计数器同一时刻要么作定时用,要么作计数用,这一点教材没有提到,希望引起注意。师:51单片机的定时/计数器一共有四种工作方式,是由M1M0来控制的,2位正好是四种组合,对应方式0方式3。 师:实际应用中常把定时/计数器设置为方式1,工作方式1是16位的定时/计数方式。我们知道,每当定时器/计数器计满时会溢出,然后单片机自动将计数器清零,如果用户要计100个数,则计满后要重新给计数器设置初值,否则计数器将从0开始计,再次溢出时单片机计的不再是100个数,所以采用工作方式1要在溢出后做一个重置预置数的工作。工作方式2是一个自动重装入初值的8位定时/计数方式,只有低8位参与计数,而高8位不参与计数,用来存放预置数。通常这种方式用于波特率发生器(我们将在串行接口中讲解),作这种用途时,定时器就是为了提供一个时间基准。方式0和方式3实际应用中较少采用。师:51单片机的定时/计数器本身就是中断源,实际应用中要和中断结合起来使用。(与上一节内容结合起来理解)师:对单片机的计数器/定时器的理论知识做一番梳理后,下面我们结合一个实训课题来掌握它的使用。(板书课题:单片机彩灯控制实训)典型系统实训 师:请同学们打开电脑桌上的单片机实验箱。通过前期的单片机课题实训知道,XZNU MCUS-型单片机实验系统由用户板、伟福V8/L型仿真器、开关电源三大部分组成,其中用户板由CPU模块和若干单元电路组成。(将实验箱放实物展示台,液晶投影仪切换至彩灯控制单元电路,指出本次实训用实物电路的位置及接线方法)师:本次我们要实训的单片机系统的功能要求及电路简图如WORD文档所示。(文档显示) 实训内容:MCS-51单片机P1口的P1.0-P1.7分别接八个发光二极管L1-L8,要求编写程序模拟一彩灯控制装置。开机后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4 、L6、L8亮,第七秒钟八个二极管全亮,第八秒钟二极管全灭,以后又从头开始,如此周而复始。实训电路:师:根据实训课题要求,大家想想应该如何编写程序实现?引导:首先应该考虑有时间要求的应用场合应该用定时/计数器的哪种功能?生:用定时器功能。师:不错。使用单片机的定时器,就像我们使用别人的东西要告知主人一样,使用单片机的定时器也要告诉单片机,我要用你哪一个定时器(T0还是T1),哪种工作方式(方式0方式3中的哪一种),哪种功能(定时还是计数),以及门控位的状态,这些要通过谁来告诉呢?生:专用寄存器TMOD。师:对,要对TMOD进行初始化。本次实训中我们使用T1,采用方式1工作,用于定时,定时器的运行仅由TR1控制,即GATE位为0。为避免T0被屏蔽而有可能会影响串行口波特率,对TMOD初始化时建议用下述指令:(板书)ANLTMOD,#0FHORLTMOD,#10H师:本实训中系统晶振为12M,要用中断方法来实现1s延时,T1一次溢出中断能否满足1s定时要求?生:不可以。师:对。假定让T1每隔0.05s产生一次中断,CPU响应中断后将R0中计数值减1,令(R0)=14H (20次中断),即可实现1s延时。我们要告诉单片机0.05s的定时时间,怎么告诉它啊?生:通过给计数器TH1、TL1赋初值。师:不错。就是要给TH1、TL1预置数。预置多少呢,根据我们前面讲的公式,一起来计算一下。(板书)计数初值X=M-定时时间/T,T=12晶振频率 根据题意:T=1212MHz=1s, X=216-0.05s/1s=15536=11110010110000B=3CB0HTH1=3CH,TL1=0B0H师:完成了这些事情,就可以启动定时器开始工作了。定时时间到了我们要做什么呢?生:通过程序控制使LED指示灯按彩灯燃灭规律依次动作,循环往复。师:对。那我们用程序如何实现呢,请看WORD文档。(文档显示) 主程序流程:中断子程序流程:参考源程序清单:ORG 0000H LJMPSTART ORG 001BH ;T1中断矢量地址 LJMP ITT1 ORG 0100H START:MOV A,#05H ;第一秒钟L1、L3亮,故A中置05H MOV R1,#02H MOV R0,#14H ANL TMOD,#0FH ORL TMOD,#10H MOV TL1,#0B0H ;装入时间常数,50ms中断一次 MOV TH1,#3CH ORL IE,#88H SETB TR1LOOP1:CJNE R0,#0,DISP MOV R0,#14H INC R1 ;表地址偏移量加1 CJNE R1,#0AH,LOOP2 MOV R1,#02HLOOP2:MOV A,R1 ;从表中取显示代码 MOVC A,A+PC SJMP DISP DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,00H DISP: MOV P1,A JMP LOOP1 ITT1:CLR TR1 ;中断服务程序 DECR0 MOV TL1,#0B0H MOV TH1,#3CH SETB TR1 RETI END师:打开电脑,双击电脑桌面上的伟福集成调试软件快捷图标,进入伟福软件运行环境。请同学们首先用软件仿真方式完成本次实训的汇编源程序编辑、保存、编译、调试等工作。(走近同学进行个别指导) 师:好,大部分同学已完成调试工作。现在请大家使用专用连接导线将实验箱上接插件J41、J42、J43与J1的插孔按照顺序连接起来,然后打开实验箱电源。在伟福集成调试环境中将软件仿真方式改为硬件仿真,看看会有什么现象发生?生:太好了,LED指示灯按功能要求动起来啦。师:请大家思考,通过修改源程序参数,把定时时间分别改为0.5s和1.5s,重新编译后运行,看看结果又会如何?(为实现本次实训课题的功能要求,要求学生用其它编程方案实现,并在单片机实验箱上进行验证)实训小结1)内容

温馨提示

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

评论

0/150

提交评论