多功能電子表_第1頁
多功能電子表_第2頁
多功能電子表_第3頁
多功能電子表_第4頁
多功能電子表_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南工程學(xué)院課 程 設(shè) 計課程名稱 單片機(jī)原理與應(yīng)用 課題名稱 電子表 專 業(yè) 自動化 班 級 1001班 學(xué) 號 201001020118 姓 名 馬博倫 指導(dǎo)教師 周向紅、肖峰、李曉秀、汪超2013年 6 月 21 日湖南工程學(xué)院課 程 設(shè) 計 任 務(wù) 書課程名稱 單片機(jī)原理與應(yīng)用 課 題 電子表 專業(yè)班級 自動化1001班 學(xué)生姓名 馬博倫 學(xué) 號 馬博倫 指導(dǎo)老師 周向紅、肖峰、李曉秀、汪超審 批 任務(wù)書下達(dá)日期 2013年 6 月 11 日任務(wù)完成日期 2013年 6 月 21 日設(shè)計內(nèi)容與設(shè)計要求設(shè)計內(nèi)容:以51系列單片機(jī)為核心,以開發(fā)板為平臺;設(shè)計一個多功能電子表,具有電子時鐘、

2、時鐘設(shè)置和跑表功能。做時鐘時在6位led 顯示器上顯示分、秒、時,做跑表時顯示范圍000.0秒999.9秒,并具有時鐘啟動、時鐘停止、跑表啟動、跑表復(fù)位、時鐘調(diào)整功能鍵。設(shè)計任務(wù)包括控制系統(tǒng)硬件設(shè)計和應(yīng)用程序設(shè)計。設(shè)計要求:1)確定系統(tǒng)設(shè)計方案; 2)進(jìn)行系統(tǒng)的硬件設(shè)計;3)完成必要元器件選擇;4)開發(fā)板焊接及測試5)系統(tǒng)軟件設(shè)計及調(diào)試;6)系統(tǒng)聯(lián)調(diào)及操作說明7)寫說明書主 要 設(shè) 計 條 件1、 mcs-51單片機(jī)實(shí)驗(yàn)操作臺1臺;2、 pc機(jī)及單片機(jī)調(diào)試軟件,仿真軟件proteus;3、 開發(fā)板1塊; 4、 制作工具1套;5、系統(tǒng)設(shè)計所需的元器件。說 明 書 格 式1. 課程設(shè)計任務(wù)書2.

3、目錄3. 說明書內(nèi)容1)課題的設(shè)計要求、目的、意義2)系統(tǒng)總體方案選擇與說明3)系統(tǒng)結(jié)構(gòu)框圖與工作原理4)各單元硬件設(shè)計說明及計算方法5)軟件設(shè)計與說明(包括流程圖)6)調(diào)試結(jié)果與必要的調(diào)試說明7)使用說明8)程序清單9)總結(jié)10)參考文獻(xiàn)附錄a 系統(tǒng)原理圖附錄b 程序清單評分表進(jìn) 度 安 排設(shè)計時間分為二周第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、分班級焊接開發(fā)板星期三、確定總體方案,學(xué)習(xí)與設(shè)計相關(guān)內(nèi)容。星期四、各部分方案設(shè)計,各部分設(shè)計。星期五、設(shè)計及上機(jī)調(diào)試。星期六、設(shè)計并調(diào)試第二周星期一:設(shè)計及上機(jī)調(diào)試。星期二:調(diào)試,中期檢查。星期三:

4、調(diào)試、寫說明書。星期四-星期五上午:寫說明書、完成電子版并打印成稿。星期五下午:答辯。參 考 文 獻(xiàn)1、 王迎旭編.單片機(jī)原理與應(yīng)用m.機(jī)械工業(yè)出版社.2、 樓然苗編.51系列單片機(jī)設(shè)計實(shí)例m.北京航空航天大學(xué)出版社.3、 黃勤編.計算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程m.重慶大學(xué)出版社4、劉樂善編.微型計算機(jī)接口技術(shù)及應(yīng)用m.華中科技大學(xué)出版社.5、陳光東編.單片微型計算機(jī)原理及接口技術(shù)m.華中科技大學(xué)出版社.目 錄第1章 概述21.1設(shè)計內(nèi)容及要求21.2本設(shè)計實(shí)現(xiàn)的功能21.3附加功能2第2章 系統(tǒng)總體方案設(shè)計32.1 系統(tǒng)方案設(shè)計32.2 系統(tǒng)總體方案框圖3第三章 硬件設(shè)計43.1 時間顯示電路的

