在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            AVR I/O口使用方法

            作者: 時(shí)間:2013-12-10 來(lái)源:網(wǎng)絡(luò) 收藏

            單片機(jī) DDRx PORTx PINx 與對(duì)應(yīng)IO端口之間的關(guān)系(x代表某個(gè)端口,如A端口、B端口等)

            下表以端口B的第2位PB2為例子加以說(shuō)明,并且假設(shè)PB2為懸空狀態(tài)

            DDRB.2


            PORTB.2


            讀取PINB.2的結(jié)果


            引腳PB2的狀態(tài)

            1
            1

            1

            PB2推挽輸出

            1

            1
            0

            0

            PB2推挽輸出

            0

            0
            1

            1

            PB2弱上拉,可作輸入

            0
            0

            ×

            PB2高阻抗,可作輸入

            讀取PINB.2時(shí),就是讀取PB2引腳的實(shí)際電平,

            如果PB2直接接VCC,那么任何時(shí)候讀取PINB.2的結(jié)果都是1

            如果PB2直接接GND,那么任何時(shí)候讀取PINB.2的結(jié)果都是0
            下面是一個(gè)標(biāo)準(zhǔn)C語(yǔ)言例子:


            #include mega48.h>

            unsigned char abc; //定義一個(gè)變量

            void main(void) //主函數(shù)

            {

            DDRB = 0b11110000;

            PORTB = 0b11001100;

            while (1) //主循環(huán)

            {

            abc = PINB; //讀取B端口的實(shí)際電平

            }

            }


            如果整個(gè)B端口都是懸空的話,

            那么abc的結(jié)果就是:0b110011**

            如果B端口第7位接GND 、第0位接VCC 、其它位懸空,

            那么abc的結(jié)果就是:0b010011*1 (PB7工作在“短路”狀態(tài))

            其中“*”表示不確定,理想狀態(tài)下可以看作0

            端口聲明:include iom16v.h>
            #include "D:ICC_HCmmICC.H"
            #define OUT_BUZ sbi(DDRB,3) //PB3
            #define BUZ_ON cbi(PORTB,3)
            #define BUZ_OFF sbi(PORTB,3)
            /*--------------------------------------------------------------------
            程 序名稱:
            程序功能:
            注意事項(xiàng):
            提示說(shuō)明:
            輸 入:
            返 回:
            --------------------------------------------------------------------*/
            void main(void)
            {
            OUT_BUZ; //設(shè)置相應(yīng)的為輸出
            while(1)
            {
            BUZ_ON; //我叫
            delay50ms(20);
            BUZ_OFF; //我不叫
            delay50ms(20);
            }
            }

            系統(tǒng)調(diào)試
            將語(yǔ)句:delay50ms(20);改為語(yǔ)句:delay50ms(1);可以聽(tīng)到 叫的頻率更高,吵死人了!


            以ATMEGA16為例,用輕松幽默的講解方式,講解的每個(gè)功能部件,配合給出 Protel電路圖及ICC源代碼。
            都是網(wǎng)上找的資料,整理了一下,大伙湊或者學(xué)吧!

            第一課 AVR IO輸出之LED顯示程序

            系統(tǒng)功能
            使用AVR控制8位LED,做到想閃就閃,不想閃就不閃,左閃右閃,拚命閃,演示AVR單片機(jī)之“點(diǎn)燈術(shù)”。
            硬件設(shè)計(jì)
            關(guān)于AVR的I/O結(jié)構(gòu)及相關(guān)介紹詳見(jiàn)Datasheet,這里僅對(duì)作部分簡(jiǎn)單介紹,下面是AVR的I/O引腳配置表:
            AVR I/O 口引腳配置表
            DDRXn PORTXn PUD I/O 方式 內(nèi)部上拉電阻 引腳狀態(tài)說(shuō)明
            0 0 X 輸入 無(wú)效 三態(tài)(高阻)
            0 1 0 輸入 有效 外部引腳拉低時(shí)輸出電流 (uA)
            0 1 1 輸入 無(wú)效 三態(tài)(高阻)
            1 0 X 輸出 無(wú)效 推挽 0 輸出,吸收電流 (20mA)
            1 1 X 輸出 無(wú)效 推挽 1 輸出,輸出電流 (20mA)
            雖然AVR的I/O口單獨(dú)輸出“1”時(shí),可輸出較大電流足已點(diǎn)亮一盞燈,但AVR總的I/O輸出畢竟是有限的,所以,有經(jīng)驗(yàn)的點(diǎn)燈者考慮到除了點(diǎn) 燈外可能還有其它費(fèi)勁的活兒要干,會(huì)將AVR的I/O口設(shè)計(jì)為輸出“0”時(shí)點(diǎn)燈,輸出“1”時(shí)熄燈。這種接法亦叫“灌電流接法”。

            c語(yǔ)言相關(guān)文章:c語(yǔ)言教程



            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: AVR IO口 寄存器

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