九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計

上傳人:無*** 文檔編號:86351801 上傳時間:2022-05-07 格式:DOC 頁數(shù):22 大?。?00.84KB
收藏 版權(quán)申訴 舉報 下載
單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計_第1頁
第1頁 / 共22頁
單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計_第2頁
第2頁 / 共22頁
單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計_第3頁
第3頁 / 共22頁

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

10 積分

下載資源

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

資源描述:

《單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《單片機(jī)電子時鐘的設(shè)計 單片機(jī)課程設(shè)計(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 成都學(xué)院(成都大學(xué))課程設(shè)計報告摘 要在今天,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品是滲透到了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 現(xiàn)代生活的人們非常的重視時間觀念,對于那些對時間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時間簡單明了而且讀數(shù)快、時間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計時裝置。數(shù)字鐘的精度、穩(wěn)定

2、度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計中,我們采用LED 數(shù)碼管顯示時、分、秒,以24 小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示,用12MHz 的晶振產(chǎn)生振蕩脈沖,定時器計數(shù)。在此次設(shè)計中,電路具有顯示時間的其本功能,還可以實現(xiàn)對時間的調(diào)整。數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。 關(guān)鍵字:數(shù)字電子鐘;單片機(jī) 目 錄摘 要1第1章 緒論11.1研究背景11.1 選題的目的和意義11.2 本課程設(shè)計的主要內(nèi)容2第2章 單片機(jī)電子時鐘設(shè)計方案設(shè)計32.1 設(shè)計方案32.1.1 計時方案32.2.2 顯示方案32.2.3 鍵盤的基本

3、原理42.3.4 LED顯示器的基本結(jié)構(gòu)與原理7第3章 硬件設(shè)計93.1 硬件電路93.2 數(shù)字鐘的程序設(shè)計93.2.1 系統(tǒng)軟件設(shè)計流程圖103.2.2 主程序103.2.3 定時器中斷子程序113.2.4 LED顯示子程序123.2.5 按鍵控制子程序12第4章 結(jié)論14參考文獻(xiàn)15附錄1 軟件清單1619 成都學(xué)院(成都大學(xué))課程設(shè)計報告第1章 緒論1.1研究背景20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那

4、么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一

5、種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機(jī)械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。1.1 選題的目的和意義單片機(jī)課程設(shè)計是單片機(jī)課程后續(xù)學(xué)習(xí)階段的一個重要的實踐學(xué)習(xí)環(huán)節(jié),它既能增強學(xué)生對所學(xué)課程內(nèi)容的理解和綜合,也能培養(yǎng)學(xué)生的綜合應(yīng)用及設(shè)計能力,同

6、時,還可以拓寬課程內(nèi)容和培養(yǎng)創(chuàng)新意識。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實的意義。 1.2 本課程設(shè)計的主要內(nèi)容本設(shè)

7、計電子時鐘主要功能為:自動計時功能。能顯示計時時間,顯示效果良好。有校時功能,能對時間進(jìn)行校準(zhǔn)。擴(kuò)展功能:具有整點報時功能,在整點時使用蜂鳴器進(jìn)行報時。具有定時鬧鐘功能,能設(shè)定定時鬧鐘,在時間到時能使蜂鳴器鳴叫。第2章 單片機(jī)電子時鐘設(shè)計方案設(shè)計2.1 設(shè)計方案單片機(jī)電子時鐘方案選擇主要涉及兩個方面:計時方案和顯示方案。2.1.1 計時方案單片機(jī)電子時鐘計時有兩種方法:第一種是通過單片機(jī)內(nèi)部的定時器/計數(shù)器,采用軟件編程來實現(xiàn)時鐘計時,這種實現(xiàn)的時鐘一般稱為軟時鐘,這種方法的硬件線路簡單,系統(tǒng)的功能一般與軟件設(shè)計相關(guān),通常用在對時間精度要求不高的場合;第二種是采用專用的硬件時鐘芯片計時,這種實

8、現(xiàn)的時鐘一般稱為硬時鐘。專用的時鐘芯片功能比較強大,除了自動實現(xiàn)基本計時外,一般還具有日歷和閏年補償?shù)裙δ?,計時準(zhǔn)確,軟件編程簡單,但硬件成本相對較高,通常用在對時鐘精度要求較高的場合。2.2.2 顯示方案對于電子時鐘而言,顯示是另一個重要的環(huán)節(jié)。顯示通常采用兩種方式:LED數(shù)碼管顯示和LCD液晶顯示。其中LED數(shù)碼管顯示亮度高,顯示內(nèi)容清晢,根據(jù)具體的連接方式可分為靜態(tài)顯示和動態(tài)顯示,在多個數(shù)碼管時一般采用動態(tài)顯示,動態(tài)顯示時須要占用CPU的大量時間來執(zhí)行動態(tài)顯示程序,顯示效果往往和顯示程序的執(zhí)行相關(guān)。LCD液晶顯示一般能顯示的信息多,顯示效果好,而且液晶顯示器一般都帶控制器,顯示過程由自帶

