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

正文內(nèi)容

基于單片機(jī)的數(shù)字鐘電子鐘(參考版)

2024-12-11 00:57本頁面
  

【正文】 調(diào)分時(shí)閃標(biāo)志 GWAIT10: LCALL DISPLAY JNB ,GWAIT10 SETG11: LCALL DISPLAY JNB ,SETGOUT 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 38 JNB ,GADDMINTUE AJMP SETG11 GADDMINTUE: MOV R7,61H 。[小 ]時(shí)值送入 1302 MOV DS1302_DATA,62H LCALL WRITE MOV R0,62H LCALL DIVIDE 。調(diào) [小 ]時(shí)時(shí)閃標(biāo)志 GWAIT8: LCALL DISPLAY JNB ,GWAIT8 SETG9: LCALL DISPLAY JNB ,SETG10 JNB ,GADDHOUR AJMP SETG9 GADDHOUR: MOV R7,62H 。星期值送入 1302 MOV DS1302_DATA,64H LCALL WRITE MOV R0,64H LCALL DIVIDE 。日分離送顯示緩存 MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 WAITT3: LCALL DISPLAY JNB ,WAITT3 AJMP SETG5 SETG6: SETB 0CH 。日加 1 LCALL ADD1 MOV 63H,A CJNE A,32H,GADDDAY1 MOV 63H,01H GADDDAY1: MOV DS1302_ADDR,86H 。月分離送顯示緩存 MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 WAITT2: LCALL DISPLAY JNB ,WAITT2 AJMP SETG3 SETG4: SETB 0BH 。月加 1 LCALL ADD1 MOV 65H,A CJNE A,13,GADDMONTH1 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 36 MOV 65H,01H GADDMONTH1: MOV DS1302_ADDR,88H 。年分離送顯示緩 存 MOV 4BH,R1 MOV 7BH,R1 MOV 4CH,R2 MOV 7CH,R2 WAITT1: LCALL DISPLAY JNB ,WAITT1 AJMP SETG1 SETG2: SETB 0AH 。年加 1 LCALL ADD1 MOV 66H,A CJNE A,51H,GADDYEAR1 MOV 66H,01H GADDYEAR1: MOV DS1302_ADDR,8CH 。允許寫 1302 LCALL WRITE MOV DS1302_ADDR,80H MOV DS1302_DATA,80H 。* 公 歷 設(shè) 置 程 序 * 。非閏月,則 ,指示燈滅 LJMP MAIN1 。更新農(nóng)歷程序 JNB ,SETG JNB F0,SSS CLR 。分分離,送顯示緩存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,second 。日分離,送顯示緩存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,hour 。年分離,送顯示緩存 LCALL DIVIDE MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,week MOV 48H,week MOV R0,month 。讀出分 LCALL READ MOV mintue,DS1302_DATA MOV DS1302_ADDR,81H 。讀出日 LCALL READ MOV day,DS1302_DATA MOV DS1302_ADDR,85H 。讀出星期 LCALL READ MOV week,DS1302_DATA MOV DS1302_ADDR,89H 。1302充電,充電電流 LCALL WRITE MAIN1: MOV DS1302_ADDR,8DH 。計(jì)數(shù)器 1,方式 1 MOV TL1,00H MOV TH1,00H MOV DS1302_ADDR,8EH MOV DS1302_DATA,00H 。*************************** 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 33 START: SETB EA MOV SCON,00H 。*************************** 。 。閏月標(biāo)志為 F0,定時(shí)器 T1為調(diào)整時(shí)間閃爍用。71H70H(41H40H)秒 ,5EH5DH(55H54H)農(nóng)歷年 。顯示緩存單元 7CH7BH(4CH4BH)(年低位 ),7AH79H(4AH49H)月 ,78H(48H)星期 。從 1302中讀出數(shù)據(jù)放在 67H(高兩位年 )66H(低兩位年 )65H(月 )64H(星期 ) 。* 萬 年 歷 程 序 * 。 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 31 8 參考文獻(xiàn) 【 1】余永權(quán) .ATMEL89 系列單片機(jī)應(yīng)用技術(shù),北京航空航天大學(xué)出版社,2021 【 2】李廣弟等 .單片機(jī)基礎(chǔ),北京航空航天大學(xué)出版社, 2021 【 4】 AT89C52 Datasheet ,ATMEL, 2021 【 5】 DS1302 Datasheet ,DALLAS Semiconductor, 2021 【 6】 74LS164 Datasheet 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 32 9 附錄 。 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 30 7 致謝 首先,感謝學(xué)校四年來對(duì)我的培養(yǎng)。對(duì)于上述所提到的研 究課題,我們應(yīng)盡量考慮到人的因素,增強(qiáng)時(shí)鐘的實(shí)用性和操作性,為使用者提供切實(shí)的方便,營(yíng)造一種舒適的生活氛圍。做為新時(shí)代的我們,更應(yīng)該提高自身能力,適應(yīng)新時(shí)代的發(fā)展。數(shù)字時(shí)鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。 解決方法:將 DS1302 虛焊部分重新焊接。 解決方法:將 0- 9十個(gè)數(shù) 字全部輸入顯示,找出與之對(duì)應(yīng)的正確的數(shù)碼管段碼表。 圖 計(jì)算陽歷天數(shù)程序流程圖 置陰歷總天數(shù)為 0 總天數(shù)中加入該月天數(shù) 當(dāng)前月為 1月? 月數(shù)加 1 與當(dāng)前月同? N N 當(dāng)前數(shù)是總天數(shù) Y 總天數(shù)加入號(hào)數(shù) Y 計(jì)算 陽歷天數(shù)結(jié)束,總天數(shù)中的為當(dāng)前日期在陽歷年中的第幾天 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 27 Y Y N N N Y Y N 圖 推算陰歷日期的程序流程圖 程序入口 R2 減 1 月天數(shù) 減去閏月天數(shù) 夠減 下個(gè)月為閏月? 月加 1 R3=0? R2=R2+R3 R3=0 R2=0? 月份為當(dāng)前正在減的月份的前一個(gè)月的最后一天 月份為當(dāng)前正在減的月份,號(hào)數(shù)為 R2 中的值 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 28 5 調(diào)試 調(diào)試中出現(xiàn)的問題及解決方法: ( 1)晶振無法正常起振 原因: VCC 混有交流成分 解決方法:在電源正負(fù)極間接上一個(gè)電容。再根據(jù)查表所得的該年的陰歷的閏月和大小月的信息,就可以推算出該天的陰歷日期了。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為 1,則該天正好是春節(jié)(因?yàn)榇汗?jié)在元旦之后,在計(jì)算春節(jié)和元旦的日差時(shí),假設(shè)元旦為 0 天,春基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 26 節(jié)為 n 天,則日差為 n。在整個(gè)轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。計(jì)算出天數(shù)后如果大于 FFH,則把 FFH 存放在 R2中,余值存放在 R3中。這種情況下,根據(jù)實(shí)際,當(dāng)前陰歷日期會(huì)處于陰歷 11 月或 12 月,此時(shí)春節(jié)和元旦的日差減去前面計(jì)算出的當(dāng)前陽歷日期在陽歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天 數(shù)。 計(jì)算出當(dāng)前陽歷日期為該年中的第幾天后,再減去陽歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年的總第幾天了。根據(jù)當(dāng)前陽歷的日期,算出陽歷為該年中的第幾天。按此方法, 50 年的陽歷和陰歷對(duì)應(yīng)關(guān)系表總共使用 200 字節(jié)。其中表示 12 個(gè)月大小信息的字節(jié),第 4 位和第 7位不用??刂奇I有效,進(jìn)入小時(shí)調(diào)整程序 控制鍵有效,進(jìn)入分調(diào)整程序 等待按鍵程序 等待按鍵程序 加鍵有效 加鍵有效 減鍵有效 減鍵有效 小時(shí)加 1 分減 1 分加 1 小時(shí)減 1 控制鍵有效,跳出時(shí)間調(diào)整程序,進(jìn)入主循環(huán)程序 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 24 總共用 4 字節(jié)就可以存儲(chǔ)一年中任何一天陽歷和陰歷的對(duì)應(yīng)關(guān)系的有關(guān)數(shù)據(jù),例如 2021 年的陰歷和陽歷對(duì)應(yīng)關(guān)系表如表 所示。如果有閏月,則把閏月的月份作為一個(gè)字節(jié)的高 4位,低 4 位表示閏月大小,大月為 0,小月 為 1,這樣一個(gè)字節(jié)就包含了所有閏月的信息。陰歷一年有 12 個(gè)月或 13 個(gè)月(含閏月),一個(gè)月為 30 天 或 29 天。推算方法就是,根據(jù)陽歷當(dāng)前日期在一年中的天數(shù)來計(jì)算陰歷日期。時(shí)間調(diào)整程序流程圖如圖 所示。利用定時(shí)器記時(shí),當(dāng)?shù)竭_(dá) 50ms 溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷 交替,直到調(diào)整該位結(jié)束。在調(diào)整時(shí)間過程中,初始化 1302 開 始 1302 開始振蕩 從 1302中讀出年、周、月、日、小時(shí)、分、秒 讀出的數(shù)據(jù)都為BCD 碼,將其高低位分離,送顯示緩存 基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 22 要調(diào)整的位與別的位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的位一直在閃爍,直到調(diào)整下一位。陽歷程序流程圖見圖 所示。若有異樣,立刻切斷電源;基于 MCS51單片機(jī)的數(shù)字鐘設(shè)計(jì) 21 4 軟件設(shè)計(jì)部分 陽歷程序的設(shè)計(jì) 因?yàn)槭褂昧藭r(shí)鐘芯片 DS1302,陽歷程序只需要從 DS1302 各寄存器中讀出年、周、月、日、小時(shí)、分、秒等數(shù)據(jù),再處理既可。檢查線路,看是否焊接出現(xiàn)短路情況。選定需要的芯片,按照PROTEL 繪圖的步驟完成。 鍵盤接口設(shè)計(jì) 用普通按鈕接 10KΩ上拉電阻,用查詢法完成讀鍵功能。發(fā)送、接收數(shù)據(jù)時(shí)低位在先。 在方式 0 狀態(tài)下,串行口為同步移位寄存器方式,其波特率是固定的,為 fOSC/12。這樣,當(dāng)輸入 8 個(gè)脈沖時(shí),從單片機(jī) RXD 端輸出的第 1 字節(jié)數(shù)據(jù)就進(jìn)入了第 1 片 74LS164 中,而當(dāng)?shù)?2 個(gè) 8 個(gè)脈沖到來后,第 1 字節(jié)數(shù)據(jù)就進(jìn)入了第 2 片 74LS164,而隨后的第 2 字節(jié)的數(shù)據(jù)則進(jìn)入了第 1片 74LS164。再來 1 個(gè)脈沖,第 1個(gè)脈沖就會(huì)從最高位移出,進(jìn)入下個(gè) 74LS164 的第 1位。 Q1~ Q8(第 3~ 6 和 10~ 13 引腳)并行輸出端分別數(shù)碼管的 h~ a(因?yàn)榇锌趶牡臀婚_始傳送)各段對(duì)應(yīng)的引腳上。 8個(gè)時(shí)鐘脈沖過后, 8位二進(jìn)制數(shù)全部移入 74LS164 中。 CP(第 8 腳)為時(shí)鐘輸入端,可連接到串行口的TXD 端。 74LS164 為 TTL 單向 8位移位寄存器,可以實(shí)現(xiàn)串行輸入,并行輸出。 74LS164 內(nèi)部為 8 個(gè) D 觸發(fā)器,用以實(shí)現(xiàn)數(shù)據(jù)的串行移位。第一排 6 個(gè)數(shù)碼管分別為千年、百年、十年、年、十月、月,第二排 6 個(gè)數(shù)碼管分別為十時(shí)、時(shí)、十分、分、十秒、秒,第三排 7 個(gè)數(shù)碼管分別為星期、陰歷十月、陰歷月、陰歷十日、陰歷日、十日、日。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1