AVR單片機IO口結構和上拉和下拉電阻的作用

2021-01-09 電子產品世界

  為搞清IO結構,首先看看上拉和下拉電阻的作用。

本文引用地址:http://www.eepw.com.cn/article/201811/394646.htm

  一、上拉電阻

  上拉就是將不確定的信號通過一個電阻鉗位在高電平!電阻同時起限流作用!下拉同理!

  上拉電阻是用來解決總線驅動能力不足時提供電流的。一般說法是拉電流,下拉電阻是用來吸收電流。

  1、在用TTL電路驅動CMOS電路時,若TTL的高電平低於CMOS要求的高電平的門限值(1,TTL電平: 輸出高電平>2.4V,輸出低電平<0.4V。在室溫下,一般輸出高電平是3.5V,輸出低電平 是0.2V。最小輸入高電平和低電平:輸入高電平>=2.0V,輸入低電平<=0.8V,噪聲容限是 0.4V。 2,CMOS電平: 1邏輯電平電壓接近於電源電壓,0邏輯電平接近於0V。而且具有很寬的噪聲容限。),此時需用上拉電阻來提升輸出高電平的電壓值 。

  2、OC門必須外加上拉電阻,才能使用。(OC門:三極體的叫集電極開路,場效應管的叫漏極開路,簡稱開漏輸出。具備"線與"能力,有0得0。 )

  3、為加大輸出管腳的驅動能力,單片機的引腳常接入上拉電阻,(AVR單片機可配置是否接上拉,51單片機P1 P2 P3均帶上拉,P0口不帶,所以用P0口做按鍵,液晶等應用時要自己加上上拉電阻,否則無法使用切記)

  4、CMOS晶片上為防止靜電破壞,不用的管腳不能懸空,需要接上拉電阻降低輸入阻抗,提供洩荷通路。

  5、提高總線的搞電磁幹擾能力,懸空就容易就電磁幹擾。

  二、上拉電阻阻值的選擇

  1、為節約功耗或使灌電流足夠大,阻值要大,電流小。

  2、為確保足夠的驅動電流,阻值要小,電流大。

  3、對於高速電路,過大的上拉電阻可能導致邊沿變得平緩。

  基於以上三點,一般選取上拉阻值為1K-10K。

  三、上拉阻值的計算

  OC門輸出高電平時是一個高阻態,其上拉電流要由上拉電阻來提供,設輸入端每埠不大於100uA,設輸出口驅動電流約500uA,標準工作電壓是5V,輸入口的高低電平門限為0.8V(低於此值為低電平);2V(高電平門限值)。

  選上拉電阻時:

  500uA x 8.4K= 4.2即選大於8.4K時輸出端能下拉至0.8V以下,此為最小阻值,再小就拉不下來了。如果輸出口驅動電流較大,則阻值可減小,保證下拉時能低於0.8V即可。

  當輸出高電平時,忽略管子的漏電流,兩輸入口需200uA

  200uA x15K=3V即上拉電阻壓降為3V,輸出口可達到2V,此阻值為最大阻值,再大就拉不到2V了。選10K可用。COMS門的可參考74HC系列

  設計時管子的漏電流不可忽略,IO口實際電流在不同電平下也是不同的,上述僅僅是原理,一句話概括為:輸出高電平時要餵飽後面的輸入口,輸出低電平不要把輸出口餵撐了(否則多餘的電流餵給了級聯的輸入口,高於低電平門限值就不可靠了)

  在數字電路中不用的輸入腳都要接固定電平,通過1k電阻接高電平或接地。

  四、51型單片機IO口

  AVR的IO是真正雙向IO結構,由於大部分網友都是從標準51轉過來的,受標準51的準雙向IO和布爾操作概念影響,沒能掌握AVR的IO操作,所以有必要撰文說明一下

  其實採用真正雙向IO結構的新型MCU很多,常用的有 增強型51,PIC,AVR等,

  先簡單的回顧一下標準51的準雙向IO結構


  這種準雙向IO結構的特點是

  1 輸出結構類似 OC門,輸出低電平時,內部NMOS導通,驅動能力較強(800uA);輸出高電平靠內部上拉電阻,驅動能力弱(60uA)。

  2永遠有內部電阻上拉(P0口除外),高電平輸出電流能力很弱,所以即使IO口長時間短路到地也不會損壞IO口

  (同理,IO口低電平輸出能力較強,作低電平輸出時不能長時間短路到VCC)

  3作輸出時,輸出低電平可以推動LED(也是很弱的),輸出高電平通常需要外接緩衝電路(所以LED多為共陽接法)

