選題背景
在當下這個信息科技迅猛發(fā)展的時代,各領(lǐng)域?qū)τ跁r間精確要求越來越高,比如在物理界,做實驗需要精確的計時工具來測量時間參數(shù);在體育界,比賽場上需要精確的計時工具來區(qū)分運動員速度之間的細微差距;在IT行業(yè),時間的要求更是越來越高;最基本的在生活中,計時工具也是常被人使用。所以電子秒表實用域廣,性價比高,實用性強,市場前景一片光明。
1.2 單片機簡單介紹、單片機微型計算機簡稱單片機,是典型的嵌入式微控制器,常用英文字母MCU表示單片機,它最早是被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片內(nèi),是計算機系統(tǒng)更小,更容易集成進復雜的而對提及要求嚴格的控制設(shè)備當中。INTEL的Z80是最早按照這種設(shè)計思想設(shè)計出的處理器,之后,單片機和專用處理器被分開。早期的單片機是8位或4位的,其中最成功的是8031,因為簡單可靠性能好而獲好評。之后在8031基礎(chǔ)上發(fā)展了MCS51系列單片機系統(tǒng)。但性價比不理想而未被廣泛應(yīng)用。90年代隨著電子產(chǎn)品飛速發(fā)展,單片機技術(shù)大大提高,處理能力也提高了數(shù)倍。目前,高端32位單片機主頻已超過300MHZ,而且當代單片機系統(tǒng)已經(jīng)不只在裸機環(huán)境下使用和發(fā)展,大量嵌入式操作系統(tǒng)被廣泛使用。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。單片機比專用處理器更適合于嵌入式系統(tǒng),所以他得到了更廣泛的應(yīng)用。其實單片機是世界上數(shù)量最多的計算機。現(xiàn)代生活的幾乎所有電子和機械產(chǎn)品都集成有單片機。手機,電話,計算機,家庭電器,醫(yī)療儀器,電子玩具,掌上電腦等等都會配有單片機。汽車上一般要配有50多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機子同時工作!
因此,本次大作業(yè)設(shè)計以單片機為核心,設(shè)計簡單的電子秒表系統(tǒng),是的系統(tǒng)能夠正確的運行,并且可以用數(shù)碼管顯示,在現(xiàn)實中生活中應(yīng)用廣泛,既有實現(xiàn)意義。
1.3 設(shè)計的作用及目的本設(shè)計利用單片機原理,結(jié)合顯示電路,用以四位一體共陽極數(shù)碼顯示管及按鍵來實現(xiàn)0000-1000秒計時器。將軟硬件合理結(jié)合,以實現(xiàn)系統(tǒng)正常運行,數(shù)碼管正常顯示的最終目的。本論文是對電子秒表設(shè)計的設(shè)基本功能,軟件模塊硬件模塊的設(shè)計思路及如何實現(xiàn)功能的主要概述。 本次課程設(shè)計加深了對單片機課程的全面認識和對單片機課程的應(yīng)用。 培養(yǎng)了自己運用所學基礎(chǔ)理論解決實際問題的能力。 學習到設(shè)計論文寫作方法和 用文與圖相結(jié)合直觀,詳細,具體地闡述設(shè)計成果。對數(shù)字電子秒表的設(shè)計、檢測、制作有了有更進一步的理解與操作,學會了把所學知識知識理論與動手實踐相結(jié)合。
第2章 設(shè)計主要任務(wù)
2.1 四位數(shù)碼管動態(tài)顯示0000-1000秒可以正確的顯示000.0……000.9……001.9……019.9……199.9……999.9之間的所有數(shù),并且以每秒加以的形式顯示在數(shù)碼管上,其中要正確設(shè)置數(shù)碼管各個位上字模才能正確顯示000.0……000.9……001.9……019.9……199.9……999.9之間的所有數(shù)。所以設(shè)定好字模是實現(xiàn)數(shù)碼管動態(tài)顯示0000----1000秒這一主要任務(wù)的重點工作。
2.2 每秒自動加1要想電子秒表完成計數(shù)的功能就要實現(xiàn)系統(tǒng)可以每秒自動加1的功能,并且顯示到數(shù)碼管上。其中需要軟件編程來實現(xiàn)每秒自動加1的功能,所以軟件的正確編寫是實現(xiàn)每秒自動加1這一任務(wù)的重要工作。
2.3 開始按鍵,復位按鍵,暫停按鍵
功能按鍵是實現(xiàn)更智能,更多功能化的工具。按鍵可以讓使用者自如的操控秒表,當按下開始按鍵時秒表開始正常工作,開始計時,數(shù)碼管上開始以每秒加1的形式在數(shù)碼管上正確的顯示000.0……000.9……001.9……019.9……199.9……999.9之間的所有數(shù)。當按下暫停按鍵時秒表暫停工作,數(shù)碼管上顯示再按下按鍵時刻正在顯示的000.0……000.9……001.9……019.9……199.9……999.9之間的某個數(shù),不在每秒加1.當按下復位按鍵時數(shù)碼管上無論顯示什么數(shù)字,再按下復位案件這一刻,數(shù)碼管上各個位現(xiàn)實的數(shù)字被清除,顯示的是----。當再次按下開始按鍵時,數(shù)碼管又開始從000.0開始計數(shù)。注意使用時只有在暫停狀態(tài)下才能繼續(xù)計時,只有在停止狀態(tài)下才能清零,在停止時不能繼續(xù)計時,在暫停時不能清零。 而這些功能都需要單片機和寫入控制的代碼來實現(xiàn)的,因此軟件編程,狀態(tài)機的使用是實現(xiàn)按鍵發(fā)揮功能這一任務(wù)的重要工作。
第3章 硬件模塊3.1 時鐘電路3.1.1圖的設(shè)計
3.1.2原理講解
單片機是一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控 制下嚴格地按時序進行工作。而單片機的時間基準是由時鐘電路提供的。在單片機的XTAL1和TXAL2這兩個引角間跨接一只晶體振蕩器和兩只微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器,即所謂的時鐘電路。電路中電容C7,C8對震蕩頻率有微調(diào)的作用,通常取(30±10)pF。石英晶體選擇6MHZ或12MHZ均可,此電路采用 12MHz 的石英晶體。時鐘電路如圖 3-1。
3.2 復位電路3.2.1圖的設(shè)計
3.2.2原理講解
復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。除了進入系統(tǒng)的正常初始化之外,當由于程序運 行出錯或操作錯誤是系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵以重新 啟動。 為了可靠起見,電源穩(wěn)定后還要經(jīng)過一定延時再撤銷復位信號,以防電源開關(guān)或插頭分合過程引起的抖動影響復位。 復位操作有上電自動復位和按 鍵手動復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的。 按鍵電平復位是通過使復位端經(jīng)電阻與 Vcc 電源接通而實現(xiàn)的。 在本設(shè)計中采用 了按鍵電平復位方式,其復位電路如圖 3-2 所示:
3.3 按鍵電路3.3.1圖的設(shè)計
3.3.2原理講解
- SW1:復位鍵 按下數(shù)碼管全部初始化,顯示----
- SW2:啟動鍵 按下 數(shù)碼管停止數(shù)字
- SW2:停止鍵 再按下 數(shù)碼管運行數(shù)字
為了節(jié)省元器件,原理圖中的SW3作用歸結(jié)到SW2中。故實物中只需要兩個按鍵即可很好的完成目的。注意使用時只有在暫停狀態(tài)下才能繼續(xù)計時,只有在停止狀態(tài)下才能清零,在停止時不能繼續(xù)計時,在暫停時不能清零。 鍵盤電路如圖 3-3-1
3.4 顯示電路3.4.1圖的設(shè)計
3.4.2原理講解
對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。一般的段式液晶屏,需要專門的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠距離觀看;對于具有驅(qū)動電路和單片機接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對單片機的接口要求較高,占用資源多;另外,AT89C51單片機本身無專門的液晶驅(qū)動接口。而數(shù)碼管作為一種主動顯示器件,具有亮度高、響應(yīng)速度快、防潮防濕性能好、溫度特性極性、價格便宜、易于購買等優(yōu)點,而且有遠距離視覺效果,很適合夜間或是遠距離操作。因此,本設(shè)計的顯示電路采用8段數(shù)碼管作為顯示介質(zhì)。顯示部分采用動態(tài)顯示當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通 COM 端電路的控制, 所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。動態(tài)顯示是利用人眼視覺暫留特性來實現(xiàn)顯示的。事實上,顯示器上任何時刻只有一個數(shù)碼 管有顯示。 由于各數(shù)碼管輪流顯示的時間間隔短,人的眼睛反應(yīng)不過來, 因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時的時間在 1ms 左右,不能太長, 也不能太短。本設(shè)計可采用 P3 口直接驅(qū)動八段數(shù)碼管顯示。此方案成本低,而且單片機的 I/O 口占用較少,可以節(jié)約單片機接口資源,而且功耗更低。 此電路采用單片機的 P3 口作為數(shù)碼顯示管的段控, 采用 P2 口作為數(shù)碼管的 位控。2個獨立式鍵盤分別接在單片機的 P1.0,P1.3 口上,以及其他部分構(gòu)成數(shù)字式秒 表的硬件電路。通過編寫程序使用單片機的定時計數(shù)器,以及軟件延時,中斷資 源來實現(xiàn)秒計時和相關(guān)控制。此數(shù)字式秒表的硬件整體結(jié)構(gòu)如圖 1-1 所示。由兩個SN74HC245DW作為數(shù)碼管驅(qū)動,U2、U3分別用于數(shù)碼管的顯示與位導通。顯示電路如圖3-4所示。
數(shù)碼管為四位共陰極數(shù)碼管。其中:
- 管腳11-18:分別連接8個1K歐姆電阻用以限流。
- 管腳1:VCC接5V電源正極。
- 管腳10、19:VSS為電源地。
- 管腳20:接兩個去耦電容。
3.5 USB接口電路3.5.1圖的設(shè)計
3.6 本章小結(jié)3.6.1整體硬件模塊框圖
3.6.2整體硬件模塊電路原理圖
3.6.3整體硬件模塊電路仿真圖
3.6.4 硬件模塊總結(jié)
電子秒表硬件的總體設(shè)計如圖3-6-1所示。本系統(tǒng)由單片機以及時鐘電路、復位電路、按鍵電路、顯示電路、電源電路組成。
電子秒表硬件的總體電路原理圖如圖3-6-2所示。
- 單片機管腳P1.0、P1.3與按鍵電路相連;
- 單片機管腳P2.0-2.7和P3.4-3.7分別與驅(qū)動電路相連;
- 單片機管腳9與復位電路相連;
- 單片機管腳10、11與下載電路相連;
- 單片機管腳18、19與時鐘電路相連;
- 單片機管腳40連入退耦電容。
第4章 軟件模塊4.1 啟動程序4.4.1 啟動程序流程圖
4.1.2 啟動程序設(shè)計原理
啟動程序由外部中斷進行判斷,當定時器TRO=1;ETO=1;后進入中斷。程序進行判斷啟動鍵是否被按下, 若flag=0則按鍵置于低電平程序進入下一步。啟動程序流程圖如圖4-1所示。
4.2 復位程序4.2.1 復位程序流程圖
4.2.2 復位程序設(shè)計原理
程序開始,進行按鍵掃描。當判斷出start按下時,計數(shù)器開始計時,當判斷出start按鍵再次按下時,停止計時。此時復位程序才可以使用。復位程序流程圖如圖4-2所示。
4.3 按鍵掃描程序4.3.1 按鍵掃描程序流程圖
4.3.2 按鍵掃描程序設(shè)計原理
按鍵掃描程序主要功能為持續(xù)掃描按鍵是否被按下,利用循環(huán)的方式,判斷按鍵是否被按下。判斷按鍵前后的兩次狀態(tài),檢測到按鍵前為高電平,按鍵后為低電平。則判斷出為按鍵已經(jīng)按下,從而進行按鍵所對應(yīng)的功能。按鍵掃描程序流程圖如圖4-3所示。
4.4 數(shù)碼管顯示程序4.3.1 數(shù)碼管顯示程序流程圖
4.4.2 數(shù)碼管顯示程序設(shè)計原理
數(shù)碼管顯示驅(qū)動的主要工作過程為:首先將所對應(yīng)的字模編碼存入相對應(yīng)的存儲器中,然后將所要顯示字符編碼在上述存儲器中傳送給所用數(shù)組。通過對數(shù)組的調(diào)用最終實現(xiàn)數(shù)碼管的顯示。數(shù)碼管顯示驅(qū)動程序流程圖如圖4-4所示。
4.5 狀態(tài)機程序4.5.1 狀態(tài)機程序流程圖
4.5.2 狀態(tài)機程序設(shè)計原理
首先進行按鍵掃描,判斷flag狀態(tài)。如果若flag=0,進入第一個狀態(tài)循環(huán),若為flag=1,進入第二個狀態(tài)循環(huán)。兩種狀態(tài)循環(huán)的差異為定義的數(shù)組不同。使數(shù)碼管顯示不同的數(shù)字。
4.6 本章小結(jié) 4.6.1 軟件模塊整體流程圖
4.6.1 軟件模塊總結(jié)
單片機程序由主程序,狀態(tài)機程序,按鍵掃描程序,數(shù)碼管顯示驅(qū)動程序,啟停程序,復位程序,計數(shù)程序組成。主程序主要完成各單元程序的初始化并調(diào)用各個子程序。數(shù)碼管顯示驅(qū)動程序是通過程序?qū)Ⅱ?qū)動后的數(shù)碼管各個位顯示相應(yīng)的數(shù)字。按鍵掃描程序是使單片機根據(jù)按下的按鍵,判斷并執(zhí)行相應(yīng)的功能。啟動程序是在啟動按鍵按下后,數(shù)碼管開始進行計時。復位程序是在復位按鍵按下后,數(shù)碼管顯示恢復初始狀態(tài)。啟停程序是根據(jù)按鍵使單片機進行計時或停止計時。計數(shù)程序是在按鍵掃描后記錄時間�?傮w軟件設(shè)計如圖4-所示。
第5章 調(diào)試體會
調(diào)試程序心得體會:在調(diào)試程序時,我決定把開啟鍵和暫停鍵放到一個功能鍵上實現(xiàn),這樣做首先可以節(jié)省代碼,其次可以節(jié)省元器件。調(diào)試過程中遇到了一個棘手的問題就是字模。在仿真中字模是正確的,但是把程序?qū)懭腚娐钒鍟r發(fā)現(xiàn)是亂碼的,所以我的心得就是知道了要更改程序來真正實現(xiàn)軟件和硬件的正確結(jié)合。仿真和真正實現(xiàn)還是有差異的。
制作過程中心得體會:在焊電路板時,單片機的引腳一定要焊好,要相對應(yīng)的插入,不能插反,否則很麻煩。要仔細檢查是否有虛焊漏焊的引腳,還有就是電阻的大小要選準。否則不會實現(xiàn)電路板的正常功能。我出現(xiàn)的最大的錯誤就是把一個接地的引腳和接電源的引腳接到了一起,結(jié)果導致電路板短路。這是一個很嚴重的問題。很容易造成電路板損壞。還好及時發(fā)現(xiàn)沒有造成大的損壞,但給我的教訓就是一定要分清底線和電源線,不能把他們兩個接在一起。在焊完之后可以用萬用表仔細檢查之后在供電。
第6章 總結(jié)本設(shè)計的電子秒表是由AT89c51RC單片機,共陰數(shù)碼顯示管,控制按鍵,74HC245等元件構(gòu)成。 設(shè)有四位計時顯示,啟動/暫停,復位按鍵。計時精度能達到0.1s,設(shè)計精簡合理,線路簡單,功能符合使用基本需求,性能穩(wěn)定,程序精簡,簡單易懂。本論文中給出了詳細的電路設(shè)計方法,仿真電路的詳細知識,還有軟件的整體框圖及軟件各部分程序流程圖。本系以單片機為核心,但僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),針對具體應(yīng)用對象特點的軟件結(jié)合作以完善。所以采用C語言來進行軟件設(shè)計,目標代碼短,占用內(nèi)存少,功能性強。
通過本次大實驗設(shè)計,復習鞏固了我們以前學習的數(shù)字,模擬電子技術(shù),單片機原理及接口等課程知識,加深對各門課程及相互關(guān)系的理解,并成功使用了Protel6.9,Altium Designer09,Proteus ISIS,Keil uvision4等軟件的使用。使理論知識系統(tǒng)化,實用化,系統(tǒng)地掌握微機應(yīng)用系統(tǒng)的一般設(shè)計方法,培養(yǎng)較強的編程能力,開發(fā)能力。同時在設(shè)計過程中,我也發(fā)現(xiàn)了本系統(tǒng)的諸多不足和可以改進的地方。但因為時間緊迫等原因沒能更好的改進和擴展更多的功能。本設(shè)計的秒表可以外加一個語音報警裝置,當達到一定秒數(shù)時,語音報警裝置啟動,發(fā)揮提示功能。還可添加充電,顯示時間等功能。雖然存在不足,但是本次設(shè)計的電子秒表仍完成了對秒表的基本需求,并能很好的執(zhí)行相應(yīng)功能,所以它還是具有很好的實用性的, 較好的達到了本次設(shè)計的目的。
3. 參考文獻[1] 虞滄.微控制器與接口技術(shù)[M]電子工業(yè)出版社.2012.10
[2] 李朝青. 單片機原理及接口技術(shù)[M].北京:北京航空航天大學出版社.2005.10
[3] 夏繼強. 單片機實驗北京[M].北京:航空航天大學出版社.2001.
[4] 孫德輝,鄭士富. 微型計算機控制系統(tǒng)[M].北京:冶金工業(yè)出版社.2002
[5] 肖洪兵. 跟我學用單片機[M]北京:北京航空航天大學出版社.2002.8
[6] 陳汝全. 實用微機與單片機控制技術(shù)[M] 電子科技大學出版社.1995.7
[7] 王涌. 單片機與嵌入式系統(tǒng)應(yīng)用[J],2002(3):58-61
[8] 羅亞非. 凌陽16位單片機應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學出版社.2003.5