單片機數字電子鐘的設計畢業論文_第1頁
單片機數字電子鐘的設計畢業論文_第2頁
單片機數字電子鐘的設計畢業論文_第3頁
單片機數字電子鐘的設計畢業論文_第4頁
單片機數字電子鐘的設計畢業論文_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、西安電子科技大學長安學院畢 業 設 計 任 務 書專 業 電子科學與技術年 級 2006 姓 名 郭 學 號2222456學號06521021姓名郭慧學 制4年專業電子科學與技術年級2006教學班負責人溫有祿班級指導教師姓名職務或職稱講師設 計 題 目基于MC51單片機的最小系統設計與研究指導教師評語:成績: 指導教師簽名: 工作單位 年 月 日系復審意見:成績: 復審人簽名: 職稱: 公章 年 月 日教務處終審意見:公章 年 月 日答 辯 情 況 記 錄答 辯 題 目答 辯 情 況正確基本正確經提示回 答不正確未回答答辯委員會(或小組)評語:成績: 主持答辯人簽名: 職稱: 月 日一、畢業設

2、計的任務和具體要求:任務:(1)鞏固和提高學過的基礎理論和專業知識;(2)提高運用所學專業知識進行獨立思考和綜合分析、解決實際問題的能力;(3)培養掌握正確的思維方法和利用軟件和硬件解決實際問題的基本技能;(4)增強對實際電路的認識,掌握分析處理方法,進行調試、計算等基本技能的訓練,使之具有一定程度的實際工作能力。(5)掌握科研、資料查詢的基本方法以及獲取新知識的能力。(6)促使我們學習和獲取新知識,掌握自我學習的能力。(7)通過參與實際工作,使我們了解社會和工作,具備一定的實際工作能力(8)通過設計數字電子鐘,了解電子鐘的工作原理和內部構造。要求:1根據數字電子鐘課題任務制定合理、可行的工作

3、計劃;2進行必要的調研和資料搜集、文獻閱讀;3軟件設計要符合軟件工程規范,硬件設計符合原理表示、電路圖紙和工藝要求的各種規范;4制定系統(模塊)的測試方法,并根據完整的測試數據對系統(模塊)的性能指標做出分析和評價;5.實現數字電子鐘的顯示時間和時間校對的功能6對課題成果進行總結,撰寫畢業設計說明書二、畢業設計應完成的圖紙:圖2-1 單片機8052的內部結構,見4頁圖2-2 MCS-52系列單片機的內部結構,見5頁圖2-3 單片機的引腳圖,見6頁圖2-4 上電自動和手動復位電路圖,見7頁圖2-5 內部和外部時鐘方式圖,見7頁 圖3-1 單片機最小系統的結構圖,見9頁圖3-2 晶振連接的內部、外

4、部方式圖,見10頁圖3-3 常用復位電路圖,見11頁表3-1P3端口引腳兼用功能表,見12頁圖3-4 LED顯示器的符號圖,見12頁圖3-5 共陽式、共陰式LED數碼管的原理圖和數碼管的符號圖,見13頁圖3-6 數碼管的硬件連接示意圖,見13頁圖3-7 按鍵控制電路的硬件連接圖,見14頁圖3-8 按鍵抖動信號波形,見15頁圖4-1 主程序流程圖,見16頁圖4-2 按鍵處理流程圖,見17頁圖4-3 定時器中斷流程圖,見18頁圖4-4 時間顯示流程圖,見19頁圖4-5 數字鐘的原理圖,見20頁圖5-1 數字鐘的PROTUES仿真,見26頁三、其他要求:四、畢業設計的期限:自2010 年 3月 17

