新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linglong之AVR程例2 閃爍的LED

        Linglong之AVR程例2 閃爍的LED

        作者: 時間:2016-11-22 來源:網絡 收藏
        因為,早期程序都比較簡單,所以更新的比較快呀。

        這里我們讓LED閃爍起來。就是中間有延時,點亮LED,延時一會,滅了LED再延時一會。
        這個過程循環起來了,就是我們要的結果。

        看程序:
        #include <avr/io.h> //io端口寄存器配置文件,必須包含
        #include //系統自帶的延時函數很好用。

        int main(void) //GCC中main文件必須為返回整形值的函數,沒有參數
        {
        DDRA = 0xff;
        while(1)
        {
        PORTA = 0x01;
        _delay_ms(1000); //延時一會
        PORTA = 0;
        _delay_ms(1000);
        }
        }

        還有給大家說一個我寫這個程序時,犯過一個錯誤。
        看下面的程序:
        #include//io端口寄存器配置文件,必須包含


        intmain(void)//GCC中main文件必須為返回整形值的函數,沒有參數
        {
        inti=0,j=0;
        DDRB=0xff;
        while(1)
        {
        PORTB=0xf0;
        for(i=0;i<16000;i++) //這兩行是一個延時程序
        for(j=0;j<10000;j++);
        PORTB=0x0f;
        for(i=0;i<16000;i++) //這兩行是一個延時程序
        for(j=0;j<10000;j++);
        }
        }

        這里我們不管他的端口問題。我們只看程序。
        按我們正常的寫51的思維是沒有錯的,如果你用ICC,CVAVR都軟件編譯也不會有錯,但是如果用GCC就有問題。
        因為GCC會幫我們優化程序。大家要注意這點就好了。。


        關鍵詞: AVR程例閃爍LE

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大庆市| 米脂县| 湟源县| 阿坝县| 宁国市| 高平市| 永新县| 青川县| 南华县| 星座| 磐石市| 新民市| 贵溪市| 连城县| 宜章县| 博爱县| 都江堰市| 夏河县| 余庆县| 蕉岭县| 都昌县| 南开区| 景泰县| 峨眉山市| 长沙市| 凤阳县| 呼图壁县| 锡林郭勒盟| 安溪县| 盐池县| 广安市| 汉沽区| 平果县| 石泉县| 太谷县| 遂川县| 通山县| 湘乡市| 什邡市| 广元市| 西安市|