加入收藏 设为首页 联系站长
网站首页 | 社区论坛 | 技术文章 | 供求招聘 | 资料下载 | 电子电路 | 视频教程 | 购物平台 | 电子博客 | 电子E群 | 我要投稿 | 软件游戏 | 内容搜索 | 友情链接
>首页 -> 文章频道 -> 单片机类文章

TOP

AVR控制发光二极管的入门实验与程序
[ 转载者:cd11l | 时间:2008-09-02 11:46:59 | 作者: | 来源:未知 | 浏览:1次 ]
这是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);
}
[上一篇]AVR单片机定时器的要点 [下一篇]51的IO口模拟串口通讯C源程

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

广告位