stc單片機IO口輸入輸出方式

2020-11-30 電子產品世界

個人感觸:

我只想說,有些話,第一遍看根本不知道是什麼意思或者記不得,

但是自己在項目中遇到這個問題困擾很久之後,再回來重新看到這句話,就會醍醐灌頂。

最近編PCA9306的驅動,遇到的問題就是片子只能讀奇數地址,不能讀偶數地址的寄存器,後來採用的辦法是寫完地址之後,SDIO強制拉高(因為9306的SPI數據線是SDIO雙向的,只有1根)

當時不明白為什麼,現在回頭來看到這篇文章,終於懂了。

以下是轉載的正文:

傳統51單片機IO接口只可以作為標準雙向IO接口,如果用其來驅動LED只能用灌電流的方式或是用三極體外擴驅動電路。

本文引用地址:

http://www.eepw.com.cn/article/201611/322747.htm

灌電流方式:LED正極接VCC,負極接IO口。IO為高電平是LED兩極電平相同,沒有電流,LED熄滅;IO為低電平時,電流從VCC流入IO,LED點亮。但是當你吧LED正極接在IO接口,負極接GND時,將IO接口置於高電平,LED會亮,但因為IO接口上拉能力不足而使亮度不理想,可以用下面介紹的方式解決這個問題。

推挽工作方式:LED正負極分別接在兩個IO口上,然後設置正極IO接口為推輓輸出,負極IO接口為標準雙向灌電流輸入。推挽方式具有強上拉能力,可以實現高電平驅動LED。

IO口的四種使用方法

從I/O口的特性上看,標準51的P0口在作為I/O口使用時,是開漏結構,在實際應用中通常要添加上拉電阻;P1、P2、P3都是準雙向I/O,內部有上拉電阻,既可作為輸入又可以作為輸出。而LPC900系列單片機的I/O口特性有一定的不同,它們可以被配置成4種不同的工作模式:準雙向I/O、推輓輸出、高阻輸入、開漏。


準雙向I/O模式與標準51相比,雖然在內部結構上是不同的,但在用法上類同,比如要作為輸入時都必須先寫「1」置成高電平,然後才能去讀引腳的電平狀態。!!!!!同時要注意:因為1T的8051單片機速度比較快,由低變高指令後立即讀外部狀態,此時由於實際輸出還沒有變高,就有可能讀不對,正確的方法時軟體設置由低變高后加1~2個空操作延時,再讀就行。(個人記錄:我記得電平變化是需要2個CPU時鐘延時)

推輓輸出的特點是不論輸出高電平還是低電平都能驅動較大的電流,比如輸出高電平時可以直接點亮LED(要串聯幾百歐限流電阻),而在準雙向I/O模式下很難辦到。

高阻輸入模式的特點是只能作為輸入使用,但是可以獲得比較高的輸入阻抗,這在模擬比較器和ADC應用中是必需的。

開漏模式與準雙向模式相似,但是沒有內部上拉電阻。開漏模式的優點是電氣兼容性好,外部上拉電阻接3V電源,就能和3V邏輯器件接口,如果上拉電阻接5V電源,又可以與5V邏輯器件接口。此外,開漏模式還可以方便地實現「線與」邏輯功能。

高阻態這是一個數字電路裡常見的術語,指的是電路的一種輸出狀態,既不是高電平也不是低電平,如果高阻態再輸入下一級電路的話,對下級電路無任何影響,和沒接一樣,如果用萬用表測的話有可能是高電平也有可能是低電平,隨它後面接的東西定。

電路分析時高阻態可做開路理解。你可以把它看作輸出(輸入)電阻非常大。他的極限可以認為懸空。

高阻態的典型應用:

1、在總線連接的結構上。總線上掛有多個設備,設備與總線以高阻的形式連接。這樣在設備不佔用總線時自動釋放總線,以方便其他設備獲得總線的使用權。 
2、大部分單片機I/O使用時都可以設置為高阻輸入,如凌陽,AVR等等。高阻輸入可以認為輸入電阻是無窮大的,認為I/O對前級影響極小,而且不產生電流(不衰減),而且在一定程度上也增加了晶片的抗電壓衝擊能力。