5、 日至 2010 年 5 月 15日五、畢業設計(論文)進度計劃:起 至 日 期工 作 內 容備 注2010.3.172010.3.192010.3.202010.3.252010.3.262010.3.272010.3.282010.3.302010.4.12010.4.42010.4.52010.4.62010.4.72010.4.112010.4.122010.4.142010.4.142010.4.152010.5.62010.5.112010.5.102010.5.15選擇設計所需元器件,列清單購買。確定實現數字電子鐘的應用程序。確定實現數字電子鐘的電路圖。在Protues軟件中仿真

6、焊接元器件,焊最小系統。萬用表測試各點觀察是否焊接良好。焊接下載電路和顯示電路。萬用表測試電路的焊接點。下載程序到電子閱覽室寫畢業論文完成畢業論文數字電子鐘 摘 要20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。現代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴格和準確的人或事來說,時間的不準確會帶來非常大的麻煩,所以以數碼管為顯示器的時鐘比指針式的時鐘表現出了很大的優勢。數碼管顯示的時間簡單明了

7、而且讀數快、時間準確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導致誤差。數字鐘是采用數字電路實現對“時”、“分”、“秒”數字顯示的計時裝置。數字鐘的精度、穩定度遠遠超過老式機械鐘。在這次設計中,我們采用LED數碼管顯示時、分、秒,以24小時計時方式,根據數碼管動態顯示原理來進行顯示,用12MHz的晶振產生振蕩脈沖,定時器計數。在此次設計中,電路具有顯示時間的其本功能,還可以實現對時間的調整。數字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。關鍵字: 單片機目 錄 第一章 緒論 1.1 單片機的背景 11.2 單片機的意義 11.3 單

8、片機的應用 1第二章 整體設計方案2.1 單片機的選擇 22.2 單片機的基本結構 4第三章 數字鐘的硬件設計3.1 最小系統設計 93.2 LED顯示電路 123.3 鍵盤控制電路 14第四章 數字鐘的軟件設計4.1 系統軟件設計流程圖 164.2 數字電子鐘的原理圖 204.3 主程序 204.4 時鐘設置子程序 214.5 定時器中斷子程序 214.6 LED顯示子程序 224.7 按鍵控制子程序 24第五章 系統仿真5.1 PROTUES軟件介紹 265.2 電子鐘系統PROTUES仿真 26第六章 調試與功能說明6.2 系統性能測試與功能說明 276.3 系統時鐘誤差分析 276.1

9、 硬盤調試 276.4 軟件調試問題及解決 27結束語.29參考文獻30致謝.31第一章 緒論 1.1數字電子鐘的背景 20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向發展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高

10、性能、低價格和外圍電路內裝化等幾個方面發展。下面是單片機的主要發展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。單片機模塊中最常見的是數字鐘,數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。1.2數字電子鐘的意義數字鐘是采用數字電路實現對.時,分,秒.數字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦

11、公室等公共場所,成為人們日常生活中不可少的必需品,由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表, 鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字鐘及擴大其應用,有著非常現實的意義。1.3數字電子鐘的應用 數字鐘已成為人們日常生活中:必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大

12、的方便。由于數字集成電路技術的發展和采用了先進的石英技術,使數字鐘具有走時準確、性能穩定、攜帶方便等優點,它還用于計時、自動報時及自動控制等各個領域。 第二章 整體設計方案2.1 單片機的選擇 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統。 單片機經過1、2、3、3代的發展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容

13、量、強I/O功能及較好的結構兼容性方向發展。其發展趨勢不外乎以下幾個方面:1、多功能 單片機中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現更多的功能。比如A/D、PWM、PCA(可編程計數器陣列)、WDT(監視定時器-看家狗)、高速I/O口及計數器的捕獲/比較邏輯等。 有的單片機針對某一個應用領域,集成了相關的控制設備,以減少應用系統的芯片數量。例如,有的芯片以51內核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅動器也開始集成在8位單片機中。2、高效率和高性能 為了提高執行速度和執