5、設(shè)計43.2按鍵電路的設(shè)計53.3 跑表電路的設(shè)計和按鍵53.4 雙鬧鈴電路的設(shè)計63.4 內(nèi)部時鐘電路的設(shè)計73.5 復(fù)位電路的設(shè)計73.6 單片機(jī)硬件資源分配8第4章 開發(fā)板焊接及其測試84.1 焊接步驟及注意事項84.2 調(diào)試及檢測步驟9第5章 軟件設(shè)計與說明105.1 系統(tǒng)軟件設(shè)計思路105.2 模塊程序的設(shè)計105.2.1 時鐘模塊105.2.2 跑表模塊115.2.3 鬧鐘模塊125.3 顯示和鍵盤的設(shè)計135.3.1 顯示模塊135.3.2 矩陣鍵盤模塊14第6章 調(diào)試步驟、結(jié)果、使用說明146.1調(diào)試步驟和過程146.3調(diào)試結(jié)果166.2使用說明16第7章 設(shè)計總結(jié)16第八章

6、參考文獻(xiàn)17附錄a17附錄b19第1章 概述1.1設(shè)計內(nèi)容及要求本課主要是以單片機(jī)為核心設(shè)計一個多功能電子表,具有電子時鐘、時鐘設(shè)置和跑表功能。做時鐘時在4位led 顯示器上顯示分、秒,做跑表時顯示范圍000.0秒999.9秒,并具有時鐘啟動、時鐘停止、跑表啟動、跑表。1.2本設(shè)計實(shí)現(xiàn)的功能(1) 時間使用led顯示,分別為時,分,秒(其中時分秒之間用橫杠“”隔開,一共用到8個led數(shù)碼管;(2)時,分,秒都可以分別設(shè)置,通過加減可以快速定位到需要設(shè)定的時間,在設(shè)置是可停止時鐘,也可時鐘邊走邊設(shè)置;(3)跑表功能,可以清零,啟動,實(shí)現(xiàn)隨停隨加;(4)時鐘和跑表之間可實(shí)現(xiàn)自由切換,當(dāng)進(jìn)入跑表模式

7、時時鐘繼續(xù)進(jìn)行,當(dāng)進(jìn)入時鐘模式時,跑表停止;第2章 系統(tǒng)總體方案設(shè)計2.1 系統(tǒng)方案設(shè)計 本設(shè)計用52單片機(jī)為核心,其功能主要有軟件來實(shí)現(xiàn),以及矩陣鍵盤加led數(shù)碼管顯示,所以降低了硬件電路的復(fù)雜性,也相應(yīng)的降低了其成本。根據(jù)設(shè)計要求,總電路分為鍵盤接口電路、單片機(jī)時鐘電路、復(fù)位電路、led顯示電路、響鈴電路、電源電路六個部分。其中鍵盤接口電路采用矩陣鍵盤,分別實(shí)現(xiàn)對時鐘,分鐘,秒鐘的加一功能、減一功能,時鐘電路,在本系統(tǒng)中采用內(nèi)部時鐘電路,由一個石英晶體管振蕩器和兩個微調(diào)電容組成;復(fù)位電路中給給rst引腳連續(xù)輸入2個機(jī)器周期(即24個時鐘振蕩周期)以上高電平,就可完成初始化操作;顯示電路采用

8、8段8位led顯示管顯示時間,其中前兩位顯示小時,中間兩位顯示分鐘,后兩位顯示秒鐘,時,分,秒間通過橫杠“”顯示;跑表部分通過4個led數(shù)碼管顯示,第二個通過帶點(diǎn)數(shù)碼管來顯示,區(qū)別于秒單位,鬧鈴電路中由p2.4口輸出電平,經(jīng)三極管驅(qū)動蜂鳴器鈴?fù)瓿婶[鈴;電源電路,本設(shè)計由外部電源對其供電,通過整流和濾波,再通過7805穩(wěn)壓。2.2 系統(tǒng)總體方案框圖第三章 硬件設(shè)計3.1 時間顯示電路的設(shè)計led數(shù)碼管顯示方式有靜態(tài)顯示方式和動態(tài)顯示方式兩種。靜態(tài)顯示方式雖然占用cpu較少,接口簡單,但其硬件電路比較復(fù)雜,成本較高,所以本設(shè)計中采用動態(tài)顯示方式。動態(tài)顯示方式是指輪流電量各位led數(shù)碼管,利用定時掃

9、描的方式輪流點(diǎn)亮各位數(shù)碼管。led公用一個8位的i/o,即p0口,3位led的位選線通過74ls138輸出,來選中對應(yīng)的led數(shù)碼管,由于采用的是8位led數(shù)碼管顯示,所以前兩位led顯示“時針”,中間兩位顯示“分針”,后面兩位顯示秒針間隔有橫杠顯示“”。同時可通過按鍵切換到跑表模式,然后還有鬧鐘模塊,通過按鍵來切換顯示模式,同時還可通過對應(yīng)的按鍵對其進(jìn)行時間設(shè)定。對于三個顯示直接的切換,可通過按鍵自由切換。時間顯示電路圖:圖3.1 時間顯示電路設(shè)計圖3.2按鍵電路的設(shè)計因考慮節(jié)省i/o線數(shù)量,方便操作,本設(shè)計采用矩陣式鍵盤。矩陣式鍵盤由i/o線組成行、列結(jié)構(gòu),行、列線不相通,通過一個設(shè)置在行

10、、列交叉點(diǎn)上的按鍵來連通。本設(shè)計中采用16個按鍵,具體功能如下:(1) s1:時間調(diào)整按鈕:使硬件處于時鐘調(diào)整模式;(2) s2:小時加按鍵;(3) s3:小時減按鍵同時,本設(shè)計通過調(diào)用一個延時函數(shù),消除鍵盤的抖動問題,提高了時間調(diào)整額精度。圖3.2 按鍵電路設(shè)計圖3.3 跑表電路的設(shè)計和按鍵因?yàn)榕鼙硎腔跁r鐘的顯示及矩陣鍵盤,所以其電路一樣的,只是有些按鍵用來實(shí)現(xiàn)跑表的功能。其通過4個led來顯示跑表時間,還有按鍵對其控制停止和啟動,還有對顯示清0。其余數(shù)碼管不用,其按鍵用的是下面3個按鍵:(4) s4:跑表啟動暫停清零按鈕(5) s5:對時鐘跑表進(jìn)行切換按鈕 3.4內(nèi)部時鐘電路設(shè)計單片機(jī)內(nèi)

