導航:首頁 > 操作系統 > 89c52單片機原理圖

89c52單片機原理圖

發布時間:2024-10-15 06:47:02

單片機及存儲器擴展的設計

電路如圖所示,U3地址范圍:0000H~7FFFH,U5地址范圍:8000H~FFFFH;CPU用89C52,內有8KROM

Ⅱ stc89c52單片機電路圖

tx1c單片機開發板的原理圖,郭天翔視頻配套的開發板,用的是stc89c51單片機,可以參考,給你發過去了哦!

Ⅲ 在89C52單片機裡面怎麼用程序把I/O設定為高阻態狀態

吸電流、拉電流輸出、灌電流輸出

拉即泄,主動輸出電流,從輸出口輸出電流;

灌即充,被動輸入電流,從輸出埠流入;

吸則是主動吸入電流,從輸入埠流入。

吸電流和灌電流就是從晶元外電路通過引腳流入晶元內的電流;區別在於吸收電流是主動的,從晶元輸入端流入的叫吸收電流。灌入電流是被動的,從輸出端流入的叫灌入電流;拉電流是數字電路輸出高電平給負載提供的輸出電流,灌電流時輸出低電平是外部給數字電路的輸入電流。這些實際就是輸入、輸出電流能力。

拉電流輸出對於反向器只能輸出零點幾毫安的電流,用這種方法想驅動二極體發光是不合理的(因發光二極體正常工作電流為5~10mA)。

上、下拉電阻

一、定義

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

2、上拉是對器件注入電流,下拉是輸出電流

3、弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分

4、對於非集電極(或漏極)開路輸出型電路(如普通門電路)提升電流和電壓的能力是有限的,上拉電阻的功能主要是為集電極開路輸出型電路輸出電流通道。

二、拉電阻作用

1、一般作單鍵觸發使用時,如果IC本身沒有內接電阻,為了使單鍵維持在不被觸發的狀態或是觸發後回到原狀態,必須在IC外部另接一電阻。

2、數字電路有三種狀態:高電平、低電平、和高阻狀態,有些應用場合不希望出現高阻狀態,可以通過上拉電阻或下拉電阻的方式使處於穩定狀態,具體視設計要求而定!

3、一般說的是I/O埠,有的可以設置,有的不可以設置,有的是內置,有的是需要外接,I/O埠的輸出類似與一個三極體的C,當C接通過一個電阻和電源連接在一起的時候,該電阻成為上C拉電阻,也就是說,如果該埠正常時為高電平;C通過一個電阻和地連接在一起的時候,該電阻稱為下拉電阻,使該埠平時為低電平,作用嗎:比如:「當一個接有上拉電阻的埠設為輸入狀態時,他的常態就為高電平,用於檢測低電平的輸入」。

4、上拉電阻是用來解決匯流排驅動能力不足時提供電流的。一般說法是拉電流,下拉電阻是用來吸收電流的,也就是我們通常所說的灌電流

5、接電阻就是為了防止輸入端懸空

6、減弱外部電流對晶元產生的干擾

7、保護cmos內的保護二極體,一般電流不大於10mA

8、通過上拉或下拉來增加或減小驅動電流

9、改變電平的電位,常用在TTL-CMOS匹配

10、在引腳懸空時有確定的狀態

11、增加高電平輸出時的驅動能力。

12、為OC門提供電流

三、上拉電阻應用原則