14、行效率,單片機開始使用RISC、流水線和DSP的設計技術,使單片機的性能有了明顯的提高,表現為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內ROM(FLASH)和RAM的容量都突破了以往的數量和限制。 由于系統資源和系統復雜程度的增加,開始使用高級語言(如C語言)來開發單片機的程序。使用高級語言可以降低開發 難度,縮短開發周期,增強軟件的可讀性和可移植性,便于改進和擴充功能。3、低電壓和低功耗 單片機的嵌入式應用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機可以在更低的電壓下工作(1.2V或0.9V)

15、,功耗已經降低到uA級。這些特性使得單片機系統可以在更小電源的支持下工作更長的時間。4、低價格 單片機應用面廣,使用數量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產品的價格。下面大致介紹一下單片機的主要應用領域和特點。(1)家用電器領域 用單片機控制系統取代傳統的模擬和數字控制電路,使家用電器(如洗衣機、空調、冰箱、微波爐、和電視機等)功能更完善,更加智能化和易于使用。(2)辦公自動化領域 單片機作為嵌入式系統廣泛應用于現代辦公設備,如計算機的鍵盤、磁盤驅動、打印機、復印機、電話機和傳真機等。(3)商業應用領域 商業應用系統部分與家

16、用和辦公應用系統相似,但更加注重設備的穩定性、可靠性和安全性。商用系統中廣泛使用的電子計量儀器、收款機、條形碼閱讀器、安全監測系統、空氣調節系統和冷凍保鮮系統等,都采用了單片機構成的專用系統。與通用計算機相比,這些系統由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(4)工業自動化 在工業控制和機電一體化控制系統中,除了采用工控計算機外,很多都是以單片機為核心的單片機和多機系統。(5)智能儀表與集成智能傳感器 目前在各種電氣測量儀表中普遍采用了單片機應用系統來代替傳統的測量系統,使得測量系統具有存儲、數據處理、查詢及聯網等智能功能。將單片機和傳感器相結合,可以構成新一代的智能傳感器

17、。它將傳感器變換后的物理量作進一步的變化和處理,使其成為數字信號,可以遠距離傳輸并與計算機接口。(6)現代交通與航空航天領域 通常應用于電子綜合顯示系統、動力監控系統、自動駕駛系統、通信系統以及運行監視系統等。這些領域對體積、功耗、穩定性和實時性的要求往往比商用系統還要高,因此采用單片機系統更加重要。目前,我國生產很多型號的單片機,在此,我們采用型號為STC89C52的單片機。因為: STC89C52是一個低電壓,高性能CMOS 8位單片機,片內含4k bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、

18、非易失性存儲技術生產,兼容標準MCS-52指令系統,片內置通用8位中央處理器和Flash存儲單元,內置功能強大的微型計算機的AT89C52提供了高性價比的解決方案。    STC89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,STC89C51可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。2.2 單片機的基本結構 MCS-52單片機內部結構 

19、60; 8052單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時/計數器、并行接口、串行接口和中斷系統等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明:中央處理器:   中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出功能等操作。數據存儲器(RAM)    8052內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統一編址的,專用寄存器只能用于存

20、放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。圖2-1 單片機8052的內部結構程序存儲器(ROM):8052共有4096個8位掩膜ROM,用于存放用戶程序,原始數據或表格。定時/計數器(ROM):8052有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用于控制程序轉向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數據的傳輸。全雙工串行口:8052內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發器,

21、也可以當同步移位器使用。中斷系統:8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優先級別選擇。時鐘電路:8052內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的MCS-52系列單片機采用的是哈佛結構的形式,而后續產品16位的MCS-96系列單片機則采用普林斯頓結構

22、。下圖是MCS-52系列單片機的內部結構示意圖。圖2-2 MCS-52系列單片機的內部結構MCS-52的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O

