热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

AVR之最简单外部中断、定时器0、定时器1程序

AVR之最简单外部中断、定时器0、定时器1程序2010-08-3011:39:15标签:avr休闲定时器
 AVR之最简单外部中断、定时器0、定时器1程序
2010-08-30 11:39:15
标签: avr  休闲  定时器  外部中断  职场
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://maoge.blog.51cto.com/2068224/385102
程序太简单啦,就不说啦,自己看吧
ATMEGA16用ICCAVR编译器
1、外部中断
#include 
#include  
unsigned  char temp=0x80; 
void main() 
{     
    DDRA=0xff; 
    GICR|=0x40; //使能外部INT0 
    MCUCR|=0x01; //INT0下降沿触发 
    SEI(); //总中断 
     while(1); 

#pragma interrupt_handler int0_isr:iv_INT0 
void int0_isr( void

    PORTA=temp; 
    temp=temp>>7|temp<<1; 

 
2、定时器0--普通模式
#include 
#include  
unsigned  char count; 
void main() 

     //TCCR0=0; 
  TCNT0=12; 
   //OCR0=244; 
  TCCR0=0x05; 
  TIMSK=0x01; 
  SEI(); 
  DDRA=0xff; 
  PORTA=0; 
   while(1); 

#pragma interrupt_handler Timer0:iv_TIMER0_OVF 
void Timer0() 

     TCNT0=12; 
     count++; 
     if(count==2) 
    { 
      PORTA=~PORTA; 
    count=0; 
    } 
}
3、定时器0--匹配模式
#include 
#include  
void main() 

     //TCCR0=0; 
  TCNT0=12; //设置计数初值,计数244后清零申请中断 
  OCR0=244; //从0计数到244,匹配申请中断 
  TCCR0=0x0d; //CTC模式,1024预分频 
  TIMSK=0x02; //使能输出比较匹配中断 
  SEI(); 
  DDRA=0xff; 
  PORTA=0; 
   while(1); 

#pragma interrupt_handler Timer0:iv_TIMER0_COMP 
void Timer0() 

     count++; 
     if(count==2) 
    { 
      PORTA=~PORTA; 
    count=0; 
    } 
}
4、定时器1
#include 
#include 
void main() 

    TCCR1A=0; //WGM11、10清零 
  TCCR1B=0; 
  TCNT1H=0x0b; 
  TCNT1L=0xdb; 
  TCCR1B=2; //WGM13、12清零,为普通模式,时钟选择CS02~00:8预分频 
    TIMSK=0x04; 
  SEI(); 
  DDRA=0xff; 
  PORTA=0; 
   while(1); 

#pragma interrupt_handler timer1:iv_TIMER1_OVF 
void timer1() 

     TCNT1H=0x0b; 
    TCNT1L=0xdb; 
    PORTA=~PORTA; 

本文出自 “依旧安静” 博客,请务必保留此出处http://maoge.blog.51cto.com/2068224/385102


推荐阅读
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 在VS2013中编译FFMPEG时遇到的问题及解决方案
    在使用VS2013编译旧版本FFMPEG库时遇到了一些问题,因为官方并未提供预编译的LIB和DLL文件。由于对Linux环境不熟悉,只能在Windows环境下进行配置和编译。具体步骤如下:首先,下载FFMPEG的源代码;然后,安装必要的编译工具和依赖项;接着,配置Visual Studio 2013的项目设置;最后,解决编译过程中出现的各种错误和警告。通过这些步骤,最终成功编译出所需的FFMPEG库文件。 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • 在Java中,静态代码块和构造方法的执行顺序是一个重要的概念。本文详细分析了类加载过程中静态代码块和构造方法的执行流程。通过具体的示例代码,解释了静态变量初始化、静态代码块以及构造方法之间的相互关系和执行顺序。这对于理解类的初始化过程和确保程序的正确性具有重要意义。 ... [详细]
  • FCKeditor 是一款功能强大的文本编辑组件,适用于各种 Web 应用程序。官方提供的下载链接如下:https://jaist.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.4.2.zip此版本为 2.4.2,用户可以通过该链接直接下载安装包,以便在项目中集成使用。FCKeditor 支持多种浏览器,并提供了丰富的配置选项和插件,能够满足不同开发需求。 ... [详细]
  • 基于Dubbo与Zipkin的微服务调用链路监控解决方案
    本文提出了一种基于Dubbo与Zipkin的微服务调用链路监控解决方案。通过抽象配置层,支持HTTP和Kafka两种数据上报方式,实现了灵活且高效的调用链路追踪。该方案不仅提升了系统的可维护性和扩展性,还为故障排查提供了强大的支持。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 本文介绍了 Vue 开发的入门指南,重点讲解了开发环境的配置与项目的基本搭建。推荐使用 WebStorm 作为 IDE,其下载地址为 。安装时请选择适合您操作系统的版本,并通过 获取激活码。WebStorm 是前端开发者的理想选择,提供了丰富的功能和强大的代码编辑能力。 ... [详细]
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • 基于MQTT协议的以太网IO控制装置
    随着工业信息化的快速发展,利用网络实现远程数据采集和设备监控已成为一种高效且可靠的方法。基于MQTT协议的以太网IO控制装置在工业自动化、智能楼宇监控、电力系统及无人值守场景中展现出显著优势,不仅提高了系统的灵活性和可扩展性,还有效降低了维护成本。该装置通过MQTT协议实现低带宽、高效率的数据传输,确保了实时性和稳定性,适用于多种复杂环境下的应用需求。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 通过纯CSS技术,可以轻松创建精致的小圆点和三角形图形。本文详细介绍了如何利用CSS的伪元素、边框和背景属性,实现这些图形的高效绘制,并提供了多种应用场景和示例代码,帮助开发者在网页设计中增添更多视觉效果。 ... [详细]
  • 深入理解JavaScript原型链机制与应用
    本文深入探讨了JavaScript中的原型链机制及其应用,详细解析了普通函数与构造函数之间的区别。通过实例分析,阐述了如何利用原型链实现面向对象编程,并介绍了原型链在继承和属性查找中的关键作用。 ... [详细]
  • 本文深入解析了HTML框架集(FRAMESET)的使用方法及其应用场景。首先介绍了几个关键概念,如如何通过FRAMESET标签将主视图划分为多个独立的区域,每个区域可以加载不同的HTML文件。此外,还详细探讨了FRAMESET在实际开发中的优缺点,并提供了具体的实例代码,帮助开发者更好地理解和应用这一技术。 ... [详细]
author-avatar
手机用户2502853355
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有