32接上拉5v_51單片機P0口上拉電阻的選擇

作為I/O口輸出的時候時,輸出低電平為0 輸出高電平為高組態(并非5V,相當于懸空狀態,也就是說P0 口不能真正的輸出高電平)。給所接的負載提供電流,因此必須接(一電阻連接到VCC),由電源通過這個上拉電阻給負載提供電流。

P0作輸入時不需要上拉電阻,但要先置1。因為P0口作一般I/O口時上拉場效應管一直截止,所以如果不置1,下拉場效應管會導通,永遠只能讀到0。因此在輸入前置1,使下拉場效應管截止,端口會處于高阻浮空狀態,才可以正確讀入數據。

427be98b7df1cb3c7ff7860a89251fae.png

由于P0口內部沒有上拉電阻,是開漏的,不管它的驅動能力多大,相當于它是沒有電源的,需要外部的電路提供,絕大多數情況下P0口是必需加上拉電阻的。

1.一般的P0口在作為地址/數據復用時不接上拉電阻。

2.作為一般的I/O口時用時,由于內部沒有上拉電阻,故要接上上拉電阻!!

3.當p0口用來驅動PNP管子的時候,就不需要上拉電阻,因為此時的低電平有效;

4.當P0口用來驅動NPN管子的時候,就需要上拉電阻的,因為此時只有當P0為1時候,才能夠使后級端導通。 簡單一點說就是它要驅動LCD顯示屏顯示就必須要有電源驅動,否則亮不了,而恰好P0口沒有電源,所以就要外接電源,接上電阻是起到限流的作用;如果接P1、P2、P3端口就不用外接電源和電阻了。

0947c24dec442637a59cbfe78be5e271.png

P0口是開漏的,不管它的驅動能力多大,相當于它是沒有電源的,需要外部的電路提供,絕大多數情況下P0口是必需加上拉電阻的;5、51單片機的P0口用作數據和地址總線時不必加上拉電阻。

有些IC的驅動能力并不強,如果P0口作為輸入而加了不必要的上拉,有可能驅動IC無法將其拉回到低電平,從而使輸入失敗!

如果是驅動led,那么用1K左右的就行了。如果希望亮度大一些,電阻可減小,最小不要小于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增加到多少呢,主要看亮度情況,以亮度合適為準,一般來說超過3K以上時,亮度就很弱了,但是對于超高亮度的LED,有時候電阻為10K時覺得亮度還能夠用。通常就用1k的。對于驅動光耦合器,如果是高電位有效,即耦合器輸入端接端口和地之間,那么和LED的情況是一樣的;如果是低電位有效,即耦合器輸入端接端口和VCC之間,那么除了要串接一個1——4.7k之間的電阻以外,同時上拉電阻的阻值就可以用的特別大,用100k——500K之間的都行,當然用10K的也可以,但是考慮到省電問題,沒有必要用那么小的。

1c292c3911aec13427fc53cffdf056e5.png

對于驅動晶體管,又分為PNP和NPN管兩種情況:對于NPN,毫無疑問NPN管是高電平有效的,因此上拉電阻的阻值用2K——20K之間的,具體的大小還要看晶體管的集電極接的是什么負載,對于LED類負載,由于發管電流很小,因此上拉電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大,因此上拉電阻的阻值最好不要大于4.7K,有時候甚至用2K的。對于PNP管,毫無疑問PNP管是低電平有效的,因此上拉電阻的阻值用100K以上的就行了,且管子的基極必須串接一個1——10K的電阻,阻值的大小要看管子集電極的負載是什么,對于LED類負載,由于發光電流很小,因此基極串接的電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大,因此基極電阻的阻值最好不要大于4.7K。

cd96b5d51b16a16b0d40def5dea1495d.png

對于驅動TTL集成電路,上拉電阻的阻值要用1——10K之間的,有時候電阻太大的話是拉不起來的,因此用的阻值較小。但是對于CMOS集成電路,上拉電阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,實際上對于CMOS電路,上拉電阻的阻值用1M的也是可以的,但是要注意上拉電阻的阻值太大的時候,容易產生干擾,尤其是線路板的線條很長的時候,這種干擾更嚴重,這種情況下上拉電阻不宜過大,一般要小于100K,有時候甚至小于10K。

根據以上分析,上拉電阻的阻值的選取是有很多講究的,不能亂用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379093.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379093.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379093.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉載]FPGA/CPLD重要設計思想及工程應用(時序及同步設計)

來源:http://www.eetop.cn/blog/html/11/317611-13412.html 數字電路中,時鐘是整個電路最重要、最特殊的信號。 第一, 系統內大部分器件的動作都是在時鐘的跳變沿上進行, 這就要求時鐘信號時延差要非常小, 否則就可能造成時序邏輯狀態出錯. 第二, 時鐘信號通常是系統…

duration java_Java Duration類| ofMinutes()方法與示例

duration javaDuration Class of Minutes()方法 (Duration Class ofMinutes() method) ofMinutes() method is available in java.time package. ofMinutes()方法在java.time包中可用。 ofMinutes() method is used to represent the given minutes value in this Duration. of…

實驗五 圖形設計