11、部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為xtal1引腳,輸出端為xtal2引腳。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自己振蕩器,形成內(nèi)部時鐘方式的電路。其中微調(diào)電容選擇c1=c2=30uf。內(nèi)部時鐘電路設(shè)計圖如下:圖3.4 內(nèi)部時鐘電路設(shè)計圖3.5 復(fù)位電路的設(shè)計可靠的復(fù)位電路是保證單片機(jī)正常運(yùn)行的關(guān)鍵因素。將rst引腳連續(xù)輸入2個機(jī)器周期(即24個時鐘振蕩期間)以上高電平,即可以完成單片機(jī)的初始化操作。本設(shè)計采用按鈕復(fù)位方式。復(fù)位電路設(shè)計圖如下:圖 3.5 復(fù)位電路設(shè)計圖3.6 單片機(jī)硬件資源分配p0口p0.0led數(shù)碼管a段p1口p1.0矩陣鍵盤的s1行選端

12、p0.1led數(shù)碼管b段p1.1矩陣鍵盤的s2行選端p0.2led數(shù)碼管c段p1.2矩陣鍵盤的s3行選端p0.3led數(shù)碼管d段p1.3矩陣鍵盤的s4行選端p0.4led數(shù)碼管e段p1.4矩陣鍵盤的w1列選端p0.5led數(shù)碼管f段p1.5矩陣鍵盤的w2列選端p0.6led數(shù)碼管g段p16矩陣鍵盤的w3列選端p0.7led數(shù)碼管dp段p1.7矩陣鍵盤的w4列選端p2.074ls138的a地址端p2.174ls138的b地址端p2.274ls138的c地址端p2.4蜂鳴器表3.6 i/o口分配表第4章 開發(fā)板焊接及其測試4.1 焊接步驟及注意事項在焊接板子過程中,以“由低到高”為原則依次對其進(jìn)行

