原创 AVR学习日志(二十五)-- INT0中断控制LED

2010-6-6 21:08 3526 5 9 分类: MCU/ 嵌入式


          再来一个中断的,懒猫虽然比较懒,但懒猫爱玩,既然中断玩着蛮不错的,那懒猫就多玩玩吧……


       /******************************************************************
//文件名称:Int_led
//功    能:中断控制LED灯
//作    者:懒猫爱飞
//日    期:2010.05.26
*******************************************************************/


#include <iom8515v.h>
#include <macros.h>


#define uchar unsigned char
#define uint  unsigned int


//宏定义左移,右移函数crol为左移,cror为右移
#define crol(a,n) a=(a<<n)|(a>>(8-n))
#define cror(a,n) a=(a>>n)|(a<<(8-n))


/****************************************************************
//函数名称:port_init(void)
//功    能:端口初始化
//入口参数:无
//出口参数:无
*****************************************************************/
void port_init(void)
{
 DDRA  = 0x00;  //A口,不用的端口设置为高阻状态
 PORTA = 0x00;
 
 DDRB  = 0xff;  //B口,PB0控制Led灯
 PORTB = 0x01;
 
 DDRC  = 0x00;  //C口
 PORTC = 0x00;


 DDRD  = 0x00;  //D口
 PORTD = 0xff;


}


/****************************************************************
//函数名称:init_devices(void)
//功    能:初始化器件
//入口参数:无
//出口参数:无
*****************************************************************/
void init_devices(void)
{
 //stop errant interrupts until set up
 CLI();       //disable all interrupts
 port_init();


 MCUCR = 0x00; //低电平触发
 EMCUCR = 0x00;
 GICR = 0x40; //外部中断0
 
 SEI();       //re-enable interrupts
}


/****************************************************************
//函数名称:int0_isr(void)
//功    能:中断处理函数
//入口参数:无
//出口参数:无
*****************************************************************/
#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
   PORTB^=BIT(0);
}


/****************************************************************
//函数名称:void main(void)
//功    能:主函数
//入口参数:无
//出口参数:无
*****************************************************************/
void main(void)
{
 init_devices();
 while(1); //这里什么函数也不写,只等待中断触发
}


         呵呵,好了,今天就弄到这吧,懒猫已交了不少作业了,改天再继续吧,明天还要给老板卖命,因为懒猫主要负责硬件电路的设计和PCB的绘制,所以代码写的比较少,但懒猫爱写程序,感觉这写程序是一种乐趣,也许懒猫没有那些牛人的天赋,不过懒猫只是享受这种调出程序时的那种快感,懒猫只是比较懒,但懒猫会坚持下去,继续懒猫的学习之路,懒猫小候常听妈妈说坚持就是胜利,懒猫从小没有别人聪明,但懒猫从没有忘记妈妈的话--坚持就是胜利,愿你好能坚持下去!


        如果你也是单片机爱好者,如果你也是电子爱好者,如果有缘你也在学习中,懒猫很高兴能和你相互学习,懒猫有点懒,也有点笨,但懒猫一直心中怀着那个梦想,一直梦想自己能展翅高飞,也许这只能是一个梦,也许某天懒猫真的能高飞!……


        懒猫不会停下前进的脚步,懒猫一直会向着那个梦想走下去……


        好了,不费话了,改天再交作业^_^


 


每天进步一点点,开心多一点^_^ 


 

文章评论4条评论)

登录后参与讨论

xucun915_925777961 2010-6-9 16:46

呵呵,俺是草根出身的^_^

用户1409644 2010-6-9 16:38

阁下是汇编出身么?

xucun915_925777961 2010-6-7 14:16

呵呵,用这个用习惯了……

用户38817 2010-6-7 09:23

为什么不用AVR SUDIO(GCC)呢
相关推荐阅读
xucun915_925777961 2013-04-28 11:31
毕业后的五年拉开大家差距的原因在哪里?【转】
  有人工作,有人继续上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助!...
xucun915_925777961 2013-03-31 20:28
职场大牛精彩总结:职场上,如何做人做事做管理【转】(文/张子阳)
      大道至简,越是根源和基本的问题,道理实际上越简单。关于如何做人、做事、做管理的书很多,我看得不多,但是我觉得这些书更多是侧重技术和实现细节上的,而很少从人的思想和观念去讲。实际...
xucun915_925777961 2013-03-28 14:03
介绍几种优秀的UML工具
统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言...
xucun915_925777961 2013-03-27 18:05
IAR EW FOR 8051 修改工程名称的方法
        近段时间一直在搞蓝牙4.0的开发任务,所以用到了IAR编译器,话说IAR编译器用途蛮广,可以编译MSP430,ARM,还有TI的51核芯片,当然,这要不同的版本,我现在用的是for...
xucun915_925777961 2013-03-26 16:40
Cortex-M3学习日志(八)-- TFT实验Part(a)
    自己用的LPC1768的开板带有一块2.4寸的TFT彩色液晶屏,虽然自己工作中还用不过显示屏,但是晚上闲着也是闲着,于是继续玩咱的LPC1768吧。 我的开发板上的液晶屏的用的是SPI接口,当...
xucun915_925777961 2013-03-25 20:48
说说那几款查看源代码的工具
说说那几款查看代码的工具 今天给大家介绍几款单片机工程师所喜欢的几款查看源代码的工具,这几款工具在懒猫的日常工作中可是帮了不少忙。 一、 Source Insight     Source Insig...
我要评论
4
5
关闭 站长推荐上一条 /2 下一条