Ⅰ 51單片機p00口輸出不穩定是怎麼回事
你這樣表述問題,可用信息很少,也就是不知道你遇到的問題是如何產生的。
單片機埠輸出低電平的能力要比輸出高電平的能力強,尤其是51晶元,所以對驅動後級電路,最好採用輸出低電平有效的邏輯,這樣就能容易獲得很好的穩定性了。
如果需要輸出數據信號,即有高低電平變化的信號,就需要好好搭配外圍電路 ,以保證和滿足穩定性的要求。
因為情況不明白,現在就只能給你說些大概的東西。
Ⅱ 單片機電源5V,給高電平,但是單片機埠輸出的電壓不穩定,一直在跳動。而且只有3V
1、電平高低跳動,可能是因為單片機中有高低變化的程序,你把單片機所有埠都置1,再次測量;
2、51單片機的話,由於漏極開路,P0埠是需要接上拉電阻的,通過1k電阻接在5V上,再測量,還有就是31引腳得接5V;
Ⅲ 提問+STC的51單片機到底穩定不穩定
總體來說還行,做一般的產品可以。但我認為是不夠穩定的,我做過一個產品,用STC15F2K08S2。是從上位機接收串口命令然後執行相關動作,並把設備一些狀態通過串口發給上位機。因為我比較注重效率,所以串口的發送和接收都採用中斷方式進行,這樣有串口命令時才去處理,沒有時單片機做其它任務或休眠。但客戶反映了不穩定的情況,有時從上位機發命令會導致外設死機。我當時花了很長時間找不到問題,因為我在燒錄是就已啟動了看門狗,如果死機應該會導致單片機復位才對。但沒有,設備只是靜悄悄的什麼反應也沒有,既不發數據也不接收命令。而且這種狀況是隨機的,很難重現,有時好幾天都不出現一次,很難通過重現現象來查找問題。我懷疑是程序的BUG,但反復查找推理都沒有找到哪有錯。
我一直是相信硬體的,因為我之前無數次在程序調不通時懷疑硬體,但後來都證明是自己的程序錯了。但這次實在找不到自己的問題,終於又懷疑是單片機的問題來。但懷疑就得有根據,於是我另外寫了一個測試程序。在串口助手不停向單片機發數據,並讓單片機不停地進串口中斷重發接收到的數據,通過串口助手觀察。終於串口死掉了,不接受數據也不發送數據。而程序還在控制著幾個燈在反復循環,並沒有死掉。
我後來改由程序來接收和發送數據,不進串口中斷。沒有發現任何問題,哪怕接收及發送速率都很高,程序最多循環的燈變慢或閃爍。
通過實驗我知道,STC15F2K這系列的單片機中斷系統硬體是有缺陷的。我後來修改了產品的程序,客戶沒有再反饋有什麼」死機「的問題。
Ⅳ 單片機輸出埠
這是最基礎的東東呀,你還要多看看書才可以,在知道里一句話說不清楚。
P0,P1,P2,P3都可以控制輸出高低電平,只要在指令里指定就可以了,比如:MOVP1,#FFH.這樣P1口輸出全高電平。MOVP3,#0FH,這是P3口高4位為低電平,低4位為高電平。
40個管腳,除了這32個I/O外,電源2個,時鍾電路2個,復位一個,EA(選擇片內片外程序存儲器),PSEN,ALE(後面這兩個現在基本不用了,因為我們都常用擴展外部的三匯流排)。接線見下面的最小系統圖。
Ⅳ 51單片機系列:單片機最小系統
單片機是一種集成電路晶元。在單片機程序的控制下能准確、迅速、高效地完成程序設計者事先規定的任務。單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統。下面給大家介紹51單片機最小系統,一起學習。
單片機
第三部分復位組,單片機自動復位,從零開始執行程序,這個就是復位的概念。第四部分其它功能組,使用單片機的內部存儲器,如果內部存儲器不夠容量,最多選擇更高級容量的單片機型號,就可以解決問題。
51單片機最小系統晶振的振盪頻率直接影響單片機的處理速度,頻率越大處理速度越快。
對於一個完整的電子設計來講,首要問題就是為整個系統提供電源供電模塊,電源模塊的穩定可靠是系統平穩運行的前提和基礎。51單片機雖然使用時間最早、應用范圍最廣,但是在實際使用過程中,一個和典型的問題就是相比其他系列的單片機,51單片機更容易受到干擾而出現程序跑飛的現象,克服這種現象出現的一個重要手段就是為單片機系統配置一個穩定可靠的電源供電模塊。
此最小系統中的電源供電模塊的電源可以通過計算機的USB口供給,也可使用外部穩定的5V電源供電模塊供給。電源電路中接入了電源指示LED,圖中R11為LED的限流電阻,S1 為電源開關。
上電復位:STC89系列單片及為高電平復位,通常在復位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電迴路保證單片機在上電時RST腳上有足夠時間的高電平進行復位,隨後回歸到低電平進入正常工作狀態,這個電阻和電容的典型值為10K和10uF。
按鍵復位:按鍵復位就是在復位電容上並聯一個開關,當開關按下時電容被放電、RST也被拉到高電平,而且由於電容的充電,會保持一段時間的高電平來使單片機復位。
在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振盪器(VCO)。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振盪。
51單片機的P0埠為開漏輸出,內部無上拉電阻,如下圖。所以在當做普通I/O輸出數據時,由於V2截止,輸出級是漏極開路電路,要使“1”信號(即高電平)正常輸出,必須外接上拉電阻。
這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。
這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。
Ⅵ 51單片機的ALE埠有什麼特別的作用
ale(address
lock
enable)功能是在訪問外部存儲器時,p0口做為地址/數據復用口,ale信號用於鎖存低8位地址。當ale信號為高電平時,p0口上的信息為低8位地址,在ale信號的下降沿時將p0口上的低8位地址送到地址鎖存器鎖存起來。在ale為低電平期間p0口上的信息為指令或數據信息。在ale為低電平期間p0口上的信息為指令或數據信息,以實現低位地址與數據的分離。
ale是自動運行的
ale:地址鎖存控制/片內eprom編程脈沖輸入信號
ale(address
lock
enable)功能是在訪問外部存儲器時,p0口做為地址/數據復用口,ale信號用於鎖存低8位地址。當ale信號為高電平時,p0口上的信息為低8位地址,在ale信號的下降沿時將p0口上的低8位地址送到地址鎖存器鎖存起來。
在ale為低電平期間p0口上的信息為指令或數據信息。在ale為低電平期間p0口上的信息為指令或數據信息,以實現低位地址與數據的分離。
值的注意的是,在訪問片外數據存儲器時,人會缺少一個ale脈沖。
當不訪問外部存儲器時,該信號也以晶振頻率的六分之一固定輸出正脈沖信號,可以作為外部的定時脈沖使用。如果想禁止ale的輸出可在sfr(特殊功能寄存器)8eh地址上置0。此時,ale只有在執行movx,movc指令時才起作用。