13、焊接。電烙鐵是最常用的焊接工具。先整理元器件(電阻、輕觸按鍵、電容、排阻、芯片插座、三極管、蜂鳴器等等)我們使用20w內(nèi)熱式電烙鐵。新烙鐵使用前,應(yīng)用細(xì)砂紙將烙鐵頭打光亮,通電燒熱,蘸上松香后用烙鐵頭刃面接觸焊錫絲,使烙鐵頭上均勻地鍍上一層錫。這樣做,可以便于焊接和防止烙鐵頭表面氧化。舊的烙鐵頭如嚴(yán)重氧化而發(fā)黑,可用鋼挫挫去表層氧化物,使其露出金屬光澤后,重新鍍錫,才能使用。電烙鐵要用220v交流電源,使用時要特別注意安全。應(yīng)認(rèn)真做到以下幾點(diǎn):(1)電烙鐵插頭最好使用三極插頭。要使外殼妥善接地;(2)使用前,應(yīng)認(rèn)真檢查電源插頭、電源線有無損壞。并檢查烙鐵頭是否松動;(3)電烙鐵使用中,不能用力

14、敲擊。要防止跌落。烙鐵頭上焊錫過多時,可用布擦掉。不可亂甩,以防燙傷他人;(4)焊接過程中,烙鐵不能到處亂放。不焊時,應(yīng)放在烙鐵架上。注意電源線不可搭在烙鐵頭上,以防燙壞絕緣層而發(fā)生事故;(5)使用結(jié)束后,應(yīng)及時切斷電源,拔下電源插頭,冷卻后,再將電烙鐵收回工具箱;4.2 調(diào)試及檢測步驟首先:我們焊好板子之后,檢查下板子的焊接質(zhì)量,如:(1)焊接時,要保證每個焊點(diǎn)焊接牢固、接觸良好。要保證焊接質(zhì)量。(2)所示應(yīng)是錫點(diǎn)光亮,圓滑而無毛刺,錫量適中。錫和被焊物融合牢固。不應(yīng)有虛焊和假焊。(3)虛焊是焊點(diǎn)處只有少量錫焊住,造成接觸不良,時通時斷。假焊是指表面上好像焊住了,但實(shí)際上并沒有焊上,有時用手

15、一拔,引線就可以從焊點(diǎn)中拔出。這兩種情況將給電子制作的調(diào)試和檢修帶來極大的困難。只有經(jīng)過大量的、認(rèn)真的焊接實(shí)踐,才能避免這兩種情況。焊接電路板時,一定要控制好時間。太長,電路板將被燒焦,或造成銅箔脫落。從電路板上拆卸元件時,可將電烙鐵頭貼在焊點(diǎn)上,待焊點(diǎn)上的錫熔化后,將元件拔出。然后:檢測焊接板是有順序的,操作不當(dāng)可能會燒壞芯片,其步驟:(1):在沒插芯片之前,先檢測芯片插槽電源管腳的電壓是否在規(guī)定的范圍內(nèi);(2:):然后插上芯片,再老師的幫助下,將編好程序在keil uvision4中調(diào)試完成,程序沒有錯誤的時候,通過stc_isp_480下載到單片機(jī)中,然后進(jìn)行調(diào)試,看是否運(yùn)行正常,如程序