相關焦點

  • STM32的IO口輸入輸出模式的理解
    五、復用開漏輸出、復用推輓輸出:可以理解為GP被用作第二功能時的配置情況(即並非作為通用IO口使用)六、總結在中選用IO模式1、浮空輸入GPIO_IN_FLOATING ——浮空輸入,可以做KEY識別,RX12、帶上拉輸入GPIO_IPU——IO內部上拉電阻輸入3、帶下拉輸入GPIO_IPD—— IO內部下拉電阻輸入
  • 單片機IO口科普:推輓輸出、開漏輸出詳解
    什麼是推輓輸出  推輓輸出既可以輸出低電平,也可以輸出高電平,可以直接驅動功耗不大的數字器件。  2. 推輓輸出電路的結構  推挽電路是由兩個三極體或MOSFET,以推挽方式存在於電路中,電路工作時,兩隻對稱的開關管每次只有一個導通,所以導通損耗小、效率高、既提高電路的負載能力,又提高開關速度。
  • 單片機小白學步(23) IO口原理知識補充:雙向IO口 互補推挽
    而工作在第二功能狀態下時,則為標準的雙向IO口。由於雙向IO口的輸出,要求能輸出高低電平,通常會採用互補推挽電路。在第二功能狀態下,51單片機P0口採用的是互補推挽的輸出方式。何為互補推挽呢?下面是它的等效電路圖。
  • 單片機IO口結構及上拉電阻
    圖4 單片機P0口內部一位結構圖 P3口的輸入輸出及P3口鎖存器、中斷、定時/計數器、串行口和特殊功能寄存器有關,P3口的第一功能和P1口一樣可作為輸入輸出埠,同樣具有字節操作和位操作兩種方式,在位操作模式下,每一位均可定義為輸入或輸出。
  • STC單片機如何實現輸出固定的脈衝個數
    打開APP STC單片機如何實現輸出固定的脈衝個數 21ic 發表於 2019-10-24 15:43:40 實現方法:運用PWM輸出功能輸出一定頻率(F)的脈衝,在一定的時間、以一定的頻率輸出的脈衝個數是確定的。
  • 一文看懂STC單片機冷啟動和復位有什麼區別
    stc單片機的優缺點   stc單片機優點:   1、抗幹擾能力強;   2、保密性能強悍,很難被破解;   3、單片機時鐘有防外部電磁輻射功能;   stc單片機缺點:   1、功耗較高,5V供電;   2、8位,運行速度慢;   3、無硬體乘法器,乘除法運算都為4周期指令;   4、單片機內集成資源少。
  • STC單片機的種類與區別介紹
    本文引用地址:http://www.eepw.com.cn/article/201611/318545.htm如 STC,12,C,20,52,ADSTC:出品的公司名12:產品大系列,STC單片機有89、90、10、11、12、15這幾個大系列,每個系列都有自己的特點。89系列是老舊而傳統的單片機,可以和AT89系列完全兼容,是12T單片機。
  • 如何在KEIL中添加STC單片機
    首先,看一下STC公司的解答:1.把STC單片機,當成Intel的8052/87C52/87C54/87C58,本文引用地址:http://www.eepw.com.cn/article/201611/315906
  • 單片機的常見輸入輸出電路介紹(一)
    針時電氣控制產品的特點,討論了幾種單片機常用輸入/輸出電路的設計方法,對合理地設計電氣控制系統,提高電路的接口能力,增強系統穩定性和抗幹擾能力有實際指導意義。
  • 關於STC單片機的幾點建議
    其他的還有PIC、AVR、MSP430系列單片機,飛思卡爾(去年已經被高通收購)也是很不錯的單片機,工業上也有一定應用。3、另外一大領域是專用的工業用單片機,這種單片機往往突出某個方面的性能,比如AD,而簡化了其他性能,但好處是價格非常便宜。但這種單片機資料往往要少得多,燒寫器等都是專用的,比較貴,不適合學習者而更適合工業化大批量生產。
  • STM32的IO口灌入電流和輸出驅動電流最大是多少?
    剛開始學習一款單片機的時候一般都是從操作IO口開始的,所以我也一樣,先是弄個流水燈。   剛開始我對STM32的認識不夠,以為是跟51單片機類似,可以直接操作埠,可是LED燈卻沒反應,於是乎,仔細查看資料發現,原來對於ARM,不管你要操作哪個IO口,都要先配置IO口。
  • 51單片機IO埠基礎知識及應用
    本文就來說下89C51單片機的引腳IO埠及應用,學習單片機的IO口的應用也是入門單片機的第一步。上圖是89C51單片機的封裝引腳圖,89C51單片機有4個IO埠為P0~P3,每個埠有8個引腳,分別對應8個位0~7,每個埠的引腳都可以作為輸入輸出使用。
  • AVR單片機IO口結構和上拉和下拉電阻的作用
    1、在用TTL電路驅動CMOS電路時,若TTL的高電平低於CMOS要求的高電平的門限值(1,TTL電平: 輸出高電平>2.4V,輸出低電平<0.4V。在室溫下,一般輸出高電平是3.5V,輸出低電平 是0.2V。最小輸入高電平和低電平:輸入高電平>=2.0V,輸入低電平<=0.8V,噪聲容限是 0.4V。
  • 單片機一個IO口如何控制兩顆發光二極體(LED)
    單片機一個IO口如何控制兩顆發光二極體LED單片機工程師在面試的過程中,經常會碰到一些相同的問題,筆者總結了十個提問率較高的問題,供大家參考。現在我們來分析單片機工程師常遇面試問題之一:一個單片機IO口如何控制兩顆LED?
  • STC8單片機之深入理解輸入/輸出口的工作模式
    (2)當某個I/O口作為輸入口時,先向埠鎖存器寫入「1」,該I/O口內部電路下面的MOSFET截止,上邊的某個MOSFET導通,埠引腳為高電平,處於輸入狀態。此時,當I/O口埠引腳為高電平時,讀取到的I/O口狀態為「1」;當I/O埠引腳為低電平時,讀取到的I/O口狀態為「0」。下次再讀取該I/O口的輸入狀態時,按照上述操作方式進行讀取即可。
  • STC單片機下載不進程序及解決辦法
    自己能想到的都想了, 主要包括以下幾點:1.更換單片機晶片,(更換之後沒有解決)2.檢查單片機供電電壓是否正常(單片機供電電壓正常)3.檢查ISP下載器是否損壞(經檢查,沒壞)4.檢查ISP下載線的RXD,DXD到單片機的
  • 基於單片機STC12C52系列直流電機調速系統
    隨著計算機進入控制領域,以及新型的電力電子功率元器件的不斷出現,使用脈寬調製(pulse width modulation,簡稱PWM)控制方式已成為絕對主流。脈寬調製是一種使用程序來控制波形佔空比、周期、相位波形的技術,在電機驅動、D/A轉換等場合有廣泛的應用。這種控制方式已作為直流電動機數字控制的基礎。
  • 單片機小白學步(22) IO口:蜂鳴器的使用/三極體的工作原理
    前面我們說了,單片機IO口能通過的電流是有限的,過大的電流可能會燒壞管腳,或者不能正常工作。蜂鳴器和LED相比最主要的區別,就是蜂鳴器比LED需要的電流大很多,電壓一般也會高一些。為了讓單片機驅動蜂鳴器,也就是控制蜂鳴器工作,我們需要使用一些特別的電路。不知道大家是否了解繼電器,繼電器的特點就是用小電流低電壓,控制大電流高電壓電路。
  • 為什麼很多單片機的工作電壓是5v?
    所以3v3和5v一般出現在信號電路或者單片機等vcc供電,而12v/24v一般出現在低壓動力電,例如主板、顯卡、軸流風機、監控器。硬體決定系統基礎,如果鋰電池早點應用的話估計還會有3.7/7.4這個系統。 為什麼很多單片機的工作電壓是5v? 因為大多數晶片都是5V的TTL電平,要做到電平兼容,電平匹配,避免要電平轉換操作,所有很多單片機的工作電壓都是5V。
  • 用STC 單片機設計脈衝發生器,改進線切割工具機高頻電源
    圖1 STC89C52RC單片機內部結構示意圖P0埠(P0.0~P0.7):P0口是一個漏極開路的8位雙向I/O口。作為輸出埠,每個引腳能驅動8個TTL負載。P1埠(P1.0~P1.7):P1口是一個帶內部上拉電阻的8位雙向 I/O口。P1的輸出緩衝器可驅動(吸收或者輸出電流方式)4 個TTL 輸入。對埠寫入1時,通過內部的上拉電阻把埠拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內部上拉電阻,那些被外部拉低的引腳會輸出一個電流。