9、的控制器控制,不須要CPU參與,但液晶顯示器造價相對較高。為了便于比較與學(xué)習(xí),這里給出兩種設(shè)計方案,一種是軟件計時LED數(shù)碼管顯示的單片機(jī)電子時鐘,另一種是硬件定時LCD液晶顯示的單片機(jī)電子時鐘。軟件計時LED數(shù)碼管顯示的單片機(jī)電子時鐘總體設(shè)計框圖如圖2-1所示。硬件定時LCD液晶顯示的單片機(jī)電子時鐘總體設(shè)計框圖如圖2-2所示。 圖2-1 軟件計時LED顯示時鐘總體框圖圖2-2 硬件定時LCD顯示時鐘總體框圖2.2.3 鍵盤的基本原理鍵盤實際上是一組按鍵開關(guān)的集合,平時按鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時它才閉合,按下后可向計算機(jī)產(chǎn)生一脈沖波。按鍵開關(guān)的結(jié)構(gòu)和產(chǎn)生的波形如圖2-3所示。 (a)

10、 鍵盤開關(guān)的結(jié)構(gòu) (b) 鍵盤產(chǎn)生的波形圖2-3 鍵盤開關(guān)及波形示意圖當(dāng)按鍵開關(guān)未按下時,開關(guān)處于斷開狀態(tài),向P1.1輸入高電平;當(dāng)按鍵開關(guān)按下時,開關(guān)處于閉合狀態(tài),向P1.1輸入低電平。因此可通過讀入P1.1的高低電平狀態(tài)來判斷按鍵開關(guān)是否按下。(1)抖動的消除在單片機(jī)應(yīng)用系統(tǒng)中,通常按鍵開關(guān)為機(jī)械式開關(guān),由于機(jī)械觸點的彈性作用,一個按鍵開關(guān)在閉合時往往不會馬上穩(wěn)定地接通,斷開時也不會馬上斷開,因而在閉合和斷開的瞬間都會伴隨著一串的抖動,如波形如圖2-4所示。按下鍵位時產(chǎn)生的抖動稱為前沿抖動,松開鍵位時產(chǎn)生的抖動稱為后沿抖動。如果對抖動不作處理,會出現(xiàn)按一次鍵而輸入多次,為確保按一次鍵只確認(rèn)

11、一次,必須消除按鍵抖動。消除按鍵抖動通常有硬件消抖和軟件消抖兩種方法。圖2-4 抖動波形示意圖硬件消抖是通過在按鍵輸出電路上添加一定的硬件線路來消除抖動,一般采用R-S觸發(fā)器或單穩(wěn)態(tài)電路,圖2-5是由兩個與非門組成的R-S觸發(fā)器消抖電路。平時,沒有按鍵時,開關(guān)倒向下方,上面的與非門輸入高電平,下面的與非門輸入低電平,輸出端輸出高電平。當(dāng)按下按鍵時,開關(guān)倒向上方,上面的與非門輸入低電平,下面的與非門輸入高電平,由于R-S觸發(fā)器的反饋作用,使輸出端迅速的變?yōu)榈碗娖剑粫a(chǎn)生抖動波形,而當(dāng)按鍵松開時,開頭回到下方時也一樣,輸出端迅速的回到高電平而不會產(chǎn)生抖動波形。經(jīng)過圖中的R-S觸發(fā)器消抖后,輸出

