【正文】
模式 1和模式 3的波特率由定時器 2濱州學(xué)院本 科畢業(yè)設(shè)計 (外文翻譯 ) 8 溢出速率決定,具體如下公式: 21 3 = 16定 時 器 溢 出 率模 式 和 模 式 波 特 。如圖 8 所示,設(shè)置 RCLK 和(或) TCLK 可以使定時器 2 工作于波特率產(chǎn)生模式。 通過設(shè)置 T2CON中的 TCLK或 RCLK可選擇定時器 2 作為波特率發(fā)生器。定時器 2上溢或下溢,外部中斷標(biāo)志位 EXF2 被鎖死。當(dāng) TH2 和 TL2 分別等于 RCAP2H 和RCAP2L中的值的時候,計數(shù)器下溢。定時器的溢出也使得 RCAP2H和 RCAP2L中的 16位值分別加載到定時器存儲器 TH2和 TL2中。 T2EX上的一個邏輯 1使得定時器 2向上計數(shù)。置位 DCEN,允許定時器 2向上或向下計數(shù)。如果 EXEN2=1,計數(shù)溢出或在外部 T2EX( )引腳上的 1到 0的下跳變都會觸發(fā) 16位重載。計數(shù)溢出也使得定時器寄存器重新從 RCAP2H 和RCAP2L 中加載 16 位值。通過 T2CON 中的 EXEN2 位可以選擇兩種方式。 DCEN 設(shè)置后,定時器 2就可以取決于 T2EX向上、向下計數(shù)。這一功能可以通過特殊寄存器 T2MOD(見表 4)中的 DCEN(向下計數(shù)允許位)來實現(xiàn)。像 TF2 一樣, T2EX 也會引起中斷。除上述功能外,外部輸入 T2EX引腳( ) 1至 0的下跳變也會使得 TH2和 TL2中的值分別捕捉到 RCAP2H和 RCAP2L中。如果 EXEN2=0,定時器 2時 一個 16位定時 /計數(shù)器,溢出時,對 T2CON 的 TF2標(biāo)志置位, TF2引起中斷。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個完整的機器周期內(nèi)保持不變。在檢測到跳變的這個周期的 S3P1 期間,新的計數(shù)值出現(xiàn)在寄存器中。在這種方式下,每個機器周期的 S5P2期間采樣外部輸入。由于一個機器周期由 12 個晶振周期構(gòu)成,因此,計數(shù)頻率就是晶振頻率的 1/12。定時器 2 有 2 個 8位寄存器: TH2和 TL2。定 時器 2有三種工作模式:捕捉方式、自動重載(向下或向上計數(shù))和波特率發(fā)生器。 2 定時器 2是一個 16位定時 /計數(shù)器,它既可以做定時器,又可以做事件計數(shù)器。為了獲得更深入的關(guān)于 UART 的信息。從這個主頁,選擇“ Products”,然后選擇“ 8051Architech Flash Microcontroller”,再選擇“ ProductOverview”即可。 在 AT89S52 中, UART 的操作與 AT89C51 和 AT89C52 一樣。默認(rèn)狀 態(tài)下,在待機模式下, WDIDLE= 0, WDT繼續(xù)計數(shù)。為了確保在離開掉電模式最初的幾個狀態(tài) WDT不被溢出,最好在進入掉電模式前就復(fù) WDT。為了防止 WDT在中斷保持低電平的時候復(fù)位器件, WDT 直到中斷拉低后才開始工作。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給 WDT 喂狗,就如同通常 AT89S52 復(fù)位一樣。在這種方式下,用戶不必喂狗。為了很好地使用 WDT,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免 WDT復(fù)位。 WDT 計數(shù)器不能讀或?qū)?。晶振正常工作、WDT激活后,每一個機器周期 WDT 都會增加。當(dāng) WDT激活后,用戶必須向 WDTRST寫入 01EH和 0E1H喂狗來避免 WDT溢出。當(dāng) WDT溢出,它將驅(qū)動 RSR引腳一個高個電平輸出。 WDT計時周期依賴于外部時鐘頻率。 WDT 在默認(rèn)情況下無法工作;為了激活 WDT,戶用必須往 WDTRST 寄存器(地址: 0A6H)中依次寫入 01EH 和0E1H。 WDT是一種需要軟件控制的復(fù)位方式。 MOV R0 , data 堆棧操作也是簡介尋址方式。例如,下面的直接尋址指令訪問 0A0H( P2口)存儲單元 MOV 0A0H , data 使用間接尋址方式訪問高 128 字節(jié) RAM。當(dāng)一條指令訪問高于 7FH 的地址時,尋址方式?jīng)Q定 CPU 訪問高 128 字節(jié) RAM 還是特殊功能寄存器空間。高 128 字節(jié)與特殊功能寄存器重疊。對于 89S52,如果 EA 接 VCC,程序讀寫先從內(nèi)部存儲器(地址為 0000H~ 1FFFH)開始,接著從外部尋址,尋址地址為: 2021H~FFFFH。外部程序存儲器和數(shù)據(jù)存儲器都可以 64K尋址。 XTAL2: 振蕩器反相放大器的輸出端。在 flash編程期間, EA 也接收 12伏 VPP電壓。為使能從 0000H 到 FFFFH的外部程序存儲器讀取指令, EA 必須接 GND。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時, PSEN 在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時, PSEN 將不被激活。這個 ALE 使能標(biāo)志位(地址為 8EH的 SFR的第 0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。這一位置 “ 1” ,ALE 僅在執(zhí)行 MOVX 或 MOVC指令時有效。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時, ALE脈沖將會跳過。在 flash編程時,此引腳 (PROG )也用作編程輸入脈沖。 DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效??撮T狗計時完成后, RST 腳輸出 96 個晶振周期的高電平。 表 2 引腳號 第二功能 RXD(串行輸入) 濱州 學(xué)院 本 科畢業(yè)設(shè)計 (外文翻譯 ) 3 TXD(串行輸出) INT0 (外部中斷 0) INT1 (外部中斷 1) T0(定時器 0外部輸入) T1定時器 1外部輸入) WR (外部數(shù)據(jù)存儲器寫選通 ) RD (外部數(shù)據(jù)存儲器寫選通 ) RST: 復(fù)位輸入。 P3口亦作為 AT89S52特殊功能(第二功能)使用,如下表所示。對 P3 端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。在 flash編程和校驗時, P2口也接收高 8位地址字 節(jié)和一些控制信號。在這種應(yīng)用中, P2 口使用很強的內(nèi)部上拉發(fā)送 1。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電( IIL)。 表 1 引腳號 第二功能 T2(定時器 /計數(shù)器 T2的外部計數(shù)輸入),時鐘輸出 T2EX(定時器 /計數(shù)器 T2的捕捉 /重載觸發(fā)信號和方向控制) MOSI(在系統(tǒng)編程用) MISO(在系統(tǒng)編程用) SCK(在系統(tǒng)編程用) P2口: P2 口是一個具有內(nèi)部上拉電 阻的 8 位雙向 I/O 口, P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。此外, 和 分別作定時器 /計數(shù)器 2 的外部計數(shù)輸入( )和時器 /計數(shù)器 2的觸發(fā)輸入( ),具體如下表所示。對 P1 端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。程序校驗 時,需要外部上拉電阻。在這種模式下, P0 具有內(nèi)部上拉電阻。對 P0 端口寫“ 1”時,引腳用作高阻抗輸入。 VCC :電源 GND: 接地 P0 口 : P0 口是一個 8 位漏極開路的雙向 I/O 口??臻e模式下, CPU 停止工作,允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。 AT89S52 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié) Flash, 256 字節(jié) RAM, 32 位 I/O 口線,看門狗定時器, 2 個數(shù)據(jù)指針,三個16 位定時器 /計數(shù)器,一個 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。 畢業(yè)設(shè)計( 外文翻譯 ) 題 目 系 (院) 專 業(yè) 學(xué)生姓名 學(xué) 號 指導(dǎo)教師 職 稱 2021 年 6 月 15 日 濱州 學(xué)院 本 科畢業(yè)設(shè)計 (外文翻譯 ) 1 AT89S52 The AT89S52 is a lowpower, highperformance CMOS 8bit microcontroller with 8K bytes of insystem programmable Flash memory. The device is manufactured using Atmel’s highdensity nonvolatile memory technology and is patible with the industrystandard 80C51 instruction set and pinout. The onchip Flash allows the program memory to be reprogrammed insystem or by a conventional nonvolatile memory programmer. By bining a versatile 8bit CPU with insystem programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful microcontroller which provides a highlyflexible and costeffective solution to many embedded control applications. The AT89S52 provides the following standard features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16bit timer/counters, a sixvector twolevel interrupt architecture, a full duplex serial port, onchip oscillator, and clock circuitry. In addition, the AT89S52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Powerdown mode saves the RAM contents but freezes the oscillator, disabling all other chip functions until the next interrupt or hardware reset. 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 pullups and can be used as inputs. As inputs, Port 1 pins that are e