新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機讀端口與讀引腳的區別

        單片機讀端口與讀引腳的區別

        作者: 時間:2016-11-23 來源:網絡 收藏
        把I/O口作為輸入口使用時,是“讀引腳”,不同于“讀端口”。注意,讀端口的“口”
        不是P0口、P1口的“口”,而是鎖存器的Q端口,也就是讀鎖存器Q端的輸出信號然后送
        三態緩沖器輸入,經過緩沖器輸出到單片機內部總線。而讀引腳則是直接把芯片引腳上
        的外部數據,經過三態緩沖器把數據放到內部總線。

        例如,用MOV進行讀引腳操作:

        MOV P1,0FFH ;注意首先把P1引腳置為高電平
        MOV A,P1 ;P1作為輸入口,讀P1口信號到A

        編程時須先置I/O口引腳為高電平的原因如下(請查看口電路結構圖):

        51單片機的P0口是雙向口,P1~3口是準雙向口,其I/O口引腳都和單片機內部的場效應管
        FET漏極連接。首先我們不妨假設init時引腳為低電平(我不知道單片機reset時
        引腳缺省電平是低還是高?還是不定?),即FET漏極為低電平,因為此時FET是導通的,
        所以無論外部輸入1還是0,都會產生拉電流,拉為低電平,從而無法正確判斷外部輸入
        的是1還是0.嚴重的話,如果拉電流過大,還可能燒壞FET。

        因此,init時只好將引腳設為高電平,例如MOV P1,0FFH,由單片機口電路的結構圖可以
        看出,這條指令的內部電路邏輯是這樣的:
        先把0FFH放到內部總線,鎖存器輸入端(D端)從內部總線取數據,鎖存,然
        后從Q非端輸出到FET極,顯然此時Q非為0,FET截止,通過漏極上拉電阻輸出高電平,
        不會影響外部輸入電平(相當于和外部輸入邏輯與)。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 西贡区| 岳池县| 嵩明县| 金阳县| 广丰县| 泸水县| 公主岭市| 仁布县| 永安市| 阳山县| 冷水江市| 星座| 论坛| 安图县| 科技| 江城| 连州市| 松滋市| 阿尔山市| 承德市| 根河市| 天气| 双流县| 全椒县| 乌苏市| 北流市| 二连浩特市| 吉林市| 巴马| 平潭县| 汕头市| 东乡| 博野县| 岳阳县| 云阳县| 永德县| 府谷县| 泽库县| 凤翔县| 澄迈县| 泸西县|