16、能正常運(yùn)行,則表明焊接成功了。第5章 軟件設(shè)計與說明5.1 系統(tǒng)軟件設(shè)計思路程序?qū)崿F(xiàn)了模塊化,程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改;程序可讀性好,對程序的修改可局部進(jìn)行,其他部分可以保持不變,便于功能的擴(kuò)從和版本的升級;便于多個模塊調(diào)用; 便于分工合作,多個程序員同時進(jìn)行程序的編寫和修改調(diào)試工作??傑浖绦蚩驁D:矩陣鍵盤掃描模塊當(dāng)前時鐘調(diào)整模塊主程序模 塊鬧鐘1、2設(shè)定模塊數(shù)碼管掃描顯示模塊 跑表調(diào)整及顯示模塊圖 5.1軟件主程序設(shè)計圖5.2 模塊程序的設(shè)計 5.2.1 時鐘模塊本系軟件設(shè)計中,首先是時鐘:主程序的初始化內(nèi)容:所謂初始化,是對將要用到的51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)

17、行初始工作設(shè)定。利用單片機(jī)定時器設(shè)計時間計時處理,采用單片機(jī)內(nèi)部的t0定時器溢出中斷來實(shí)現(xiàn),工作在方式1下,定時50毫秒,則連續(xù)中斷20次即為一秒,得到了我們所需時間的最小單位。在主程序循環(huán)中while(1)中掃描是否有鍵按下,如有鍵按下,則做出相應(yīng)的功能處理,同時掃描顯示時間、跑表、鬧鐘數(shù)據(jù),并檢查時候到達(dá)鬧鈴設(shè)置時間,響鈴。若無按鍵,則繼續(xù)執(zhí)行主程序。時鐘設(shè)計主框圖如下: 開始 重置初值,啟動下一個50ms是50ms計數(shù)器=20? 否 秒單元加1,50ms計數(shù)器清零 否 否秒單元=60? 否 分單元加1,秒單元清零否分單元=60? 時單元加1,分單元清零 否 否時單元=24? 時、分、秒單

18、元清零 否 中斷返回圖5-2 時鐘服務(wù)程序流程圖 5.2.2 跑表模塊其次的跑表:因?yàn)榕鼙碜钚挝皇?.1秒,而且要與時鐘分開計時,跑表停止時,時鐘要繼續(xù)按正常時間走,我利用定時器t1,實(shí)現(xiàn)分開定時,定時為10ms,連續(xù)中斷10次即為0.1s。兩個定時互不干涉,但進(jìn)入時鐘模式時,為跑表計時的定時器t1的啟動為tr1置0,而停止計時。跑表設(shè)計主框圖如下:圖5-3 跑表服務(wù)程序流程圖5.2.3 鬧鐘模塊還有就是鬧鐘:其也是利用時鐘的定時時間,也使用t0,有切換鍵使其進(jìn)入鬧鐘模式,然后可對其進(jìn)行設(shè)置等。鬧鐘設(shè)計主框圖如下:是蜂鳴器響是否與時鐘相同?設(shè)定鬧鈴1、2的時間按下鍵后進(jìn)入鬧鐘模式圖4-3 鬧

19、鐘程序流程圖否開始結(jié)束5.3 顯示和鍵盤的設(shè)計 5.3.1 顯示模塊led顯示器的選擇,在我的設(shè)計中,選擇2個4位一體的時鐘型共陽led顯示器。8位8段共陽顯示器:六位是同時顯示六位阿拉伯?dāng)?shù)字,而每一個數(shù)字又是七段碼顯示的;七段是指一個數(shù)碼顯示的阿拉伯?dāng)?shù)字是由8位二進(jìn)制數(shù)控制的,共陰是指相應(yīng)的二進(jìn)制為0時不亮,為1時亮。其分析流程圖:圖4-3 顯示程序流程圖5.3.2 矩陣鍵盤模塊鍵盤程序是完成對時鐘的調(diào)整,跑表的啟動、清零,鬧鈴的時間調(diào)整以及各個模塊之間的相互切換。軟件實(shí)現(xiàn)是通過軟件掃描法,鍵盤掃描函數(shù),使用行列反轉(zhuǎn)掃描法,行列值中間變量、行線輸出全為0、讀入列線值先檢測有無按鍵按、下具體每

