大工14春《單片機原理及應(yīng)用》大作業(yè)

上傳人:飛*** 文檔編號:25238413 上傳時間:2021-07-22 格式:DOCX 頁數(shù):17 大?。?37.28KB
收藏 版權(quán)申訴 舉報 下載
大工14春《單片機原理及應(yīng)用》大作業(yè)_第1頁
第1頁 / 共17頁
大工14春《單片機原理及應(yīng)用》大作業(yè)_第2頁
第2頁 / 共17頁
大工14春《單片機原理及應(yīng)用》大作業(yè)_第3頁
第3頁 / 共17頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《大工14春《單片機原理及應(yīng)用》大作業(yè)》由會員分享,可在線閱讀,更多相關(guān)《大工14春《單片機原理及應(yīng)用》大作業(yè)(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、大臣理工大寫網(wǎng)絡(luò)教育學(xué)院 《單片機原理及應(yīng)用》大作業(yè) 題 目:單片機電子時鐘設(shè)計 學(xué)習中心: 層 次:專升本 專 業(yè):電氣工程及其自動化 年 級:2014年 春季 學(xué) 號: 學(xué)生姓名: 一、課題背景 1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ), 電子時鐘開始迅速發(fā)展起來。 現(xiàn)代的電子時鐘是基于單片機的一種計時工具, 采 用延時程序產(chǎn)生一定的時間中斷, 用于一秒的定義, 通過計數(shù)方式進行滿六十秒 分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能, 是人們?nèi)粘I畈豢扇鄙俚墓ぞ摺?現(xiàn)在高精度的計時工具大多數(shù)都

2、使用了石英晶 體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高, 穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼 代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差, 這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活 性好。 二、時鐘的基本原理分析 利用單片機定時器完成計時功能, 定時器 0 計時中斷程序每隔 0.01s 中斷一 次并當作一個計數(shù),設(shè)定定時 1 秒的中斷計數(shù)初值為 100,每中斷一次中斷計數(shù) 初值減1,當減到0時,則表示1s到了,秒變量加1,同理再判斷是否1min鐘 到了,再判

3、斷是否 1h 到了。 為了將時間在LED數(shù)碼管上顯示,可采用靜態(tài)顯示法和動態(tài)顯示法,由于靜 態(tài)顯示法需要譯碼器,數(shù)據(jù)儲存器等較多硬件,可采用動態(tài)顯示法實現(xiàn)LED顯示, 通過對每位數(shù)碼管的依次掃描, 使對應(yīng)數(shù)碼管亮, 同時向該數(shù)碼管送對應(yīng)的字碼, 使其顯示數(shù)字。 由于數(shù)碼管掃描周期很短, 由于人眼的視覺暫留效應(yīng), 使數(shù)碼管 看起來總是亮的,從而實現(xiàn)了各種顯示。 三、 51 單片機介紹及時鐘設(shè)計分析 針對要實現(xiàn)的功能,采用AT89S51^片機進彳T設(shè)計,AT89S51單片機是一款 低功耗,高性能CMOS8單片機,片內(nèi)含4KBft線可編程(ISP)的可反復(fù)擦寫1000 次的 Flash 只讀

4、程序存儲器,器件采用高密度、非易失性存儲技術(shù)制造,兼容標 準MCS石1指令系統(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è)計。這是前

5、期準備工作。 第二部分是硬件部分:依據(jù)想要的功能分塊設(shè)計設(shè)計,比如輸入需要開關(guān)電路, 輸出需要顯示驅(qū)動電路和數(shù)碼管電路等。 第三部分是軟件部分:先學(xué)習理解匯編 語言的編程方法再根據(jù)設(shè)計的硬件電路進行分塊的編程調(diào)試,最終完成程序設(shè) 計。第四部分是軟件畫圖部分:設(shè)計好電路后進行畫圖,包括電路圖和仿真圖的 繪制。第五部分是軟件仿真部分:軟硬件設(shè)計好后將軟件載入芯片中進行仿真, 仿真無法完成時檢查軟件程序和硬件電路并進行修改直到仿真成功。 第六部分是 硬件實現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,若與設(shè)計的完全一樣一般能實現(xiàn) 想要的功能。最后進行功能擴展,在已經(jīng)正確的設(shè)計基礎(chǔ)上,添加額外的功能! 四、時

