单片机教案7.doc
常 州 轻 工 职 业 技 术 学 院 单片机原理及应用 课 程 授 课 教 案 NO 18 授课日期授课班级课题定时/计数器授课类型现场教学授课时数 教学目的了解定时/计数器的结构及工作原理, 定时/计数器的控制寄存器,定时/计数器的4种工作方式的控制。重点难点定时/计数器的工作原理及控制寄存器的作用定时/计数器的编程教具挂图课件、计算机,小哨兵软件,wave6000软件、单片机实验仪教学及过程分配主 要 教 学 内 容教学方法的运用10分钟本章介绍如何利用单片机内部的定时/计数器控制流水灯,如何制作生产线上的产品计数器。一、演示二、工作原理分析1单片机流水灯控制电路教师示范讲解10分钟10分钟10分钟20分钟30分钟2流水灯控制程序21程序功能:P1口接8个发光二极管,每隔0.1秒轮流点亮一个发光二极管。22单片机如何实现定时控制?1)软件定时(前面已介绍)2)硬件定时(使用定时/计数器)3)程序清单(设晶振频率为6Mhz)OORG 0000HLJMP MAINORG 000BHLJMP T0INTORG 0100HMAIN:MOV TMOD,#01H ;方式控制字MOV TH0,#3CHMOV TL0,#0B0H ;装计数初值SETB EA ;开放T1中断SETB ET0SETB TR0 ;启动T1MOV A,#0FEHMOV P1,ASJMP $ ;等待中断ORG 0200HT0INT:MOV TH1 ,#3CH ;重装初值MOV TL1,#0B0HRL AMOV P1,ARETI 23定时计数器的基本知识1、单片机定时/计数器结构图67定时/计数器T1逻辑结构图TL1D0 D72定时计数器的功能1)8051单片机内有2个定时/计数器,分别为T0和T1。2)T0和T1有两种功能:定时和计数。(1)计数功能启动后,对外部输入脉冲(负跳变)进行加1计数,T0的脉冲由P3.4输入,T1的脉冲由P3.5输入。计数器加满溢出时,将中断标志位TF0/TF1置1,向CPU申请中断。计数脉冲个数= 溢出值计数初值(2)定时功能启动后,开始定时,定时时间到,中断标志位TF0/TF1自动置1,向CPU申请中断。定时功能也是以计数方式来工作的,此时是对单片机内部的脉冲进行加1计数,此脉冲的周期正好等于机器周期。 定时时间=(溢出值 计数初值)* 机器周期3)T0有四种工作方式,T1有三种工作方式。(1) 方式013位定时/计数器方式 溢出值是:213=8192(2) 方式116位定时/计数器方式 溢出值是:216=65536(3) 方式28位自动重装初值定时/计数器方式溢出值是:28=256(4) 方式3T0分成两个独立的8位计数器方式不讨论思考:晶振频率分别为6Mhz和12Mhz时,方式0方式2的最长定时时间各为多少?列成表格。最长定时时间6Mhz12Mhz方式016384ms8192us方式1131.072ms65.536ms方式2512us256us3、定时/计数器编程1)工作方式寄存器TMOD(89H)TMOD可用于选择定时或计数功能,设置定时/计数器的工作方式。它的高4位用于对T1的控制;低4位用于对T0的控制。D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M02)控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT03)定时/计数器初始化选择工作方式(TM0D)以最长定时时间为依据,工作方式选择方式1,功能为定时功能。即:(TMOD)= 00000001BMOV TMOD,#01H ;方式控制字计算、装计数初值初值=溢出值-定时时间/机器周期=216-0.1s/2us=3CB0HMOV TH0,#3CHMOV TL0,#0B0H ;装计数初值 开放中断(IE)EA=1,ET0=1SETB EA ;开放T1中断SETB ET0启动(TCON)TR0=1SETB TR0 ;启动T1(2)定时控制程序(中断服务程序)描述定时时间到,要实现的控制功能。1T0工作于重复定时状态,需要在溢出时重装初值。2轮流点灯三、修改程序功能:(1) 使灯的点亮方向及原来相反。(2) 使发光二极管四个一组,轮流点亮,间隔时间1秒。课后作业:1设时钟频率为6MHz,采用定时计数器T1及其中断控制方式,通过P17输出周期为20ms的方波。编写程序。P172焊接产品计数器电路程序分析结合课件讲解讲解讲解结合课件讲解讲解巡回指导课后小记 授课教师 常 州 轻 工 职 业 技 术 学 院 单片机原理及应用 课 程 授 课 教 案 NO 19 授课日期授课班级课题定时计数器-产品计数器授课类型讲授授课时数 教学目的了解定时/计数器的结构及工作原理, 定时/计数器的控制寄存器,定时/计数器的4种工作方式的控制。重点难点定时/计数器的工作原理及控制寄存器的作用定时/计数器的编程教具挂图课件、计算机,小哨兵软件,wave6000软件、学生实验板教学及过程分配主 要 教 学 内 容教学方法的运用10分钟复习上一堂课内容2.单片机产品计数器电路 P1口外接8个发光二极管,P1口输出高电平,二极管亮(此部分电路在图中省略)。讲解20分钟10分钟50分钟一、硬件电路工作原理分析1槽型光耦电路2NE555电路表7.1 5G555定时器功能表21 555构成单稳态触发器1. 电路结构2单稳态电路工作原理当单稳态触发器无触发脉冲信号时,输入端Ui=“1”,当直流电源+UDD接通以后,电路经过一段过渡时间后,OUT端最后稳定输出“0”,放电端D通过导通的三极管接地,电容C两端电压为零。因高电平触发端TH和放电端D直接连接,所以高电平触发端TH接地,根据555定时器功能可知,此时电路保持原态“0”不变,这种状态即是单稳态触发器的稳定状态,当单稳态触发器有低电平触发脉冲信号时,则触发器输出由“0”变为“1”,三极管由导通变为截止,放电端D及地断开;直流电源+UDD通过电阻R向电容C充电,电容两端电压按指数规律从零开始增加(充电时间常数=RC);经过一个脉冲宽度时间,负脉冲消失,输入端Ui恢复为“1”,由于电容两端电压<2/3UDD,所以输出保持原状态“1”不变,这种状态即是单稳态触发器的暂稳状态。当电容持续充电至电容两端电压>2/3UDD,又有Ui>1/3UDD ,那么输出就由暂稳状态“1”自动返回稳定状态“0”。3二极管D4本电路中二极管D4为钳位二极管,输入Ui为低时,电容C的电压被钳位在低电平,输出保持为高电平。输入Ui变高时,则利用单稳态的延续时间tW进行消抖,保证计数电路只输出单个脉冲。二、产品计数器程序分析1程序清单ORG 0000H START: MOV P1, # 0FFH MOV TMOD, # 06H MOV TH1, # 00H MOV TL1, # 00H SETB TR1 LOOP: MOV A, TL1 CPL A MOV P1, A SJMP LOOP 2程序分析:(1)计数功能的实现 (2)定时/计数器的初始化编程选择工作方式(TM0D)工作方式选择方式1,功能为计数功能。即:(TMOD)= 00000001B计数初值取0 启动(TCON) TR0=1三、学生试验讲解巡回指导课后小记 授课教师 常 州 轻 工 业 学 校 单片机原理及应用 课 程 授 课 教 案 NO 20 授课日期授课班级课题实验四:定时计数器授课类型实验授课时数 教学目的1.掌握单片机定时器/计数器的使用和编程方法2.进一步掌握中断处理过程的编程,对发光二极管实现定时顺序控制重点难点定时器/计数器的使用和编程方法和中断处理过程的编程教具挂图计算机、小哨兵软件、wave6000软件、单片机实验仪教学及过程分配主 要 教 学 内 容教学方法的运用20分钟45分钟开始初始化端口、堆栈、查表指针5秒定时标志清零设置T0定时方式1 设置T1计数方式1置T0 定时50毫秒初值置T1计数100次初值启动T0、T1开中断判5秒定时到?关中断查表、点灯修改查表指针判满8次?表指针归零NYYN图1:主程序框图图2:T0中断程序框图开始重置T0 50毫秒定时初值中断返回判T1计满?NYP3.0输出计数脉冲重置T1 计数100次初值5秒定时标志置1备用单元加1清TF110分钟实验四 定时器/计数器一、 实验目的:1、掌握Lab6000实验仪联机调试操作2、掌握单片机定时器/计数器的使用和编程方法3、进一步掌握中断处理过程的编程,对发光二极管实现定时顺序控制一、 实验仪器:Lab6000实验仪,PC机(WAVE6000软件),通讯电缆,导线三、实验内容:利用单片机内部的定时器/计数器,产生5秒中断一次。P1口分别接8个发光二极管。要求编写程序模拟一时序控制装置,开机后第5秒L1、L2亮;第10秒L3、L4亮;第15秒L5、L6亮;第20秒L7、L8亮;第25秒L1、L2、L3、L4亮;第30秒L5、L6、L7、L8亮;第35秒8个发光二极管全灭;第40秒8个发光二极管全亮。以后又从头开始,一直循环下去。四、实验原理 单片机内部定时器/计数器用作定时器时,是对机器周期的计数,每个机器周期的长度是12个振荡周期,因为实验仪晶振是12MHZ,所以最长延时时间为65ms左右。下列程序用定时器/计数器0工作于方式1的定时器方式,达到0.05溢出中断一次;定时器/计数器1工作于方式1的计数器方式,它设定为计数100次,而每次定时器/计数器0时间到、溢出时,将发给它一个计数脉冲。这样,两个定时器/计数器串接使用的结果0.05*100=5s,可得到5s延时。 P1.0 P1.1 P1.28051 P1.3 P1.4 P1.5 P1.6P1.7P3.0P3.5 5v7407 8*500 图1五、实验步骤:Lab6000单片机实验仪及PC机相连按图1接线编写程序,并在WAVE6000软件环境中输入程序并编译运行程序,观察灯亮的次序是否符合实习内容的要求写实验报告六、实验程序框图讲解图示实验操作指导15分钟七、参考程序ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 001BH RETI ORG 0030HMAIN: MOV P1,#0FFH MOV R3,#00H MOV SP,#53HSTART: CLR 00H MOV 30H,#00 MOV TMOD,#51H MOV TH0,#9EH MOV TL0,#58H MOV TL1,#9CH MOV TH1,#0FFH MOV TCON,#50H ORL IE,#82HHERE: JNB 00H,HERE CLR EA MOV A,R3 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A INC R3 CJNE R3,#8,LOOP MOV R3,#00HLOOP: LJMP STARTTAB: DB 03H,0CH,30H,0C0H,0FH DB 0F0H,00H,0FFHT0INT: MOV TH0,#9EH MOV TL0,#58H SETB P3.4 NOP CLR P3.4 INC 30H JNB TF1,QUIT MOV TH1,#0FFH MOV TL1,#9CH SETB 00H CLR TF1QUIT: RETIEND程序分析课后小记 授课教师_第 11 页