12、端的信號就變?yōu)闃?biāo)準(zhǔn)的矩形波。圖2-5 硬件消抖電路軟件消抖是利用延時程序消除抖動。由于抖動時間都比較短,因此可以這樣處理:當(dāng)檢測到有鍵按下時,執(zhí)行一段延時程序跳過抖動,再去檢測,通過兩次檢測來識別一次按鍵,這樣就可以消除前沿抖動的影響。對于后沿抖動,由于在接收一個鍵位后,一般都要經(jīng)過一定時間再去檢測有無按鍵,這樣就自然跳過后沿抖動時間而消除后沿抖動了。當(dāng)然在第二次檢測時有可能發(fā)現(xiàn)又沒有鍵按下,這是怎么回事呢?這種情況一般是線路受到外部電路干擾使輸入端產(chǎn)生干擾脈沖,這時就認(rèn)為沒有鍵輸入。在單片機(jī)應(yīng)用系統(tǒng)中,一般都采用軟件消抖。(2)鍵盤的分類一般來說,單片機(jī)應(yīng)用系統(tǒng)的鍵盤可分為兩類:獨立式鍵盤和

13、行列鍵盤。獨立式鍵盤就是各按鍵相互獨立,每個按鍵各接一根I/O接口線,每根I/O接口線上的按鍵都不會影響其他的I/O接口線。因此,通過檢測各I/O接口線的電平狀態(tài)就可以很容易地判斷出哪個按鍵被按下了。獨立式鍵盤如圖2-6所示。獨立式鍵盤的電路配置靈活,軟件簡單。但每個按鍵要占用一根I/O接口線,在按鍵數(shù)量較多時,I/O接口線浪費很大。故在按鍵數(shù)量不多時,經(jīng)常采用這種形式。圖2-6 獨立式鍵盤結(jié)構(gòu)圖行列鍵盤往往又叫矩陣鍵盤。用兩組I/O接口線排列成行、列結(jié)構(gòu),一組設(shè)定為輸入,一組設(shè)定為輸出,鍵位設(shè)置在行、列線的交點上,按鍵的一端接行線,一端接列線。例如,圖2-7是由4根行線和4根列線組成的44矩

14、陣鍵盤,行線為輸入,列線為輸出,可管理44=16個鍵。矩陣鍵盤占用的I/O接口線數(shù)目少,如圖2-7中44矩陣鍵盤總共只用了8根I/O接口線,比獨立式鍵盤少了一半的I/O接口線,而且鍵位越多,情況越明顯。因此,在按鍵數(shù)量較多時,往往采用矩陣式鍵盤。矩陣鍵盤的處理一般注意兩個方面:鍵位的編碼和鍵位的識別。 (a)二進(jìn)制組合編碼 (b)順序排列編碼圖2-7 矩陣鍵盤的結(jié)構(gòu)圖鍵位的編碼 矩陣鍵盤的編碼通常有兩種:二進(jìn)制組合編碼和順序排列編碼。(1)二進(jìn)制組合編碼如圖2-7(a)每一根行線有一個編碼,每一根列線也有一個編碼,圖2-7 (a)中行線的編碼從下到上分別為1、2、4、8,列線的編碼從右到左分別

15、為1、2、4、8,每個鍵位的編碼直接用該鍵位的行線編碼和列線編碼組合一起得到。圖2-7 (a)中44鍵盤從右到左,從下到上的鍵位編碼分別是:11H 、12H、14H 、18H、21H、22H 、24H 、28H、41H、42H、44H、48H、81H、82H、84H、88H。這種編碼過程簡單,但得到的編碼復(fù)雜,不連續(xù),處理起來不方便。(2)順序排列編碼如圖2-7 (b),每一行有一個行首碼,每一列有一個列號,圖2-7(b)中4行的行首碼從下到上分別為0、4、8、12,4列的列號從右到左分別是0、1、2、3。每個鍵位的編碼用行首碼加列號得到,即:編碼=行首碼+列號。這種編碼雖然編碼過程復(fù)雜,但得

16、到的編碼簡單,連續(xù),處理起來方便,現(xiàn)在矩陣鍵盤一般都采用順序編碼的方法。 (3)鍵位的識別矩陣式鍵盤鍵位的識別可分為兩步:第一步是首先檢測鍵盤上是否有鍵按下;第二步是識別哪一個鍵按下。檢測鍵盤上是否有鍵按下的處理方法是:將列線送入全掃描字,讀入行線的狀態(tài)來判別。其具體過程如下:P2口低四位輸出都為低電平,然后讀連接行線的P1口低四位,如果讀入的內(nèi)容都是高電平,說明沒有鍵按下,則不用做下一步;如果讀入的內(nèi)容不全為1,則說明有鍵按下,再做第二步,識別是哪一個鍵按下。識別鍵盤中哪一個鍵按下的處理方法是:將列線逐列置成低電平,檢查行輸入狀態(tài),稱為逐列掃描。其具體過程如下:從P2.0開始,依次輸出“0”