1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低於COMS電路的最低高電平(一般為3。5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。

2、OC門電路「必須加上拉電阻,才能使用」。

3、為加大輸出引腳的驅動能力,有的單片機管腳上也常使用上拉電阻。

4、在COMS晶元上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產生降低輸入阻抗,提供泄荷通路。

5、晶元的管腳加上拉電阻來提高輸出電平,從而提高晶元輸入信號的雜訊容限增強抗干擾能力。

6、提高匯流排的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。

7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。

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

四、上拉電阻阻值選擇原則

1、從節約功耗及晶元的灌電流能力考慮應當足夠大;電阻大,電流小。

2、從確保足夠的驅動電流考慮應當足夠小;電阻小,電流大。

3、對於高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮

以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理。

對上拉電阻和下拉電阻的選擇應「結合開關管特性和下級電路的輸入特性進行設定,主要需要考慮以下幾個因素」:

1。驅動能力與功耗的平衡。以上拉電阻為例,一般地說,上拉電阻越小,驅動能力越強,但功耗越大,設計是應注意兩者之間的均衡。

2。下級電路的驅動需求。同樣以上拉電阻為例,當輸出高電平時,開關管斷開,上拉電阻應適當選擇以能夠向下級電路提供足夠的電流。

3。高低電平的設定。不同電路的高低電平的門檻電平會有不同,電阻應適當設定以確保能輸出正確的電平。以上拉電阻為例,當輸出低電平時,開關管導通,上拉電阻和開關管導通電阻分壓值應確保在零電平門檻之下。

4。頻率特性。以上拉電阻為例,上拉電阻和開關管漏源級之間的電容和下級電路之間的輸入電容會形成「RC延遲」,電阻越大,延遲越大。上拉電阻的設定應考慮電路在這方面的需求。

下拉電阻的設定的原則和上拉電阻是一樣的。

示例:

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口實際電流在不同電平下也是不同的,上述僅僅是原理,一句話概括為:「輸出高電平時要喂飽後面的輸入口,輸出低電平不要把輸出口喂撐了」(否則多餘的電流喂給了級聯的輸入口,高於低電平門限值就不可靠了)

此外,還應注意以下幾點:

A、要看輸出口驅動的是什麼器件,如果該器件需要高電壓的話,而輸出口的輸出電壓又不夠,就需要加上拉電阻。

B、如果有上拉電阻那它的埠在默認值為高電平,你要控制它必須用低電平才能控制如三態門電路三極體的集電極,或二極體正極去控制把上拉電阻的電流拉下來成為低電平。反之,

C、尤其用在介面電路中,為了得到確定的電平,一般採用這種方法,以保證正確的電路狀態,以免發生意外,比如,在電機控制中,逆變橋上下橋臂不能直通,如果它們都用同一個單片機來驅動,必須設置初始狀態。防止直通!

驅動盡量用灌電流。

----------------------------------------

在數字電路中不用的輸入腳都要接固定電平,通過1k電阻接高電平或接地。
1。 電阻作用:
l 接電阻就是為了防止輸入端懸空
l 減弱外部電流對晶元產生的干擾
l 保護cmos內的保護二極體,一般電流不大於10mA
l 上拉和下拉、限流
1。 改變電平的電位,常用在TTL-CMOS匹配
2。 在引腳懸空時有確定的狀態
3。 增加高電平輸出時的驅動能力。
4。 為OC門提供電流

那要看輸出口驅動的是什麼器件,如果該器件需要高電壓的話,而輸出口的輸出電壓又不夠,就需要加上拉電阻。如果有上拉電阻那它的埠在默認值為高電平,你要控制它必須用低電平才能控制,如三態門電路三極體的集電極,或二極體正極去控制把上拉電阻的電流拉下來成為低電平。反之,尤其用在介面電路中,為了得到確定的電平,一般採用這種方法,以保證正確的電路狀態,以免發生意外。比如,在電機控制中,逆變橋上下橋臂不能直通,如果它們都用同一個單片機來驅動,必須設置初始狀態。防止直通!

電阻在選用時,選用經過計算後與標准值最相近的一個!
P0為什麼要上拉電阻原因有:
1。 P0口片內無上拉電阻
2。 P0為I/O口工作狀態時,上方FET被關斷,從而輸出腳浮空,因此P0用於輸出線時為開漏輸出。
3。 由於片內無上拉電阻,上方FET又被關斷,P0輸出1時無法拉升埠電平。
P0是雙向口,其它P1,P2,P3是准雙向口。准雙向口是因為在讀外部數據時要先「准備」一下,為什麼要准備一下呢?
單片機在讀准雙向口的埠時,先應給埠鎖存器賦1,目的是使FET關斷,不至於因片內FET導通使埠鉗制在低電平。
上下拉一般選10k!

晶元的上拉/下拉電阻的作用
最常見的用途是,假如有一個三態的門帶下一級門。如果直接把三態的輸出接在下一級的輸入上,當三態的門為高阻態時,下一級的輸入就如同漂空一樣。可能引起邏輯的錯誤,對MOS電路也許是有破壞性的。所以用電阻將下一級的輸入拉高或拉低,既不影響邏輯又保正輸入不會漂空。
改變電平的電位,常用在TTL-CMOS匹配;在引腳懸空時有確定的狀態; 為OC門的輸出提供電流; 作為端接電阻; 在試驗板上等於多了一個測試點,特別對板上表貼晶元多的更好,免得割線;嵌位;
上、下拉電阻的作用很多,比如抬高信號峰峰值,增強信號傳輸能力,防止信號遠距離傳輸時的線上反射,調節信號電平級別等等!當然還有其他的作用了具體的應用方法要看在什麼場合,什麼目的,至於參數更不能一概而定,要看電路其他參數而定,比如通常用在輸入腳上的上拉電阻如果是為了抬高峰峰值,就要參考該引腳的內阻來定電阻值的!另外,沒有說輸入加下拉,輸出加上拉的,有時候沒了某個目的也可能同時既有上拉又有下拉電阻的!

加接地電阻--下拉
加接電源電阻--上拉

對於漏極開路或者集電極開路輸出的器件需要加上拉電阻才可能工作。另外,普通的口,加上拉電阻可以提高抗干擾能力,但是會增加負載。
電源:+5V
普通的直立LED,

用多大的上拉電阻合適? 謝謝指教!
一般LED的電流有幾個mA就夠了,最大不超過20mA,根據這個你就應該可以算出上拉電阻值來了。
保險起見,還是讓他拉吧,(5-0.7)/10mA=400ohm,差不多吧,不放心就用2k的。【奇怪,新出了管壓0.7V的LED了嗎?據我所知好象該是1.5V左右。我看幾百歐到1K都沒太大問題,一般的片子不會衰到10mA都抗不住吧?】

下拉電阻的作用:所見不多,常見的是接到一個器件的輸入端,多作為抗干擾使用。這是由於一般的IC的輸入端懸空時易受干擾,或器件掃描時有間隙泄漏電壓而影響電路的性能。後者,我們在某批設備中曾碰到過。
上拉電阻的阻值主要是要顧及埠的低電平吸入電流的能力。例如在5V電壓下,加1K上拉電阻,將會給埠低電平狀態增加5mA的吸入電流。在埠能承受的條件下,上拉電阻小一點為好。

------------------------------------------

以下為BBS討論:

什麼時候需要用上拉電阻什麼時候需要用下拉?一般要用多大的阻值呀?

--------------------

用上拉還是用下拉,根據你平時需要的電平。

至於阻值大小,如果是一般IO口,10k左右,不要小於1k。但是如果是特殊用途的管腿,則有特殊要求。比如I2C介面的SCL和SDA線,對上拉電阻的最大最小值都有要求,要結合實際情況計算。

--------------------

通常在數字電路中,上拉是為了提高驅動能力。例如:集電極開路的輸出電路。就必須加上拉電阻。否則無法驅動下一級的設備。或者,上拉下拉同時使用,例如,在數據和地址匯流排上。是為了在沒有輸出的時候將電平鉗制在一個電位。不用的空腳要下拉,防止拴鎖。

--------------------

1。信號需要外部的電源來提供高低電平時,需要加上拉或下拉電阻;
2。雖然系統能提供相應的電平,但是在不工作的狀態下,信號的狀態如果需要為高或低時,需要加上拉或下拉;
3。IC的輸出為Open-Drain時,需要外加上拉電阻。
上拉或下拉的電阻大小取決於信號的驅動能力及信號的需求。常用的有10K, 100K, 47K等。但有些上拉電阻或下拉電阻的大小需要靠實驗得到。

--------------------

電路中的上拉和下拉電阻的連接是要通過計算而得到了,根據有三:
1。驅動器件輸入電流的大小,需要在使用上拉時考慮。解決的是高電平的匹配。
2。電路速度的大小。如果傳送的數字信息速度較高,就要注意驗證線路的延遲有沒有走出信息的轉折頻率。
3。與負責端的輸入輸出電流能力有關,需要驗證能否承受。

--------------------

上拉電阻和下拉電阻之所以需要,是為了給不匹配電流介面提供額外的電流通路,具體講,驅動方輸出電流小於負載方的吸入電流時加上拉電阻,以提供額外的電流供 給;驅動方吸入電流小於負載方的灌出電流時加下拉電阻,以提供額外的電流泄放迴路;上拉電阻和下拉電阻帶來的附加效應是在介面無驅動時有一個固定電平(該特點常常被用固定口線初始及空閑時的狀態)。阻值的選取要根據流過電流小的一方的允許電流來計算,以不超過其允許值(器件手冊有)的80%為限(考慮電源波動時也不應超過其口線允許值)。

--------------------

上拉電阻取值,要考慮到吸入電流與扇出電流及信號傳送速度,在高速電路中應取小些,防止線路分布電容影響

--------------------

我覺得上拉跟下拉電阻分兩種來說,一種是必須加的,如按鍵採集,另一種就是加可以不加對電路原理的實現也沒什麼影響的,這類電阻主要作用就是增強系統的抗干擾性能,取值一般1mA左右就OK了

------------------------------------------

高阻態:

高阻態就是只有電容效應,沒有電阻效應;阻抗很高很高,相當於斷開;

----

我認為如果對於IC的輸入信號而言。高阻態是介於高電平和低電平中間的輸入電壓,IC即不能准確的把它判為0,也不能把它判為1,此時的IC輸出狀態不定(如果對IC輸入0和1時,IC的輸出信號不同的話),即可能出錯。
對IC的輸出信號而言,如果它是高阻態輸出,它就表現為一個很高的阻抗,可以把它認為是斷開狀態

----

高阻態,指的是電路的一種輸出狀態,既不是高電平也不是低電平,如果高阻態再輸入下一級電路的話,對下級電路無任何影響,和沒接一樣,如果用萬用表測的話有可能是高電平也有可能是低電平,隨它後面接的東西定。
高阻態的實質:電路分析時高阻態可做開路理解。你可以把它看作輸出(輸入)電阻非常大。他的極限可以認為懸空。也就是說理論上高阻態不是懸空,它是對地或對電源電阻極大的狀態。而實際應用上與引腳的懸空幾是一樣的。

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

若51的P0.0為高阻態,用匯編語言怎麼來表示?置1就行了

三態門,是指邏輯門的輸出除有高、低電平兩種狀態外,還有第三種狀態——高阻狀態的門電路。具備這三種狀態的器件就叫做三態(門,匯流排,......).

高電平,低電平可以由內部電路拉高和拉低。而高阻態時引腳對地電阻無窮,此時讀引腳電平時可以讀到真實的電平值。高阻態的重要作用之一就是I/O(輸入/輸出)口在輸入時讀入外部電平用。

高阻態相當於該門和它連接的電路處於斷開的狀態。(因為實際電路中你不可能去斷開它,所以設置這樣一個狀態使它處於斷開狀態)。三態門是一種擴展邏輯功能的輸出級,也是一種控制開關。主要是用於匯流排的連接,因為匯流排只允許同時只有一個使用者。通常在數據匯流排上接有多個器件,每個器件通過OE/CE之類的信號選通。如器件沒有選通的話它就處於高阻態,相當於沒有接在匯流排上,不影響其它器件的工作。

如果你的設備埠要掛在一個匯流排上,「必須通過三態緩沖器」。因為在一個匯流排上同時只能有一個埠作輸出,這時其他埠必須在高阻態,同時「可以輸入這個輸出埠的數據」。所以你還需要有匯流排控制管理, 訪問到哪個埠,那個埠的三態緩沖器才可以轉入輸出狀態,這是典型的三態門應用。 如果在線上沒有兩個以上的輸出設備, 當然用不到三態門,而線或邏輯又另當別論了。

----------------------

准雙向口和雙向口的區別

在最初的51系列單片機中

P0口:雙向8位三態I/O口

P1口:准雙向8位I/O口

P2口:准雙向8位I/O口

P3口:准雙向8位I/O口

這里特別要主要准雙向與雙向三態I/O的區別:

P1口,P2口,P3口是3個8位準雙向的I/O口,各口線在片內均有固定的上拉電阻,當這三個准雙向I/O口作輸入口使用時,要想該口先寫1,另外准雙向I/O口無高阻的「浮空」狀態。

而雙向口P0口線內無固定上拉電阻,由兩個MOS管串接,既可開漏輸出,有可處於高阻的「浮空」狀態,故稱為雙向三態I/O口。

P0口是雙向指的是它被用作地址/數據埠時,只有在這個時候,P0口才處於兩個開關管推挽狀態,當兩個開關管都關閉時,才會出現高阻狀態.
當P0口用於一般I/O口時,內部接Vcc的那個開關管是與引腳(埠)脫離聯系的,這個時候,只有拉地的那個開關管其作用,P0口作為輸出,是必須外接上拉電阻的,不然就無法輸出高電平;如果P0口作為輸入,則必須先對埠寫1,使拉地的開關管斷開,這個時候,如果不接上拉電阻,則是高阻狀態,就是一個雙向口,如果接上拉電阻,則本身輸出高電平,對輸入信號的邏輯無影響(注意是對邏輯無影響,對實際參數有無影響我不確定,但是我認為是有的).
雙向與准雙向,根本原則是雙向包含了高阻這個狀態,而不在於是否需要先寫1或者不寫,P1~P3口因為有內部上拉電阻,因此無論如何不是雙向;P0口內部無上拉電阻,在處於數據/地址功能時,自動完成3態的轉換,是雙向,處於一般I/O口時,如果不接外部上拉,而且先向埠寫了1,那麼就處於高阻狀態,此時,它也是一個人為的雙向口,這與它處於地址/數據功能時的自動雙向有區別,以及與P1~P3處於輸入時輸出鎖存器為1是有區別的。

--------------------------------------------------

浮空和高阻態的區別

懸空(浮空,floating):就是邏輯器件的輸入引腳即不接高電平,也不接低電平。由於邏輯器件的內部結構,當它輸入引腳懸空時,相當於該引腳接了高電平。一般實際運用時,引腳不建議懸空,易受干擾。

高阻態:從邏輯器件內部電路結構來說,就是其輸出電阻很大,該狀態即不是高電平,也不是低電平。當三態門處於高阻態時,無論該門的輸入如何變化,都不會對其輸出有貢獻。

---------------------------------------

線驅動(差動輸出)

線驅動器是一個源電流輸出器件。在導通狀態時,線驅動器輸出為電源(vcc);在關斷狀態時,輸出懸空。因此,線驅動器需要一個灌電流輸入介面。下面表格中給出了一個簡單的線驅動器的原理圖。

差動輸出、線性驅動輸出:就是根據rs-422a的數據輸送迴路。可通過雙股攪合線電纜進行長距離輸送。

線驅動 集電極開路 推挽式

集電極開路

集電極開路電路是灌電流輸出器件。在關斷狀態時,集電極開路輸出連到地;在導通狀態時,集電極開路輸出懸空。因此,集電極開路輸出需要一個源電流輸入介面。下面表格中給出了一個簡單的集電極開路輸出電路的原理圖。

推挽式

推挽式輸出結合了線驅動與集電極開路輸出,在關斷狀態時,推挽式輸出接地;在導通狀態時,推挽式輸出連到電源(vcc)。推挽輸出(歐姆龍稱為互補輸出)輸出迴路有2種,即npn與pnp2種晶體管輸出。根據輸出信號h或l,2種晶體管輸出互相交叉進行on或off動作,使用時,正電源,0v分別為吸合,拉下互補輸出是輸出電流流出或流入2種動作,特徵是信號的上升、下降速度快,可進行導線的長距離延長。可與開路集電極輸入機器(npn/pnp)連接,另外還可以連接到電壓輸入機器上。但是為了能更好的發揮未來的性能,一般推薦在電壓輸入機器上使用電壓輸入的編碼器。

OC門主要用於3個方面:

1、實現與或非邏輯,用做電平轉換,用做驅動器。由於OC門電路的輸出管的集電極懸空,使用時需外接一個上拉電阻Rp到電源VCC。OC門使用上拉電阻以輸出高電平,此外為了加大輸出引腳的驅動能力,上拉電阻阻值的選擇原則,從降低功耗及晶元的灌電流能力考慮應當足夠大;從確保足夠的驅動電流考慮應當足夠小。

2、線與邏輯,即兩個輸出端(包括兩個以上)直接互連就可以實現「AND」的邏輯功能。在匯流排傳輸等實際應用中需要多個門的輸出端並聯連接使用,而一般TTL門輸出端並不能直接並接使用,否則這些門的輸出管之間由於低阻抗形成很大的短路電流(灌電流),而燒壞器件。在硬體上,可用OC門或三態門(ST門)來實現。用OC門實現線與,應同時在輸出埠應加一個上拉電阻。

3、三態門(ST門)主要用在應用於多個門輸出共享數據匯流排,為避免多個門輸出同時佔用數據匯流排,這些門的使能信號(EN)中只允許有一個為有效電平(如高電平),由於三態門的輸出是推拉式的低阻輸出,且不需接上拉(負載)電阻,所以開關速度比OC門快,常用三態門作為輸出緩沖器。

Ⅳ 理解89c52單片機開發板的電路原理圖

這個圖應該很清楚了,各個功能模塊都歸納到一個方框裡面:
1、LCD1602顯示模塊介面
2、LCD12864顯示模塊介面
3、LED介面
4、蜂鳴器介面
5、ISP下載介面
6、PL2303驅動電路
7、電源電路
8、數碼管電路介面及獨立按鍵介面
9、DS18B20溫度感測器介面及紅外接收電路介面
10、CPU
11、復位電路和時鍾電路。
這個開發板缺少4*4矩陣鍵盤。

Ⅳ 89C52單片機的電源原理是什麼

89C52單片機沒有電源供電,也沒有電源模塊。

89C52內置8位中央處理單元、512位元組內部數據存儲器RAM、8k片內程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數器和5個兩級中斷結構,一個全雙工串列通信口,片內時鍾振盪電路。

此外,89C52還可工作於低功耗模式,可通過兩種軟體選擇空閑和掉電模式。在空閑模式下凍結CPU而RAM定時器、串列口和中斷系統維持其功能。掉電模式下,保存RAM數據,時鍾振盪停止,同時停止晶元內其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。


(5)89c52單片機原理圖擴展閱讀:

89C52有40個引腳,32個外部雙向輸入/輸出(I/O)埠,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串列通信口,2 個讀寫口線,AT89C52可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的 Flash存儲器可有效地降低開發成本。

89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產品的需求。

Ⅵ 求寫程序!89C52單片機,按按鍵1點亮LED,按按鍵2熄滅LED,兩個按鍵另一端是接5V,LED另一端也是接5V。

求寫程序!我的是89C52單片機,想用兩個按鍵和一個LED來實現,按下按鍵1點亮LED,按下按鍵2熄滅LED,兩個按鍵另一端是接5V,LED另一端也是接5V。最好配上原理圖。感激不盡

提醒一下:兩個按鍵另一端接5V地!!!!!

  1. 電路參考如下:


  2. 代碼參考如下:

#include<reg52.h>

sbit LED = P2^7;

#define ON 0

#define OFF 1


void main()

{

unsigned char keyVal;

while(1)

{

keyVal=P3^0xFF;

if(keyVal)

{

if(keyVal==0x02) LED=ON;

else if(keyVal == 0x20) LED=OFF;

}

}

}


3.說明一下,此按鈕不需要去抖動,原因在於每個按鈕只負責燈的一種狀態,

如果一個按鈕要負責兩個狀態的切換,就需要去抖。

希望能幫上你!!!!!!!

Ⅶ st89c52單片機最小系統電路運行原理

上電後,復位電路,令其復位。
之後,晶振電路產生時鍾脈沖,令其一步一步的取指令執行指令。

Ⅷ 急求89C52單片機的原理及引腳功能

VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時, 被定義為高阻輸入。P0能夠用於外部程序數據存儲器,它可以被定義為數據/地址的第八位。 在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部 必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口 管腳寫入1後,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流, 這是由於內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2 口被寫「1」時,其管腳被內部上拉電阻拉高,且作為輸入。並因此作為輸入時,P2口的管 腳被外部拉低,將輸出電流。這是由於內部上拉的緣故。P2口當用於外部程序存儲器或16位 地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址「1」時,它利用內 部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。 P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入「1」 後,它們被內部上拉為高電平,並用作輸入。作為輸入,由於外部下拉為低電平,P3口將輸 出電流(ILL)這是由於上拉的緣故。
P3口作為AT89C51的一些特殊功能口, 管腳 備選功能
P3.0 RXD(串列輸入口)
P3.1 TXD(串列輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數據存儲器寫選通)
P3.7 /RD(外部數據存儲器讀選通)
RST:復位輸入。當振盪器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用於鎖存地址的地位位元組。 在FLASH編程期間,此引腳用於輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出 正脈沖信號,此頻率為振盪器頻率的1/6。因此它可用作對外部輸出的脈沖或用於定時目 的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE 的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作 用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。 但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
/EA / VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序 存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程 序存儲器。在FLASH編程期間,此引腳也用於施加12V編程電源(VPP)。
XTAL1:反向振盪放大器的輸入及內部時鍾工作電路的輸入。
XTAL2:來自反向振盪器的輸出。

閱讀全文

與89c52單片機原理圖相關的資料

熱點內容
51單片機控制pwm程序 瀏覽:295
汽車壓縮機串氣可以修么 瀏覽:633
30天學會全部語法pdf 瀏覽:52
java反編譯修補bug 瀏覽:614
如何修改伺服器ftp地址 瀏覽:119
雲伺服器如何用c盤分d盤 瀏覽:597
蘋果的單片機 瀏覽:804
程序員喝麻辣燙 瀏覽:140
安卓怎麼玩微軟的游戲 瀏覽:54
安卓如何在桌面同時操作好幾個app 瀏覽:72
美國app在哪裡看 瀏覽:320
java文件內容追加 瀏覽:622
為什麼下載壓縮包會變成文檔 瀏覽:727
自我安慰程序員的話 瀏覽:369
android備份程序 瀏覽:713
建設銀行亞洲手機app哪裡下載 瀏覽:502
桌面有一個文件夾圖標變透明了 瀏覽:382
vb文件如何加密 瀏覽:238
中行選擇編譯環境 瀏覽:248
編程打左右雙引號 瀏覽:719