❶ 52單片機引腳功能
哈!你這問的好!我也就好好回你一下。你可先數數計算機可做些什麼!嘿!那就全是這些引腳或是其中部份起的作用了。OK!(你如是問的具體的那就看廠家的技術資料去,那說可全說到的了,這可不好復的了,好幾十頁的嘛)
❷ 求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單片機引腳P3.2能直接接電源嗎
不能接,你研究一下硬體構成就知道,可編程埠都是有負載電流限制的,埠通過mos管接地或者是接電源實現0和1的輸出,都需要有限流電阻限制最大電流不能損壞輸出管,如果直接接在電源上,單輸出0時,電源電流接近無窮大,流過導通接地的mos管,超過它能承受的最大電流,就把管子燒壞了,對於處理器來說,就是埠損壞了,無論處理器輸出高和低的數據,埠高低就都不變了,只能輸出1,也就失去埠功能了,簡單說就是處理器掛了。查查手冊,按照手冊要求,配置合適的限流電阻。歡迎交流
❹ AT899C52單片機是 位單片機,共幾個IO口
答:AT89C52單片機是8 位單片機,有四個並行I/O口,分別為P0、P1、P2、P3,共有32個I/O引腳。如下圖的引腳圖。
❺ 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)。
❻ 在 52 系列單片機,那個引腳 是控制使用內部程序存儲器,還是外部 程序存 儲器
小容量會擴,大容量無非是多加幾條地址線,數據線,和片選晶元線而已啊!不要學得太死了啊!比如會給8031加EPROM,那再加一塊EPROM的時候就要在8031的P1接出一個針腳來比如P11口,用來幹嘛呢?就是控制第二塊EPROM,告訴第二塊如果P11是高電平,那你就得工作了!
❼ 52單片機和51單片機引腳一樣嗎
51和52的差別並不大,主要表現在程序存儲空間和定時器系統上,外部引腳只要是同系列的肯定是一樣的,52可以直接替換51。
❽ 52單片機的t2如何定義才能用啊求高手!求詳細的定義過程!
51系列的單片機中都有兩個定時器T0和T1,網上的資料挺多的,52單片機比51單片機的資源多了一個定時器T2和128位元組的ram。定時器T2的功能比T1、T0都強大,但描述它的資料不多,可能是使用得比較少的緣故吧。它是一個16位的具有自動重裝和捕獲能力的定時/計數器,它的計數時鍾源可以是內部的機器周期,也可以是P1.0輸入的外部時鍾脈沖。T2的控制寄存器的功能描述如下:
T2CON(T2的控制寄存器),位元組地址0C8H:
符 號 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/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:
D7 D6 D5 D4 D3 D2 D1 D0
-- -- -- -- -- -- T2OE DCEN
T2OE:T2輸出允許位,當T2OE=1的時候,允許時鍾輸出到P1.0。(僅對80C54/80C58有效)
DCEN:向下計數允許位。DCEN=1是允許T2向下計數,否則向上計數。
T2的數據寄存器TH2、TL2和T0、T1的用法一樣,而捕獲寄存器RCAP2H、RCAP2L只是在捕獲方式下,產生捕獲操作時自動保存TH2、TL2的值。
以上是T2的相關寄存器的描述,其實用法上跟T0、T1是差不多的,只是功能增強了,設置的東西多了而已。
51波特率計算公式 :
如TH1=0XFD TL1=OXFD; Smod=0 Fose=11.0592*1000000
計算出來的是9600
TMOD=0X20; //定時器1工作方式2,8位自動重載
TH1=OXFD; //初值
TL1=OXFD;
PCON=0X00; //SMOD=0
TCON=0X40; //TR1=0
SCON=0X50 //,SM0=0,SM1=1,REN=1;
52波特率計算公式:
Fose/32(2(16次方)-初值)
如定義115200的波特率
SCON=0x50; // UART_mode=1,REN=1
RCAP2H=0xFF; RCAP2L=0xFD; // 11.0592MHz 115200B=0xFFFD(-3)
T2MOD=0;
T2CON=0x34; // Set T2 to baud rate register
❾ at89s52單片機晶元共有幾個引腳
傳統51/52單片機都有是40引腳DIP封裝,當然現在也有44腳PLCC封裝
❿ 蜂鳴器為什麼只能定義在52單片機的P2.3引腳
不會,一般蜂鳴器是三極體驅動連接的,跟哪個引腳是沒有關系的。其它引腳也是可以的,除了P0口因為內部沒有接上拉電阻,需要外接一個上拉外,其它都是可以的,