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

正文內(nèi)容

基于51單片機(jī)電子鬧鐘或萬年歷的設(shè)計(jì)課程設(shè)計(jì)-文庫吧資料

2025-03-11 06:56本頁面
  

【正文】 *********************/ void Init_DS1302(unsigned char year,unsigned char mon,unsigned char dt, unsigned char hour,unsigned char min,unsigned char sec) { /* unsigned char flag。 //將時鐘電平置于已知狀態(tài) RST=0。 //寫入命令字 dat=Read1302()。 //確保寫數(shù)居前 SCLK 被拉低 RST=1。 RST=0。 //稍微等待 } return dat。 //稍微等待 SCLK=0。 //將 1 取出,寫在 dat 的最高位 SCLK=1。i++) //連續(xù)讀 8 個二進(jìn)制位數(shù)據(jù) { dat=1。 //稍微等待,使硬件做好準(zhǔn)備 for(i=0。 //禁止數(shù)據(jù)傳遞 } /***************************************************** 函數(shù)功能:從 1302 讀一個字節(jié)數(shù)據(jù) 入口參數(shù): x ***************************************************/ unsigned char Read1302(void) { unsigned char i,dat。 //寫數(shù)據(jù) SCLK=1。 //稍微等待,使硬件做好準(zhǔn)備 Write1302(Cmd)。 //確保 寫數(shù)居前 SCLK 被拉低 RST=1。 //將 dat 的各數(shù)據(jù)位右移 1 位,準(zhǔn)備寫入下一個數(shù)據(jù)位 } } /***************************************************** 函數(shù)功能:根據(jù)命令字,向 1302 寫一個字節(jié)數(shù)據(jù) 入口參數(shù): Cmd,儲存命令字; dat,儲存待寫的數(shù)據(jù) ***************************************************/ 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 25 void WriteSet1302(unsigned char Cmd,unsigned char dat) { RST=0。 //稍微等待,使硬件做好準(zhǔn)備 SCLK=0。 //稍微等待,使硬件做好準(zhǔn)備 SCLK=1。0x01。i8。 //拉低 SCLK,為脈沖上升沿寫入數(shù)據(jù)做好準(zhǔn)備 delaynus(10)。 } /***************************************************** 函數(shù)功能:向 1302 寫一個字節(jié)數(shù)據(jù) 入口參數(shù): x ***************************************************/ void Write1302(unsigned char dat) { unsigned char i。in。 /***************************************************** 函數(shù)功能:延時若干微秒 入口參數(shù): n ***************************************************/ void delaynus(unsigned char n) { unsigned char i。 unsigned char setclock=0。 //蜂鳴器 unsigned char miao,fen,shi,tian,yue,nian。 //定義按鍵 2, + sbit K3=P1^5。 //定義按鍵 1 觸發(fā)中斷 0,調(diào)整時間按鈕 sbit K4=P3^3。 //位定義 1302 芯片的接口,數(shù)據(jù)輸出端定義在 引腳 sbit RST=P1^2。 //定義字符數(shù)組顯示數(shù)字 sbit SCLK=P1^0。 從這次的課程設(shè)計(jì)中,我們真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論 知識用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的練習(xí)的過程中才能提高,我想這就是我在這次課程設(shè)計(jì)中的最大收獲。所以,在設(shè)計(jì)的時候,應(yīng)該從多方面、多角度去考慮問題,而且應(yīng)該進(jìn)一步提高時鐘的質(zhì)量。知識來自實(shí)踐,多去生活中探詢所需要的。 無可否認(rèn)機(jī)械時代已經(jīng)過去,電子時代已經(jīng)到來。 可見技術(shù)在不斷進(jìn)步,機(jī)械式時鐘已經(jīng)被淘 汰,取而代之的是具有高度準(zhǔn)確性和直觀性且無機(jī)械裝置,具有更長的使用壽命等優(yōu)點(diǎn)的數(shù)字時鐘。這些只是軟件設(shè)計(jì)時相應(yīng)功能部分還不完善造成。硬件設(shè)施合乎要求,軟件設(shè)計(jì)可以配合硬件實(shí)現(xiàn)要求的功能。功能上基本達(dá)標(biāo):時鐘的顯示 、 調(diào)時功能 、 鬧鈴功能。 下面是程序運(yùn)行結(jié)果截圖 圖 61 初始時間顯示圖 圖 62 調(diào)整時間后顯示圖 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 20 圖 63 鬧鐘設(shè)置后顯示圖 上圖 61 表示程序啟動時將時間初始化為 2021 年 01月 10日 00 時 00 分 00秒;之后進(jìn)行了調(diào)整,將時間調(diào)整為操作的當(dāng)前時間如圖 62 所示, 2021 年 01月 10 日 11 時 59 分 15 秒;圖 63 表示是將鬧鐘設(shè)置為 13 時 00 分 29 秒。 當(dāng)按鍵 K4 第一次按下時,停止計(jì)時進(jìn)入鬧鐘 1 的 時 設(shè)置,當(dāng)按鍵 K4 第二、第三次按下時,分別進(jìn)入鬧鐘 1 的分設(shè)置和 秒 設(shè)置,當(dāng)按 K4 第四次 按下時 ,退出鬧鐘設(shè)置,正常顯示當(dāng)前時間 。 硬件部分設(shè)置了的三個按鍵 K K K K4。程序見附錄二。當(dāng)液晶顯示屏的接口電路與單片機(jī)系統(tǒng) I/O 按照并行數(shù)據(jù)傳輸方式連接完成以后,即可以對 AT89C52 單片機(jī)進(jìn)行編程。數(shù)據(jù)讀寫時序如 圖 5 56 所示 。在控制字指令輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從最低位( 0 位) 開始。DS1302 的控制字如圖 54 所示。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。流程圖分析:首先對 1602 顯示屏進(jìn)行初始化(初始化大約持續(xù) 10ms 左右),然后檢查忙信號,若 BF=0,則獲得顯示 RAM 的地址,寫入相應(yīng)的數(shù)據(jù)顯示;若 BF=1,則代表模塊正在進(jìn)行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到 BF=0 為止。這時若有設(shè)置鍵按下時,進(jìn)行時間修改,完成后將數(shù)據(jù)送入時鐘芯片;若沒有按鍵按下,則直接存入 EPROM,送入液晶屏顯示。 開 始系 統(tǒng) 初 始 化時 間 調(diào) 整 鍵是 否 按 下鬧 鐘 設(shè) 置 鍵是 否 按 下調(diào) 整 時 間設(shè) 置 鬧 鐘顯 示 初 始 時 間記 錄 時 間顯 示 時 間當(dāng) 前 時 間 =設(shè) 定 時 間YYYNNYYYYY 圖 51 系統(tǒng)總流程圖 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 16 DS1302 時鐘程序流程圖 時鐘流程圖如圖 52 所示。如下圖所示: 圖 45 獨(dú)立鍵盤電路 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 15 的設(shè)計(jì) 程序流程圖 系統(tǒng)總流程圖 系統(tǒng)總流程圖 如圖 51 所示。由于單片機(jī)在正常應(yīng)用過程中,可能會經(jīng)常進(jìn)行鍵操作,因而編程控制方式使 CPU 經(jīng)常處于工作狀態(tài), 在進(jìn)行本次設(shè)計(jì)中,涉及到了調(diào)整時間、設(shè)置鬧鐘、上調(diào)、下調(diào)四個功能。 CPU 在一個工作周期內(nèi),利用完成其他任務(wù)的空余時間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個鍵,并執(zhí)行相應(yīng)的鍵處理程序。 本設(shè)計(jì)采用的是獨(dú)立式鍵盤。 圖 44 蜂鳴器驅(qū)動電路 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 14 獨(dú)立鍵盤電路 實(shí)現(xiàn)鍵盤控制的方法有多種,在本系統(tǒng)中,我們采用了 AT89C52 單片機(jī)來進(jìn)行控制,因?yàn)閱纹瑱C(jī)可以很好的解決鍵抖動。圖 43 為 1602 液晶。當(dāng) R/W 端接高電平時芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài), E 端為使能信號端。 E 為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 R/W 為讀寫信號線端,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。它可以顯示兩行,每行 16 個字符,采用單 +5V 電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。 1602 液晶簡介 本設(shè)計(jì)中由于要對時間進(jìn)行顯示,所以選擇液 晶顯示屏 1602 模塊作為輸出。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 12 器外的所有寄存器內(nèi)容。當(dāng) “WP”為 1 時,寫保護(hù)位防止對任一寄存器的寫操作。 “CH”是時鐘暫停標(biāo)志位,當(dāng)該位為 1 時,時鐘振蕩器停止, DS1302 處于低功耗狀態(tài);當(dāng)該位為 0 時,時鐘開始運(yùn)行。同樣,在緊跟 8 位的控制指令字后的下一個 SCLK脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0 位到高位 7。 SCLK 始終是輸入端。上電行動時,在 VCC 大于等于 之前,RST 必須保持低電平。當(dāng) RST 為高電平時,所有的數(shù)據(jù)傳送被初始化,武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 11 允許對 DS1302 進(jìn)行操作。 RST 是復(fù)位 /片選線,通過把 RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。所以在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。 硬件電路的設(shè)計(jì) DS1302 時鐘芯片 DS1302 是 DALLAS 公司推出的涓流充電時鐘芯片,內(nèi)含有一個實(shí)時時鐘 /日歷和 31 字節(jié)靜態(tài) RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信。 單片機(jī)最小系統(tǒng)是保證單片機(jī)正常工作的最基本單位。 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 9 單片機(jī)最小系統(tǒng)板 僅僅一個單片機(jī)是沒有辦法工作的,要想使單片機(jī)正常功能,單片機(jī)需要有電源電路、復(fù)位電路、晶振。此時,被外部拉低的 P3 口將用上拉電阻輸出電流( IIL)。 P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。 Flash 編程 或校驗(yàn)時, P2 亦接收高位地址和一些 控制信號 。 在訪問外部 程序存儲器 或 16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX DPTR 指令)時, P2 口送出高 8 位地址數(shù)據(jù)。 P2 口 P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 的 輸出 緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個 引腳 被外部信號拉低時會輸出一個電流 (IIL)。 P1 口 P1 是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。在訪問 外部數(shù)據(jù) 存儲器 或 程序存 儲器 時,這組口線分時轉(zhuǎn)換地址(低 8 位)和 數(shù)據(jù)總線 復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 7 單片機(jī)簡介 單片機(jī)基本特性 ? 8 位的 CPU, 片內(nèi) 有振蕩器和時鐘電路 ,工作頻率為 0~ 24MHz ? 片內(nèi)有 256 字節(jié) 數(shù)據(jù)存儲器 RAM ? 片內(nèi)有 8K 字節(jié) 程序存儲器 ? ROM4 個 8 位的并行 I/O 口( P0、 P P P3) ? 1 個 全雙工串行通訊口 ? 3 個 16 位 定時器 /計(jì)數(shù)器( T0、 T T2) ? 可處理 6 個中斷源,兩級中斷優(yōu)先級 單片機(jī)內(nèi)部結(jié)構(gòu)圖 圖 31 單片機(jī)內(nèi)部結(jié)構(gòu)圖 單片機(jī) I/O引腳結(jié)構(gòu) P0 口 P0 口是一組 8 位漏極開路型雙向 I/O 口, 也即地址 /數(shù)據(jù)總線 復(fù)用口。 發(fā)音部分的設(shè)計(jì) 通過三極管放大后驅(qū)動蜂鳴器工作,再通過軟件產(chǎn)生的時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。 方案二:采用 DS1302 時鐘芯片實(shí)現(xiàn)時鐘, DS1302 芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年進(jìn)行計(jì)數(shù),而且精度高 ,位的 RAM做為數(shù)據(jù)暫存區(qū),工作電壓 ~ 范圍內(nèi), 時耗電小于 300nA。 計(jì)時部分的選擇 方案一:直接采用單片機(jī)定時計(jì)數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計(jì)數(shù)。 方案三:采用 1602 液晶顯示屏 ,該液晶顯示屏的顯示功能強(qiáng)大 ,內(nèi)置 192 種字武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 6 符,可顯示大量符號、數(shù)字 ,清晰可見 ,而且功率
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1