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

正文內(nèi)容

畢業(yè)設(shè)計(jì)_基于ds1302的電子萬年歷設(shè)計(jì)(編輯修改稿)

2025-01-06 18:51 本頁面
 

【文章內(nèi)容簡介】 0”,方可接受新的命令。如果在送出一個(gè)指令前不檢查 BF標(biāo)志,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長的時(shí)間,即等待前一個(gè)指令確定執(zhí)行完成。系統(tǒng)開機(jī)后,自動(dòng)進(jìn)入時(shí)鐘狀態(tài)顯示,畫面如圖 。 圖 時(shí)鐘狀態(tài)顯示畫面 AT89C51 單片機(jī)電路設(shè)計(jì) AT89C51 簡介 AT89C51是一個(gè)低功耗,高性能 CMOS 8位單片機(jī),片內(nèi)含 4k Bytes ISP(Insystem programmable)的可反復(fù)擦寫 1000次的 Flash只讀程序存儲(chǔ)器,器件采用 ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) MCS51指令系統(tǒng)及 80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8位中央處理器和 ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89C51具有如下特點(diǎn): 40個(gè)引腳, 4k Bytes Flash片內(nèi)程序存儲(chǔ)器, 256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM), 32個(gè)外部雙向輸入 /輸出( I/O)口, 5個(gè)中斷優(yōu) 先級(jí) 2層中斷嵌套中斷, 2個(gè) 16位可編程定時(shí)計(jì)數(shù)器 ,2個(gè)全雙 V 工串行通信口,看門狗( WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外, AT89C51 設(shè)計(jì)和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式。空閑模式下, CPU 暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有 PDIP、 TQFP 和 PLCC 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 AT89C51的主要性能參數(shù): 1. 兼容 MCS51 指 令系統(tǒng) 2. 8k 可反復(fù)擦寫 (1000 次) ISP Flash ROM 3. 32 個(gè)雙向 I/O 口 4. 工作電壓 5. 3個(gè) 16 位可編程定時(shí) /計(jì)數(shù)器 6. 時(shí)鐘頻率 033MHz 7. 全雙工 UART 串行中斷口線 8. 256x8bit 內(nèi)部 RAM 9. 2個(gè)外部中斷源 10. 低功耗空閑和省電模式 11. 中斷喚醒省電模式 12. 看門狗( WDT) 電路 13. 軟件設(shè)置空閑和省電功能 14. 靈活的 ISP 字節(jié)和分頁編程 15. 雙數(shù)據(jù)寄存器指針 AT89C51引腳如圖 : VI 圖 AT89C51引腳示意圖 管腳說明: VCC:供電電壓。 GND:接地。 P0 口: P0口為一個(gè) 8 位漏級(jí)開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P1 口的管腳第一次寫 1時(shí),被定義為高阻輸入。 P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí) P0 外部必須被拉高。 P1口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL 門電流。 P1 口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入, P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的 緣故。在 FLASH 編程和校驗(yàn)時(shí), P1 口作為第八位地址接收。 P2口: P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 口緩沖器可接收,輸出4個(gè) TTL 門電流,當(dāng) P2 口被寫 “1” 時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí), P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P2口當(dāng)用于外部程序存儲(chǔ)器或 16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2口輸出地址的高八位。在給出地址 “1” 時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí), VII P2口輸出其特殊功能寄存器的內(nèi)容。 P2口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口: P3 口管腳是 8個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。當(dāng) P3 口寫入 “1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3口將輸出電流( ILL)這是由于上拉的緣 。 P3 口也可作為 AT89C51的一些特殊功能口,如下所示: 口管腳 備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時(shí)器 0外部輸入) T1(記時(shí)器 1外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí), ALE 端以不變的頻率周期 輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時(shí), ALE 只有在執(zhí)行 MOVX, MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN 有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN 信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng) /EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式 1 時(shí), /EA 將內(nèi)部鎖定為 RESET;當(dāng) /EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 VIII 單片機(jī)接口電路圖 單片機(jī)的端口連接如下圖 所示。 圖 單片機(jī)的端口連接 設(shè)計(jì)中的單片機(jī)端口分配表 。 表 端口分配表 ~ 先接 74LS47段譯碼器 再接 數(shù)碼管 顯示數(shù)據(jù)線 接 74LS47譯碼器 ~ 接 3 1 鍵盤 ~ 接放大電路再接數(shù)碼管顯示數(shù)據(jù)線 STAL1與 2 Crystal晶體管 ~ 接時(shí)鐘 DS1302 IX 第三章 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件流程圖 系統(tǒng)軟件流程圖如圖 。 圖 系統(tǒng)流程圖 接口軟件 下面為 DS1302 時(shí)鐘芯片和 AT89C51 單片機(jī)的接口軟件, 假定采用每天 24小時(shí)制的非夏令時(shí),時(shí)間數(shù)據(jù)格式為 BCD 碼,初始化時(shí)間為 2021 年 1月 1 日 9時(shí) 00 分 00 秒, 1k方波輸出。時(shí)鐘芯片每一秒種向單片機(jī)申請中斷一次,一方面讓單片機(jī)修改一次時(shí)鐘顯示,初始化設(shè)備 從 DS1302 中讀入數(shù)據(jù) 并顯示在數(shù)碼管上 掃描鍵盤輸入 是否按鍵 進(jìn)入設(shè)置界面 時(shí)間設(shè)置 完成設(shè)置 寫入數(shù)據(jù)帶 DS1302 N Y X 另一方面也給單片微機(jī)系統(tǒng)提供時(shí)間基準(zhǔn)。 (1)DS1302 時(shí)鐘芯片的初始化 DS1302 的初始化 主要是打開晶振,對控制器 A、 B 寫入控制字以及對日歷、時(shí)鐘各寄存器寫入初始值。首先應(yīng)禁止芯片內(nèi)部的更新周期操作,先將 DS1302 狀態(tài)寄存器 B中的 SET 位置 1,然后初始化 00H~ 09H 時(shí)標(biāo)參數(shù)寄存器 A;其次通過讀狀態(tài)寄存 器 C,清除寄存器 C 中的周期中斷標(biāo)志位 PF,報(bào)警中斷標(biāo)志 AF,更新周期結(jié)束中斷標(biāo)志位 UF;再次通過讀寄存器 D中的 VRT 位,讀狀態(tài)寄存器口后 VRT 位,讀狀態(tài)寄存器口 VRT 位將自動(dòng)置1;最后將狀態(tài)寄存器 B中的 SET 位置 0,芯片開始計(jì)時(shí)工作。 DS1302 初始化子程序清單如下: MOV DPTR, 7F0AH;寄存器 A地址 MOV A, 70H: DV2~ DV0=111,分頻復(fù)位 MOVX @ DPTR, AA INC DPTR:到寄存器 B地址 MOV A, 8AH:停止更新,允許更新中斷,選 BCD 碼, 24小時(shí)制 MOVX @DPRT, A MOV QPL, 00H,秒單元地址 CLR A: 00秒 MOVX @DPTR, A MOV DPL, 02H;分單元地址 CLR A: 00分 MOVX @DPTR, A MOV DPL, 04H;時(shí)單元地址 MOV A, 09H; 9 時(shí) MOVX @DPTR, A MOV DPL07H;日單元地址 MOV A, @01H: 1 日 MOVX @ DPTR, A INC DPTR:到月單元地址 MOV A,# 01H; 1月 MOVX @DPTR, A XI IC DPTR:到年單元地址 MOV A, 96H; 2021 年 MOVX @DPTR, A INC DPTR;到寄存器 A地址 MOV A, 26H; DV2~ DV0=010 RS3~ RS0=0110 MOVX @DPTR, A:選周期中斷率為 ,允許方波輸出,頻率 1kHz INC DPTR:到寄存器 B MOV A, 1AH;每秒更新一次,允許方波輸出, 24小時(shí)制 MOVX @DPTR, A:時(shí)鐘開始運(yùn)行 (2) 查詢法讀取 DS1302 時(shí)鐘日歷數(shù)據(jù)程序 DS1302 的日歷時(shí)鐘在讀數(shù)據(jù)時(shí),首先要判斷數(shù)據(jù)是否更新結(jié)束,只有在數(shù)據(jù)更新結(jié)束時(shí)數(shù)據(jù)讀出才有效。 查詢寄存器 A 的 UIP 位,當(dāng) UIP=0 時(shí),數(shù)據(jù)更新結(jié)束,可以讀 取數(shù)據(jù) 。 為了能夠方便地顯示和校正時(shí)鐘,在單片機(jī)的用戶寄存器中開辟特殊的時(shí)間地址單元。如在本系統(tǒng)中可將 30H~ 36H 置為時(shí)間地址,分別放置年、月、日、時(shí)、分、秒等值。只要將 DS1302中的時(shí)間值讀入到用戶開辟的時(shí)間地址中,就可以方便地對時(shí)間進(jìn)行控制。 以下 程序 是采用查詢方法,從秒至年單元的數(shù)據(jù)讀出后存入 AT98C51
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1