17、,置對應(yīng)的列線為低電平,其它列為高電平,然后從P1低四位讀入行線狀態(tài)。在掃描某列時,如果讀入的行線全為“1”,則說明按下的鍵不在此列;如果讀入的行線不全為“1”,則按下的鍵必在此列,而且是該列與“0”電平行線相交的交點上的那個鍵。為求取編碼,在逐列掃描時,可用計數(shù)器記錄下當(dāng)前掃描列的列號,檢測到第幾行有鍵按下,就用該行的行首碼加列號得到當(dāng)前按鍵的編碼。(4)獨立式鍵盤與單片機(jī)的接口獨立式鍵盤每一個鍵用一根I/O接口線管理,電路簡單,通常用于鍵位較少的情況下。對某個鍵位的識別通過檢測對應(yīng)I/O線的高低電平來判斷,根據(jù)判斷結(jié)果直接進(jìn)行相應(yīng)的處理。在MCS-51單片機(jī)系統(tǒng)中,獨立式鍵盤可直接用P0P

18、3四個并口中的I/O線來連接,連接時,如果用的是P1P3口,因為內(nèi)部帶上拉電阻,則外部可省力上拉電阻,如果用的是P0口,則須外部帶上接電阻。圖2-8是通過P1口低4位直接接4個獨立式按鍵的電路圖。直接判斷P1口低4位是否為低電平即可判斷相應(yīng)鍵是否按下。 圖2-8 P1口接4個獨立式按鍵圖2.3.4 LED顯示器的基本結(jié)構(gòu)與原理LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是7段或8段式LED數(shù)碼管顯示器,8段式比7段式多一個小數(shù)點。這里以8段式來介紹,單個8段式LED數(shù)碼管顯示器的外觀與引腳如圖2-9(a)所示,其中a,b,c,d,e,f,g和小數(shù)

19、點dp為8段發(fā)光二極管,位置如圖中所示,組成一個“”形狀。(a) 引腳圖 (b) 共陰極 (c) 共陽極圖2-9 8段式LED數(shù)碼管引腳與結(jié)構(gòu)8段發(fā)光二極管的連接有兩種結(jié)構(gòu):共陰極和共陽極。如圖2-9所示。其中,圖(b)為共陰極結(jié)構(gòu),8段發(fā)光二極管的陰極端連接在一起,陽極端分開控制,使用時公共端接地,要使哪根發(fā)光二極管亮,則對應(yīng)的陽極端接高電平;圖(b)為共陽極結(jié)構(gòu),8段發(fā)光二極管的陽極端連接在一起,陰極端分開控制,使用時公共端接電源,要使哪根發(fā)光二極管亮,則對應(yīng)的陰極端接地。LED數(shù)碼管顯示器顯示時,公共端首先要保證有效,即共陰極結(jié)構(gòu)公共端接低電平,共陽極結(jié)構(gòu)公共端接高電平,這個過程我們稱為

20、選通數(shù)碼管。再在另外一端送要顯示數(shù)字的編碼,這個編碼稱為字段碼,8位數(shù)碼管字段碼為8位,從高位到低位的順序依次為dp、g、f、e、d、c、b、a。如:共陰極數(shù)碼管數(shù)字“0”的字段碼為00111111B(3FH),共陽極數(shù)碼管數(shù)字“1”的字段碼為11111001B(F9H),不同數(shù)字或字符其字段碼不一樣,對于同一個數(shù)字或字符,共陰極結(jié)構(gòu)和共陽極結(jié)構(gòu)的字段碼也不一樣,共陰極和共陽極的字段碼互為反碼,常見的數(shù)字和字符的共陰極和共陽極的字段碼如表5.2所示。表5.2 常見的數(shù)字和字符的共陰極和共陽極的字段碼顯示字符共陰極字段碼共陽極字段碼顯示字符共陰極字段碼共陽極字段碼03FHC0HC39HC6H10

