導航:首頁 > 操作系統 > 單片機p1口怎麼檢測

單片機p1口怎麼檢測

發布時間:2024-11-05 10:43:22

1. 51單片機關於P1口的實驗

如果實物按圖這樣接,51早就燒了。P1.5接電源,proteus里可能是算為高電平,即寫1了。你可以串一隻10K上拉電阻,這樣才真正相當於寫1

2. 如何檢測單片機P1.0的電壓

我感覺你的最終目的是在電源掉電前要計算機要執行一套保護現場或者其他的動作。那麼用這種方法就太慢了,計算機可能沒時間進行處理。
推薦你個電路,MAX813L,你可以使用它的第4腳的功能。將7805輸入端的電壓經2個電阻分壓後輸入4腳,保證正常情況下4腳稍高於1.25V。
當電源掉電時,15V濾波電容上的電壓逐漸下降,當4腳低於1.25V,MAX813L的5腳輸出低電平,接入單片機進行判斷和採取措施。
由於15V濾波電容比較大,可以保證程序有足夠的時間來進行掉電處理。

如果你只是判斷有無15V,而且單片機電源與15V無關,那麼只要把15V用一個二極體整流,然後加2個電阻分壓,再加個電容稍微濾波就OK了。反應速度取決於電容和分壓電阻大小。

3. 典型51單片機的P0,P1,P2,P3口都有哪些功能

P0口第一個功能是數據介面,第二個功能是地址低八位,P2口第二個功能是地址高八位。另外除了P0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。P1就沒多少功能,就是個准雙向I/O口。最重要的就是P3口了,他除了是個准雙向I/O口外,第二功能很重要:P3.0

(RXD)串列數據接收端;P3.1

(TXD)串列數據發送端;P3.2

(INT0)外部中斷0輸入;P3.3

(INT1)外部中斷1輸入;P3.4(T0)Timer0

計數器輸入:P3.5(T1)Timer1計數器輸入;P3.6(WR)寫外部存儲器的脈沖輸出:P3.7(RD)讀外部存儲器的脈沖輸出。

(3)單片機p1口怎麼檢測擴展閱讀:

在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。

由此可見,單片機憑借著強大的數據處理技術和計算功能可以在智能電子設備中充分應用。簡單地說,單片機就是一塊晶元,這塊晶元組成了一個系統,通過集成電路技術的應用,將數據運算與處理能力集成到晶元中,實現對數據的高速化處理。

4. 怎樣知道單片機的矩陣鍵盤每個按鍵的地址

1、比如是一個4行×4列的矩陣鍵盤。
2、將4行和4列共8根線分別接到單片機的I/O口,比如接P1口,行接低4位(P1.0~P1.3),列接高4位(P1.4~P1.7)。
3、單片機先將行置第電平0,列置高電平1.
4、在鍵盤掃描程序中,判斷是否有任意按鍵按下:if((P1&0xf0)!=0xf0),表示有按鍵按下,延時消抖後,再次判斷,如果(P1&0xf0)!=0xf0,則表示有按鍵按下。
5、然後開始逐行掃描:
P1=0xfe; //第一行置為低電平「0」(P1.0輸出低電平「0」)
if(P14==0) keyval=1; //如果檢測到接P1.4引腳的列線為低電平「0」,可判斷是S1鍵被按下
if(P15==0) keyval=2; //如果檢測到接P1.5引腳的列線為低電平「0」 ,可判斷是S2鍵被按下
if(P16==0) keyval=3; //如果檢測到接P1.6引腳的列線為低電平「0」,可判斷是S3鍵被按下
if(P17==0) keyval=4; //如果檢測到接P1.7引腳的列線為低電平「0」,可判斷是S4鍵被按下

P1=0xfd; //第二行置為低電平「0」(P1.1輸出低電平「0」)
if(P14==0) keyval=5; //如果檢測到接P1.4引腳的列線為低電平「0」,可判斷是S5鍵被按下
if(P15==0) keyval=6; //如果檢測到接P1.5引腳的列線為低電平「0」,可判斷是S6鍵被按下
if(P16==0) keyval=7; //如果檢測到接P1.6引腳的列線為低電平「0」,可判斷是S7鍵被按下
if(P17==0) keyval=8; //如果檢測到接P1.7引腳的列線為低電平「0」,可判斷是S8鍵被按下

P1=0xfb; //第三行置為低電平「0」(P1.2輸出低電平「0」)
if(P14==0) keyval=9; //如果檢測到接P1.4引腳的列線為低電平「0」,可判斷是S9鍵被按下
if(P15==0) keyval=10; //如果檢測到接P1.5引腳的列線為低電平「0」,可判斷是S10鍵被按下
if(P16==0) keyval=11; //如果檢測到接P1.6引腳的列線為低電平「0」,可判斷是S11鍵被按下
if(P17==0) keyval=12; //如果檢測到接P1.7引腳的列線為低電平「0」,可判斷是S12鍵被按下

P1=0xf7; //第四行置為低電平「0」(P1.3輸出低電平「0」)
if(P14==0) keyval=13; //如果檢測到接P1.4引腳的列線為低電平「0」,可判斷是S13鍵被按下
if(P15==0) keyval=14; //如果檢測到接P1.5引腳的列線為低電平「0」,可判斷是S14鍵被按下
if(P16==0) keyval=15; //如果檢測到接P1.6引腳的列線為低電平「0」,可判斷是S15鍵被按下
if(P17==0) keyval=16; //如果檢測到接P1.7引腳的列線為低電平「0」,可判斷是S16鍵被按下

依次類推,得到4×4=16個按鍵的鍵值。就知道哪個按鍵被按下。

閱讀全文

與單片機p1口怎麼檢測相關的資料

熱點內容
rust伺服器怎麼看是不是重開的 瀏覽:948
重置為什麼還是會有文件夾 瀏覽:566
雲上城之歌連接不了伺服器 瀏覽:662
有什麼可以比飛翔解壓的嗎 瀏覽:845
黑暗之魂攻略pdf 瀏覽:904
世嘉20壓縮比 瀏覽:148
瑞斯康達交換機命令 瀏覽:469
加密貨幣擠兌 瀏覽:575
scum伺服器新手禮包都有什麼 瀏覽:561
修改linux的編碼格式 瀏覽:48
單片機232通信 瀏覽:223
則在該支座一側箍筋加密 瀏覽:898
php緩存操作 瀏覽:658
程序員考公是什麼意思 瀏覽:404
安卓手機怎麼打開7z文件夾 瀏覽:818
領克app如何查看胎壓 瀏覽:956
跳跳花app在哪裡下載 瀏覽:673
內核編譯論壇 瀏覽:874
pr預覽渲染顯示錯誤編譯影片 瀏覽:723
php網站添加驗證碼 瀏覽:126