6、鐘的設(shè)計 A.電路設(shè)計 1 .整體設(shè)計 此次設(shè)計主要是應(yīng)用單片機來設(shè)計電子時鐘,硬件部分主要分以下電路模 塊:顯示電路用8個共陰數(shù)碼管分別顯示,星期(年份),小時、分鐘(月份)和 秒(日),通過動態(tài)掃描進行顯示,從而避免了譯碼器的使用,同時節(jié)約了 I/O 端口,使電路更加簡單。單片機采用 AT89S5保列,這種單片機應(yīng)用簡單,適合 電子鐘設(shè)計。 電路的總體設(shè)計框架如下: 單片機 輸出部分 2 .分塊設(shè)計 模塊電路主要分為:輸入部分、輸出部分、復(fù)位和晶振電路 2.1 輸入部分 輸入信號主要是各種模式選擇和調(diào)整信號,由按鍵開關(guān)提供。 以下為輸入部分樣例: XDUJ

7、H3mH3 R3 H3JAIXZ xna iQjAGg ra.

8、 ■ F22M1D 、 P5CN 4lLF ■ a F2SR13 1 ?2泌14 ?酊內(nèi)IS ■ P11 卻M?汨■ 31J PJ.I/T3CDI - 011 P1IJ Q 加 IMT1 ! P1J. PWTO 即 15fLl - 口 1 P3jUIR!; HTjffB 在本實驗中主要用用P3口輸入按鍵信號,還用到了特殊的 由于其存在高阻狀態(tài),為了實現(xiàn)開關(guān)功能,給其添加上拉電阻,具體如下圖所示: 2.2 輸出部分 本電路的輸出信號為7段數(shù)碼管的位選和段選信號,鬧鈴脈沖信號,提示燈 信號。 本實驗的數(shù)碼管是共陰

9、的,為了防止段選信號不能驅(qū)動數(shù)碼管,故在 P1 口連接 上拉電阻后,再送段選信號,以提高驅(qū)動,位選信號直接從 P2 口接入,如下圖: 鬧鈴由P2.6端輸出,模塊如下: 2.3 晶振與復(fù)位電路 本實驗單片機時鐘用內(nèi)部時鐘,模塊如下: C2 ——. I l—Jl I Q592 C3 II~~- 22UF 復(fù)位電路為手動復(fù)位構(gòu)成,模塊如下: 各模塊拼接組合,電路總體設(shè)計圖如下 “ KjuI tIw. 1 Dail-MUJmYgnr 1rUMI叩l-uluFniuFn *?IULJU -111. B.程序設(shè)計 8.1 程

10、序總體設(shè)計 本實驗用匯編程序完成 程序總的流程圖如下: 8.2 程序主要模塊 8.2.1 延時模塊 數(shù)碼管顯示動態(tài)掃描時, 用到延時程序, 這里使用延遲 1ms 的程序, 此程序 需反復(fù)調(diào) , 除數(shù)碼管動態(tài)掃描外,數(shù)碼管的閃爍提示,以及音樂模塊也用到了延 時,只是延時的長短不同罷了,在此不再贅述。 8.2.2 中斷服務(wù)程序 本實驗中,計數(shù)器T0,T1中斷都有運用,其中T0中斷為時鐘定時所用,T1中 斷用于音樂播放。T0的定時長度為0.01s,工作于方式1,計數(shù)1次,時長1us,故 計數(shù)器計數(shù)1000畋,進入中斷,計數(shù)初值為 65536-10000=55536=#0D8F

11、0裝滿 定時器需要 0.01s 的時間,從而 100次中斷為一秒,一秒之后,判斷是否到 60秒, 若不到則秒加一,然后返回,若到,則秒賦值為 0,分加一,依次類推。包括日 期顯示的功能也是如此。 另外, 由于要實現(xiàn)倒計時功能, 因此在中斷程序中還要 加入減一的寄存器,需要時將其進行顯示?;谝陨峡紤],以R刻倒計時中的秒, R4為倒計時的分,當秒加1時RGS一,減到0之后,秒賦值為59,分減一,直到分 為 0。 計數(shù)器 T1 工作于方式 1, 當調(diào)用響鈴程序時,其計數(shù)功能開啟,為音樂音 調(diào)不同頻率的方波的形成, 提供延時。 其中斷服務(wù)程序就是根據(jù)音調(diào)改變音樂方 波輸出口電平的高低,用語句

