大工18秋《單片機原理及應(yīng)用》大作業(yè)題目及要求.doc
《大工18秋《單片機原理及應(yīng)用》大作業(yè)題目及要求.doc》由會員分享,可在線閱讀,更多相關(guān)《大工18秋《單片機原理及應(yīng)用》大作業(yè)題目及要求.doc(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
網(wǎng)絡(luò)教育學(xué)院 《單片機原理及應(yīng)用》大作業(yè) 題 目: 單片機電子時鐘設(shè)計 學(xué)習(xí)中心: 層 次: 專 業(yè): 年 級: 學(xué) 號: 學(xué)生姓名: 大工18秋《單片機原理及應(yīng)用》大作業(yè)具體要求: 1 作業(yè)內(nèi)容 從以下五個題目中任選其一作答。 2 正文格式 作業(yè)正文內(nèi)容統(tǒng)一采用宋體,字號為小四,字數(shù)在2000字以上。 3. 作業(yè)提交 學(xué)生需要以附件形式上交離線作業(yè)(附件的大小限制在10M以內(nèi)),選擇已完成的作業(yè),點“上交”即可。如下圖所示。 4. 截止時間 2019年3月11日。在此之前,學(xué)生可隨時提交離線作業(yè),如需修改,可直接上傳新文件,平臺會自動覆蓋原有文件。 5. 注意事項 請同學(xué)獨立完成作業(yè),不準抄襲其他人或者請人代做,如有雷同作業(yè),成績以零分計! 題目一:單片機電子時鐘設(shè)計 準 則:設(shè)計一個基于51單片機或STM單片機的電子時鐘,并且能夠?qū)崿F(xiàn)時分秒的顯示和調(diào)節(jié) 撰寫要求:(1)首先介紹課題背景,并進行需求分析及可行性分析,包括軟硬件功能分配、核心器件的選型等; (2)對系統(tǒng)硬件進行設(shè)計,包括硬件功能模塊劃分、電路原理圖設(shè)計等; (3)對系統(tǒng)軟件進行設(shè)計,選用匯編語言或C語言編寫程序,給出軟件開發(fā)流程; (4)總結(jié):需要說明的問題以及設(shè)計的心得體會。 一、課題背景 1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ),電子時鐘開始迅速發(fā)展起來?,F(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人們?nèi)粘I畈豢扇鄙俚墓ぞ摺,F(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。 單片機電子時鐘設(shè)計 二、時鐘的基本原理分析 利用單片機定時器完成計時功能,定時器0計時中斷程序每隔0.01s中斷一次并當作一個計數(shù),設(shè)定定時1秒的中斷計數(shù)初值為100,每中斷一次中斷計數(shù)初值減1,當減到0時,則表示1s到了,秒變量加1,同理再判斷是否1min鐘到了,再判斷是否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)了各種顯示。 三、時鐘設(shè)計分析 針對要實現(xiàn)的功能,采用AT89S51單片機進行設(shè)計,AT89S51 單片機是一款低功耗,高性能CMOS8位單片機,片內(nèi)含4KB在線可編程(ISP)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用高密度、非易失性存儲技術(shù)制造,兼容標準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)電路,輸出需要顯示驅(qū)動電路和數(shù)碼管電路等。第三部分是軟件部分:先學(xué)習(xí)理解匯編語言的編程方法再根據(jù)設(shè)計的硬件電路進行分塊的編程調(diào)試,最終完成程序設(shè)計。第四部分是軟件畫圖部分:設(shè)計好電路后進行畫圖,包括電路圖和仿真圖的繪制。第五部分是軟件仿真部分:軟硬件設(shè)計好后將軟件載入芯片中進行仿真,仿真無法完成時檢查軟件程序和硬件電路并進行修改直到仿真成功。第六部分是硬件實現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,若與設(shè)計的完全一樣一般能實現(xiàn)想要的功能。最后進行功能擴展,在已經(jīng)正確的設(shè)計基礎(chǔ)上,添加額外的功能! 四、時鐘的實現(xiàn) A.電路設(shè)計 1. 整體設(shè)計 此次設(shè)計主要是應(yīng)用單片機來設(shè)計電子時鐘,硬件部分主要分以下電路模塊:顯示電路用8個共陰數(shù)碼管分別顯示,星期(年份),小時、分鐘(月份)和秒(日),通過動態(tài)掃描進行顯示,從而避免了譯碼器的使用,同時節(jié)約了I/0端口,使電路更加簡單。單片機采用AT89S51系列,這種單片機應(yīng)用簡單,適合電子鐘設(shè)計。 電路的總體設(shè)計框架如下: 單片機 輸入部分 晶振和復(fù)位 輸出部分 2. 分塊設(shè)計 模塊電路主要分為:輸入部分、輸出部分、復(fù)位和晶振電路。 2.1 輸入部分 輸入信號主要是各種模式選擇和調(diào)整信號,由按鍵開關(guān)提供。 以下為輸入部分樣例: 在本實驗中主要用用P3口輸入按鍵信號,還用到了特殊的P0口。對于P0口,由于其存在高阻狀態(tài),為了實現(xiàn)開關(guān)功能,給其添加上拉電阻,具體如下圖所示: 2.2 輸出部分 本電路的輸出信號為7段數(shù)碼管的位選和段選信號,鬧鈴脈沖信號,提示燈信號。 本實驗的數(shù)碼管是共陰的,為了防止段選信號不能驅(qū)動數(shù)碼管,故在P1口連接上拉電阻后,再送段選信號,以提高驅(qū)動,位選信號直接從P2口接入,如下圖: 鬧鈴由P2.6端輸出,模塊如下: 2.3 晶振與復(fù)位電路 本實驗單片機時鐘用內(nèi)部時鐘,模塊如下: 復(fù)位電路為手動復(fù)位構(gòu)成,模塊如下: 各模塊拼接組合,電路總體設(shè)計圖如下: B.程序設(shè)計 B.1 程序總體設(shè)計 本實驗用匯編程序完成. 程序總的流程圖如下: 主程序開始 顯示星期,時, 分,秒 是否有調(diào) 轉(zhuǎn)? T0中斷 秒,分,時等進位 閃爍提示 顯示日期并調(diào)整 響鈴提示 時間調(diào)整 鬧鈴設(shè)置 定時設(shè)置 鈴聲測試 秒表模式 回主程序 定時到 按0鍵 按0鍵 鬧鈴到 按1鍵 按2鍵 按3鍵 按4鍵 按5鍵 按7鍵 7鍵恢復(fù) 按4鍵 按8鍵 按0鍵 按0鍵 倒計時啟動并顯示 回主程序 秒表暫停 秒表清零 回主程序 按7鍵 3. B.2 程序主要模塊 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為倒計時的分,當秒加1時R3減一,減到0之后,秒賦值為59,分減一,直到分為0。 計數(shù)器T1工作于方式1, 當調(diào)用響鈴程序時,其計數(shù)功能開啟,為音樂音調(diào)不同頻率的方波的形成,提供延時。其中斷服務(wù)程序就是根據(jù)音調(diào)改變音樂方波輸出口電平的高低,用語句 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、11月為每月30天。 日歷進位判斷流程圖如下: 年份能否被100整除 N Y 年份是否能被4整除 年份是否能被400整除 N N 平年 閏年 Y Y 是不是2月 是不是2月 Y 日>=28之后返回為1 N N Y 日>=29之后返回為1 若月份為1、3、5、7、8、10、12月則調(diào)用31天的程序 若月份為4、6、9、11則調(diào)用30天的程序 本實驗用8個數(shù)碼管,剛好能顯示年,月,日,掃描顯示與時間的掃描顯示類似。年比較特殊,由兩個寄存器存儲,個位,十位為0時,表明年數(shù)能被100整除,若此時千位,百位 組成兩位數(shù)能被4整除,則年數(shù)被400整除,為閏年。若十位,個位組成兩位數(shù)能被4整除,則年數(shù)能被4整除,為閏年。 B.2.3主程序 主程序主要對按鍵進行掃描,以及判斷定時和鬧鈴時間是否已到,若到則調(diào)用相關(guān)程序。 B.2.4 顯示子程序 8個數(shù)碼管輪流進行顯示,分別顯示1ms,依賴人的視覺 暫留效應(yīng),給人以數(shù)碼管持續(xù)高亮的錯覺。 日期的顯示,秒表的顯示,倒計時的顯示,調(diào)鬧鈴,調(diào)定時的顯示,閃爍的顯示程序與以上的的掃描相似,有的以子程序的方式出現(xiàn),通過子程序調(diào)用語句ACALL調(diào)用;有點直接嵌套在相應(yīng)的程序里面,順序執(zhí)行,或者用調(diào)轉(zhuǎn)語句AJMP調(diào)用。 C 程序調(diào)試及仿真 本程序通過Keil單片機開發(fā)平臺實現(xiàn)程序的編譯,鏈接,生成HEX文件。通過Keil和硬件仿真平臺Proteus的聯(lián)合,可以將設(shè)計效果仿真出來,根據(jù)效果,有目的的改變設(shè)計,優(yōu)化程序。 利用Proteus仿真實驗過程截圖: 普通時間顯示模式仿真圖,表示:星期一 9點10分38秒 五,總結(jié) 本文先從整體論述了設(shè)計電子鐘的大致思路,然后再采用劃分模塊的方法,將硬件電路劃分為開關(guān)電路,顯示驅(qū)動電路,以及數(shù)碼管電路等,而軟件部分,則依據(jù)要實現(xiàn)的功能,劃分為:鬧鐘的聲音程序,時間顯示程序,日期顯示程序,秒表顯示程序,時間調(diào)整程序、鬧鐘調(diào)整程序、定時調(diào)整程序,延時程序等。最后將各模塊集成為一個整體,合成一個多功能的電子鐘。 附錄: 延時程序: D_1MS: MOV R7,#2 D_5: MOV R2,#250 DJNZ R2,$ DJNZ R7,D_5 RET 主程序: MAIN: JNB P3.0,DATETZ ;按下0鍵,顯示日期并可對日期進行調(diào)整 JNB P3.1,ZSTZ1 ;按下1鍵,顯示時間,并可調(diào)時 JNB P3.2,NLTZZ ;按下2鍵,進行鬧鈴設(shè)置 JNB P3.3,DSTZ ;按下3鍵,進行定時設(shè)置 JNB P3.4,CESHI ;鬧鈴測試 JNB P3.6,STOPWATCHTZ ;按下6鍵,進入秒表方式 ACALL DISP ;調(diào)用時鐘顯示子程序 JNB P0.6,RERING ;判斷是否開啟鬧鈴重響功能 RE: JNB P2.7,DSPDKQ ;判斷是否開啟鬧鈴功能,沒開則去判斷定時 FMQPD: ;判斷定時值R4,R3是否到零、鬧鈴時刻是否已到 MOV A,HOUR; SUBB A,38H; JZ FEN ;判斷小時數(shù)是否到鬧鈴所定時間,若到,則對分進行判斷;若不到,則對定時進行判斷 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 MOV 3CH,#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)該進行定時判斷 MOV A,3CH ;3CH是引入的判斷因子,當其為0時,不對定時時間是否到0進行判斷 JNZ DSPD2 ;當3CH不是0時,跳轉(zhuǎn)到定時判斷程序 AJMP MAIN DSPD2: MOV A,R4; JZ S_PD ;R4所存定時分數(shù)為0,則轉(zhuǎn)而判斷R3所存定時秒數(shù) AJMP MAIN; S_PD: MOV A,R3; JNZ MAIN ;R4,R3所存參數(shù)減為0, 定時長度已到 JNB P0.6,SHENGYIN2 ;鬧鈴重響功能開啟時,跳入響鈴程序 AJMP TISHI ;不是鬧鈴重響定時,則定時時間到時,跳入提示程序 AJMP MAIN CESHI: ACALL RING AJMP MAIN SHENGYIN1: ;調(diào)用響鈴子程序 LCALL RING AJMP MAIN SHENGYIN2: SETB F0 ;鬧鈴重響標志位設(shè)定 LCALL RING ;響鈴 CLR F0 ;標志位復(fù)位 AJMP MAIN NLTZZ: AJMP NLTZ1 ;跳入鬧鈴調(diào)整程序 DSTZ: AJMP DSTZ1 ;跳入定時調(diào)整程序 DATETZ: AJMP DATETZ1 ;跳入日期調(diào)整程序 STOPWATCHTZ: AJMP STOPWATCHTZ1 ;跳入秒表程序 顯示子程序: DISP: ;時間顯示子程序 JNB P3.7,OUT1 ;判斷節(jié)能開關(guān)7是否按下,按下則數(shù)碼管不顯示,延長其壽命 MOV DPTR,#LEDTAB MOV A,SECOND ;顯示當前時間秒位 MOV B,#10 DIV AB ;A存十位,B存?zhèn)€位 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 SEC_G ACALL D_1MS ;顯示當前時間秒個位 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 ACALL D_1MS SETB HOU_G MOV A,WEEK ;顯示當前星期數(shù) MOVC A,@A+DPTR MOV P1,A CLR Y_S ACALL D_1MS SETB Y_S OUT1: RET 題目二:基于單片機的音頻播放器設(shè)計 準 則:設(shè)計一個基于51單片機或STM單片機的音頻播放器。 撰寫要求:(1)首先介紹課題背景,并進行需求分析及可行性分析,包括軟硬件功能分配、核心器件的選型等; (2)對系統(tǒng)硬件進行設(shè)計,包括硬件功能模塊劃分、電路原理圖設(shè)計等; (3)對系統(tǒng)軟件進行設(shè)計,選用匯編語言或C語言編寫程序,給出軟件開發(fā)流程; (4)總結(jié):需要說明的問題以及設(shè)計的心得體會。 題目三:基于單片機的溫度采集系統(tǒng)設(shè)計 準 則:設(shè)計一個基于51單片機或STM單片機的溫度采集系統(tǒng),測量的溫度分辨率為0.5℃。 撰寫要求:(1)首先介紹課題背景,包括溫度采集系統(tǒng)的發(fā)展、應(yīng)用情況等,并進行需求分析及可行性分析,包括軟硬件功能分配、核心器件的選型等; (2)對系統(tǒng)硬件進行設(shè)計,包括硬件功能模塊劃分、電路原理圖設(shè)計等; (3)對系統(tǒng)軟件進行設(shè)計,選用匯編語言或C語言編寫程序,給出軟件開發(fā)流程; (4)總結(jié):需要說明的問題以及設(shè)計的心得體會。 題目四:交通燈控制系統(tǒng)設(shè)計 準 則:設(shè)計一個基于51單片機或STM單片機的交通燈控制系統(tǒng),實現(xiàn)十字路口交通信號燈的基本控制、顯示功能。 撰寫要求:(1)首先介紹課題背景,并進行需求分析及可行性分析,包括軟硬件功能分配、核心器件的選型等; (2)對系統(tǒng)硬件進行設(shè)計,包括硬件功能模塊劃分、電路原理圖設(shè)計等; (3)對系統(tǒng)軟件進行設(shè)計,選用匯編語言或C語言編寫程序,給出軟件開發(fā)流程; (4)總結(jié):需要說明的問題以及設(shè)計的心得體會。 題目五:基于單片機的自動洗衣機控制器設(shè)計 準 則:設(shè)計一個基于51單片機或STM單片機的全自動洗衣機控制器 撰寫要求:(1)首先介紹課題背景,并進行需求分析及可行性分析,包括軟硬件功能分配、核心器件的選型等; (2)對系統(tǒng)硬件進行設(shè)計,包括硬件功能模塊劃分、電路原理圖設(shè)計等; (3)對系統(tǒng)軟件進行設(shè)計,選用匯編語言或C語言編寫程序,給出軟件開發(fā)流程; (4)總結(jié):需要說明的問題以及設(shè)計的心得體會。- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機原理及應(yīng)用 大工 18 單片機 原理 應(yīng)用 作業(yè) 題目 要求
鏈接地址:http://m.italysoccerbets.com/p-12737963.html