① AT899C52單片機是 位單片機,共幾個IO口
答:AT89C52單片機是8 位單片機,有四個並行I/O口,分別為P0、P1、P2、P3,共有32個I/O引腳。如下圖的引腳圖。
② 單片機AT89S52的p0,p1,p3管腳都有什麼用
P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0埠寫「1」時,引腳用作高阻抗輸入。
當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。
在flash編程時,P0口也用來接收指令位元組;在程序校驗時,輸出指令位元組。程序校驗時,需要外部上拉電阻。
P1口:P1口是一個具有內部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅動4個TTL邏輯電平。對P1埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(IIL)。
此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2的觸發輸入(P1.1/T2EX),具體如下表所示。
在flash編程和校驗時,P1口接收低8位地址位元組。
P2口:P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(IIL)。
在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX
@DPTR)時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發送1。在使用8位地址(如MOVX
@RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。
在flash編程和校驗時,P2口也接收高8位地址位元組和一些控制信號。
P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅動4個TTL邏輯電平。對P3埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(IIL)。
P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。
在flash編程和校驗時,P3口也接收一些控制信號。
③ 在 52 系列單片機,那個引腳 是控制使用內部程序存儲器,還是外部 程序存 儲器
小容量會擴,大容量無非是多加幾條地址線,數據線,和片選晶元線而已啊!不要學得太死了啊!比如會給8031加EPROM,那再加一塊EPROM的時候就要在8031的P1接出一個針腳來比如P11口,用來幹嘛呢?就是控制第二塊EPROM,告訴第二塊如果P11是高電平,那你就得工作了!
④ 89S52單片機每個引腳的驅動能力
① P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低位元組地址和數據匯流排,P0口能以吸收電流的方式驅動八個LSTTL負載。② P1口(P1.0 - P1.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。。③ P2口(P2.0 - P2.7)是一個帶有內部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅動(吸收或輸出電流)四個LSTTL負載。④ P3口(P3.0 - P3.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載
⑤ 52單片機引腳P3.2能直接接電源嗎
不能接,你研究一下硬體構成就知道,可編程埠都是有負載電流限制的,埠通過mos管接地或者是接電源實現0和1的輸出,都需要有限流電阻限制最大電流不能損壞輸出管,如果直接接在電源上,單輸出0時,電源電流接近無窮大,流過導通接地的mos管,超過它能承受的最大電流,就把管子燒壞了,對於處理器來說,就是埠損壞了,無論處理器輸出高和低的數據,埠高低就都不變了,只能輸出1,也就失去埠功能了,簡單說就是處理器掛了。查查手冊,按照手冊要求,配置合適的限流電阻。歡迎交流
⑥ 求STC89C52單片機的詳細資料包括引腳功能,存儲器等等的詳細介紹,越詳細越好,謝謝
stc89c52具有以下標准功能: 8k位元組flash,256位元組ram, 32 位i/o 口線,看門狗定時器,2 個數據指針,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串列口,片內晶振及時鍾電路。另外,stc89c52可降至0hz靜態邏輯操作,支持2種軟體可選擇節電模式。空閑模式下,cpu 停止工作,允許ram、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,ram內容被保存,振盪器被凍結,單片機一切工作停止,直到下一個中斷或硬體復位為止。8 位微控制器 8k位元組在系統可編程 flash
p0 口:p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅動8個ttl邏輯電平。對p0埠寫「1」時,引腳用作高阻抗輸入。
當訪問外部程序和數據存儲器時,p0口也被作為低8位地址/數據復用。在這種模式下, p0具有內部上拉電阻。
在flash編程時,p0口也用來接收指令位元組;在程序校驗時,輸出指令位元組。程序校驗時,需要外部上拉電阻。
p1 口:p1 口是一個具有內部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅動4 個 ttl 邏輯電平。對p1 埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(iil)。
此外,p1.0和p1.2分別作定時器/計數器2的外部計數輸入(p1.0/t2)和時器/計數器2 的觸發輸入(p1.1/t2ex),具體如下表所示。 在flash編程和校驗時,p1口接收低8位地址位元組。
引腳號第二功能
p1.0 t2(定時器/計數器t2的外部計數輸入),時鍾輸出
p1.1 t2ex(定時器/計數器t2的捕捉/重載觸發信號和方向控制)
p1.5 mosi(在線系統編程用)
p1.6 miso(在線系統編程用)
p1.7 sck(在線系統編程用)
p2 口:p2 口是一個具有內部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅動4 個 ttl 邏輯電平。對p2 埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(iil)。
在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行movx @dptr) 時,p2 口送出高八位地址。在這種應用中,p2 口使用很強的內部上拉發送1。在使用 8位地址(如movx @ri)訪問外部數據存儲器時,p2口輸出p2鎖存器的內容。在flash編程和校驗時,p2口也接收高8位地址位元組和一些控制信號。
p3 口:p3 口是一個具有內部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅動4 個 ttl 邏輯電平。對p3 埠寫「1」時,內部上拉電阻把埠拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由於內部電阻的原因,將輸出電流(iil)。 p3口亦作為stc89c52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,p3口也接收一些控制信號。
埠引腳 第二功能
p3.0 rxd(串列輸入口)
p3.1 txd(串列輸出口)
p3.2 into(外中斷0)
p3.3 int1(外中斷1)
p3.4 to(定時/計數器0)
p3.5 t1(定時/計數器1)
p3.6 wr(外部數據存儲器寫選通)
p3.7 rd(外部數據存儲器讀選通)
此外,p3口還接收一些用於flash快閃記憶體編程和程序校驗的控制信號。
rst——復位輸入。當振盪器工作時,rst引腳出現兩個機器周期以上高電平將是單片機復位。
ale/prog——當訪問外部程序存儲器或數據存儲器時,ale(地址鎖存允許)輸出脈沖用於鎖存地址的低8位位元組。一般情況下,ale仍以時鍾振盪頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鍾或用於定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ale脈沖。
對flash存儲器編程期間,該引腳還用於輸入編程脈沖(prog)。
如有必要,可通過對特殊功能寄存器(sfr)區中的8eh單元的d0位置位,可禁止ale操作。該位置位後,只有一條movx和movc指令才能將ale激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ale禁止位無效。
psen——程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當stc89c52由外部程序存儲器取指令(或數據)時,每個機器周期兩次psen有效,即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將跳過兩次psen信號。
ea/vpp——外部訪問允許,欲使cpu僅訪問外部程序存儲器(地址為0000h-ffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復位時內部會鎖存ea端狀態。
如ea端為高電平(接vcc端),cpu則執行內部程序存儲器的指令。
flash存儲器編程時,該引腳加上+12v的編程允許電源vpp,當然這必須是該器件是使用12v編程電壓vpp。
⑦ 52單片機定時器2,T2口怎麼用
T2CON(T2的控制寄存器),位元組地址0C8H:
位地址
符號TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RT2
各位的定義如下:
TF2:定時/計數器2溢出標志,T2溢出時置位,並申請中斷。只能用軟體清除,但T2作為波特率發生器使用的時候,(即RCLK=1或TCLK=1),T2溢出時不對TF2置位。
EXF2:當EXEN2=1時,且T2EX引腳(P1.0)出現負跳變而造成T2的捕獲或重裝的時候,EXF2置位並申請中斷。EXF2也是只能通過軟體來清除的。
RCLK:串列接收時鍾標志,只能通過軟體的置位或清除;用來選擇T1(RCLK=0)還是T2(RCLK=1)來作為串列接收的波特率產生器
TCLK:串列發送時鍾標志,只能通過軟體的置位或清除;用來選擇T1(TCLK=0)還是T2(TCLK=1)來作為串列發送的波特率產生器
EXEN2:T2的外部允許標志,只能通過軟體的置位或清除;EXEN2=0:禁止外部時鍾觸發T2;EXEN2=1:當T2未用作串列波特率發生器時,允許外部時鍾觸發T2,當T2EX引腳輸入一個負跳變的時候,將引起T2的捕獲或重裝,並置位EXF2,申請中斷。
TR2:T2的啟動控制標志;TR2=0:停止T2;TR2=1:啟動T2
C/T2:T2的定時方式或計數方式選擇位。只能通過軟體的置位或清除;C/T2=0:選擇T2為定時器方式;C/T2=1:選擇T2為計數器方式,下降沿觸發。
CP/RT2:捕獲/重裝載標志,只能通過軟體的置位或清除。CP/RT2=0時,選擇重裝載方式,這時若T2溢出(EXEN2=0時)或者T2EX引腳(P1.0)出現負跳變(EXEN2=1時),將會引起T2重裝載;CP/RT2=1時,選擇捕獲方式,這時若T2EX引腳(P1.0)出現負跳變(EXEN2=1時),將會引起T2捕獲操作。但是如果RCLK=1或TCLK=1時,CP/RT2控制位不起作用的,被強制工作於定時器溢出自動重裝載模式。
T2MOD(方式寄存器),位元組地址0C9H:
D7D6D5D4D3D2D1D0
------------T2OEDCEN
T2OE:T2輸出允許位,當T2OE=1的時候,允許時鍾輸出到P1.0。(僅對80C54/80C58有效)
DCEN:向下計數允許位。DCEN=1是允許T2向下計數,否則向上計數。
T2的數據寄存器TH2、TL2和T0、T1的用法一樣,而捕獲寄存器RCAP2H、RCAP2L只是在捕獲方式下,產生捕獲操作時自動保存TH2、TL2的值。
以上是T2的相關寄存器的描述,其實用法上跟T0、T1是差不多的,只是功能增強了,設置的東西多了而已。
定時/計數器2其實用到最多的就是T2CON這個寄存器啦,它設定的定時和計數的方式。有三種工作方式,捕獲,自動重裝,波特率發生器。下面我是在網路裡面找的少許資料:
捕獲方式:
在捕獲方式下,通過T2CON控制位EXEN2來選擇兩種方式。如果EXEN2=0,定時器2是一個16位定時器或計數器,計數溢出時,對T2CON的溢出標志TF2置位,同時激活中斷。如果EXEN2=1,定時器2完成相同的操作,而當T2EX引腳外部輸入信號發生1至0負跳變時,也出現TH2和TL2中的值分別被捕獲到RCAP2H和RCAP2L中。另外,T2EX引腳信號的跳變使得T2CON中的EXF2置位,與TF2相仿,EXF2也會激活中斷。捕獲方式如圖4所示。
自動重裝載(向上或向下計數器)方式:
當定時器2工作於16位自動重裝載方式時,能對其編程為向上或向下計數方式,這個功能可通過特殊功能寄存器T2CON(見表5)的DCEN位(允許向下計數)來選擇的。復位時,DCEN位置「0」,定時器2默認設置為向上計數。當DCEN置位時,定時器2既可向上計數也可向下計數,這取決於T2EX引腳的值,參見圖5,當DCEN=0時,定時器2自動設置為向上計數,在這種方式下,T2CON中的EXEN2控制位有兩種選擇,若EXEN2=0,定時器2為向上計數至0FFFFH溢出,置位TF2激活中斷,同時把16位計數寄存器RCAP2H和RCAP2L重裝載,RCAP2H和RCAP2L的值可由軟體預置。若EXEN2=1,定時器2的16位重裝載由溢出或外部輸入端T2EX從1至0的下降沿觸發。這個脈沖使EXF2置位,如果中斷允許,同樣產生中斷。
定時器2的中斷入口地址是:002BH——0032H。
當DCEN=1時,允許定時器2向上或向下計數,如圖6所示。這種方式下,T2EX引腳控制計數器方向。T2EX引腳為邏輯「1」時,定時器向上計數,當計數0FFFFH向上溢出時,置位TF2,同時把16位計數寄存器RCAP2H和RCAP2L重裝載到TH2和TL2中。T2EX引腳為邏輯「0」時,定時器2向下計數,當TH2和TL2中的數值等於RCAP2H和RCAP2L中的值時,計數溢出,置位TF2,同時將0FFFFH數值重新裝入定時寄存器中。
當定時/計數器2向上溢出或向下溢出時,置位EXF2位。
波特率發生器:
當T2CON(表3)中的TCLK和RCLK置位時,定時/計數器2作為波特率發生器使用。如果定時/計數器2作為發送器或接收器,其發送和接收的波特率可以是不同的,定時器1用於其它功能,如圖7所示。若RCLK和TCLK置位,則定時器2工作於波特率發生器方式。
波特率發生器的方式與自動重裝載方式相仿,在此方式下,TH2翻轉使定時器2的寄存器用RCAP2H和RCAP2L中的16位數值重新裝載,該數值由軟體設置。
在方式1和方式3中,波特率由定時器2的溢出速率根據下式確定:
方式1和3的波特率=定時器的溢出率/16
定時器既能工作於定時方式也能工作於計數方式,在大多數的應用中,是工作在定時方式(C/T2=0)。定時器2作為波特率發生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機器周期(1/12振盪頻率)寄存器的值加1,而作為波特率發生器使用時,在每個狀態時間(1/2振盪頻率)寄存器的值加1。波特率的計算公式如下:
方式1和3的波特率=振盪頻率/{32*[65536-(RCP2H,RCP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位無符號數。
定時器2作為波特率發生器使用的電路如圖7所示。T2CON中的RCLK或TCLK=1時,波特率工作方式才有效。在波特率發生器工作方式中,TH2翻轉不能使TF2置位,故而不產生中斷。但若EXEN2置位,且T2EX端產生由1至0的負跳變,則會使EXF2置位,此時並不能將(RCAP2H,RCAP2L)的內容重新裝入TH2和TL2中。所以,當定時器2作為波特率發生器使用時,T2EX可作為附加的外部中斷源來使用。需要注意的是,當定時器2工作於波特率器時,作為定時器運行(TR2=1)時,並不能訪問TH2和TL2。因為此時每個狀態時間定時器都會加1,對其讀寫將得到一個不確定的數值。
然而,對RCAP2則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或RCAP2寄存器之前,應將定時器關閉(清除TR2)。
⑧ 急求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:來自反向振盪器的輸出。