院 (系): | 生物醫學工程學院 |
專 業: | 生物醫學工程 |
年 級: | 2014級 |
姓 名: | 張歡 |
指導教師: | 郭*壯 |
在當下這個信息科技迅猛發展的時代,各領域對于時間精確要求越來越高,比如在物理界,做實驗需要精確的計時工具來測量時間參數;在體育界,比賽場上需要精確的計時工具來區分運動員速度之間的細微差距;在IT行業,時間的要求更是越來越高;最基本的在生活中,計時工具也是常被人使用。所以電子秒表實用域廣,性價比高,實用性強,市場前景一片光明。
、單片機微型計算機簡稱單片機,是典型的嵌入式微控制器,常用英文字母MCU表示單片機,它最早是被用在工業控制領域。單片機由芯片內僅有CPU的專用處理器發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片內,是計算機系統更小,更容易集成進復雜的而對提及要求嚴格的控制設備當中。INTEL的Z80是最早按照這種設計思想設計出的處理器,之后,單片機和專用處理器被分開。早期的單片機是8位或4位的,其中最成功的是8031,因為簡單可靠性能好而獲好評。之后在8031基礎上發展了MCS51系列單片機系統。但性價比不理想而未被廣泛應用。90年代隨著電子產品飛速發展,單片機技術大大提高,處理能力也提高了數倍。目前,高端32位單片機主頻已超過300MHZ,而且當代單片機系統已經不只在裸機環境下使用和發展,大量嵌入式操作系統被廣泛使用。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統。單片機比專用處理器更適合于嵌入式系統,所以他得到了更廣泛的應用。其實單片機是世界上數量最多的計算機,F代生活的幾乎所有電子和機械產品都集成有單片機。手機,電話,計算機,家庭電器,醫療儀器,電子玩具,掌上電腦等等都會配有單片機。汽車上一般要配有50多部單片機,復雜的工業控制系統上甚至可能有數百臺單片機子同時工作!
因此,本次大作業設計以單片機為核心,設計簡單的電子秒表系統,是的系統能夠正確的運行,并且可以用數碼管顯示,在現實中生活中應用廣泛,既有實現意義。
本設計利用單片機原理,結合顯示電路,用以四位一體共陽極數碼顯示管及按鍵來實現0000-1000秒計時器。將軟硬件合理結合,以實現系統正常運行,數碼管正常顯示的最終目的。本論文是對電子秒表設計的設基本功能,軟件模塊硬件模塊的設計思路及如何實現功能的主要概述。 本次課程設計加深了對單片機課程的全面認識和對單片機課程的應用。 培養了自己運用所學基礎理論解決實際問題的能力。 學習到設計論文寫作方法和 用文與圖相結合直觀,詳細,具體地闡述設計成果。對數字電子秒表的設計、檢測、制作有了有更進一步的理解與操作,學會了把所學知識知識理論與動手實踐相結合。
2.1 四位數碼管動態顯示0000-1000秒







對于數字顯示電路,通常采用液晶顯示或數碼管顯示。一般的段式液晶屏,需要專門的驅動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠距離觀看;對于具有驅動電路和單片機接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對單片機的接口要求較高,占用資源多;另外,AT89C51單片機本身無專門的液晶驅動接口。而數碼管作為一種主動顯示器件,具有亮度高、響應速度快、防潮防濕性能好、溫度特性極性、價格便宜、易于購買等優點,而且有遠距離視覺效果,很適合夜間或是遠距離操作。因此,本設計的顯示電路采用8段數碼管作為顯示介質。顯示部分采用動態顯示當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通 COM 端電路的控制, 所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。動態顯示是利用人眼視覺暫留特性來實現顯示的。事實上,顯示器上任何時刻只有一個數碼 管有顯示。 由于各數碼管輪流顯示的時間間隔短,人的眼睛反應不過來, 因此看到的是連續顯示的現象。為防止閃爍延時的時間在 1ms 左右,不能太長, 也不能太短。本設計可采用 P3 口直接驅動八段數碼管顯示。此方案成本低,而且單片機的 I/O 口占用較少,可以節約單片機接口資源,而且功耗更低。 此電路采用單片機的 P3 口作為數碼顯示管的段控, 采用 P2 口作為數碼管的 位控。2個獨立式鍵盤分別接在單片機的 P1.0,P1.3 口上,以及其他部分構成數字式秒 表的硬件電路。通過編寫程序使用單片機的定時計數器,以及軟件延時,中斷資 源來實現秒計時和相關控制。此數字式秒表的硬件整體結構如圖 1-1 所示。由兩個SN74HC245DW作為數碼管驅動,U2、U3分別用于數碼管的顯示與位導通。顯示電路如圖3-4所示。
數碼管為四位共陰極數碼管。其中:




電子秒表硬件的總體設計如圖3-6-1所示。本系統由單片機以及時鐘電路、復位電路、按鍵電路、顯示電路、電源電路組成。
電子秒表硬件的總體電路原理圖如圖3-6-2所示。

啟動程序由外部中斷進行判斷,當定時器TRO=1;ETO=1;后進入中斷。程序進行判斷啟動鍵是否被按下, 若flag=0則按鍵置于低電平程序進入下一步。啟動程序流程圖如圖4-1所示。

