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

正文內(nèi)容

基于51單片機電子鬧鐘或萬年歷的設(shè)計課程設(shè)計-在線瀏覽

2025-05-06 06:56本頁面
  

【正文】 字輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。 (3) DS1302 的寄存器 DS1302 有 12 個寄存器,其中有 7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為 BCD 碼形式。 “WP”是寫保護(hù)位,在任何的對時鐘和 RAM 的寫操作之前, “WP”必須為 0。 此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。 DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是單個RAM 單元,共 31 個,每個單元組態(tài)為一個 8 位的字節(jié),其命令控制字為 C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個字節(jié),命令控制字為 FEH(寫 )、FFH(讀 )。1602 字符型 LCD 通常有 14 條引腳線或 16 條引腳線的 LCD,多出來的 2 條線是背光電源線。 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器( CGROM)已經(jīng)存儲了 160 個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼 .管腳功能如表 41 所示: 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 13 LCD1602 主要管腳介紹: RS 為寄存器選擇端,高電平時選擇數(shù)據(jù)寄存器,低 電平時選擇指令寄存器。當(dāng) RS 和 R/W 共同為低電平時可以寫入指令或者顯示地址;當(dāng) RS 為高電平 R/W 為低電平時可以寫入數(shù)據(jù)。 將 L1602 的 RS 端和 , R/W 端和 , E 端和 相連,當(dāng) RS=0 時,對 LCD1602 寫入指令;當(dāng) RS=1 時,對 LCD1602 寫入數(shù)據(jù)。當(dāng) R/W為高電平 ,E 端也為高電平 , RS 為低電平時,液晶顯示屏顯示需要顯示的示數(shù)。 圖 43 1602 液晶電路 蜂鳴器驅(qū)動電路 發(fā)音部分是通過三極管放大驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。 由若干個按鍵組成一個鍵盤,其電路結(jié)構(gòu)可分為獨立式鍵盤和矩陣式鍵盤兩種。鍵盤的工作方式可分為編程控制方式和中斷控制方式。這種方式為編程掃描方式。因此采用獨立式鍵盤。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開始運行,當(dāng)有設(shè)置鍵按下時進(jìn)入修改時間模式,無按鍵按下時讀取時間等數(shù)據(jù)送入液晶屏顯示;在修改時間模式下設(shè)置時間完成后再送數(shù)據(jù)到液晶屏顯示。流程圖分析: DS1302 開始計時時,首先進(jìn)行初始化,當(dāng)有中斷信號時,讀取時鐘 芯片的數(shù)據(jù)送入液晶屏顯示。 開 始初 始 化開 中 斷讀 時 鐘 芯 片送 顯 示設(shè) 置 鍵 是否 有 按 下 ?是 否 修 改當(dāng) 前 時 間 ?送 E P R O M送 時 鐘 芯片YNYN 圖 52 時鐘流程圖 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 17 LCD 顯示程序流程圖 顯示程序流程圖如圖 53。 對 1 6 0 2 初 始 化 寫 入 顯 示 設(shè) 置 命 令延 時 5 m s檢 查 忙 信 號獲 得 顯 示R A M 地 址寫 入 相 應(yīng)的 數(shù) 據(jù)延 時 5 m sB F = 0 ?開 始結(jié) 束數(shù) 據(jù) 顯 示完 畢 ?YYNN 圖 53 LCD 顯示程序流程圖 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 18 程序的設(shè)計 DS1302 讀寫程序 DS1302 是 SPI 總線驅(qū)動方式。要想與 DS1302 通信,首先要先了解 DS1302 的控制字。 圖 54 DS1302 的控制字 控制字總是從最低位開始輸出。同樣,在緊跟 8 位的控制字指令后的下一個 SCLK 脈沖的下降沿,讀出 DS1302 的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 圖 55 單字節(jié)讀 圖 56 單字節(jié)寫 液晶顯示程序 1602 通過 D0~D7 的 8 位數(shù)據(jù)端傳輸數(shù)據(jù)和指令,其模塊內(nèi)的控制器有 11 條控制指令。在液晶屏完成顯示之前首先要對液晶進(jìn)行初始化。武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 19 此電子鬧 鐘設(shè)計是利用 Proteus 仿真軟件進(jìn)行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。 K1 鍵為調(diào)整時間功能鍵,K4 為設(shè)置鬧鐘功能鍵, K K3 分別為上調(diào)和下調(diào)鍵。 當(dāng)按下 K1 鍵時進(jìn)入時間調(diào)整模式, K1 按下第一次進(jìn)入年調(diào)整, K1 按下第二次進(jìn)入月調(diào)整, K1 按下第三次進(jìn)入日調(diào)整;當(dāng) K1 按下第四、五、六次 時,分別進(jìn)入時、分、秒調(diào)整, K1 按下第七次時時間調(diào)整完畢,退出時間調(diào)整功能,顯示器正常顯示時間。 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 21 通過自己的 不懈努力,我終于完成了畢業(yè)設(shè)計任務(wù)書上的任務(wù)要求。其精確度完全可以滿足日常生活顯示時間的需要;調(diào)時功能,方便快捷;校時功能保證了時鐘準(zhǔn)確和可靠性 。但是由于時間比較短,前期設(shè)計出現(xiàn)部分不足:如位選閃爍功能不能實現(xiàn)、鬧鐘的開啟與關(guān)閉、間斷蜂鳴聲等。不過經(jīng)仔細(xì)思考和程序的完善,最終將軟件設(shè)計改進(jìn),并完全可以很好實現(xiàn)所有要求的功能。數(shù)字時鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。做為新時代的我們,更應(yīng)該提高自身能力,適應(yīng)新時代的發(fā)展。對于上述所提到的研究課題,我們應(yīng)盡量考慮到人的因素,增強時鐘的實用性和操作性,為使用者提供切實的方便,營造一種舒適的生活氛圍。 另外,在 本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計但通過這次設(shè)計我學(xué)會了很多東西,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認(rèn)為編寫程序簡單,但到編程的時候才發(fā)現(xiàn)一些細(xì)微的知識或低級錯誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 22 參考文獻(xiàn) [1] 張友德,趙志英,涂時亮 .《單片微型機原理、應(yīng)用與實驗》 [M].上海:復(fù)旦大學(xué)出版社, 2021. [2] 趙亮,侯國銳 .《單片機 C 語言編程與實例》 [M].北京:人民郵電出版社, 2021. [3] 高鵬,安濤,寇懷成 .《電路設(shè)計與制版 ——protel99 入門與提高》 [M].北京:人民郵電出版社, 2021. [4] 譚浩強 .《 C 程序設(shè)計 (第三版)》 [M].北京:清華大學(xué)出版社 ,2021. [5] 李朝青 .《單片機原理及接口技術(shù)》 [M].北京:北京航空航天大學(xué)出版社, 2021. [6] 康光華,《電子技術(shù)基礎(chǔ) — 模擬部分(第五版)》 [M].北京:高等教育出版社, 2021. 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 23 附錄一 系統(tǒng)原理圖 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 24 附錄二 系統(tǒng)程序 include //包含單片機寄存器的頭文件 include //包含 _nop_()函數(shù)定義的頭文件 unsigned char code digit[10]={0123456789}。 //位定義 1302 芯片的接口,時鐘輸出端口定義在 引腳 sbit DATA=P1^1。 //位定義 1302 芯片的接口,復(fù)位端口定義在 引腳 sbit K1=P3^2。 //定義按鍵 1 觸發(fā)中斷 1,設(shè)置鬧鐘按鈕 sbit K2=P1^4。 //定義按鍵 3, sbit BEEP=P3^6。//分別儲存苗、分、小時,日,月,年 unsigned char settime=0。 unsigned char clock_hour,clock_min,clock_sec。 for(i=0。i++)。 SCLK=0。 //稍微等待,使硬件做好準(zhǔn)備 for(i=0。i++) //連續(xù)寫 8 個二進(jìn)制位數(shù)據(jù) { DATA=datamp。 //取出 dat 的第 0 位數(shù)據(jù)寫入 1302 低位在前,高位在后 delaynus(10)。 //上升沿寫入數(shù)據(jù) delaynus(10)。 //重新拉低 SCLK,形成脈沖 dat=1。 //禁止數(shù)據(jù)傳遞 SCLK=0。 //啟動數(shù)據(jù)傳輸 delaynus(10)。 //寫入命令字 Write1302(dat)。 //將時鐘電平置于高電平狀態(tài) RST=0。 delaynus(10)。i8。 if(DATA==1) //如果讀出的數(shù) 據(jù)是 1 dat|=0x80。 //將 SCLK 置于高電平,為下降沿讀出 delaynus(10)。 //拉低 SCLK,形成脈沖下降沿 delaynus(10)。 //將讀出的數(shù)據(jù)返回 } /***************************************************** 函數(shù)功能:根據(jù)命令字,從 1302 讀取一個字節(jié)數(shù)據(jù) 入口參數(shù): Cmd ***************************************************/ unsigned char ReadSet1302(unsigned char Cmd) { unsigned char dat。 //拉低 RST SCLK=0。 //啟動數(shù)據(jù)傳輸 Write1302(Cmd)。 //讀出數(shù)據(jù) SCLK=1。 //禁止數(shù)據(jù)傳遞 return dat。 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 26 flag= ReadSet1302(0x81)。0x80) { //判斷時鐘芯片是否關(guān)閉 WriteSet1302(0x8E,0x00)。 //根據(jù)寫秒寄存器命令字,寫入秒的初始值 WriteSet1302(0x82,((59/10)4|(59%10)))。 //根據(jù)寫小時寄存器命令字,寫入小時的初始值 WriteSet1302(0x86,((18/10)4|(18%10)))。 //根據(jù)寫月寄存器命令字,寫入月的初始值 WriteSet1302(0x8c,((14/10)4|(9%10)))。 //打開充電功能 選擇 2K 電阻充電方式 WriteSet1302(0x8E,0x80)。 //根據(jù)寫狀態(tài)寄存器命令字,寫入不保護(hù)指令 WriteSet1302(0x80,((sec/10)4|(sec%10)))。 //根據(jù)寫分寄存器命令字,寫入分的初始值 WriteSet1302(0x84,((hour/10)4|(hour%10)))。 //根據(jù)寫日寄存器命令字,寫入日的初始值 WriteSet1302(0x88,((mon/10)4|(mon%10)))。 //根據(jù)寫年寄存器命令字,寫入年的初始值 WriteSet1302(0x90,0xa5)。 //根據(jù)寫狀態(tài)寄存器命令字,寫入保護(hù)指令 } /******************************************************************************* 以下是對液晶模塊的操作程序 武漢理工大學(xué)《單片機原理與應(yīng)用課程設(shè)計》 27 *******************************************************************************/ sbit RS=P2^0。 //讀寫選擇位,將 RW 位定義為 引腳 sbit E=P2^2。 //忙碌標(biāo)志位,將 BF 位定義為 引腳 /***************************************************** 函數(shù)功能:延時 1ms (3j+2)*i=(333+2)10=1010(微秒 ),可以認(rèn)為是 1 毫秒 **************************
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1