23、口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明: 圖2-3 單片機的引腳圖Pin9:RESET/Vpd復位信號復用腳,當8052通電,時鐘電路開始工作,在RESET引腳上出現24個時鐘周期以上的高電平,系統即初始復位。初始化后,程序計數器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統即從0000H地址開始執行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態,8052的初始態。8051的復位方式可以是自動復位,也可以是手動復位,見下圖4。此外,RESET/Vpd還是一復用腳,V

24、cc掉電其間,此腳可接上備用電源,以保證單片機內部RAM的數據不丟失。圖2-4 上電自動和手動復位電路圖圖2-5 內部和外部時鐘方式圖 Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節。而訪問內部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。 如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數據將出現在P0和P2口上,外部程序存儲器則把指令數

25、據放到P0口上,由CPU讀入并執行。Pin31:EA/Vpp程序存儲器的內外部選通線,8051和8751單片機,內置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內部程序存儲器指令數據,而超過4kB地址則讀取外部指令數據。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內部無程序存儲器的8031,EA端必須接地。第三章 數字鐘的硬件設計3.1 最小系統設計圖3-1 單片機最小系統的結構圖 單片機的最小系統是由電源、復位、晶振、/EA=1組成,下面介紹一下每一個組成部分。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作

26、電壓則是2.7-6V, 引腳功能一樣。 2.外接晶體引腳圖3-2 晶振連接的內部、外部方式圖XTAL119XTAL218 XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋

27、元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。3. 復位RST9在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引腿時,將使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后P

28、0P3口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復位操作不會對內部RAM有所影響。常用的復位電路如下圖所示:圖3-3 常用復位電路圖4.輸入輸出引腳(1) P0端口P0.0-P0

29、.7 P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅動8個TTL。對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上拉電阻。在訪問外部程序和外部數據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,訪問期間內部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個帶有內部上拉電阻的8位雙向I/

30、0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。(4) P3端口P3.0P3.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD

31、)P3.2外部中斷0( INT0)P3.3外部中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數據存儲器寫選通WRP3.7外部數據存儲器寫選通RD表3-1P3端口引腳兼用功能表3.2 LED顯示電路顯示器普遍地用于直觀地顯示數字系統的運行狀態和工作數據,按照材料及產品工藝,單片機應用系統中常用的顯示器有: 發光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現在最常用的顯示器之一,如下圖所示。圖3-4 LED顯示器的符號圖發光二極管(LED)由特殊的半導體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件

32、(半導體顯示器)。分段式顯示器(LED數碼管)由7條線段圍成8字型,每一段包含一個發光二極管。外加正向電壓時二極管導通,發出清晰的光。只要按規律控制各發光段亮、滅,就可以顯示各種字形或符號。LED數碼管有共陽、共陰之分。圖是共陽式、共陰式LED數碼管的原理圖和符號.圖3-5 共陽式、共陰式LED數碼管的原理圖和數碼管的符號圖顯示電路顯示模塊需要實時顯示當前的時間,即時、分、秒,因此需要6個數碼管,另需兩個數碼管來顯示橫。采用動態顯示方式顯示時間,硬件連接如下圖所示,時的十位和個位分別顯示在第一個和第二個數碼管,分的十位和個位分別顯示在第四個和第五個數碼管,秒的十位和個位分別顯示在第七個和第八個

33、數碼管,其余數碼管顯示橫線。LED顯示器的顯示控制方式按驅動方式可分成靜態顯示方式和動態顯示方式兩種。對于多位LED顯示器,通常都是采用動態掃描的方法進行顯示,其硬件連接方式如下圖所示。圖3-6 數碼管的硬件連接示意圖數碼管使用條件:a、段及小數點上加限流電阻 b、使用電壓:段:根據發光顏色決定; 小數點:根據發光顏色決定c、使用電流:靜態:總電流 80mA(每段 10mA);動態:平均電流 4-5mA 峰值電流 100mA數碼管使用注意事項說明:()數碼管表面不要用手觸摸,不要用手去弄引角;()焊接溫度:度;焊接時間:()表面有保護膜的產品,可以在使用前撕下來。3.3 鍵盤控制電路該設計需要

