avr单片机定时器0溢出中断程序

发布者:大酉幽华1最新更新时间:2015-05-11 来源: 51hei关键字:avr  单片机  定时器  中断程序 手机看文章 扫描二维码
随时随地手机看文章
       2014年2月17日22:26:32   

       芯片名称:  AVR (艾特梅尔公司)mega16A 微控制器芯片; 
       开发板:  自主研发的 YF-A1芯片开发板;  (YF :是本人名字缩写 )

        第53次试验,用逻辑分析仪捕捉,输出于IO口的数字,脉冲信号,脉冲信号宽度:1.5~1.8微妙,每9~11个脉宽1.5us的信号时序中,夹杂着一个脉宽位为3微妙的高脉冲信号.
       我用了好几个小时都计算不出定时器0内部的时钟频率........哪里出错了呢?
      外部用12兆晶体整荡器;
      我的计算结论是:定时器0内部频率为32khz     ,但是这显然有问题.
      定时器时钟为内部8分频  TCCR0=0X02; TCNTO初始值250,即每6个时钟周期溢出一次,每溢出一次,PB口电平取反一次,      就这样反向计算    脉宽  1.5us ÷  6  ==每一个被分频的时钟时间  ÷ 8 =时钟频率;

/*    
    写这个程序我用了3个多小时,反复实验.苍天不负有心人额,,哎╮(╯▽╰)╭,,,,,

       程序名:   定时器0溢出中断

    概述:   定时器每一毫秒溢出一次,溢出500次,即0.5秒 ,LED灯跳变一次,我发现,如果
  不将所有io口初始化,芯片将变得极其不稳定,无法正常工作,定时器0 溢出标志位
  TOV0 一旦溢出,进入中断服务程序后,将自动清零,再无需软件清零,我似乎明白了硬
  件清零的意思;

       finish time :2014年2月28日20:40:21;

*/


#include
#include
#include

typedef unsigned char uint8;
typedef unsigned  int uint16;

volatile uint16 a=0;

void io(void)
{
  DDRA=0XFF;
  PORTA=0X00;

  DDRB=0XFF;
  PORTB=0X00;

  DDRC=0XFF;
  PORTC=0X00;

  DDRD=0XFF;
  PORTD=0X00;


}

 

int main(void)
{

   io();
   
   TIMSK=0X01; // 溢出中断使能;

   sei();     //全局中断使能;

   TCNT0=69;  //定时器初始值1毫秒溢出;

   TCCR0=3;    //64分频定时器开始运行!;

   PORTB=4;    //8位LED共阳极使能;
  

   while(1);  //死循环;
 

 

}

 

SIGNAL(SIG_OVERFLOW0)  //中断服务程序;
{
   static uint16 s=0; //  静态变量;
   
   TCNT0=69;  //重设定时器初始值;
 
    s++;       
   if(s==502)   //每500毫秒PA口电平跳变一次!
   { s=0;
     PORTA^=0XFF;
     
}
  
  
 //  TIFR=0X01;//将定时器0溢出标志位和比较匹配标志位置一清零;

}

关键字:avr  单片机  定时器  中断程序 引用地址:avr单片机定时器0溢出中断程序

上一篇:高速AVR实现振动/温度信号采集和存储
下一篇:avr单片机8位定时器LED精确1秒闪烁程序

推荐阅读最新更新时间:2024-03-16 14:01

如何迈入单片机开发世界
  学习单片机看书不够,实践也要从实际出发,现在的技术太模块了,什么都可以模块,模块的到最后,技术人员都成了只会用了,祖先的留下的知识,基础的知识该知道还是一定要知道的啊。 毕竟学习单片机的最终目的是开发,是通过创造智能控制的实物,体现自己的价值。关于实践有两种方法可以选择一种方法:购买一块51单片机的实验板,不要求功能太的,对于初学者来功能非常多的那种板子,上面有很多东西你这辈子都用不着,更有实验板为了增加功能,降低成本,实验板上到处用的是贴片元件,双面布线,越复杂就越有水平,好像他们在设计的时候就想着,学习单片机只要根据我的提示下载程序就可以了,更有甚者将下载器和集成了实验板上。很多初学者学完单片机还认为,原来单片机不是一块芯
