新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR IO輸出之LED顯示程序

        AVR IO輸出之LED顯示程序

        作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
        系統(tǒng)功能:

           使用AVR控制8位LED,做到想閃就閃,不想閃就不閃,左閃右閃,拚命閃,演示AVR單片機之“點燈術(shù)”。

        硬件設(shè)計

        本文引用地址:http://www.104case.com/article/201611/320352.htm

          關(guān)于AVR的I/O結(jié)構(gòu)及相關(guān)介紹詳見Datasheet,這里僅對作部分簡單介紹,下面是AVR的I/O引腳配置表:

        AVR I/O 口引腳配置表

        DDRXn

        PORTXn

        PUD

        I/O 方式

        內(nèi)部上拉電阻

        引腳狀態(tài)說明

        0

        0

        X

        輸入

        無效

        三態(tài)(高阻)

        0

        1

        0

        輸入

        有效

        外部引腳拉低時輸出電流 (uA)

        0

        1

        1

        輸入

        無效

        三態(tài)(高阻)

        1

        0

        X

        輸出

        無效

        推挽 0 輸出,吸收電流 (20mA)

        1

        1

        X

        輸出

        無效

        推挽 1 輸出,輸出電流 (20mA)

        雖然AVR的I/O口單獨輸出“1”時,可輸出較大電流足已點亮一盞燈,但AVR總的I/O輸出畢竟是有限的,所以,有經(jīng)驗的點燈者考慮到除了點燈外可能還有其它費勁的活兒要干,會將AVR的I/O口設(shè)計為輸出“0”時點燈,輸出“1”時熄燈。這種接法亦叫“灌電流接法”。


        AVR主控電路原理

        LED控制電路原理圖

        軟件設(shè)計:
        下面部分從TXT拷出,拷到網(wǎng)頁,代碼部分缺省了很多空格,比較凌亂,請諒解!

        //目標(biāo)系統(tǒng): 基于AVR單片機
        //應(yīng)用軟件: ICC AVR



        #include
        #include "D:ICC_HCmmICC.H"

        #define LED_DDR DDRD
        #define LED_PORT PORTD


        void main(void)
        {
        uint8 i,j;

        LED_DDR=0XFF;

        while(1)
        {
        for(i=0;i<4;i++)
        {
        LED_PORT^=0xFF;//我閃!拚命閃!
        delay50ms(10);
        }
        j=0x01;
        for(i=0;i<8;i++)
        {
        j<<=1;
        LED_PORT=j;//我左閃!
        delay50ms(10);
        }
        j=0x80;
        for(i=0;i<8;i++)
        {
        j>>=1;
        LED_PORT=j;//我右閃!
        delay50ms(10);
        }
        }
        }




        關(guān)鍵詞: AVRIO輸出LED顯示程

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 桃园市| 定日县| 宁波市| 英吉沙县| 如皋市| 乡宁县| 景德镇市| 香港| 罗山县| 济源市| 云浮市| 伊宁市| 张家港市| 读书| 大城县| 界首市| 桐乡市| 象山县| 金乡县| 全州县| 邓州市| 北安市| 四子王旗| 时尚| 凤庆县| 宁化县| 峨边| 米林县| 永新县| 长阳| 昆山市| 通海县| 陵川县| 霍城县| 潜山县| 江永县| 红河县| 灵丘县| 康平县| 宁武县| 青阳县|