开始学习AVR

2010-01-30 来自 BillWSY · 留下评论 

如题,想玩单片机了,大前天买的开发板昨天到了。环境初步定为AVR Studio + WinAVR。第一个程序是点亮LED。

#include <avr/io.h>
 
int main(void)
{
    DDRD = 0xFF;
    while(1) {
        PORTD = 0b11001010;
    }
}

开始的时候老提示我没makefile文件,Google了下才知道,不小心把代码放桌面上了,路径中有中文……

第二个程序是跑马灯,很简单但是还是贴一下吧。也许哪天回头来看会发现当初的代码这么好玩。

#include <avr/io.h>
 
void delay(int, int);
 
int main(void)
{
    DDRD = 0xFF;
    while (1) {
        char t = 1;
        PORTD = ~t;
        delay(1000, 1000);
        while (t) {
            t <<= 1;
            PORTD = ~t;
            delay(1000, 1000);
        }
    }
}
 
void delay(int a, int b)
{
 
    for(int i = 0; i < a; ++ i) {
        for(int j = 0; j < b; ++ j) {
            asm("NOP");
        }
    }
}

继续学习去了。