AVR单片机定时/计数器学习笔记(一)

发布者:CuriousTraveler最新更新时间:2017-11-22 来源: eefocus关键字:AVR  单片机  定时  计数器 手机看文章 扫描二维码
随时随地手机看文章

(具体的寄存器配置方式见mega16数据手册)

     定时/计数器1(16位)有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式。

1.普通模式(设为溢出中断工作方式,向量号为9)

     工作原理:在设定的时钟频率下,计数寄存器由初值逐次加1,当达到计数最大值(65535)时,溢出,执行中断子程序。

     需要配置的寄存器:T/C1控制寄存器B(TCCR1B)、计数寄存器(TCNT1H和TCNT1L)、T/C1中断屏蔽寄存器(TIMSK)。

    (1)由TCCR1B的bit2、bit1、bit0设置时钟频率(有内部和外部)

    (2)由TCNT1H和TCNT1L设置计数初值(注意应先写H,再写L)

    (3)由TIMSK的bit2设置中断使能(注意最后还应开启总中断SREG|=BIT(7))

    

    编程时中断的声明  #pragma interrupt_handler 中断函数名:中断向量号

    注意:在中断子程序中,应该再次装入计数初值,因为进入中断时计数初值变成了0。


关键字:AVR  单片机  定时  计数器 引用地址:AVR单片机定时/计数器学习笔记(一)

上一篇:AVR单片机定时/计数器学习笔记(二)
下一篇:avr单片机 串口实现printf(使用变参函数)

推荐阅读最新更新时间:2024-03-16 15:46

MCS-51单片机与PLD 可编程器件接口设计
1 引 言 在电子设计技术领域,可编程逻辑器件的广泛应用,为数字系统的设计带来极大的灵活性。由于该器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。极大地改变了传统的数字系统设计方法和设计过程。 众所周知,单片机具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力等特点,PLD则具有高集成度、高速、高可靠以及开发便捷规范等优点,就目前常用的智能化仪器仪表和工业测控系统而言,由PLD和单片机为核心器件构成的综合电子系统的应用领域十分广阔。如果将单片机灵活的控制功能以及良好的人机对话功能与PLD高速高可靠性相结合,必将有效地突破传统电子系统设计中的障碍,并使电子系统的性能有
[单片机]
MCS-51<font color='red'>单片机</font>与PLD 可编程器件接口设计
Microchip推出高性价比8位PIC®单片机系列新品
PIC16F170X/171X系列MCU集成运放、过零检测和外设引脚选择功能,可大幅降低设计复杂性与系统BOM成本。 全球领先的整合单片机、混合信号、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)在近日于美国加州圣荷西举行的EE Live!和嵌入式系统大会上宣布推出PIC16(L)F170X 和PIC16(L)F171X系列 8位单片机(MCU)新品。新产品集成了一套丰富的智能模拟和独立于内核的外设,采用了性价比极高的价格定位以及eXtreme超低功耗(XLP)技术。PIC16F170X/171X系列目前一共有11款MCU新品,分别采用14引脚、20引脚
[单片机]
Microchip推出高性价比8位PIC®<font color='red'>单片机</font>系列新品
51单片机自定义函数实现任意串口的printf()
在嵌入式开发过程中,往往需要多个串口进行通讯,使用printf函数是个不错的选择,格式化输出后方便实用; 不论什么型号的单片机,只要支持标准C的编译器,都可以实现此功能, 添加如下头文件; #include stdio.h #include string.h #include stdarg.h 下面是函数定义,可以移植到任意的串口; bit S1_busy; unsigned char idata Put_buf ; //最大数量 void my_printf(char* fmt,...) { unsigned char i,len; va_list ap; va_start(ap,fmt);
[单片机]
51<font color='red'>单片机</font>自定义函数实现任意串口的printf()
获取单片机代码运行时间的方法
  单片机编程者需要知道自己的程序需要花费多长时间、while周期是多少、delay延时是否真如函数功能描述那样精确延时。很多时候,我们想知道这些参数,但是由于懒惰或者没有简单的办法,将这件事推到“明天”。笔者提出了一种简便的测试方法,可以解决这些问题。   测试代码的运行时间的思路: 使用单片机内部定时器,在待测程序段的开始启动定时器,在待测程序段的结尾关闭定时器。为了测量的准确性,要进行多次测量,并进行平均取值。 借助示波器的方法是:在待测程序段的开始阶段使单片机的一个GPIO输出高电平,在待测程序段的结尾阶段再令这个GPIO输出低电平。用示波器通过检查高电平的时间长度,就知道了这段代码的运行时间。显然,借助于示波器的方法
[单片机]
获取<font color='red'>单片机</font>代码运行时间的方法
ST的STM32MCU荣获EDNC“最佳产品奖”
意法半导体旗下的STM32微控制器系列产品从众多的各类参赛者中脱颖而出,荣获“2008年EDNC创新奖最佳产品奖”。EDNC创新奖旨在表彰出色的电子产品和杰出的专业人员,评选程序是先由专家评委评选入围产品,再由全中国的工程师通过网络投票评选出最终的获胜者。 意法半导体的STM32微控制器系列产品赢得EDNC微处理器和数字信号处理器类“最佳产品奖”。基于先进的ARM Cortex-M3内核,STM32系列微控制器提供最高达512 KB的片上闪存,配备大容量的SRAM,更额外提供显示、声音、存储和先进控制等功能,优异的低功耗特性支持多种省电模式,特别适用于各种消费电子和工业控制产品。
[单片机]
ST的STM32<font color='red'>MCU</font>荣获EDNC“最佳产品奖”
STM32单片机按键电路设计
以前GPIO上接的电路都是低电平触发的那种,新画了个板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输入后,其ODR(GPIO输出数据寄存器)相应的也置为1,百思不得其解。 图1 按键电路 于是去看一下GPIO的结构图: I/O引脚结构图 由图可以发现其实输出寄存器与输入寄存器之间在I/O引脚处是线与状态,在GPIO设置成上位输入时,其上拉电阻闭合,这时如果输出寄存器设置为0那么在IO口内部就会自己损耗电流,而这些电流的损耗是会增加功耗的。因此当GPIO设置成上拉输入时,相应的输出寄存器也设置为1. 将按键电路与I/O
[单片机]
STM32<font color='red'>单片机</font>按键电路设计
动荡的处理器IP时代 嵌入式CPU的IP授权与发展分析
处理器是1款系统的心脏部分,所有功能的达成几乎都要依靠处理器,而在嵌入式系统方面,由于针对的应用层次较为较为狭窄,因此更要在效能、功耗与成本等变量进行多方考虑,其中,授权方案更是影响到厂商进行开发时的成本与产品上市时程,因此更需要审慎面对。 在各种嵌入式应用当中,总缺不了1或多个处理器核心来统筹整个系统的运作,但是处理器核心的架构复杂,相关的设计概念必须有多年累积的技术实力才有办法实现,以目前生产代工型态至上的企业观念中,自力进行处理器的开发不啻是吃力又不讨好的工作,不仅无法带来立即的营收,开发过程所需耗费的庞大资金更有可能导致公司的亏损,因此诸如台湾厂商等代工重镇皆在此领域的开发多所保留,也因此带给了纯IP授权(没有晶圆厂,也不
[工业控制]
MSP430单片机FLASH读写操作例子
//****************************************************************************** // MSP430F149 // M. Mitchell // Texas Instruments Inc. // Feb 2005 // Built with IAR Embedded Workbench Version: 3.21A //****************************************************************************** #include MSP430x14x.h char value;
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved