<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        單片機avr 輸入輸出(i/o)端口使用 介紹

        作者:海盜工作室   來源:本站原創   點擊數:  更新時間:2014年04月29日   【字體:

        以ATmega16單片機為例,共有32個通用I/O口,分為4個端口PA,PB,PC,PD,每個端口都包含8個I/O口,如圖所示,每個端口對應一個8位的二進制,對應的i/o管腳順序由高到低排列。

         

         

        每個I/O口都可以單獨設為輸入或輸出,如上圖中PA口的8個I/O口全部設為輸出,控制8個發光二極管的亮滅。i/o口除作為輸入輸出口外,還有第二功能,如PA口也作為AD轉換的輸入口。

        每個端口都具有輸入,輸出,方向控制三個寄存器:

         

         

         

        以PA口為例,其他端口相同,方向寄存器DDRA,對應8個的I/O口,1設為輸出,0設為輸入。

                                                      輸出寄存器PORTA,對應的I/O口,1輸出高電平,0輸出低電平

                                                      輸入寄存器PINA ,    若對應的I/O口為高電平,相應的位置1,低電平置0

         

         

         

        例如:PA口全部設為輸出,DDRA=0xFF,并且全部輸出低電平,PORTA=0x00;將點亮上圖中的全部發光二極管。

                  將PB口的第0位(最低位)設為輸入,其余位設為輸出,DDRB=0xFE;

                             if   ((PINB&0x01)==1)  //判斷PB口的第0位的輸入狀態,是0還是1.

                                      PORTA=0x00;    //如果PB口的第0位等于1,即PA口的第0位輸入高電平,那么PA口全部輸出低電平

                                      else

                                            PORTA=0xFF;//如果PB口的第0位等于0,即PA口的第0位輸入低電平,那么PA口全部輸出高電平

         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