20、個按鍵的功能如上所述。程序通過.h后綴的文件給出。 第6章 調(diào)試步驟、結(jié)果、使用說明6.1調(diào)試步驟和過程調(diào)試步驟一般一步一步來,先實(shí)現(xiàn)一部分功能,然后將整個程序在整合起來,在將程序模塊化。(1)我先調(diào)試出顯示模塊,達(dá)到自己想要的顯示結(jié)果,比如動態(tài)顯示,得到對應(yīng)的顯示代碼,led帶點(diǎn)的數(shù)碼管代碼。(2)調(diào)試時間,使其達(dá)到精確的時間,不如我要測試跑10分鐘,看看他的誤差是多少,然后調(diào)節(jié)其定時器初值th0、1和tl0、1。(3)然后是調(diào)節(jié)跑表,使其在時鐘與跑表之間的切換,并運(yùn)行穩(wěn)定,整理程序。(4)鬧鐘模塊,首先要調(diào)用時鐘的定時時間,然后通過按鍵去控制。(5)最后將各個模塊拼接接起來統(tǒng)一調(diào)試,直達(dá)穩(wěn)

21、定達(dá)到想要的效果。當(dāng)然在調(diào)的過程中會遇到很多問題比如:如響鈴時蜂鳴器聲音非常小,經(jīng)過增大聲音函數(shù)中的延時時長,該問題得以解決;在設(shè)置減一功能按鍵時,時鐘自動提高其上限,如在24:00時對時針進(jìn)行加一,會跳轉(zhuǎn)至24:00 :01,超出了時鐘上限,后經(jīng)過調(diào)整鍵盤函數(shù)中減一功能只能夠if條件語句中的條件值,如if(minute60),即將其值有重新賦值為0,其分鐘會出現(xiàn)60這個實(shí)際時間中不應(yīng)該出現(xiàn)的時間。后面給成if(minute59)就可以了。圖6.1 顯示設(shè)置時針加減圖6.2 鬧鐘顯示設(shè)置圖6.3 跑表顯示設(shè)置6.3調(diào)試結(jié)果(1)實(shí)現(xiàn)了全部要求功能,本來有4個led數(shù)碼管顯示的,我用自己買的開發(fā)

22、板有8個顯示,克服了本來那開發(fā)板只有4個led不能顯示全部的時分秒的缺陷,另外我加了一個鬧鐘模塊,使其更加接近電子表的功能,并有可設(shè)置兩個鬧鐘模式,兩個的定時時間可任意設(shè)置。到達(dá)固定設(shè)定時間就有蜂鳴器發(fā)出鈴聲,設(shè)定時間為10s。6.2使用說明作品按照要求,在通了電源后,我自己設(shè)定為09:00:00,按下啟動鍵(k8)后開始記時,可隨時按下(k15)切換到跑表模式,同時可對其進(jìn)行停止啟動、和復(fù)位。可通過(k12)切換到鬧鐘模塊,默認(rèn)為6:30響鈴,并通過對應(yīng)按鍵對 其定時。第7章 設(shè)計總結(jié)兩周的課程設(shè)計已經(jīng)接近尾聲了,終于完成了電子表的設(shè)計。在這一次課程設(shè)計當(dāng)中,在這里我要我指導(dǎo)老師周向紅老師對

23、我的指導(dǎo),從拿到課題時不知所措,經(jīng)過網(wǎng)上查閱相關(guān),查閱教材、課程設(shè)計指導(dǎo)書及各類參考文獻(xiàn),向老師請教,與同學(xué)交流,最終確定了我的設(shè)計方案。雖然我以前學(xué)過單片機(jī),參加過一次額電子設(shè)計競賽,跟老師做過個一些項目,但是在本次設(shè)計的過程中,我任然發(fā)現(xiàn)很多的問題,也學(xué)到了很多知識與技巧。這次設(shè)計讓我有了長足的進(jìn)步,真正實(shí)現(xiàn)了對單片機(jī)硬件與軟件的兼顧與融會貫通。也對c51編程有了跟一步的加深和了解。這次課程設(shè)計給我深刻的印象,還記得星期2的我一個顯示切換,一直沒成功,真的和糾結(jié),后面我一直在調(diào)試,最后調(diào)到晚上1點(diǎn)我才調(diào)試成功,當(dāng)顯示成功的那一刻,我突然大喊一聲,我室友還以為我怎么了呢?那成功的喜悅我永遠(yuǎn)會

