freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)數(shù)字時鐘的設(shè)計(jì)(編輯修改稿)

2025-01-12 09:26 本頁面
 

【文章內(nèi)容簡介】 P3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P3 端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引 腳由于內(nèi)部電阻的原因,將輸出電流( IIL)。 P3 口亦作為 AT89S52 特殊功能(第二功能)使用。在flash 編程和校驗(yàn)時, P3 口也接收一些控制信號。 RST: 復(fù)位輸入。晶振工作時, RST 腳持續(xù) 2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時完成后, RST 腳輸出 96 個晶振周期的高電平。特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此功能無效。 DISRTO 默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ALE/PROG: 地址鎖存控制信號( ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在 flash 編程時, 此引腳( PROG)也用作編程輸入脈沖。 在一般情況下, ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 11 部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時, ALE脈沖將會跳過。如果需要,通過將地址為 8EH 的 SFR 的第 0 位置 “ 1”, ALE操作將無效。這一位置 “ 1”, ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時有效。否則, ALE 將被微弱拉高。這個 ALE 使能標(biāo)志位(地址為 8EH 的 SFR 的第 0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號( PSEN)是外部程序存 儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時, PSEN在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時, PSEN 將不被激活。 EA/VPP:訪問外部程序存儲器控制信號。為使能從 0000H 到 FFFFH 的外部程序存儲器讀取指令, EA 必須接 GND。為了執(zhí)行內(nèi)部程序指令, EA 應(yīng)該接 VCC。在 flash 編程期間, EA 也接收 12 伏 VPP 電壓。 XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端 中斷 AT89S52 有 6 個中斷源:兩個外部中斷( INT0 和 INT1),三個定時中斷(定時器 0、 2)和一個串行中斷。這些中斷 如 表 2 所示 每個中斷源都可以通過置位或清除特殊寄存器 IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無 效。IE 還包括一個中斷允許總控制位 EA,它能一次禁止所有中斷。 如表 4 所示 , 位是不可用的。對于 AT89S52, 位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)?AT89 系列新產(chǎn)品預(yù)留。 表 2 P3 口第二功能 引腳號 第二功能 RXD(串行輸入) TXD(串行輸出) INT0(外部中斷 0) INT1 (外部中斷 1) T0(定時器 0外部輸入) T1(定時器 1外部輸入) WR(外部數(shù)據(jù)存儲器寫選通 ) RD(外部數(shù)據(jù)存儲器寫選通 ) 基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 12 定時器 2 可以被寄存器 T2CON 中的 TF2 和 EXF2 的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清 0。實(shí)際上,中斷服務(wù)程序必須判定是否是 TF2 或 EXF2 激活中斷,標(biāo)志位也必須由軟件清 0。 定時器 0 和定時器 1 標(biāo)志位 TF0 和 TF1 在計(jì)數(shù)溢出的那個周期的 S5P2 被置位。它們的值一直到下一個周期被 電路捕捉下來。然而,定時器 2 的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個周期的 S2P2 被置位,在同一個周期被電路捕捉下來。 表 3 中斷允許控制寄存器 (IE) (MSB) (LSB) 注 :中斷允許控制位 =1,允許中斷 中斷允許控制位 =0,禁止中斷 表 4 中斷允許控制寄存器 的詳細(xì)說明 EA ET2 ES ET1 EX1 ET0 EX0 符號 位地址 功能 EA 中斷總允許控制位 .EA= 預(yù)留 ET2 定時器 2中 斷允許控制位 ES 串行口中斷允許控制位 ET1 定時器 1中斷允許控制位 EX1 外部中斷 1允許控制位 ET0 定時器 0中斷允許控制位 EX0 外部中斷 0允許控制位 基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 13 圖 2 中斷源 單片機(jī)存儲器結(jié)構(gòu) MCS51 器件有單獨(dú)的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以 64K 尋址。 程序存儲器: 如果 EA 引腳接地,程序讀取只從外部存儲器開始。對于 89S52,如果 EA 接 VCC,程序讀寫先從內(nèi)部存儲器(地址為 0000H~ 1FFFH)開始,接著從外部尋址,尋址地址為: 2021H~FFFFH。 數(shù)據(jù)存儲器: AT89S52 有 256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高 128 字節(jié)與特殊功能寄存器重疊。也就是說高 128 字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于 7FH 的地址時,尋址方式?jīng)Q定 CPU訪問高 128字節(jié) RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器( SFR)。例如,直接尋址指令 MOV 0A0H, data 訪問 0A0H( P2 口)存儲單元,使用間接尋址方式訪問高 128 字節(jié) RAM。例如,下面的間接尋址方式中 , R0 內(nèi)容為0A0H,訪問的是地址 0A0H 的寄存器,而不是 P2 口(它的地址也是 0A0H)。MOV @R0, data 堆棧操作也是簡介尋址方式。因此,高 128 字節(jié)數(shù)據(jù) RAM也可用于堆棧空間。 單片機(jī)復(fù)位電路與時鐘電路 復(fù)位是單片機(jī)的初始化操作,只要給 RESET 引腳加上兩個機(jī)器周期以上的高電平信號,就可使 AT89S52 單片機(jī)復(fù)位。復(fù)位的主要功能是把程序計(jì)數(shù)器( PC)基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 14 初始化為 0000H,使單片機(jī)從 0000H 單元開始執(zhí)行程序,同時復(fù)位操作還對一些寄存器有影響。 AT89S52 的復(fù)位是由外部的復(fù)位電路來實(shí) 現(xiàn)的,復(fù)位電路分為上電復(fù)位和按鍵復(fù)位兩種方式。其電路 圖 3 所示 . 圖 3 復(fù)位電路 單片機(jī)的時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常見的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。本系統(tǒng)選用內(nèi)部時鐘方式, AT89S52 內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器, AT89S52 時鐘電路如 圖 4 所示。電路中的電容的取值通常在20pF~ 30pF 之間,對外接電容的值沒有嚴(yán)格的要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。由于單片機(jī)要進(jìn)行串行通信,為了獲得準(zhǔn)確的波特率,選擇晶振的頻率為 12MHz。 圖 4 時鐘電路 看門狗定時器 WDT 是一種需要軟件控制的復(fù)位方式。 WDT 由 13 位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時器復(fù)位存儲器( WDTRST)構(gòu)成。 WDT 在默認(rèn)情況下無法工作;為了激活 WDT,戶用必須往 WDTRST 寄存器(地址: 0A6H)中依次寫入 01EH 和 0E1H。當(dāng) WDT 激活后,晶振工作, WDT 在每個機(jī)器周期都會增加。WDT 計(jì)時周期依賴于外部時鐘頻率。除了復(fù)位(硬件復(fù)位或 WDT 溢出復(fù)位),基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 15 沒有辦法停止 WDT 工作。當(dāng) WDT 溢出,它將驅(qū)動 RSR 引腳一個高個電平輸出。 為了激活 WDT,用戶必須向 WDTRST 寄存器(地址為 0A6H 的 SFR)依次寫 入 01EH和 0E1H。當(dāng) WDT 激活后,用戶必須向 WDTRST 寫入 01EH和 0E1H喂狗來避 WDT 溢出。當(dāng)計(jì)數(shù)達(dá)到 8191(1FFFH)時, 13 位計(jì)數(shù)器將會溢出,這將會復(fù)位器件。晶振正常工作、 WDT 激活后,每一個機(jī)器 周期 WDT 都會增加。為了復(fù)位 WDT,用戶必須向 WDTRST 寫入 01EH 和 0E1H( WDTRST 是只讀寄存器)。 WDT 計(jì)數(shù)器不能讀或?qū)?。?dāng) WDT 計(jì)數(shù)器溢出時,將給 RST 引腳產(chǎn)生一個復(fù)位脈沖輸出,這個復(fù)位脈沖持續(xù) 96 個晶振周期( TOSC),其中TOSC=1/FOSC。為了很好地使用 WDT,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免 WDT 復(fù)位。 在掉電模式下,晶振停止工作,這意味這 WDT 也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個激活的外部中斷。通過硬件 復(fù)位退出掉電模式后,用戶就應(yīng)該給 WDT 喂狗,就如同通AT89S52 復(fù)位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止 WDT 在中斷保持低電平的時候復(fù)位器件, WDT 直到中斷拉低后才開始工作。這就意味著 WDT 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開掉電模式最初的幾個狀態(tài) WDT 不被溢出,最好在進(jìn)入掉電模式前就復(fù)位 WDT。在進(jìn)入待機(jī)模式前,特殊寄存器 AUXR 的 WDIDLE 位用來決定 WDT 是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下, WDIDLE= 0, WDT 繼續(xù)計(jì)數(shù)。為了防止 WDT 在待機(jī)模式下復(fù)位 AT89S52,用戶應(yīng)該建立一個定時器,定時離開待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。 DS1302 的原理及應(yīng)用 DS1302 的結(jié)構(gòu)及工作原理 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計(jì)時,具有閏年補(bǔ)償功能,工作電壓為 ~ 。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM 數(shù)據(jù)。 DS1302 內(nèi)部 有一個 318 的用于臨時性存放數(shù)據(jù)的 RAM 寄存器。 DS1302 是 DS1202 的升級產(chǎn)品,與 DS1202基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 16 兼容,但增加了主電源 /后背電源雙電源引腳,同時提供了對后背電源進(jìn)行涓細(xì)電流充電的能力 引腳功能及結(jié)構(gòu) 圖 4 為 DS1302 的引腳排列 ,其中 Vcc2 為后備電源, Vcc1 為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc1 大于 Vcc2+ , Vcc1 給 DS1302 供電。當(dāng) Vcc1 小于Vcc2 時, DS1302 由 Vcc2 供電。 X1 和 X2 是振蕩源,外接 晶振。 RST是復(fù)位 /片選線,通過把 RST 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) RST 為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對 DS1302 進(jìn)行操作。如果在傳送過程中 RST 置為低電平,則會終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc≥, RST 必須保持低電平。只有在 SCLK 為低電平時,才能將 RST置為高電平。 I/O 為 串行數(shù)據(jù)輸入輸出端 (雙向 ), DS1302 的引腳及內(nèi)部結(jié)構(gòu)如 圖 4 所示,引腳功能 如表 5 所 示 圖 4 DS1302 管腳圖及內(nèi)部結(jié)構(gòu)圖 基于單片機(jī)數(shù)字時鐘的設(shè)計(jì) 17 表 5 DS1302 引腳功能表 DS1302 的控制字節(jié) DS1302 的控制 字如 表 6 所示??刂谱止?jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6 如果為 0,則表示存取日歷時鐘數(shù)據(jù),為 1 表示存取 RAM數(shù)據(jù) 。位 5 至位 1 指示操作單元的地址 。最低有效位 (位0)如為 0 表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出 表 6 DS1302 的控制字節(jié) 1 RAM CK_
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1