相關焦點

  • 深入了解上拉電阻和下拉電阻
    在電路中起限制電流的作用。上拉電阻和下拉電阻是經常提到也是經常用到的電阻。在每個系統的設計中都用到了大量的上拉電阻和下拉電阻。上拉就是將不確定的信號通過一個電阻鉗位在高電平,電阻同時起限流作用,下拉同理。對於非集電極(或漏極)開路輸出型電路(如普通門電路,其提升電流和電壓的能力是有限的,上拉和下拉電阻的主要功能是為集電極開路輸出型電路提供輸出電流通道。
  • 一文讓你讀懂上拉電阻與下拉電阻
    一文讓你讀懂上拉電阻與下拉電阻 玩轉單片機 發表於 2021-01-02 17:01:00   上拉(Pull Up )或下拉(Pull Down)電阻(兩者統稱為「拉電阻」)最基本的作用是:將狀態不確定的信號線通過一個電阻將其箝位至高電平
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   avr單片機特點:   1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。
  • 什麼是上拉電阻?51單片機P0口上的上拉電阻有什麼用?
    這次簡單說說上拉電阻,那問題來了,什麼是上拉電阻?上拉電阻從概念上理解就是一個電阻一端接到電源正極,一端接到輸出端。下圖就是一個簡單的上拉電阻,如果沒有這個電阻R,則I/O口和VCC就沒有直接連接關係,如果用電阻連接起來就是一個上拉電阻。
  • GPIO電路圖與上拉電阻的作用(附詳細分析)
    2、這裡注意,④位置上是一個上拉電阻,這裡設置上拉電阻的考慮因素是這樣的,假設我要在這個單片機IO口輸出一個電流來驅動小燈發亮,①的位置電阻一般有20k左右,發出的電流250uA,基本上忽略不計,加上一個上拉電阻後,總電流 = ①位置電流 + ④位置電流(①與④構成並聯電路)。3、為什麼不設置讓,①的位置電阻R小一點,這樣電流大一點,就不需要上拉電阻了呢?
  • 科普:電路設計為什麼要加上、下拉電阻?有什麼作用?
    電路中加上拉電阻或下拉電阻的目的是確定某個狀態電路中的高電平或低電平。上、下拉電阻的作用提高電路穩定性,避免引起誤動作。第一圖中的按鍵如果不通過電阻上拉到高電平,那麼在上電瞬間可能就發生誤動作,因為在上電瞬間單片機的引腳電平是不確定的,上拉電阻R12的存在保證了其引腳處於高電平狀態,而不會發生誤動作。提高輸出管腳的帶載能力。受其他外圍電路的影響單片機在輸出高電平時能力不足,達不到VCC狀態,這會影響整個系統的正常工作,上拉電阻的存在就可以使管腳的驅動能力增強。
  • 帶你讀懂「上拉電阻」,工作原理分析
    當IC的I/O埠,節點為高電平時,節點處和GND之間的阻抗很大,可以理解為無窮大,這個時候通過上拉電阻(如4.7K歐,10K歐電阻)接到VCC上,上拉電阻的分壓幾乎可以忽略不計;當I/O埠節點需要為低電平時,直接接GND就可以了,這個時候VCC與GND是通過剛才的上拉電阻(如4.7K歐,10K歐電阻)連接的,通過的電流很小,可以忽略不計。
  • 單片機排阻有什麼作用?
    如標示為「2341」的排阻的電阻為234&TImes;10=2340Ω。內存晶片下方均勻分布的「芝麻粒」,實際上是位於內存顆粒和金手指之間的「排阻」。排阻,是一排電阻的簡稱。我們知道,內存在處理、傳輸數據時會產生大小不一的工作電流。而在內存顆粒走線的必經之處安裝一排電阻,則能夠幫助內存起到穩壓作用,讓內存工作更穩定。從而提升內存的穩定性,增強內存使用壽命。
  • 一文匯總STM32單片機的八種IO口模式
    浮空輸入  浮空輸入狀態下,IO的電平狀態是不確定的,完全由外部輸入決定,如果在該引腳懸空的情況下,讀取該埠的電平是不確定的  (3)GPIO_Mode_IPD下拉輸入GPIO_Mode_IPU上拉輸入  一般來講,上拉電阻為1K-10K,電阻越小,驅動能力越強  電阻的作用:防止輸入端懸空,減少外部電流對晶片的幹擾,限流;,增加高電平輸出時的驅動能力
  • IIC為什麼需要用開漏輸出和上拉電阻
    推輓輸出和開漏輸出在不接上拉電阻時, 輸出邏輯0,則N-MOS激活;輸出邏輯1,P-MOS不會激活, 不會輸出高電平。也就是說開漏輸出如果不接上拉電阻, 沒有輸出高電平的能力。如果需要開漏輸出有輸出高電平的能力需要接一個上拉電阻. 目前很多單片機GPIO可以通過軟體配置上拉電阻.
  • 一鍵解讀上拉電阻計算原理
    相信上拉電阻與下拉電阻的取值在一段時間內都是新手們較為疑惑的問題之一。與上拉電阻阻值有關的資料在網絡上雖然有不少,但大多很少對其中的技巧及原理進行分析,而只是給出簡單的計算過程。這樣雖然能夠在一定程度上提供幫助,但在遭遇到一些特殊情況時便會影響設計。
  • 為什麼很多單片機的工作電壓是5v?
    12V和24V來自於汽車電瓶,早年乘用車又12V和24V兩個系統,現在一般小型車12V,商用車24V,再究其由來應該是鉛酸電池。 所以3v3和5v一般出現在信號電路或者單片機等vcc供電,而12v/24v一般出現在低壓動力電,例如主板、顯卡、軸流風機、監控器。硬體決定系統基礎,如果鋰電池早點應用的話估計還會有3.7/7.4這個系統。 為什麼很多單片機的工作電壓是5v?
  • 【必備】一鍵解讀上拉電阻計算原理
    相信上拉電阻與下拉電阻的取值在一段時間內都是新手們較為疑惑的問題之一。
  • LinuxGPIO操作和MTK平臺GPIO
    GPIO口配置是一個歷史性的問題,不管我們使用什麼MCU,單片機也好,ARM也好,都離不開驅動
  • 計算上拉電阻阻值的經驗分享
    打開APP 計算上拉電阻阻值的經驗分享 電工天下 發表於 2020-04-05 16:56:00   1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低於COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。
  • 單片機小白學步(22) IO口:蜂鳴器的使用/三極體的工作原理
    但是一般的繼電器控制端需要的電流,對於單片機來說還是太大了,而且繼電器價格比較高,能控制很大的電流,用在這裡大材小用了。而這裡我們要用的器件是三極體。三極體基本介紹三極體的作用主要是放大電流。和名字一樣,三極體有三個管腳:發射極、基極、集電極,分別簡寫為E、B、C。
  • AVR單片機驅動無源蜂鳴器C程序
    /*延時函數*/void delay_ms(unsigned char i) { unsigned char a, b; for (a = 1; a void main(void) { unsigned char i; DDRA = 0x00;      /*方向輸入*/ PORTA = 0xFF;      /*打開上拉
  • GPIO的上拉下拉功能說明
    可見對應於S3C2410的GPB-BPH口內部有上拉電阻寄存器,當相應的上拉電阻使能時,對應的I/O引腳懸空時   上拉是一個電阻接到一個電壓,其實就是增強IO的驅動能力。   下拉是一個電阻接到地,保證IO口是低電平。
  • GPIO內部結構及工作原理
    STM32F1系列IO口的基本結構()IO口內部電路結構)    和輸入浮空模式相比較,不同之處在於內部有一個上拉電阻連接到VDD(輸入上拉模式下,上拉電阻開關接通,阻值約30-50K) 外部輸入通過上拉電阻,施密特觸發器存入輸入數據寄存器
  • 51單片機的P1、P2、P3口的工作原理
    1、P1口某一位的內部電路結構如下圖所示,在51單片機的P0,P1,P2,P3口中,P1口的結構最簡單,用途也最單一。僅僅只作為普通的數據輸入/輸出(I/O)埠使用。從圖中可以看出,P0口與P1口的主要差別在於:P1埠用內部上拉電阻代替了P0埠的場效應管,並且輸出的信息只有內部總線的信息,沒有了數據/地址總線的復用。本文引用地址:http://www.eepw.com.cn/article/201611/316091.htm