34、校對時間,所以用三個按鍵來實現。按khour來調節小時的時間,按 kmin來調節分針的時間,按 ksec來調節秒的時間。下圖是按鍵硬件連接圖。圖3-7 按鍵控制電路的硬件連接圖當用手按下一個鍵時,如圖3-8所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩定到閉合狀態的情況;在釋放一個鍵時,也回會出現類似的情況。這就是抖動。抖動的持續時間隨鍵盤材料和操作員而異,不過通常總是不大于10ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易地解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩定圖3-8 按鍵抖動信號波形第四章

35、數字鐘的軟件設計系統的軟件設計也是工具系統功能的設計。單片機軟件的設計主要包括執行軟件(完成各種實質性功能)的設計和監控軟件的設計。單片機的軟件設計通常要考慮以下幾個方面的問題:(1)根據軟件功能要求,將系統軟件劃分為若干個相對獨立的部分,設計出合理的總體結構,使軟件開發清晰、簡潔和流程合理;(2)培養良好的編程風格,如考慮結構化程序設計、實行模塊化、子程序化。既便于調試、鏈接,又便于移植和修改;(3)建立正確的數學模型,通過仿真提高系統的性能,并選取合適的參數;(4)繪制程序流程圖;(5)合理分配系統資源;(6)為程序加入注釋,提高可讀性,實施軟件工程;(7)注意軟件的抗干擾設計,提高系統的

36、可靠性。4.1 系統軟件設計流程圖 這次的數字電子鐘設計用到很多子程序,它們的流程圖如下所示。開始啟動定時器按鍵檢測時間顯示 主程序是先開始,然后啟動定時器,定時器啟動后在進行按鍵檢測,檢測完后,就可以顯示時間。圖4-1 主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。 NYNYNY時加1顯示時間結束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下?圖4-2 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,

37、秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY 圖4-3 定時器中斷流程圖時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。時十位計算顯示結束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示圖4-4 時間顯示流程圖4.2 數字鐘的原理圖用

38、PROTUES軟件,根據要求畫出數字電子鐘的原理圖如下所示。圖4-5 數字鐘的原理圖 在此有必要介紹一下數字電子鐘的工作原理。工作原理 : 數字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數字鐘電路主要由顯示器“時”,“分”,“秒”和單片機,還有校時電路組成。8個數碼管的段選接到單片機的P0口,位選接到單片機的P2口。數碼管按照數碼管動態顯示的工作原理工作,將標準秒信號送入“秒單元”,“秒單元”采用60進制計數器,每累計60秒發出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖

39、。“分單元”也采用60進制計數器,每累計60分鐘,發出一個“時脈沖”信號,該信號將被送到“時單元”。“時單元”采用24進制計時器,可實現對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。校時電路時用來對“時”、“分”、“秒”顯示數字進行校對調整,按一下ksec,秒單元就加1 ,按一下kmin,分就加1,按一下khour,時就加1。4.3 主程序#include<reg52.h> sbit ksec=P30; sbit kmin=P31; sbit khour=P32; unsigned char secshi=0,secge=0,minshi=0,min

40、ge=0,hourshi=0,hourge=0; unsigned int num=0,sec=0,min=0,hour=0; unsigned char code table10=0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(unsigned int); void keyscan(); void display(); main()TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1; while(1) display();

41、 keyscan(); void delay(unsigned int z) unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);4.4 時鐘設置子程序void time0() interrupt 1 num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 4.5 定時器中斷子程序void time0() interrupt 1 num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 在這里,我們有必要介紹一下單片機的中斷系統,以利于我