程序開始,進行按鍵掃描。當判斷出start按下時,計數器開始計時,當判斷出start按鍵再次按下時,停止計時。此時復位程序才可以使用。復位程序流程圖如圖4-2所示。

按鍵掃描程序主要功能為持續掃描按鍵是否被按下,利用循環的方式,判斷按鍵是否被按下。判斷按鍵前后的兩次狀態,檢測到按鍵前為高電平,按鍵后為低電平。則判斷出為按鍵已經按下,從而進行按鍵所對應的功能。按鍵掃描程序流程圖如圖4-3所示。

數碼管顯示驅動的主要工作過程為:首先將所對應的字模編碼存入相對應的存儲器中,然后將所要顯示字符編碼在上述存儲器中傳送給所用數組。通過對數組的調用最終實現數碼管的顯示。數碼管顯示驅動程序流程圖如圖4-4所示。


單片機程序由主程序,狀態機程序,按鍵掃描程序,數碼管顯示驅動程序,啟停程序,復位程序,計數程序組成。主程序主要完成各單元程序的初始化并調用各個子程序。數碼管顯示驅動程序是通過程序將驅動后的數碼管各個位顯示相應的數字。按鍵掃描程序是使單片機根據按下的按鍵,判斷并執行相應的功能。啟動程序是在啟動按鍵按下后,數碼管開始進行計時。復位程序是在復位按鍵按下后,數碼管顯示恢復初始狀態。啟停程序是根據按鍵使單片機進行計時或停止計時。計數程序是在按鍵掃描后記錄時間。總體軟件設計如圖4-所示。
調試程序心得體會:在調試程序時,我決定把開啟鍵和暫停鍵放到一個功能鍵上實現,這樣做首先可以節省代碼,其次可以節省元器件。調試過程中遇到了一個棘手的問題就是字模。在仿真中字模是正確的,但是把程序寫入電路板時發現是亂碼的,所以我的心得就是知道了要更改程序來真正實現軟件和硬件的正確結合。仿真和真正實現還是有差異的。
制作過程中心得體會:在焊電路板時,單片機的引腳一定要焊好,要相對應的插入,不能插反,否則很麻煩。要仔細檢查是否有虛焊漏焊的引腳,還有就是電阻的大小要選準。否則不會實現電路板的正常功能。我出現的最大的錯誤就是把一個接地的引腳和接電源的引腳接到了一起,結果導致電路板短路。這是一個很嚴重的問題。很容易造成電路板損壞。還好及時發現沒有造成大的損壞,但給我的教訓就是一定要分清底線和電源線,不能把他們兩個接在一起。在焊完之后可以用萬用表仔細檢查之后在供電。
本設計的電子秒表是由AT89c51RC單片機,共陰數碼顯示管,控制按鍵,74HC245等元件構成。 設有四位計時顯示,啟動/暫停,復位按鍵。計時精度能達到0.1s,設計精簡合理,線路簡單,功能符合使用基本需求,性能穩定,程序精簡,簡單易懂。本論文中給出了詳細的電路設計方法,仿真電路的詳細知識,還有軟件的整體框圖及軟件各部分程序流程圖。本系以單片機為核心,但僅單片機方面知識是不夠的,還應根據具體硬件結構,針對具體應用對象特點的軟件結合作以完善。所以采用C語言來進行軟件設計,目標代碼短,占用內存少,功能性強。
通過本次大實驗設計,復習鞏固了我們以前學習的數字,模擬電子技術,單片機原理及接口等課程知識,加深對各門課程及相互關系的理解,并成功使用了Protel6.9,Altium Designer09,Proteus ISIS,Keil uvision4等軟件的使用。使理論知識系統化,實用化,系統地掌握微機應用系統的一般設計方法,培養較強的編程能力,開發能力。同時在設計過程中,我也發現了本系統的諸多不足和可以改進的地方。但因為時間緊迫等原因沒能更好的改進和擴展更多的功能。本設計的秒表可以外加一個語音報警裝置,當達到一定秒數時,語音報警裝置啟動,發揮提示功能。還可添加充電,顯示時間等功能。雖然存在不足,但是本次設計的電子秒表仍完成了對秒表的基本需求,并能很好的執行相應功能,所以它還是具有很好的實用性的, 較好的達到了本次設計的目的。
[1] 虞滄.微控制器與接口技術[M]電子工業出版社.2012.10
[2] 李朝青. 單片機原理及接口技術[M].北京:北京航空航天大學出版社.2005.10
[3] 夏繼強. 單片機實驗北京[M].北京:航空航天大學出版社.2001.
[4] 孫德輝,鄭士富. 微型計算機控制系統[M].北京:冶金工業出版社.2002
[5] 肖洪兵. 跟我學用單片機[M]北京:北京航空航天大學出版社.2002.8
[6] 陳汝全. 實用微機與單片機控制技術[M] 電子科技大學出版社.1995.7
[7] 王涌. 單片機與嵌入式系統應用[J],2002(3):58-61
[8] 羅亞非. 凌陽16位單片機應用基礎[M].北京:北京航空航天大學出版社.2003.5
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |