电子工程世界-论坛's Archiver

songrisi 发表于 2008-9-2 11:16

AVR入门实验-控制发光二极管

这是avr操作的基础实验,适合初学者,高手就别看了.功能极简单,就是让PA0脚控制一个发光二极管亮与灭.定时部分,我使用了定时器,主要是为了熟悉一下avr的定时器操作.在做完这个实验后,对avr的操作有了个大致的了解.发现avr与51还是有很多差别.现在才觉得普通51[url=http://www.ddic.cn/][color=#800080]单片机[/color][/url]的功能确实弱了些.不过奇怪的是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);
}

zhjzh72_2004 发表于 2008-11-18 10:47

AVR入门实验-控制发光二极管
没有  实践,,,,支持下

caixionglue 发表于 2008-12-3 21:45

Re: [分享] AVR入门实验-控制发光二极管

为了下载一点东西啊 来学习了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.