12、 CPL實現(xiàn)。 中斷服務(wù)程序中日歷的實現(xiàn)較為復(fù)雜,要考慮平年,閏年,特殊的 2月,每 月的天數(shù)的不盡相同。具體的邏輯判斷方法為:首先,要考慮年份是不是閏年, 閏年的判斷方法是: 將年份除以 100, 若能整除, 則將年份除以 400, 若還能整除, 則為閏年, 若不能, 則為平年; 若不能被 100整除, 則判斷是否能被 4整除, 若能, 則為閏年,若不能則為平年。只有 2月與平、閏年相關(guān),因此在閏年和平年的子 程序中,要判斷是不是 2月,若是則在相應(yīng)的年中進行日期的增加,若不是則轉(zhuǎn) 入平時的月份。其中 1、 3、 5、 7、 8、 10、 12月是每月 31天, 4、 6、 9

13、、 11月為每 月 30天。 日歷進位判斷流程圖如下: 本實驗用8個數(shù)碼管,剛好能顯示年,月,日,掃描顯示與時間的掃描顯示 類似。年比較特殊,由兩個寄存器存儲,個位,十位為 0時,表明年數(shù)能被100 整除,若此時千位,百位 組成兩位數(shù)能被4整除,則年數(shù)被400整除,為閏年。若十位,個位組成兩位數(shù) 能被4整除,則年數(shù)能被4整除,為閏年。 8.2.3 主程序 主程序主要對按鍵進行掃描,以及判斷定時和鬧鈴時間是否已到, 若到則調(diào) 用相關(guān)程序。 8.2.4 顯小子程序 8個數(shù)碼管輪流進行顯示,分別顯示1ms依賴人的視覺 暫留效應(yīng),給人以 數(shù)碼管持續(xù)高亮的錯覺。 日期的顯示,秒

14、表的顯示,倒計時的顯示,調(diào)鬧鈴,調(diào)定時的顯示,閃爍的 顯示程序與以上的的掃描相似,有的以子程序的方式出現(xiàn),通過子程序調(diào)用語句 ACAL碉用;有點直接嵌套在相應(yīng)的程序里面,順序執(zhí)行,或者用調(diào)轉(zhuǎn)語句 AJMP 調(diào)用。 C程序調(diào)試及仿真 本程序通過Keil單片機開發(fā)平臺實現(xiàn)程序的編譯,鏈接,生成 HEXC件。通 過Keil和硬件仿真平臺Proteus的聯(lián)合,可以將設(shè)計效果仿真出來,根據(jù)效果, 有目的的改變設(shè)計,優(yōu)化程序。 利用Proteus仿真實驗過程截圖: 普通時間顯示模式仿真圖,表示:星期一 9點10分38秒 五、總結(jié) 通過本次設(shè)計,我深深體會到了掌握知識的重要性, 本次設(shè)

15、計也使我熟悉了 單片機的硬件特點和編程方法,并成功將學(xué)到的知識變成了實際的成果,雖然在 設(shè)計過程中遇到了很多問題,例如知識的融會貫通、調(diào)試遇到的BUG^,但通過 努力都一一得到了克服,從而也提高了我學(xué)習的信心,堅定了我繼續(xù)深入學(xué)習的 決心。 按下 0鍵, 顯示日期并可對日期進行 按下 1鍵,顯示時間,并可調(diào)時 按下 2鍵,進行鬧鈴設(shè)置 按下 3鍵,進行定時設(shè)置 鬧鈴測試 按下 6鍵,進入秒表方式 調(diào)用時鐘顯示子程序 判斷是否開啟鬧鈴重響功能 判斷是否開啟鬧鈴功能,沒開則去 判斷定時值R4,R3是否到零、鬧鈴時 判斷小時數(shù)是否到鬧鈴所定時間, 若到,則對分進行判斷;若不到,

16、 則對定時進行判斷 附錄: 延時程序: D_1MS: MOV R7,#2 D_5: MOV R2,#250 DJNZ R2,$ DJNZ R7,D_5 RET 主程序: MAIN: JNBP3.0,DATETZ 調(diào)整 JNB P3.1,ZSTZ1 JNB P3.2,NLTZZ JNB P3.3,DSTZ JNB P3.4,CESHI JNB P3.6,STOPWATCHTZ ACALL DISP JNB P0.6,RERING RE: JNB P2.7,DSPDKQ 判斷定時 FMQPD: 刻是否已到 MOV A,HOUR; SUBB A,

