【正文】
特性 XTAL1 和 XTAL2 分別是 一種作為單片的振蕩器的反相 放大器的輸入、輸出端。 特別注意, 位是 未生效 的。因此,當(dāng) 定時器 2 作為波特率發(fā)生器 時 , T2EX 也還可以作為一個額外的外部中斷。在多數(shù)應(yīng)用情況下,一般配置成定時方式( CP/T2 =0)。 該下溢 置位 TF2,并 引起 0FFFFH被重載 到定時器存儲器中。 如果允許,置位 TF2 和 EXF2 都會引起中斷。 DCEN 設(shè)置后,定時器2 就可以 依靠 T2EX 引腳的值 向上 或 向下計數(shù)。如果 EXEN2=0,定時器 2 是一個 16 位定時 器或 計數(shù)器 ,溢出時 對 T2CON 的 TF2 標(biāo)志置位 。由于一個機(jī)器周期由 12 個 振蕩 周期構(gòu)成, 所以 計數(shù)頻率就是 振蕩 頻率的 1/12。 在 AT89S52 中 UART 的操作與 AT89C51 和 AT89C52 一樣。 (一次性激活重置) WDT 是一種需要軟件控制的復(fù)位方式。高 128 字節(jié) 占用與特殊功能寄存器相似的地址空間 。在 Flash 編程期間, EA 引腳 也接收 12 伏 可供編程 電壓。 經(jīng)過 該位設(shè)置 , ALE 僅在 MOVX 或 MOVC 指令時 起作用 。看門狗 終止 后, 引 腳輸出 98 個 振蕩 周期的高電平。 P3 口: P3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口。 引腳號 第二功能 T2(定時器 /計數(shù)器 T2 的外部計數(shù)輸入 ) ,時鐘輸出 T2EX(定時器 /計數(shù)器 T2 的捕捉 /重載觸發(fā)信號和方向控制) MOSI(用于系統(tǒng)編程 ) MISO(用于系統(tǒng)編程 ) SCK(用于系統(tǒng)編程 ) P2 口: P2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口。在 Flash 編程時, P0 口也 接收 編碼字節(jié);在程序校驗(yàn)時,輸出編 碼字節(jié)。 當(dāng) 對 P0 端口寫“ 1”時,引腳 可被 用 于 高阻抗輸入。 用作輸入 時,被外部拉低的 P1 引腳由于內(nèi)部 上拉 電阻的原因,將輸出電流( IIL)。在這種應(yīng)用中, 發(fā)送 1 時 P2 口使用很強(qiáng)的內(nèi)部上拉 電阻 。 P3 口 也提供一些AT89S52 的特別功能,如下表所示。在一般情況下, ALE 以六分之一的固定 振蕩器頻率輸出 , 且 可用來作為外部定時器或時鐘 作用 。 EA /VPP: 可供外部檢查。 程序存儲器 如果 EA 引腳接地, 所有 程序 都 從外部存儲器 取出 。 MOV 0A0H , data 使用間接尋址方式訪問高 128 字節(jié) RAM 的說明 。 WDT 停止時刻 依賴于外部時鐘頻率。工作模式由T2CON 中的位選擇 ,如 表 61 所示 。因?yàn)樽R別1 至 0 的跳變 必須 2 個機(jī)器周期( 24 個 振蕩 周期),所以最大的技術(shù)頻率不高于振蕩 頻率的 1/24。 自動重載 (向上或向下計數(shù)) 當(dāng) 設(shè)置 于 16 位自動重載模式 下 , 定時器 2 可 對其編程實(shí)現(xiàn)向上 或向下計數(shù)。定時器工作于捕捉模式 時, RCAP2H和 RCAP2L 的值可以由軟件預(yù)設(shè)。 該 溢出也使得 RCAP2H 和 RCAP2L 中的 16 位值分別 重載 到定時器存儲器 TH2 和 TL2中。設(shè)置 RCLK 和(或) TCLK 可以使定時器 2 工作于波特率 發(fā)生器 模式。 11 該計算僅在 T2CON 中的 RCLK 或 TCLK=1 時成立。 AT89S52 總共 有 6 個中斷源:兩個外部中斷( INT0 和 INT1 ),三個定時中斷(定時器 0、 2)和一個串行 端口 中斷。定時器 0 和定時器 1 的 標(biāo)志位 TF0 和 TF1, 在計數(shù)溢出的那個周期的 S5P2 被置位。 因?yàn)閮?nèi)部時鐘電路的輸入是通過二分頻形成的,所以不需要外部時鐘信號占空比的調(diào)整需要量,但是最小和最大電壓高電平和低電平持續(xù)時間說明必須留心。 當(dāng) 服務(wù)程序啟動后 , 這些標(biāo)志位都可以由硬件清0。寄存器 RCAP2 可以讀 但不能寫,因?yàn)閷懣赡芎椭剌d 重疊 , 并 造成寫和(或) 重載錯誤。 然而,作為波特率發(fā)生器,它在每一 狀態(tài) 時間 ( 1/2 振蕩 周期)都會增加。 通過設(shè)置 T2CON 中的 TCLK 和( 或 ) RCLK 可選擇定時器 2 作為波特率發(fā)生器。 T2EX 上的一個邏輯 1 使得定時器 2 向上計數(shù)。如果 EXEN2=0,定時器 2 向上 計數(shù)到 0FFFFH 后置位 TF2 溢出。除 此之外, T2EX 的跳變會引起 T2CON 中的 EXF2 置位。 當(dāng)采樣顯示 一個機(jī)器周期采樣到高電平,而下一個周期采樣到低電平,計數(shù)器將 增長 。其工作方式由特殊寄存器 T2CON 中的 C/T2 位選擇。 為了 使 WDT 工作 ,用戶必須往 WDTRST 寄存器( SFR 地址 為 0A6H)中依次寫入 01EH 和 0E1H。直接尋址方式訪問 特殊功能寄存器 空間的說明 。 MCS51 設(shè)備 有單獨(dú)的 程序和數(shù)據(jù)存儲器 地址空間。 PSEN : 允許程序存儲器 ( PSEN ) 是外部程序存儲器的讀選通 。 ALE/ PROG : 地址鎖存 器選通 ( ALE)是訪問外部 存儲器時,鎖存低位地址的輸出脈沖 。 用作輸入 時,被外部拉低的 P3 引腳由于內(nèi)部 上拉 電阻的原因,將 輸出電流( IIL)。 用作輸入 時,被外部拉低的 P2 引腳由于內(nèi)部 上拉 電阻的原因,將輸出電流( IIL)。 P1 輸出緩沖器能驅(qū)動 4 個 TTL 輸入 。 1 外文文獻(xiàn)及翻譯 A brief introduction of AT89S52 Description VCC: Supply voltage. GND: Ground. Port 0: Port 0 is an 8bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as highimpedance inputs. Port 0 can also be configured to be the multiplexed loworder address/data bus during accesses to external program and data memory. In this mode, P0 has internal pullups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pullups are required during program verification. Port 1: Port 1 is an 8bit bidirectional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pulledups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups. In addition, and can be configured to be the timer/counter 2 external count input () and the timer/counter 2 trigger input (), respectively, as shown in the following table. Port 1 also receives the loworder address bytes during Flash programming and verification. Port Pin Alternate Functions T2 (external count input to Timer/Counter 2), clockout T2EX (Timer/Counter 2 capture/reload trigger and direction control) MOSI (used for InSystem Programming) MISO (used for InSystem Programming) SCK (used for InSystem Programming) Port 2: Port 2 is an 8bit bidirectional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) Because of the internal pullups. Port 2 emits the highorder address byte during fetches from external program memory and during accesses to external