21、6HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“滅”00FFHB7CH83H第3章 硬件設(shè)計 3.1 硬件電路軟件計時LED數(shù)碼管顯示的時鐘的具體硬件電路如圖2-10所示,其中單片機(jī)采用應(yīng)用廣泛的AT89C51,系統(tǒng)時鐘采用12MHz的晶振,8個數(shù)碼管顯示,小時與分鐘、分鐘與秒鐘之間用短橫線間隔,采用共陽極七段式數(shù)碼管,由于并口上沒有連接其它的硬件電路,所以P0口直接作段選碼輸出端

22、,P2口作位選碼輸出端。采用簡化按鍵方式,只設(shè)定3個開關(guān)K0、K1和K2,通過P1口低3位相連。其中K0鍵為調(diào)時模式選擇鍵,K1為加1鍵,K2為減1健。圖2-10 軟件計時LED顯示時鐘硬件電路圖3.2 數(shù)字鐘的程序設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機(jī)軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設(shè)計和監(jiān)控軟件的設(shè)計。單片機(jī)的軟件設(shè)計通常要考慮以下幾個方面的問題: (1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理; (2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計、實行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植

23、和修改; (3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù); (4)繪制程序流程圖; (5)合理分配系統(tǒng)資源; (6)為程序加入注釋,提高可讀性,實施軟件工程; (7)注意軟件的抗干擾設(shè)計,提高系統(tǒng)的可靠性。 3.2.1 系統(tǒng)軟件設(shè)計流程圖這次的數(shù)字電子鐘設(shè)計用到很多子程序,它們的流程圖如下所示。 主程序是先開始,然后啟動定時器,定時器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時間。圖3-1 軟件流程圖3.2.2 主程序時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。定時器中斷時是先檢測1秒是否

24、到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。圖3-2 主程序流程圖3.2.3 定時器中斷子程序定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到時單元就加1,如果沒到,就顯示時間。3.2.4 LED顯示子程序時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。圖3-3 LED顯示子程序3.

25、2.5 按鍵控制子程序按鍵處理設(shè)置為:如沒有按鍵,則時鐘正常走時。當(dāng)按K0鍵一次,時鐘暫停走動進(jìn)入調(diào)小時狀態(tài),再按K0鍵一次,進(jìn)入調(diào)分狀態(tài),再按K0鍵一次,回到正常走時;對于K1和K2按鍵,如果是正常走時,按K1和K2不起作用,如果進(jìn)入調(diào)時或調(diào)分狀態(tài),按K1可對時或分進(jìn)行加1操作,小時加到24則回到0,分加到60則回到0;按K2可對時或分進(jìn)行減1操作,小時減到負(fù)則回到23,分減到負(fù)則回到59。按鍵處理模塊流程如圖3-4所示。圖3-4 按鍵流程圖第4章 結(jié)論我在這一次數(shù)字電子鐘的設(shè)計過程中,很是受益匪淺。通過對自己在大學(xué)三年時間里所學(xué)的知識的回顧,并充分發(fā)揮對所學(xué)知識的理解和對畢業(yè)設(shè)計的思考及書

26、面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗。撰寫論文的過程也是專業(yè)知識的學(xué)習(xí)過程,它使我運用已有的專業(yè)基礎(chǔ)知識,對其進(jìn)行設(shè)計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實際訓(xùn)練。培養(yǎng)了我運用所學(xué)知識解決實際問題的能力。通過這次課程設(shè)計我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識與實踐相整合,理論知識服務(wù)于教學(xué)實踐,以增強自己的動手能力。這個實驗十分有意義 我獲得很深刻的經(jīng)驗。通過這次課程設(shè)計,我們知道了理論和實際的距離,也知道了理論和實際想結(jié)合的重要性,也從中得知了很多書本上無法得知的知識。我們的學(xué)習(xí)不但要立足于書本,以解決理論和實際教學(xué)中的實際問題為目

27、的,還要以實踐相結(jié)合,理論問題即實踐課題,解決問題即課程研究,學(xué)生自己就是一個專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實踐結(jié)合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實踐,解決實際問題,加強我們的動手能力和解決問題的能力。參考文獻(xiàn)1 謝維成.楊加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計.北京.清華大學(xué)出版社;第二版2 童詩白.華成美.模擬電子技術(shù)基礎(chǔ).高等教育出版社.第四版3 沙占友,孟志永.單片機(jī)外圍電路設(shè)計.北京:電子工業(yè)出版社,2006.6 4 顧德英,羅云林.計算機(jī)控制技術(shù).北京:北京郵電大學(xué)出版社,2009

28、附錄1 軟件清單#include unsigned char table1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char table2=0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f;unsigned char table3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char i,a,b;sbitKEY=P17;sbitADD=P16;sbitCLK=P15;sbitLLL=P30;intm=0,n=0,k=0,l=0,j=0

29、;intmm=0,nn=0,kk=0;void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);/*- 定時器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01;/使用模式1,16位定時器,使用|符號可以在使用多個定時器時不受影響/TH0=0x00;/給定初值,這里使用定時器最大值從0開始計數(shù)一直到65535溢出/TL0=0x00;EA=1; /總中斷打開ET0=1; /定時器中斷打開TR0=1; /定時器開關(guān)打開void main()Init_Timer0();P3=0x00;while(

30、1)if(!KEY) /如果檢測到低電平,說明按鍵按下 DelayMs(10); /延時去抖,一般10-20ms if(!KEY) /再次確認(rèn)按鍵是否按下,沒有按下則退出 while(!KEY);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 mm+;/釋放則執(zhí)行需要的程序 if(mm=4) mm=0; if(mm=1) if(!ADD) /如果檢測到低電平,說明按鍵按下 DelayMs(10); /延時去抖,一般10-20ms if(!ADD) /再次確認(rèn)按鍵是否按下,沒有按下則退出while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 n+;/釋放則執(zhí)行需要的程序

31、if(!CLK) /如果檢測到低電平,說明按鍵按下 DelayMs(10); /延時去抖,一般10-20ms if(!CLK) /再次確認(rèn)按鍵是否按下,沒有按下則退出 while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 n-;/釋放則執(zhí)行需要的程序 if(mm=2) if(!ADD) /如果檢測到低電平,說明按鍵按下DelayMs(10); /延時去抖,一般10-20msif(!ADD) /再次確認(rèn)按鍵是否按下,沒有按下則退出while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待k+;/釋放則執(zhí)行需要的程序if(!CLK) /如果檢測到低電平,說明按

32、鍵按下DelayMs(10); /延時去抖,一般10-20msif(!CLK) /再次確認(rèn)按鍵是否按下,沒有按下則退出while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 k-;/釋放則執(zhí)行需要的程序 if(mm=3)if(!ADD) /如果檢測到低電平,說明按鍵按下DelayMs(10); /延時去抖,一般10-20ms if(!ADD) /再次確認(rèn)按鍵是否按下,沒有按下則退出 while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 l+;/釋放則執(zhí)行需要的程序 if(!CLK) /如果檢測到低電平,說明按鍵按下DelayMs(10); /延時去抖,

33、一般10-20ms if(!CLK) /再次確認(rèn)按鍵是否按下,沒有按下則退出 while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放則一直等待 l-;/釋放則執(zhí)行需要的程序 for(i=0;i0;a-) for(b=100;b0;b-); P0=0x00;/*- 定時器中斷子程序-*/void Timer0_isr(void) interrupt 1 using 1 TH0=(65536-500)/256; /重新賦值 12M晶振計算,指令周期1uS, TL0=(65536-500)*256; /1mS方波半個周期500uS,即定時500次 /溢出然后輸出端取反 if(mm=0) m

34、+; if(m=1000) m=0; n+; if(n=60) n=0;k+; if(k=60) k=0;l+; if(j!=l) if(n5) LLL=1;else LLL=0; j=l; table20=table1l/10; table21=table1l%10;table23=table1k/10;table24=table1k%10;table26=table1n/10;table27=table1n%10;else if(mm=1)table20=0x40; table21=0x40; table23=0x40; table24=0x40;table26=table1n/10; t

35、able27=table1n%10; if(mm=2)table20=0x40; table21=0x40;table23=table1k/10; table24=table1k%10;table26=0x40; table27=0x40; if(mm=3)table20=table1l/10; table21=table1l%10; table23=0x40; table24=0x40; table26=0x40; table27=0x40;/*- uS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0255 這里使用晶振12M,精確延時請使用匯編,大致延時 長度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0255 這里使用晶振12M,精確延時請使用匯編-*/void DelayMs(unsigned char t) while(t-) /大致延時1mS DelayUs2x(245); DelayUs2x(245);

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(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)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!