24、記得。單片機(jī)課程設(shè)計重點(diǎn)就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過程序,但我覺的寫好一個程序并不是一件簡單的事。如矩陣鍵盤函數(shù)中,之前通過以分別行掃描和列掃描,相比我這次采用了同時行列掃描即(行掃描的值加列掃描值)精簡了程序,也提高了52單片機(jī)的效率。這個程序中還有一些可以改進(jìn)與完善的地方。如可通過24c02鎖存器對調(diào)整好的鬧鈴時間進(jìn)行鎖存,實(shí)現(xiàn)斷電保護(hù)功能;并實(shí)現(xiàn)記憶功能;還可以通過對所鬧鈴聲進(jìn)行編輯,模擬各種聲音來達(dá)到鬧鈴的效果,以顯示各種特點(diǎn)。在做軟件設(shè)計的時候深刻的體會到了子程序功能實(shí)現(xiàn)方法的重要性。在顯示和按鍵等子程序的設(shè)計過程中往往只是針對某個系統(tǒng)功能實(shí)用來編寫,很

25、少考慮以后程序的兼容性和可擴(kuò)展性。經(jīng)過本次設(shè)計對自己分析整個系統(tǒng)結(jié)構(gòu)和設(shè)計方案有了很大的提高。在這次課程設(shè)計中,感謝同組同學(xué)的鼓勵與配合。通過本次課程設(shè)計,我認(rèn)識到了自己的許多缺點(diǎn)和不足,體會到了實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)以及實(shí)踐出真知的道理。在以后的學(xué)習(xí)生活中,我會努力將學(xué)習(xí)知識要看做是自己的興趣愛好,要主動學(xué)習(xí)。不僅要學(xué)會書本上的知識,更要掌握學(xué)好知識的方法和技巧,這樣才能使自己在今后的科技道路上越走越遠(yuǎn)!在此,我要再一次感謝周向紅老師和給過我?guī)椭母魑恢笇?dǎo)老師和所有同學(xué),謝謝你們的的辛勤指導(dǎo)。第八章 參考文獻(xiàn)1、 周向紅 編51系列單片機(jī)應(yīng)用與實(shí)踐教程m.北航出版社2、 王迎旭編.單片機(jī)原

26、理與應(yīng)用m.機(jī)械工業(yè)出版社.3、 黃勤編.計算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程m.重慶大學(xué)出版社4、劉樂善編.微型計算機(jī)接口技術(shù)及應(yīng)用m.華中科技大學(xué)出版社.5、陳光東編.單片微型計算機(jī)原理及接口技術(shù)m.華中科技大學(xué)出版社.6、樓然苗編.51系列單片機(jī)設(shè)計實(shí)例m.北京航空航天大學(xué)出版社.附錄a附錄b#include#define uchar unsigned char uchar time1,time2;time3;time4=12;/定義時鐘變量uchar s,m,h; /定義秒表變量uchar code xianshi_w=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7

27、f;/顯示位碼uchar code xianshi_d=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/顯示段碼uchar xianshi_sj8=0,1,10,0,0,10,0,0;/定義按鍵sbit key=p12;/時鐘調(diào)整按鍵sbit key1=p13;/時鐘加按鍵sbit key2=p14;/時鐘減按鍵sbit key3=p15;/啟動按鍵sbit key4=p16;/切換按鍵uchar key_z,key_x,key_m,key_s;/定義按鍵變量/軟件延時void delay() unsigned int i; fo

28、r(i=0;i99)s=0;m+;miao=miao; if(m99)m=0;h+; if(h99)s=0;m=0;h=0; if(key_x=1&key_s=0)s=0;m=0;h=0; /時鐘中斷 if(key_m=1)time1+; if(time199)time1=0;time2+;miao=miao; if(time259)time2=0;time3+; if(time359)time2=0;time4+; if(time424)time1=0;time2=0;time3=0; time4=0; /按鍵小時加一 void xiaoshi_jia()if(key1=0)delay();if(key1=0)time4+;if(time423)time4=0;while(key1=0);/按鍵小時減一void xiaoshi_jian()if(key2=0)delay();if(key2=0)time4-;if(time459)time3=0;while(key1=0);/按鍵分鐘減一void fenzhong_jian()if(key2=0)delay();if(key2=0)time3-;if

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論