马伟力AVR笔记:三、定时记数器0实验
实验三、定时器实验

实验三、定时器实验
1 实验目的
通过实验,掌握定时器的使用方法。
着重掌握定时中断的使用!
2 实验内容
1、使用Mega16单片机的timer0产生1ms间隔的定时中断(建议采用application builder,既可以用Normal工作模式也可以使用CTC模式),(1)在定时中断中实现4位数码管的动态刷新。
(2)在1ms的定时中断中设计100mS的时间标志位,在主程序中查询时间标志位,实现LED闪烁。
2、重新配置TImer0工作在PWM模式,用按键改变PWM的占空比,调节电机转速;
3 实验预习要求
仔细阅读教材中定时中断的范例;
4实验步骤
1、启动ICCAVR,创建一个工程文件,配置timer0,实现10ms的定时中断,采用Application
Builder来生成初始化代码。
注意:本次实验使用的IO口也要初始化,包括数码管驱动所使用的IO,按键等。
2、在定时中断中实现四位数码管的定时刷新(注:要使用上次实验课的HC595的驱动),
并在定时中断中实现100ms的时间标志(时标),在主程序中查询时标,实现led(PORTC 口任何一个LED都可)闪烁;
3、重新配置TImer0工作在PWM模式,初始占空比设置为10%,然后使用按键INT1(在原理图中为SW8,连接到了单片机的PD3引脚上』来改变占空比,例如每按一次按键,占空比增加10%。
注:实验中要使用的管脚有:PD4、PD5、PD6、PD7、PB0、PB1、PA0,PD3,各管脚连接请参照原理图。
实验三定时器应用实验。
AVR单片机教程14—第十四课 ATmega16L的定时计数器学习

——————————————————————————第十四课ATmega16L的定时/计数器学习本教程节选自周兴华老师《手把手教你学AVR单片机C程序设计》教程,如需转载,请注明出处!读者可通过当当网、淘宝网等网站购买本教程,如需购买配书实验器材,可登陆周兴华单片机培训中心网购部自助购买!ATmega16L有两个8位定时/计数器(T/C0、T/C2)和一个16位定时/计数器(T/C1)。
每一个计数器都支持PWM(脉冲宽度调制)输出功能。
PWM输出在电机控制、开关电源、信号发生等领域有着广泛的应用。
ATmega16L的定时/计数器时钟是可以选择的。
它的时钟部分包括预分频器和一个多路选择器。
预分频器可被认为是单片机开发中一个有多级输出的分频器。
ATmegal6L用一个10位的计数器把输入时钟分为4种可选择的分频输出。
多路选择器可设置使用某一个分频输出,或者不使用分频输出和使用外部引脚输人时钟。
图9-1为预分频器的基本结构。
——————————————————————————图9-1 预分频器的基本结构9.2 ATmega16L定时/计数器的时钟选择1.使用系统时钟这种情况下使用系统时钟作为预分频器的输入,不过系统时钟的频率一般比较高,所以一般只能实现比较短的定时。
预分频比可通过设置TCCRx的CSx2、CSxl和CSx0来选定。
表9-1给出一个预分频设置值和分频比关系。
TCCRx同步计数器0和1Pck=CK 同步/异步计数器2 Pck=f(AS2)210CSx2CSx1CSx0Tck0,Tck1Tck2000Pck(系统时钟)Pck(系统时钟/异步时钟)001Pck/8Pck/8010Pck/64Pck/32011Pck/256Pck/64100Pck/1024Pck/128101引脚Tx下降沿Pck/256110引脚Tx上升沿Pck/512111Pck Pck/1024表9-1 预分频设置值和分频比关系2.使用异步时钟ATmegal6L的T/C2可以使用外部的异步时钟作为时钟源,这时可以在单片机的TOSC1和TOSC2——————————————————————————两个引脚之间接一个石英晶体或者陶瓷振荡器,和内部的振荡器连接起来。
单片机实验三 定时计数器实验

实验三定时/计数实验
一、实验目的
1、理解单片机的定时/计数原理,掌握定时/计数程序的编写方法。
2、掌握定时/计数器在定时、计数、频率测量等方面的应用。
3、学会使用PROTEUS中VSM虚拟示波器观察波形。
二、实验设备
计算机一台;单片机实验仪一台;Keil C51和Proteus软件。
三、实验内容
利用定时计数器1,编程实现从P1.0、P1.1、P1.2三个I/O引脚分别输出频率为
0.25Hz、50 Hz、1k Hz的方波信号。
利用P1.0、P1.1、P1.2三个I/O引脚所接的三个LED
灯或利用示波器进行观察。
已知fosc=12MHz。
四、实验电路图
图1 8路LED灯控制原理图
五、实验接线
P1.0、P1.1、P1.2三个I/O引脚接J12的三个引脚(即三个LED灯)。
六、思考题
1、简要写出实现该实验的方案(要有必要的计算)。
2、单片机定时/计数器的“加一”操作和单片机运行主程序是同时工作(并行工作)的,还是有先后顺序的?单片机运行中断程序和运行主程序是同时工作(并行工作)的,还是有先后顺序的?
3、单片机定时/计数器的定时与计数的区别是什么,软件上分别应如何设置?
4、在该实验的基础上,输出的三路信号的占空比可以分别为1/2,1/3,1/4吗?
七、实验报告要求
实验目的
1、实验目的
2、实验设备
3、实验内容
4、实验流程图
5、实验源程序
7、思考题解答
8、实验总结及心得体会
1。
实验三 定时器计数器应用实验一

实验三定时器计数器应用实验一实验三定时器、计数器应用实验一定时器/计数器应用实验一设计性试验星期三,2022年11月14日第三和第四班一、实验目的1.掌握定时器/计数器定时功能的使用。
2.掌握定时器/计数器的中断和查询方法。
3.掌握Proteus软件和keil软件的使用。
4.掌握单片机系统的硬件和软件设计方法。
2、设计要求1、用proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在p1.0口线上产生周期为200μs的连续方波,在p1.0口线上接示波器观察波形。
2.电路原理图用Proteus软件绘制。
单片机的定时器/计数器工作在中断模式。
在P1中,1端口线的产生周期为240μS,在P1处连续方波,在1端口线上连接示波器以观察波形。
3、电路原理图四、实验程序流程框图和程序清单及实验结果/*********设计要求:(a)单片机定时器/计数器工作在查询模式下,在P1 0端口线产生周期为200us的连续方波。
编制人:吕晓阳说明:用定时器1的方式1以查询方式工作时间:2021年11月10日***************/组织0000hmain开始:ljmporg启动0100hsp,eaet1#2fh; 完全中断;禁止定时器1中断系统初始化主:movclrclrmovmovmovsetb安装初始计数值并启动计时器tmod#000100000B;将计时器1设置为工作模式1th1、TL1、tr1tf1、Th1、TL1、tf1p1 0loop#0ffh;设置计数初值#9ch; 启动定时器;查询计数是否溢出定时时间到?y重装计数初值清除溢出标志nloop:jnb终止movmovclrcplljmp环#0ffh;重置计数初值#9ch; 清除计数溢出标志;输出反转;重复倒置输出取反结束/*********设计要求:(b)单片机的定时器/计数器以查询方式工作,在p1.0口线上产生周期为200us的连续方波编写:吕小洋注意:使用定时器0的初始值自由模式2在中断模式下工作。
7-定时计数器

16 位定时器/ 计数器T1功能
16位旳T/C 能够实现精确旳程序定时( 事件管理)、波形产生和信号测量。
除一般计时器具有旳寄存器外(控制寄存器和计数寄存器) 1个16位旳输入捕获寄存器:检测输入脉冲旳宽度和捕获时 间(ICR) 2个16位旳输出比较寄存器:产生输出到微控制器旳一种输 出引脚旳频率或脉冲信号(OCR)。
16 位定时器/ 计数器T1功能
16位旳T/C 能够实现精确旳程序定时( 事件管理)、波形产生和信号测量。
Timer1 脉宽调制器模式
脉宽调制(pulse width modulation,PWM)模式是许多 提供数模转换措施旳一种。
PWM模式:微控制器旳方波输出循环经过过滤实际旳输 出波形就能够得到一种可调整旳平均直流输出信号,从 而提供不同旳直流输出信号
16 位定时器/ 计数器T1寄存器
•输出比较寄存器1A - OCR1AH与 OCR1AL
•输出比较寄存器1A - OCR1BH与 OCR1BL
该寄存器中旳16 位数据与TCNT1 寄存器中旳计数值进行连续 旳比较,一旦数据匹配,将产生一种输出比较中断,或变化 OC1x 旳输出逻辑电平。
课堂实训4 --定时器1比较中断--LCD时钟
• Bit 7:6 – COM1A1:0: 通道A 旳比较输出模式 • Bit 5:4 – COM1B1:0: 通道B 旳比较输出模式 COM1A1:0与COM1B1:0分别控制OC1A 与OC1B状态。假如 COM1A1:0(COM1B1:0)旳一位或两位被写入"1”, OC1A(OC1B) 输出功能将取代I/O 端口功能。此时 OC1A(OC1B)相应旳输出引脚数据方向控制必须置位以使能输 出驱动器。
– 请计算出该源程序使用旳PWM波旳频率? – F(输出频率)=F(晶振频率)/[N(1+TOP)],N代表分频
AVR单片机定时计数器的结构与应用

来自芯片的内部。
①T/C0计数时钟源的选择 T/C0的时钟源的选择由T/C0的控制寄存器TCCR0中的3个
标志位CS0[2:0]确定,共有8种选择。 无时钟源(停止计数),外部引脚T0的上升沿或下降沿,
以及内部系统时钟经过一个10位预定比例分频器分频的5种频率 的时钟信号(1/1、1/8、1/64、1/256、1/1024)。 ② 使用系统内部时钟源
(4)比较匹配输出单元
标志位COM0[1:0]有两个作用:定义OC0的输出状态,以 及控制外部引脚OC0是否输出OC0寄存器的值。
当标志位COM0[1:0]中任何一位为“1”时,波形发生器 的输出OC0取代引脚PB3原来的I/O功能,但引脚的方向寄存 器DDRB3仍然控制OC0引脚的输入/输出方向。如果要在外部 引脚PB3上输出OC0的逻辑电平,应设定DDRB3定义该引脚为 输出脚。采用这种结构,用户可以先初始化OC0的状态,然后 再允许其由引脚PB3输出。
(4)定时计数器中断标志寄存器—TIFR
位7(位1)— OCF2(OCF0):T/C2(T/C0)比较匹配输出的中断标志 位
当T/C2(T/C0)输出比较匹配成功,即TCNT2=OCR2(TCNT0=OCR0) 时,OCF2(OCF0)位被设为“1”。当转入T/C2(T/C0)输出比较匹配中 断向量执行中断处理程序时,OCF2(OCF0)由硬件自动清零。写入一个 逻辑“1”到OCF2(OCF0)标志位将清除该标志位。当寄存器SREG中的I 位、OCIE2(OCIE0)以及OCF2(OCF0)均为“1”时,T/C2(T/C0)的 输出比较匹配中断被执行。
AVR定时计数器0,1,2的相位可调PWM模式彻底应用
/***********AVR定时计数器0,1,2的相位可调PWM模式彻底应用***********************FileName : adjustablePWM.cAuthor : 沧海麒麟Date : 2011.05.28Version : 1.0Clock Frequency :8 MHZDescription : 适用于ATmega16(L)AVR的3个定时计数器相位频率PWM模式查询与中断的基本应用*/#include <iom16v.h> //常用头文件,如有需要可以查库文件include#include <avrdef.h>#include <macros.h>#include <string.h>#include <math.h>//#include "delay.c"//#include "LCM1602.c"#define uint unsigned int#define uchar unsigned char/*****************T/C0*********************************/void Timer0PCPWM_Init(uchar temp);void Timer0PCPWM_NquiryMode(uchar temp);//T/C0查询方式函数void Timer0PCPWM_InterruptMode(uchar temp);//T/C0中断方式函数/*****************T/C2*********************************/void Timer2PCPWM_Init(uchar temp);void Timer2PCPWM_NquiryMode(uchar temp);//T/C2查询方式函数void Timer2PCPWM_InterruptMode(uchar temp);//T/C2中断方式函数/*****************T/C1**********************************/void Timer1PCPWM_10_Init(uint top,uint temp);//T/C1波形产生模式:CTC4 void Timer1PCPWM_11_Init(uint top,uint temp);//T/C1波形产生模式:CTC12 void Timer1PCPWM_A_NquiryMode(uint temp);//T/C1比较匹配A查询方式函数void Timer1PCPWM_B_NquiryMode(uint temp);//T/C1比较匹配B查询方式函数void Timer1PCPWM_InterruptMode(uint temp);//T/C1中断方式函数void main(void){//占空比为1/5Timer0PCPWM_Init(51);//245HzTimer2PCPWM_Init(51);Timer1PCPWM_10_Init(1249,250);//50HZ//Timer1PWM_14_Init(1249,250);while (1);}/*******定时计数器的函数*******************//*与8位T/C0相关的寄存器1:T/C0计数寄存器TCNT0,输出比较寄存器OCR0,定时计数器中断屏蔽寄存器TIMSK 定时计数器中断标志寄存器TIFR,T/C0控制寄存器TCCR02:每计数一次需要的时间是(1/Xtal)*N us在此程序中Xtal=8,N定义为与分频系数N:1,8,64,256,10241 : TCCR0|=0x01;//0:无时钟,系统不工作8 : TCCR0|=0x02;64 : TCCR0|=0x03;256 : TCCR0|=0x04;1024: TCCR0|=0x05;//0x06:时钟由T0引脚输入,下降沿触发 0x07:时钟由T0引脚输入,上升沿触发*//***********************************************************/void Timer0PCPWM_Init(uchar temp){//Foc0pwm = Fclk/(510N)DDRB |= 0X08;TCNT0 = 0x00;TCCR0 = 0x40|0x20|0x03; //PWM设置|OC0触发方式的设置|预分频设置OCR0 = temp;//在此程序中Xtal=8,N定义为与分频系数N:1,8,64,256,1024//1 : TCCR0|=0x01;//0:无时钟,系统不工作//8 : TCCR0|=0x02;//64 : TCCR0|=0x03;//256 : TCCR0|=0x04;//1024: TCCR0|=0x05;}/********************************************************/void Timer0PCPWM_NquiryMode(uchar temp)//T/C0查询方式函数while(!(TIFR&0x02));TIFR=0x02;OCR0 = temp;//Focnpwm = Fclk/N(1+TOP)}/*********************************************************/void Timer0PCPWM_InterruptMode(uchar temp)//T/C0中断方式函数{CLI(); //disable all interruptsTCCR0 = 0x00; //stopTCNT0 = 0x00;TCCR0 = 0x40|0x20|0x03; //PWM设置|OC0触发方式的设置|预分频设置OCR0 = temp;MCUCR = 0x00;GICR = 0x00;TIMSK = 0x02; //timer interrupt sourcesSEI(); //re-enable interrupts //SREG|=BIT(7);//开启总中断}/*********************************************************/#pragma interrupt_handler timer0_comp_isr:iv_TIM0_COMP //20void timer0_comp_isr(void){//compare occured TCNT0=OCR0}/***********************************************************//*与8位T/C2相关的寄存器1:T/C2计数寄存器TCNT0,输出比较寄存器OCR2,定时计数器中断屏蔽寄存器TIMSK 定时计数器中断标志寄存器TIFR,T/C2控制寄存器TCCR22:每计数一次需要的时间是(1/Xtal)*N us在此程序中Xtal=8,N定义为与分频系数N:1,8,64,256,10241 : TCCR2|=0x01;//0:无时钟,系统不工作8 : TCCR2|=0x02;32 : TCCR2|=0x03;64 : TCCR2|=0x04;128 : TCCR2|=0x05;256 : TCCR2|=0x06;1024: TCCR2|=0x07;*//***********************************************************/void Timer2PCPWM_Init(uchar temp){//Foc0pwm = Fclk/(510N)DDRD |= 0X80;TCNT2 = 0x00;TCCR2 = 0x40|0x20|0x04; //PWM设置|OC2触发方式的设置|预分频设置OCR2 = temp; //Focnpwm = Fclk/N(1+TOP)}/***********************************************************/void Timer2PCPWM_NquiryMode(uchar temp)//T/C2查询方式函数{while(!(TIFR&0x80));TIFR=0x80;OCR2 = temp;}/***********************************************************/void Timer2PCPWM_InterruptMode(uchar temp)//T/C2中断方式函数{CLI(); //disable all interruptsTCCR2 = 0x00; //stopTCNT2 = 0x00; //set count//temp=6,N=64:2000us;计数250次TCCR2 = 0x40|0x20|0x04; //PWM设置|OC2触发方式的设置|预分频设置OCR2 = temp;MCUCR = 0x00;GICR = 0x00;TIMSK = 0x80; //timer interrupt sourcesSEI(); //re-enable interrupts //SREG|=BIT(7);//开启总中断}#pragma interrupt_handler timer2_comp_isr:iv_TIM2_COMP //4void timer2_comp_isr(void){//compare occured TCNT2=OCR2}/***********************************************************//*与16位T/C1相关的寄存器1:T/C1计数寄存器TCNT1H和TCNT1L,输出比较寄存器OCR1A(H/L)和OCR1B(H/L), 定时计数器中断屏蔽寄存器TIMSK,定时计数器中断标志寄存器TIFR,T/C1控制寄存器TCCR1A和TCCR1B2:每计数一次需要的时间是(1/Xtal)*N us在此程序中Xtal=8,N定义为与分频系数N:1,8,64,256,1024//1 : TCCR1B=0x01;//0:无时钟,系统不工作//8 : TCCR1B=0x02;//64 : TCCR1B=0x03;//256 : TCCR1B=0x04;//1024: TCCR1B=0x05;//0x06:时钟由T1引脚输入,下降沿驱动 0x07:时钟由T1引脚输入,上升沿驱动*//***********************************************************/void Timer1PCPWM_10_Init(uint top,uint temp){DDRD |= 0x30;TCNT1H = 0x00;TCNT1L = 0x00;TCCR1A = 0x80|0x20|(1 << WGM11)|(0 << WGM10); //OC1A&OC1B的触发方式设置|PWM 设置TCCR1B = (1 << WGM13)|(0 << WGM12)|0x03;//PWM设置|预分频设置ICR1 = top; //Focnpwm = Fclk/(2N*TOP)OCR1A = temp;OCR1B = temp;}/***********************************************************/void Timer1PCPWM_11_Init(uint top,uint temp){DDRD |= 0x30;TCNT1H = 0x00;TCNT1L = 0x00;TCCR1A = 0x80|0x20|(1 << WGM11)|(1 << WGM10); //OC1A&OC1B的触发方式设置TCCR1B = (1 << WGM13)|(0 << WGM12)|0x03;//PWM设置|预分频设置OCR1A = top; //Focnpwm = Fclk/(2N*TOP)OCR1B = temp;//说明还有8 9 10位相位修正PWM可用}/******************************************************************/void Timer1PCPWM_A_NquiryMode(uint temp)//T/C1比较匹配A查询方式函数{while(!(TIFR&0x10));TIFR = 0x10;OCR1A = temp; //Focnpwm = Fclk/(2N*TOP)}/*********************************************************/void Timer1PCPWM_B_NquiryMode(uint temp)//T/C1比较匹配B查询方式函数{while(!(TIFR&0x08));TIFR = 0x08;OCR1B = temp; //Focnpwm = Fclk/(2N*TOP)}/*******************中断方式函数视具体情况而定***************************/ void Timer1PCPWM_InterruptMode(uint temp)//T/C1中断方式函数{CLI(); //disable all interruptsDDRD |= 0x30;TCNT1H = 0x00;TCNT1L = 0x00;TCCR1A = 0xA0|(1 << WGM11)|(1 << WGM10); //OC1A&OC1B的触发方式设置|PWM设置 TCCR1B = (1 << WGM13)|(1 << WGM12)|0x03;//PWM设置|预分频设置OCR1A = temp;OCR1B = temp; //Focnpwm = Fclk/(2N*TOP)MCUCR = 0x00;GICR = 0x00;TIMSK = 0x18; //timer interrupt sourcesSEI(); //re-enable interrupts //SREG|=BIT(7);//开启总中断}/*********************************************************/#pragma interrupt_handler timer1_compa_isr:iv_TIM1_COMPA //7void timer1_compa_isr(void){//compare occured TCNT1=OCR1A}#pragma interrupt_handler timer1_compb_isr:iv_TIM1_COMPB //8void timer1_compb_isr(void){//compare occured TCNT1=OCR1B}。
实验三单片机定时计数器应用实验(一)(学生用)
实验三单片机定时/计数器应用实验(一)一、实验目的(1)掌握定时/计数器的基本结构、工作原理和工作方式。
(2)掌握定时/计数器的使用和编程方法。
(3)进一步掌握中断处理程序的编写方法。
二、实验器材(1) HJ-C52开发板一块(2)计算机一台(3) Keil C51编程软件(4)数据下载线三、实验电路图2 电路图四、实验说明1、51单片机有。
两个16位内部定时器/计数器(T/C,Timer/ Counter)。
若是计数内部晶振驱动时钟,则是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。
定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数。
由于脉冲周期固定由计数值可以计算出时间,有定时功能。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
2、TMOD(1)M1M0工作方式控制位(2)C/T 定时器方式或计数器方式选择位若C/T=1时, 为计数器方式;C/T = 0时, 为定时器方式。
(3)GATE 定时器/计数器运行门控标志位当GATE=1时, T/C的启动受双重控制,即要求INT0 (或INT1)引脚为高电平且TR0(或TR1 )置 1 时, 相应的T/C才被选通工作。
若GATE=0, T/C的启动仅受TR0 (或 TR1)控制,即置 1, T/C就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。
3、TCONTF0、TF1分别是定时器/计数器T0、 T1 的溢出中断标志位, 加法计数器计满溢出时置1, 申请中断, 在中断响应后自动复0。
TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。
TR1、TR0 分别是定时器/计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器/计数器才开始工作, 在系统复位时被清0。
单片机实验三-定时计数器实验报告
南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合■设计□创新实验日期:实验成绩:实验三定时计数器实验(一)实验目的1. 熟练掌握STC型开发板的使用方法和注意事项;2. 掌握应用USB_ISP烧录过程;3. 掌握单片机中断原理;4. 掌握定时器的初始化和定时模式编程。
(二)设计要求采用定时器0/1做16位自动重装(方式0), 中断频率为1000HZ,中断函数从P1.7/ P1.6/ P4.7取反输出500HZ方波信号。
如果由于频率问题实验现象无法观察,请在中断程序中想办法实现。
(三)实验原理1. 开发板部分电路示意图2. 定时器的使用在应用定时/计数器资源时,按照以下几个步骤进行:(1)确定工作方式,对方式控制寄存器TMOD赋值(2)根据要求计算初值并装入寄存器THx、TLx,实际定时时间Tc=(M-X)×Tp(3)根据需要开放定时/计数器中断,即EA、ETx置1(4)启动定时/计数器开始工作,即TRx位置1(5)编写中断服务程序或查询处理方式程序定时器/计数器T0的工作方式0:当M1,M0为00时,定时器/计数器被设置为工作方式0,此时为13位计数器,由TLx(x=0,1)的低5位和THx的高8位构成。
TLx低5位溢出则向THx进位,THx计数溢出则把TCON中溢出标志位TFx置1。
3. 单片机中断系统当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。
中断服务请求处理完后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。
定时器/计数器T0计数溢出发出的中断请求,中断请求标志为TF0。
(四)实验设备装有Keil4和STC-ISP的电脑、STC实验箱及连接线。
(五)实验结果实验结果与预期一致,因为输出频率太高,肉眼无法分辨,LED一直保持常量状态,所以设定了中断100次,输出一个方波信号,这样P1.7引脚对应的LED灯闪烁,频率为5Hz,肉眼可见。
AVR单片机技术 定时器计数器中断应用教案
定时器/计数器中断应用
教案
教学目标知识目标:定时器/计数器中断应用;
能力目标:掌握AVR单片机定时器/计数器中断编程方法。
教学内容AVR单片机定时器/计数器中断应用
重点、难点定时器/计数器中断设置步骤;
定时器定时计算方法;
计数器计数值设定方法;
主程序和中断服务程序之间的关系;
教学方法趣味案例激励法;课堂讨论;归纳总结
教学组织案例引入:如果我们要设计一个时钟,如何实现?
问题引导:采用延时函数可以实现计时功能么?为什么?
知识展开:采用延时函数可以实现计时功能么?有什么问题?
课堂练习:如何利用定时器实现计时功能?
分析总结:定时器实现计时功能和利用延时函数实现计时功能有何利弊?尽量详细分析。
问题讨论AVRmega16有几个定时器?有什么不同?课后任务资料检索:计数器可以用来完成什么功能?教师备忘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特别说明
此资料来自豆丁网(http://www.docin.com/)
您现在所看到的文档是使用下载器所生成的文档
此文档的原件位于
感谢您的支持
抱米花
http://blog.sina.com.cn/lotusbaob
http://www.docin.com/p-27255203.html