[单片机]
一种基于AVR Butterfly的多功能电源设计
0 引言 随着嵌入式系统设计技术的发展,在设计和仿真中,系统工程师对电源的要求也越来越高。在嵌入式系统设计是使用8031单片机和74系列集成电路时,所有使用74系列集成电路的电路板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的三极管变得越来越小并且工作的电压越来越低,使得嵌入式系统开发的重点从系统的速度,转到低功耗设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测试时,还要模拟不同的电源故障情况下,比如掉电等,嵌入式系统的稳定性和可
[单片机]
一种基于<font color='red'>AVR</font> Butterfly的多功能电源设计
基于Q2403A的单片机短消息收发系统
  引言   传统的监控系统类似大体可以分为四种:防盗放火报警监控系统,门禁系统、考勤或巡更系统,环境检测系统,视频监视系统。   目前市场上通常对某个区域(例如仓库)的全面监控管理是由以上四种类型的监控系统的简单相加,各分系统之间相对独立,到上层监控中心才进行综合,这样作势必会造成布线烦琐、维护力度大、升级困难、成本增加,而且系统的联网方式单一也可能造成系统的鲁棒性不高,处理突发事件的能力不强,针对这样一种现状,文中提高了一种基于32位高性能 处理器 AT91RM9200的智能综合 监控基站 方案。   1 系统结构   本基站最大的特点在于将各个子系统在底层进行综合集成,并且采用PSTN、GPRS和TCP/IC
[单片机]
MCU电源管理寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:   PCON电源管理寄存器结构:   PCON D7 D6 D5 D4 D3 D2 D1 D0   位符号 SMOD - - - GF1 GF0 PD IDL   在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。   各位的定义: SMOD:该位与串口通信有关。   SMOD=0; 串口方式1,2,3时,波特率正常。   SMOD=1; 串口方式1,2,3时,波特率加倍。
[单片机]
ARM笔记:外部按键中断程序
.extern main .text .global _start _start: b Reset HandleUndef: b HandleUndef HandleSWI: b HandleSWI HandlePrefetchAbort: b HandlePrefetchAbort HandleDataAbort: b HandleDataAbort HandleNotUsed: b HandleNotUsed b HandleIRQ HandleFIQ: b HandleFIQ Reset: ldr sp,=4096 bl dis
[单片机]
基于单片机的MicroDrive接口设计
摘要:介绍了IBM的MicroDrive的基本结构和工作原理,详细说明了MicroDrive接口设计的关键技术;以AT89C52型单片机为基础,设计完成了MicroDrive的接口电路,正确实现了对MicroDriver的读写及数据管理等功能。 关键词:MicroDrive 单片机 近几年,各种大容量的小型存储器不断涌现,在便携式设备中获得了广泛的应用。目前常见的存储卡类型有:1Smart Media Card2MemoryStick3MultiMedia Card4CompactFlash Type I Card5IBM的MicroDrive等。各存储卡在容量、功耗、体积上各有特色,但IBM的Mi
[应用]
基于ATMEL89S52 单片机的三相桥式可控触发电路的设计
1 引言 晶闸管作为一种半控性功率半导体器件,其基本功能是对电压进行整流、调压和斩波等进行控制,以满足实际需求。目前,晶闸管整流器装置已在工农业生产中得到了广泛的应用,特别是在直流调速系统中。触发电路是晶闸管电力变流技术的一种核心技术,触发电路应具有可靠性高,对称性好等要求。以分立元件及专用集成电路为主的触发电路,其性能不尽如人意,其具有电路复杂、易受电网电压影响、触发脉冲对称度不好等缺点。由单片机组成的控制,其触发电路具有性能良好、触发电路结构简单、控制灵活、温漂影响小、控制精度高、移相范围可任意调节等特点; 因其移相触发角通过软件计算完成,由于软件的可编程性,使微机数字触发器的调速范围更加灵活,能满足更多方面的需要。
[单片机]
基于ATMEL89S52 <font color='red'>单片机</font>的三相桥式可控触发电路的设计
基于SRAM的微控制器优化了安全性
结果表明,非易失性(NV)SRAM是用于存储安全数据的最安全的存储器。通过使用 DES 或三重 DES 加密内存,可以建立加密边界,使安全信息不被黑客渗透。通过使用防篡改反应传感器,可以进一步保护SRAM的易失性,这些传感器将擦除加密密钥作为响应。密码键盘等金融应用依靠自动程序和数据存储器加密功能来保护数据。DS5250是一款高性能、安全的8051微控制器,利用安全SRAM的独特特性来保护敏感数据。 无论是在自动取款机、护照/身份验证设备还是便利店的销售点终端中,都必须保护密码、个人识别码 (PIN)、加密密钥和专有加密算法等关键信息免受黑客攻击。金融服务采用详细的政策和程序来保护硬件和软件。因此,金融交易系统的设计者在开发每
[单片机]
基于SRAM的<font color='red'>微控制器</font>优化了安全性
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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