您的位置:首页单片机AVR单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

LED闪灯程序-AVR入门实验

[日期:2008-05-27 ] [来源:net 作者:佚名] [字体: (投递新闻)
这是avr操作的基础实验,适合初学者,高手就别看了.功能极简单,就是让PA0脚控制一个发光二极管亮与灭.定时部分,我使用了定时器,主要是为了熟悉一下avr的定时器操作.在做完这个实验后,对avr的操作有了个大致的了解.发现avr与51还是有很多差别.现在才觉得普通51单片机的功能确实弱了些.不过奇怪的是avr功能这么强劲,普及率却远远不及51,呵呵.

以下是程序代码,采用winavr编写.

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

#define uchar unsigned char

void port_init(void)
{
 PORTA =0x00;
 DDRA =0xFF;
 PORTB=0xFF;
 DDRB=0x00;
 PORTC=0xFF;
 DDRC=0x00;
 PORTD=0xFF;
 DDRD=0x00;
}

void timer1_init(void)
{
 TCCR1B=0X00;
TCNT1H = 0xC2;
TCNT1L = 0xF7;//初始值
 TCCR1A = 0x00;
 TCCR1B = 0x04;
 TIMSK=0X04;
}

SIGNAL(SIG_OVERFLOW1)
{
 TCNT1H =  0xC2;
 TCNT1L = 0xF7;
 PORTA=(~PORTA)&0X01;
}

int main(void)
{
 cli();
 port_init();
 timer1_init();
 sei();
 while(1);
}

阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
赞助商广告