2021年大工秋單片機原理及應(yīng)用大作業(yè)答案_第1頁
2021年大工秋單片機原理及應(yīng)用大作業(yè)答案_第2頁
2021年大工秋單片機原理及應(yīng)用大作業(yè)答案_第3頁
2021年大工秋單片機原理及應(yīng)用大作業(yè)答案_第4頁
2021年大工秋單片機原理及應(yīng)用大作業(yè)答案_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

級:號:1作業(yè)內(nèi)容3月9日。在此之前,學(xué)生可隨時提交離線作業(yè),如需修改,可直接上傳新文件,平臺會自動覆蓋原有文件。準(zhǔn):,,;,;,C,;:一、課題背景1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘基礎(chǔ),采取延時程序產(chǎn)生一定時間中止,用于一秒定義,經(jīng)過計數(shù)方法進行滿六十秒分鐘進一,滿六十分小時進一,是大家日因為電子鐘、石英鐘、石英表都采取了石英技術(shù),所以走時精度高,穩(wěn)定性好,使用方便,不需要常常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼替換機械式傳動,用LED顯示器替換指針顯示進而顯示時間,減小了計時誤差,這種表含有時、分、秒顯示時間功效,還能夠進行時和分校對,片選靈活性好。二、時鐘基礎(chǔ)原理分析利用單片機定時器完成計時功效,定時器0計時中止程序每隔0.01s中止一次并看成一個計數(shù),設(shè)定定時1秒中止計數(shù)初值為100,每中止一次中止計數(shù)初值減1,當(dāng)減到0時,則表示1s到了,秒變量加1,同理再判定是否1min鐘到了,再判定是否1h到了。為了將時間在LED數(shù)碼管上顯示,可采取靜態(tài)顯示法和動態(tài)顯示法,因為靜態(tài)顯示法需要譯碼器,數(shù)據(jù)儲存器等較多硬件,可采取動態(tài)顯示法實現(xiàn)LED顯示,經(jīng)過對每位數(shù)碼管依次掃描,使對應(yīng)數(shù)碼管亮,同時向該數(shù)碼管送對應(yīng)字碼,因為人眼視覺暫留效應(yīng),使數(shù)碼管看起來總是亮,從而實現(xiàn)了多種顯示。三、51單片機介紹立刻鐘設(shè)計分析針對要實現(xiàn)功效,采取AT89S51單片機進行設(shè)計,AT89S51單片機是一款低功耗,高性能CMOS8位單片機,片內(nèi)含4KB在線可編程(ISP)可反復(fù)擦寫1000次Flash只讀程序存放器,器件采取高密度、非易失性存放技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。這么,既能做到經(jīng)濟合理又能實現(xiàn)預(yù)期功效。在程序方面,采取分塊設(shè)計方法,這么既減小了編程難度、使程序易于了解,時間顯示程序、日期顯示程序,秒表顯示程序,時間調(diào)整程序、鬧鐘調(diào)整程序、定時調(diào)整程序,延關(guān)鍵在于各模塊兼容和配合,若各模塊不匹配會出現(xiàn)意想不到錯誤。首先,在編程之前必需了解硬件結(jié)構(gòu)尤其是各引腳使用方法,以及內(nèi)部寄存器、存放單元使用方法,不然,編程無從下手,電路也無法設(shè)計。這是前期依據(jù)想要功效分塊設(shè)計設(shè)計,比如輸入需要開關(guān)電路,先學(xué)習(xí)了解匯編語言編程方法再依據(jù)設(shè)計硬件電路進行分塊編程調(diào)試,最終完成程序設(shè)計好電路后進行畫圖,包含電路圖和仿真圖繪制。第五部分是軟件仿真部分:軟硬件設(shè)計好后將軟件載入芯片中進行仿真,硬件實現(xiàn)部分:連接電路并導(dǎo)入程序檢驗電路,若與設(shè)計完全一樣通常能實現(xiàn)想要功效。最終進行功效擴展,在已經(jīng)正確設(shè)計基礎(chǔ)上,添加額外功效!四、時鐘設(shè)計A.電路設(shè)計1.整體設(shè)計此次設(shè)計關(guān)鍵是應(yīng)用單片機來設(shè)計電子時鐘,硬件部分關(guān)鍵分以下電路模塊:顯示電路用8個共陰數(shù)碼管分別顯示,星期(年份),小時、分鐘(月份)和秒(日),經(jīng)過動態(tài)掃描進行顯示,從而避免了譯碼器使用,同時節(jié)省了I/0端口,使電路愈加簡單。單片機采取AT89S51系列,這種單片機應(yīng)用簡單,適合電子鐘設(shè)計。電路總體設(shè)計框架以下:單在本試驗中關(guān)鍵用用P3口輸入按鍵信號,因鬧鈴由P2.6端輸出,模塊以下:本試驗單片機時鐘用內(nèi)部時鐘,模塊以下:各模塊拼接組合,電路總體設(shè)計圖以下B.1程序總體設(shè)計本試驗用匯編程序完成.程序總步驟圖以下:B.2程序關(guān)鍵模塊B.2.1延時模塊數(shù)碼管顯示動態(tài)掃描時,用到延時程序,這里使用延遲1ms程序,此程序需反復(fù)調(diào),除數(shù)碼管動態(tài)掃描外,數(shù)碼管閃爍提醒,以及音樂模塊也用到了延時,只是延時長短不一樣罷了,在此不再贅述。B.2.2中止服務(wù)程序本試驗中,計數(shù)器T0,T1中止都有利用,其中T0中止為時鐘定時所用,T1中止用于音樂播放。T0定時長度為0.01s,工作于方法1,計數(shù)1次,時長1us,故計數(shù)器計數(shù)10000次,進入中止,計數(shù)初值為65536-10000=55536=#0D8F0,裝滿定時器需要0.01s時間,從而100次中止為一秒,一秒以后,判定是否到60秒,若不到則秒加一,然后返回,若到,則秒賦值為0,分加一,依次類推。包含日期因為要實現(xiàn)倒計時功效,所以在中止程序中還要加入減一寄存器,以R3為倒計時中秒,R4為倒計時分,當(dāng)秒加1時R3減一,減到0以后,秒賦值為59,分減一,直到分為0。計數(shù)器T1工作于方法1,當(dāng)調(diào)用響鈴程序時,其計數(shù)功效開啟,為音樂音調(diào)不一樣頻率方波形成,輸出口電平高低,用語句CPL實現(xiàn)。中止服務(wù)程序中日歷實現(xiàn)較為復(fù)雜,要考慮平年,閏年,特殊2月,每個首先,要考慮年份是不是閏年,閏年判定方法是:將年份除以100,若能整除,則將年份除以400,若還能整除,則為閏年,若不能,則為平年;若不能被100整除,則判定是否能被4整除,若能,則為閏年,閏年相關(guān),所以在閏年和平年子程序中,要判定是不是2月,若是則在對應(yīng)年中進行日期增加,若不是則轉(zhuǎn)入平時月份。其中1、3、5、7、8、10、12月是每個月31天,4、6、9、11月為每個月30天。日歷進位判定步驟圖以下:NYYNNY是不是2月是不是2月本試驗用8個數(shù)碼管,剛好能顯示年,月,日,掃描顯示與時間掃描顯示類由兩個寄存器存放,個位,十位為0時,表明年數(shù)能被100整除,若此時千位,百位組成兩位數(shù)能被4整除,則年數(shù)被400整除,個位組成兩位數(shù)能被4整除,則年數(shù)能被4整除,為閏年。B.2.3主程序主程序關(guān)鍵對按鍵進行掃描,以及判定定時和鬧鈴時間是否已到,若到則調(diào)用相關(guān)程序。B.2.4顯示子程序8個數(shù)碼管輪番進行顯示,分別顯示1ms,依靠人視覺暫留效應(yīng),給人以數(shù)碼管連續(xù)高亮錯覺。日期顯示,秒表顯示,倒計時顯示,調(diào)鬧鈴,調(diào)定時顯示,閃爍顯示程序與以上掃描相同,有以子程序方法出現(xiàn),經(jīng)過子程序調(diào)用語句ACALL調(diào)用;有點直接嵌套在對應(yīng)程序里面,次序?qū)嵤?或者用調(diào)轉(zhuǎn)語句AJMP調(diào)用。C程序調(diào)試及仿真本程序經(jīng)過Keil單片機開發(fā)平臺實現(xiàn)程序編譯,鏈接,生成HEX文件。經(jīng)過Keil和硬件仿真平臺Proteus聯(lián)合,能夠?qū)⒃O(shè)計效果仿真出來,依據(jù)效果,有目改變設(shè)計,優(yōu)化程序。D_1MS:MOVR7,#2D_5:MOVR2,#250DJNZR2,$DJNZR7,D_5RET主程序:MAIN:JNBP3.0,DATETZ;按下0鍵,顯示日期并可對日期進行調(diào)整JNBP3.1,ZSTZ1JNBP3.2,NLTZZJNBP3.3,DSTZJNBP3.4,CESHIJNBP3.6,STOPWATCHTZACALLDISP;按下1鍵,顯示時間,并可調(diào)時;按下2鍵,進行鬧鈴設(shè)置;按下3鍵,進行定時設(shè)置;鬧鈴測試;按下6鍵,進入秒表方法;調(diào)用時鐘顯示子程序JNBP0.6,RERINGRE:JNBP2.7,DSPDKQ判定定時;判定是否開啟鬧鈴重響功效;判定是否開啟鬧鈴功效,沒開則去FMQPD:;判定定時值R4,R3是否到零、鬧鈴時刻是否已到MOVA,HOUR;SUBBA,38H;JZFEN;判定小時數(shù)是否到鬧鈴所定時間,若到,則對分進行判定;若不到,則對定時進行判定AJMPDSPDKQFEN:MOVA,MINUTE;SUBBA,37H;JZMIAO;判定分是否到鬧鈴所定時間,若到,則對秒進行判定;若不到,則對定時進行判定AJMPDSPDKQMIAO:MOVA,SECONDSUBBA,#0JZSHENGYIN1;判定秒是否到鬧鈴所定時間,若到,則時,分,秒都抵達鬧鈴時刻,進入響鈴子程序;若不到則判定定時AJMPDSPDKQRERING:;鬧鈴重響判定程序JNBF0,RE;標(biāo)志位F0為0,不進行鬧鈴重響設(shè)定CPLF0MOV3CH,#1功效開啟JNBP0.7,M1MOVR4,#0MOVR3,#30AJMPMAINM1:;定時判定標(biāo)志位賦1,定時判定;鬧鈴重響間隔時間選擇;鬧鈴重響間隔30秒;鬧鈴重響間隔60秒MOVR4,#1MOVR3,#0AJMPMAINDSPDKQ:;判定是否應(yīng)該進行定時判定MOVA,3CH;3CH是引入判定因子,當(dāng)其為0時,不對定時時間是否到0進行判定;當(dāng)3CH不是0時,跳轉(zhuǎn)到定時判定程JNZDSPD2序AJMPMAINDSPD2:MOVA,R4;JZS_PD;R4所存定時分?jǐn)?shù)為0,則轉(zhuǎn)而判定R3所存定時秒數(shù)AJMPMAIN;S_PD:MOVA,R3;JNZMAIN;R4,R3所存參數(shù)減為0,定時長度;鬧鈴重響功效開啟時,跳入響鈴程已到JNBP0.6,SHENGYIN2序AJMPTISHI;不是鬧鈴重響定時,則定時時間到時,跳入提醒程序AJMPMAINCESHI:ACALLRINGAJMPMAINSHENGYIN1:LCALLRING;調(diào)用響鈴子程序AJMPMAINSHENGYIN2:SETBF0;鬧鈴重響標(biāo)志位設(shè)定;響鈴LCALLRINGCLRF0;標(biāo)志位復(fù)位AJMPMAINNLTZZ:AJMPNLTZ1DSTZ:;跳入鬧鈴調(diào)整程序;跳入定時調(diào)整程序;跳入日期調(diào)整程序;跳入秒表程序AJMPDSTZ1DATETZ:AJMPDATETZ1STOPWATCHTZ:AJMPSTOPWATCHTZ1顯示子程序:DISP:;時間顯示子程序JNBP3.7,OUT1;判定節(jié)能開關(guān)7是否按下,按下則數(shù)碼管不顯示,延長其壽命MOVDPTR,#LEDTABMOVA,SECONDMOVB,#10DIVAB;顯示目前時間秒位;A存十位,B存?zhèn)€位MOVCA,@A+DPTRMOVP1,ACLRSEC_SACALLD_1MS;顯示目前時間秒十位SETBSEC_SMOVA,BMOVCA,@A+DPTRMOVP1,ACLRSEC_GACALLD_1MSSETBSEC_GMOVA,MINUTEMOVB,#10;顯示目前時間秒個位;顯示目前時間分位DIVABMOVCA,@A+DPTRMOVP1,ACLRMIN_SACALLD_1MSSETBMIN_SMOVA,BMOVCA,@A+DPTRMOVP1,ACLRMIN_GACALLD_1MSSETBMIN_GM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論