每復制一個方法都要綁定Paint事件 一、創建Windows窗體應用程序,要求如下:(源代碼運行界面,缺少任一項為0分,源代碼只需粘貼繪制圖形代碼所在的方法,不用粘貼太多) 例如: (1&…

yuv編碼成h264格式寫成文件

yuv編碼成h264格式寫成文件 &#xff08;使用ffmpeg 編碼yuv420p編碼成h264格式&#xff09; #include <stdio.h> #include <stdlib.h> #include <stdint.h>#include <libavcodec/avcodec.h> #include <libavutil/time.h> #include <libavut…

c++ stl隊列初始化_聲明,初始化和訪問向量| C ++ STL

c stl隊列初始化Here, we have to declare, initialize and access a vector in C STL. 在這里&#xff0c;我們必須聲明&#xff0c;初始化和訪問C STL中的向量。 向量聲明 (Vector declaration) Syntax: 句法&#xff1a; vector<data_type> vector_name;Since, vec…

ADO.NET與SQL Server數據庫的交互

7.3.1 使用SqlConnection對象連接數據庫 例如&#xff1a;建立與SQL Server數據庫的連接。 string connstring"Data Sourceservername;uidusername;pwdpassword;Initial Catalogdbname";SqlConnection connnew SqlConnection(connstring);conn.Open(); 例如&#xf…

nsis 修改exe執行權限

通過修改注冊表的方式&#xff0c;修改exe的執行權限。&#xff0c;以下例子是使用管理員運行。 ;添加admin權限 SectionWriteRegStr HKCU "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\spp.exe" "RUNASADMIN&qu…

linux ftp日志_linux學習筆記(一)——Linux分區和目錄結構

linux學習筆記&#xff08;一&#xff09;——Linux分區和目錄結構安裝Linux時&#xff0c;手動掛載分區的情況下&#xff0c;/ 和 swap 是必須要掛載的&#xff0c;其他/home、/boot 等可以根據需要自行掛載。一般來說&#xff0c;簡單的話&#xff0c;建議掛載三個分區&#…

C#通過VS連接MySQL數據庫實現增刪改查基本操作

創建一個數據庫wsq 里面有一張beyondyanyu表 表里面有id(int)、names(varchar)、count(int)、passwords(varchar) 數據可以自己添 1、導入MySQL引用&#xff0c;你需要從官網或者其他地方下載&#xff0c;私聊我也可以 using MySql.Data.MySqlClient; 2、創建MySqlConnection對…

使用ffmpeg的filter處理yuv數據包括split filter(分流)、crop filter(裁剪)、vflip filter(垂直向上的翻轉)、overlay filter(合成)

使用ffmpeg的filter處理yuv數據包括split filter(分流)、crop filter(裁剪)、vflip filter(垂直向上的翻轉)、overlay filter(合成) #include <stdio.h>#include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libavfilter/avfil…

vc++ 6.0 堆棧_在C ++中使用鏈接列表實現堆棧

vc 6.0 堆棧To implement a stack using a linked list, basically we need to implement the push() and pop() operations of a stack using linked list. 要使用鏈接列表實現堆棧 &#xff0c;基本上&#xff0c;我們需要使用鏈接列表實現堆棧的push()和pop()操作。 Exampl…

煙雨小書店

煙雨小書店演示視頻 源碼

協議地址結構_TCP/IP 協議 講解

計算機網絡體系結構分層太厲害了&#xff0c;終于有人能把TCP/IP 協議講的明明白白了計算機網絡體系結構分層不難看出&#xff0c;TCP/IP 與 OSI 在分層模塊上稍有區別。OSI 參考模型注重“通信協議必要的功能是什么”&#xff0c;而 TCP/IP 則更強調“在計算機上實現協議應該開…

ffmpeg進行混音,將兩路音頻pcm數據合成一路輸出

ffmpeg進行混音&#xff0c;將兩路音頻pcm數據合成一路輸出 audiomixer.h #ifndef AUDIOMIXER_H #define AUDIOMIXER_H#include <map> #include <mutex> #include <cstdio> #include <cstdint> #include <string> #include <memory>exter…

python sep函數_Python中帶有print()函數的sep參數

python sep函數sep parameter stands for separator, it uses with the print() function to specify the separator between the arguments. sep參數代表分隔符&#xff0c;它與print()函數一起使用以指定參數之間的分隔符。 The default value is space i.e. if we dont us…

關于 MySQL 主從復制的配置(轉)

來源&#xff1a;http://www.oschina.net/bbs/thread/10388設置Mysql的主從設置很重要&#xff0c;有如下幾點用處&#xff1a;1 做備份機器&#xff0c;一旦主服務器崩潰&#xff0c;可以直接啟用從服務器作為主服務器2 可以直接鎖定從服務器的表只讀&#xff0c;然后做備份數…

Silverlight 同域WCF免跨域文件

在sl3使用wcf時常常會因為sl中調用了不同域的wcf服務而導至調用服務失敗&#xff0c;記得在很久以前sl當是只支持同域的訪問&#xff0c;那么讓我有一個想法&#xff0c;就是在sl引用時可以動態地取得當前sl所在的域&#xff0c;而wcf服務也必須同時部署到這個域下邊&#xff0…

使用ffmpeg 的 filter 給圖片添加水印

使用ffmpeg 的 filter 給圖片添加水印。 main.c #include <stdio.h>#include <libavfilter/avfilter.h> #include <libavfilter/buffersrc.h> #include <libavfilter/buffersink.h> #include <libavformat/avformat.h> #include <libavcodec…

程序崩潰 分析工具_程序分析工具| 軟件工程

程序崩潰 分析工具A program analysis tool implies an automatic tool that takes the source code or the executable code of a program as information and produces reports with respect to a few significant attributes of the program, for example, its size, multif…