17、38H; JZ FEN ; AJMP DSPDKQ FEN: MOV A,MINUTE; SUBB A,37H; JZ MIAO ; 判斷分是否到鬧鈴所定時間,若到, 則對秒進行判斷;若不到,則對定 時進行判斷 AJMP DSPDKQ MIAO: MOV A,SECOND SUBB A,#0 JZ SHENGYIN1 ; 判斷秒是否到鬧鈴所定時間,若到, 則時,分,秒都到達鬧鈴時刻,進 入響鈴子程序;若不到則判斷定時 AJMP DSPDKQ RERING: ; 鬧鈴重響判斷程序 JNB F0, RE ; 標志位F0為0,不進行鬧鈴重響設(shè) 定 CPL F0

18、 MOV3CH,#1 ; 定時判斷標志位賦 1, 定時判斷功 能開啟 JNB P0.7,M1 ; 鬧鈴重響間隔時間選取 MOV R4,#0 ; 鬧鈴重響間隔 30秒 MOV R3,#30 AJMP MAIN M1: ; 鬧鈴重響間隔 60秒 MOV R4,#1 MOV R3,#0 AJMP MAIN DSPDKQ: 判斷是否應(yīng)該進行定時判斷 MOVA,3CH ;3CH JNZ DSPD2 ; 序 AJMP MAIN DSPD2: MOV A,R4; JZ S_PD ;R4 AJMP MAIN; S_PD: MOV A,R3; JNZMAIN ;R4

19、,R3 到 JNB P0.6,SHENGYIN2 序 AJMP TISHI ; AJMP MAIN CESHI: ACALL RING AJMP MAIN SHENGYIN1: ; LCALL RING AJMP MAIN SHENGYIN2: SETB F0 ; 是引入的判斷因子,當其為 0時, 不對定時時間是否到 0進行判斷 當3CHP是0時,跳轉(zhuǎn)到定時判斷程 所存定時分數(shù)為 0, 則轉(zhuǎn)而判斷 R3 所存定時秒數(shù) 所存參數(shù)減為 0, 定時長度已 鬧鈴重響功能開啟時,跳入響鈴程 不是鬧鈴重響定時,則定時時間到 時,跳入提示程序 調(diào)用響鈴子程序

20、鬧鈴重響標志位設(shè)定 LCALL RING ; 響鈴 標志位復(fù)位 跳入鬧鈴調(diào)整程序 跳入定時調(diào)整程序 跳入日期調(diào)整程序 跳入秒表程序 時間顯示子程序 判斷節(jié)能開關(guān) 7是否按下,按下則 數(shù)碼管不顯示,延長其壽命 顯示當前時間秒位 存十位,B存?zhèn)€位 顯示當前時間秒十位 CLR F0 AJMP MAIN NLTZZ: AJMP NLT

21、Z1 DSTZ: AJMP DSTZ1 DATETZ: AJMP DATETZ1 STOPWATCHTZ: AJMP STOPWATCHTZ1 顯示子程序: DISP: ; JNB P3.7,OUT1 MOV DPTR,#LEDTAB MOV A,SECOND MOV B,#10 DIV AB ;A MOVC A,@A+DPTR MOV P1,A CLR SEC_S ACALL D_1MS SETB SEC_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR SECG ACALL D_1MS J 顯示當前時間秒個位 顯

22、示當前時間分位 SETB SEC_G MOV A,MINUTE MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P1,A CLR MIN_S ACALL D_1MS SETB MIN_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR MIN_G ACALL D_1MS SETB MIN_G 顯示當前時間時位 MOV A,HOUR MOV B,#10 DIV AB MOV DPTR,#LEDTAB MOVC A,@A+DPTR MOV P1,A CLR HOU_S ACALL D_1MS SETB HOU_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR HOU_G SETB HOU_G MOV A,WEEK MOVC A,@A+DPTR MOV P1,A CLR Y_S ACALL D_1MS SETB Y_S OUT1: RET ACALL D_1MS

展開閱讀全文
溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!