欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

C8051F320-并行端口與交*開關

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年09月09日   【字體:

     C8051F320具有25個I/O引腳,分別為P0、P1、P2、P3.0。為了能根據需要使用內部數字系統資源,必須利用數字交*開關將所用的資源映射到具體引腳上。分析如下:

       如果沒有用到任何資源,那么所有25個引腳都可以作為正常的并行引腳使用,若用到數字資源,必須犧牲一部分并行口,將引腳提供給內部資源使用。假設有A、B、C三種資源,所需要的引腳數分別為2、1、3。

       1、如果ABC都不用,那么可以正常使用P0、P1、P2以及P3.0

       2、如果使用A資源,那么將會占用P0.0、P0.1,其余引腳照樣可以作為并行口用,但是被占用的口無法控制

       3、如果同時使用ABC資源,則需要6個腳,故P0口只剩下P0.6、P0.7可用,其他口不受影響

       以上只是大概意思,不精確。以下為詳細筆記。

 

       一、寄存器

       P0口有P0MDIN、P0MDOUT、P0SKIP三個控制寄存器,同理P1、P2都有,P3沒有SKIP

       PxMDIN:設置對應并行端口是否作為模擬輸入,“0”表示模擬輸入。當任意引腳作為模擬輸入時,不能作為IO口受到控制

       PxMDOUT:設置對應并行端口為漏極開路或推挽,“0”表示開漏。開漏時只能輸出低電平或高阻,若需要輸出高電平,需要另外加上拉電阻,其電流小于推挽。不過實測還沒感覺出開漏與推挽的區別,待查。

       PxSKIP:用來保護特定的引腳不被內部資源使用。為“1”時,表示該引腳被跳過。本來內部數字資源是按照優先級列表按順序占用并行端口,如果某個腳你希望留下來自己用,那么可以設置為“1”,那么該腳必然不被占用,可以作為正常的IO口。

       二、交*開關

       寄存器XBR0、XBR1用來分配引腳給內部數字資源,收到PxSKIP寄存器的影響,分配優先級見下圖:

 

           三、實測細節

準備工作:1、P0口連接八個發光二極管,P1.0連接觸點開關,P1.1~P1.7連接7個發光二極管。 

                 2、編程,首先令PxMDIN=FF,PxMDOUT=FF。再令PxSKIP=0,但P1.0例外,跳過,否則沒法測試

                                 main函數的作用是開關控制所有的燈,按下全亮,松開全暗。

                                 *XBR1的D6必須等于1,要不所有引腳全都不受控。

測試:1、XBR0=01,XBR1=40   UART I/O使能

                結果:P0.4和P0.5燈滅,不受控制

                分析:串行口的TX0固定在P0.4,RX0固定在P0.5

          2、XBR0=02,XBR1=40   SPI I/O使能 (增強型串行外設接口)

                結果:P0.0、P0.1、P0.2、P0.3燈滅,不受控制

                分析:對應SCK MISO MOSI NSS信號

          3、XBR0=04,XBR1=40   SMBus I/O使能 (雙向串行總線)

                結果:P0.0、P0.1燈滅,不受控制

                分析:對應SDA SCL

      * XBR0=03  P0.0~P0.5 (1+2)        XBR0=06  P0.0~P0.5(2+3)       XBR0=07 P0口(1+2+3)

          4、XBR0=08,XBR1=40   SYSCLK輸出使能

                結果:P0.0常亮

                分析:不清楚具體作用

          5、XBR0=10/20/40/80,XBR1=40   分別為比較器0和比較器1的輸出使能/異步輸出使能

                結果:P0.0常亮

                分析:不清楚具體作用

     * XBR0=F0 P0.0~P0.3全亮    

     * XBR0=F7     若P1SKIP=01 P0全滅 P1.1~P1.4常亮 剩余燈受控

                           若P1SKIP=03 P0全滅 P1.2~P1.5常亮 其余等受控

       分析結果略,就是上面“寄存器”那段話

          6、XBR0=0,XBR1=40~47   PCA(16位可編程計數器/定時器陣列) 外部計數輸入使能

                結果:40等于沒有

                          46,47為保留功能,也等于沒有

                          41~45每次多一個引腳不受控制,即41時僅P0.0,45時從P0.0到P0.4全部失控

                分析:5個腳對應PCA5個捕捉/比較模塊的IO線

          7、XBR0=0,XBR1=48 50 60   分別為PCA T0 T1計數使能引腳能

                結果:都是P0.0不受控制

                分析:未驗證計數器如何使用,待研究。。

          8、XBR0=0,XBR1=c0   弱上拉禁止

                結果:毫無結果,不管開關也好,發光二極管也好,都不受影響

                分析:學藝不精,還看不出問題。。。。

 

簡易結論:只要PxMDIN=FF,PxMDOUT隨便,PxSKIP=00,XBR0=00,XBR1=40,C8051F320基本功能的操作和51一模一樣

關閉窗口

相關文章