42、們的學習。中斷技術在單片系統中有著十分重要的作用,它不僅可以提高單片機CPU的效率,也可以對突發事件處理。所謂中斷就是當CPU正在執行程序A時,發生了另一個急需處理的事件B,這是CPU暫停當前執行的程序A,立即轉去執行處理事件B的程序,處理完事件B后,再返回到程序A繼續執行,這個過程被叫做中斷。關于中斷的概念有下列幾個名詞:(1)程序A稱為主程序,(2)處理事件B的程序稱為中斷服務程序,(3)主程序中轉向中斷服務程序的地方稱為斷點,(4)引起中斷的原因即事件B稱為中斷源,(5)轉去執行中斷服務程序稱為中斷響應。關于中斷的概念可以打個如下的比喻。領導(CPU)在自己的房間辦公(執行主程序),下屬

43、(外設)有問題打電話來請示(中斷源),領導停下正在進行的工作,通過電話給下屬做指示(執行中斷服務程序),指示完后,領導掛斷電話,繼續做自己的工作(返回主程序繼續執行)。中斷是一個過程,當中央處理器CPU在處理某件事情時,外部又發生了另一緊急事件,請求CPU暫停當前的工作而去迅速處理該緊急事件。處理結束后,再回到原來被中斷的地方,繼續原來的工作。引起中斷的原因或發出中斷請求的來源,稱為中斷源。單片機一般允許有多個中斷源,當幾個中斷源同時向CPU請求中斷時,就存在CPU優先響應哪一個中斷請求源的問題(優先級問題),一般根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求,于是便規定每一個中斷源都

44、有一個中斷優先級別,并且CPU總是響應級別最高的中斷請求。當CPU正在處理一個中斷源請求的時候,又發生了另一個優先級比它高的中斷源請求,如果CPU能夠暫時中止對原來中斷處理程序的執行,轉而去處理優先級更高的中斷源請求,待處理完以后,再繼續執行原來的低級中斷處理程序,這樣的過程稱為中斷嵌套。4.6 LED顯示程序void display() if(num=20) num=0; sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; min=0; sec=0; secge=sec%10; secshi=s

45、ec/10; minge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10; P2=0xfe; P0=tablesecge; delay(5); P2=0xfd; P0=tablesecshi; delay(5); P2=0xfb; P0=0x40; delay(5); P2=0xf7; P0=tableminge; delay(5); P2=0xef; P0=tableminshi; delay(5); P2=0xdf; P0=0x40; delay(5); P2=0xbf; P0=tablehourge; delay(5); P2

46、=0x7f; P0=tablehourshi; delay(5);4.7 按鍵控制子程序void keyscan() if(ksec=0) delay(10); if(ksec=0) sec+; if(sec>=60) sec=0; while(ksec=0) display(); if(kmin=0) delay(10); if(kmin=0) min+; if(min>=60) min=0; while(kmin=0) display(); if(khour=0) delay(10); if(khour=0) hour+; if(hour>=60) hour=0; whi

47、le(khour=0) display(); 第五章 系統仿真5.1 PROTUES軟件介紹Proteus軟件是Labcenter Electronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術,它與其他軟件最大的不同也是最大的優勢就在于它能仿真大量的單片機芯片,比如MCS-51系列、PIC系列等等,以及單片機外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。5.2 電子鐘系

48、統PROTUES仿真用PROTUES軟件,根據數字電子鐘的原理圖,畫出仿真圖,得到的圖如下所示。圖5-1 數字鐘的PROTES仿真第六章 調試與功能說明單片機應用系統的調試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進行綜合調試,排除可能的軟/硬件故障。6.1 硬盤調試拿到電路板后,首先要檢查加工質量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數值,看是否與所用相同;完成焊接后,應先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關系。將萬用表的探針放到單片機接電源的引腳上檢測一下,看是否符合要求。6.2 系統性能測試與功能說明走時:默認為走時狀態,按24小時制分別顯示“時時-分分-秒秒”,有2個“-”動態顯示,時間會按實際時間以秒為最少單位變化。走時調整:按ksec對秒進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論