久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3669|回復: 0
打印 上一主題 下一主題
收起左側

基于單片機的倒計時時鐘設計文檔

[復制鏈接]
跳轉到指定樓層
樓主
ID:429225 發表于 2019-1-10 15:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目  錄
摘  要
關鍵詞
引  言

1. 系統基本設計思路
2. 單元電路方案論證
2.1 控制器模塊
2.2 計時模塊
2.3 顯示模塊
2.4 最終方案
3. 系統硬件介紹

3.1 STC89C51單片機
3.2 數碼管顯示模塊
4. 系統軟件設計

4.1 編程軟件Keil C51
4.2 畫圖軟件Protel99SE
4.3 仿真軟件proteus
4.4 程序流程圖
5. 調試與實現

結  論

參考文獻
附錄 1 原理圖
附錄 2 仿真圖和PCB圖
附錄 3 主要源程序

摘  要 :單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發展很快。單片機體積小、重量輕、抗干擾能力強、環境要求不高、價格低廉、可靠性高、靈活性好、開發較為容易。由于具有上述優點,在我國,單片機已廣泛地應用在工業自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設備等各個方面,而51單片機是各單片機中最為典型和最有代表性的一種。
這次畢業設計通過對它的學習、應用,以STC89C51單片機為核心,輔以必要的電路,設計了一個簡易的倒計時秒表,它由5V直流電源供電,通過數碼管能夠準確顯示時間,調整時間,從而到達學習、設計、開發軟、硬件的能力。數字鐘是采用數字電路實現對 “秒”數字顯示的計時裝置。數字鐘的精度、 穩定度遠遠超過老式機械鐘。在這次設計中,我們采用LED數碼管顯示分、秒,根據數碼管動態顯示原理來進行顯示,用12MHz的晶振產生振蕩脈沖,定時器計數。在此次設計中,電路具有顯示時間的其本功能,還可以實現對時間的調整。其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。

引  言


20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。
目前,單片機正朝著高性能和多品種方向發展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝化等幾個方面發展。下面是單片機的主要發展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。
單片機模塊中最常見的是數字鐘,數字鐘是一種用數字電路技術實現分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。現今,高精度的計時工具大多數都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術,因此走時精度高,穩定性好,使用方便,不需要經常調校,數字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進行時、分和秒的校對,片選的靈活性好。
時鐘電路在計算機系統中起著非常重要的作用,是保證系統正常工作的基礎。在一個單片機應用系統中,時鐘有兩方面的含義:一是指為保障系統正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統工作的快慢;二是指系統的標準定時時鐘,即定時時間,它通常有兩種實現方法:一是用軟件實現,即用單片機內部的可編程定時/計數器來實現,但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現,在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12C887等都可以滿足高精度的要求。
本文主要介紹用單片機內部的定時/計數器來實現電子時鐘的方法,本設計由單片機STC89C51單片機和LED數碼管為核心,輔以必要的電路,構成了一個單片機電子時鐘。


1. 系統基本設計思路

此設計是在數碼管上顯示秒,電路包括單片機及顯示驅動電路。單片機通過輸出各種電脈沖信號開驅動控制各部分正常工作。
系統工作過程:時間的主要處理過程是在CPU中完成的。CPU會隨時對時間進行讀取數據的操作。在讀取了相應的寄存器的值后,CPU將讀取的值進行處理,再通過I/O口把數據顯示在數碼管上。

2. 單元電路方案論證

根據設計要求,本系統主要由控制器模塊、顯示模塊構成。為較好的實現各模塊的功能,我們分別設計了以下幾種方案并分別進行了論證。

2.1 控制器模塊

方案1:采用51系列作為系統控制器
單片機算術運算功能強,軟件編程靈活、自由度大,可用軟件編程實現各種算法和邏輯控制。由于其功耗低、體積較小、技術成熟和成本低等優點,在各個領域應用廣泛。而且抗干擾性能好。
方案2:采用凌陽系列單片機為系統的控制器
凌陽系列單片機可以實現各種復雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩定性。凌陽系列單片機提高了系統的處理速度,適合作為大規模實時系統的控制核心。
因51單片機價格比凌陽系列低得多,且本設計不需要很高的處理速度,從經濟和方便使用角度考慮,本設計選擇了方案1。

2.2 計時模塊

數字時鐘是本設計的最主要的部分。根據需要,可利用兩種方案實現。
方案一:本方案采用Dallas公司的專用時鐘芯片DS12C887。該芯片內部采用石英晶體振蕩器,其芯片精度不大于10ms/年,且具有完備的時鐘鬧鐘功能,因此,可直接對其以用于顯示或設置,使得軟件編程相對簡單。為保證時鐘在電網電壓不足或突然掉電等突發情況下仍能正常工作,芯片內部包含鋰電池。當電網電壓不足或突然掉電時,系統自動轉換到內部鋰電池供電系統。而且即使系統不上電,程序不執行時,鋰電池也能保證芯片的正常運行,以備隨時提供正確的時間。
方案二:本方案完全用軟件實現數字時鐘。原理為:在單片機內部存儲器設三個字節分別存放時鐘的時、分、秒信息。利用定時器與軟件結合實現1秒定時中斷,每產生一次中斷,存儲器內相應的秒值加1;若秒值達到60,則將其清零,并將相應的分字節值加1;若分值達到60,則清零分字節,并將時字節值加1;若時值達到24,則將十字節清零。該方案具有硬件電路簡單的特點。但由于每次執行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且,由于是軟件實現,當單片機不上電,程序不執行時,時鐘將不工作。
基于硬件電路的考慮,本設計采用方案二完成數字時鐘的功能。

2.3 顯示模塊

方案1:采用LED數碼管
顯示用LED數碼管。雖然顯示的內容有限,但是也可以顯示數字和幾個英文字母,在此設計中已經足夠了,并且價格比液晶字符式要低的多,為了降低設計制作的成本,在此設計中我們選用LED數碼管顯示。
方案2:采用液晶字符顯示器
顯示用液晶,可以用軟件達到很好的控制,硬件不復雜,液晶字符顯示器可以顯示很豐富的內容,顯示清晰,但是液晶字符式價格昂貴,在本設計中不需要用到復雜的顯示內容,因此我們放棄了此方案。
從經濟的角度考慮,我們選擇了方案1。

2.4 最終方案

經過反復論證,最終確定了如下方案:
(1)采用STC89C51單片機作為主控制器。
(2)采用單片機內部定時器計時。
(3)采用LED數碼管作為顯示器。

3. 系統硬件介紹

本設計采用STC89C51單片機作為主控制器,外部加數碼管顯示。系統總體框圖如下:

圖1 系統總體框圖


(三)STC89C51單片機最小系統:
最小系統包括單片機及其所需的必要的電源、時鐘、復位等部件,能使單片機始終處于正常的運行狀態。電源、時鐘等電路是使單片機能運行的必備條件,可以將最小系統作為應用系統的核心部分,通過對其進行存儲器擴展、A/D擴展等,使單片機完成較復雜的功能。
STC89C51是片內有ROM/EPROM的單片機,因此,這種芯片構成的最小系統簡單﹑可靠。用STC89C52單片機構成最小應用系統時,只要將單片機接上時鐘電路和復位電路即可,結構如圖3所示,由于集成度的限制,最小應用系統只能用作一些小型的控制單元。



圖3 單片機最小系統原理框圖

(1) 時鐘電路
STC89C51單片機的時鐘信號通常有兩種方式產生:一是內部時鐘方式,二是外部時鐘方式。內部時鐘方式如圖2-4所示。在STC89C51單片機內部有一振蕩電路,只要在單片機的XTAL1(18)和XTAL2(19)引腳外接石英晶體(簡稱晶振),就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號。圖中電容C1和C2的作用是穩定頻率和快速起振,電容值在5~30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。

圖4 STC89C51內部時鐘電路
(2) 復位電路
當在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內部就執行復位操作(若該引腳持續保持高電平,單片機就處于循環復位狀態)。
復位電路通常采用上電自動復位和按鈕復位兩種方式。
最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充放電來實現的。只要Vcc的上升時間不超過1ms,就可以實現自動上電復位。
除了上電復位外,有時還需要按鍵手動復位。本設計就是用的按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST(9)端與電源Vcc接通而實現的。按鍵手動復位電路見圖5。時鐘頻率用11.0592MHZ時C取10uF,R取10kΩ。

圖5 STC89C51復位電路

(四) STC89C51中斷技術概述
中斷技術主要用于實時監測與控制,要求單片機能及時地響應中斷請求源提出的服務請求,并作出快速響應、及時處理。這是由片內的中斷系統來實現的。當中斷請求源發出中斷請求時,如果中斷請求被允許,單片機暫時中止當前正在執行的主程序,轉到中斷服務處理程序處理中斷服務請求。中斷服務處理程序處理完中斷服務請求后,再回到原來被中止的程序之處(斷點),繼續執行被中斷的主程序。
圖6為整個中斷響應和處理過程。

                            圖6  中斷響應和處理過程

3.2 數碼管顯示模塊

LED數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數碼管的顯示筆畫常用一個發光二極管組成,而大尺寸的數碼管由二個或多個發光二極管組成,一般情況下,單個發光二極管的管壓降為1.8V左右,電流不超過30mA。發光二極管的陽極連接到一起連接到電源正極的稱為共陽數碼管,發光二極管的陰極連接到一起連接到電源負極的稱為共陰數碼管。常用LED數碼管顯示的數字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。


led數碼管的結構及工作原理:
led數碼管(LED Segment Displays)是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似于3位“+1”型。位數有半位,1,2,3,4,5,6,8,10位等等....,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數碼管的內部電路,它們的發光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。led數碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數碼管內部引腳。
  
圖7  數碼管實物圖
  
圖8 LED數碼管引腳定義
圖8引腳定義 :每一筆劃都是對應一個字母表示 DP是小數點。LED數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數位,因此根據LED數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。   本設計采用的是動態顯示驅動:數碼管動態顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個數碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位元就顯示出字形,沒有選通的數碼管就不會亮。   
透過分時輪流控制各個LED數碼管的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位元數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發光二極體的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示資料,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O口,而且功耗更低。

圖8數碼管引腳圖

4. 系統軟件設計

4.1 編程軟件Keil C51

Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。   Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹Keil C51開發系統各部分功能和使用。 Keil_c軟件界面如圖9:

圖9 Keil_c軟件界面
該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。
4.2 畫圖軟件Protel99SE
Protel99SE是PORTEL公司在80年代末推出的EDA軟件。Protel99SE是應用于Windows9X/2000/NT操作系統下的EDA設計軟件,采用設計庫管理模式,可以網設計,具有很強的數據交換能力和開放性及3D模擬功能,是一個32位的設計軟件,可以完成電路原理圖設計,印制電路板設計和可編程邏輯器件設計等工作,可以設計32個信號層,16個電源--地層和16個機加工層。
Protel99SE軟件的特點:
(1)              可生成30多種格式的電氣連接網絡表;
(2)              強大的全局編輯功能;
(3)              在原理圖中選擇一級器件,PCB中同樣的器件也將被選中;
(4)              同時運行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網絡
(5)              既可以進行正向注釋元器件標號(由原理圖到PCB),也可以進行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設計上的一致性;
(6)              滿足國際化設計要求(包括國標標題欄輸出,GB4728國標庫); * 方便易用的數模混合仿真(兼容SPICE 3f5);
(7)              支持用CUPL語言和原理圖設計PLD,生成標準的JED下載文件; * PCB可設計32個信號層,16個電源-地層和16個機加工層;
(8)              強大的“規則驅動”設計環境,符合在線的和批處理的設計規則檢查;
(9)              智能覆銅功能,覆鈾可以自動重鋪;
(10)提供大量的工業化標準電路板做為設計模版;
Protel99SE的工作界面是一種標準的Windows界面,如圖所示,包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。Protel99SE軟件界面如圖10。

圖10 Prtel99SE軟件界面

4.3 仿真軟件proteus

Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。
PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。
它的元器件、連接線路等卻和傳統的單片機實驗硬件高度對應。這在相當程度上替代了傳統的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。
課程設計、畢業設計是學生走向就業的重要實踐環節。由于PROTEUS提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數量、質量上難以相比的虛擬儀器、儀表,因而也提供了培養學生實踐精神、創造精神的平臺。
圖11 proteus仿真軟件

4.4 程序流程圖

程序流程圖如圖12所示:



5. 調試與實現
這是本設計較為困難的一部分,需要經過反反復復的調試,才能達到理想中的效果,以下將分文硬件與軟件兩部分介紹此次調試的過程,以及調試過程中遇到的困難和解決辦法。
時間的準確度是本設計的重點調試對象,要反復調整定時器中斷的初值,來達到設計的準確性。
焊接好后,不要忙于通電,首先要檢測有沒有短路,萬一有短路幾通電,將會很麻煩,容易燒毀電路板或元器件,更容易引發安全隱患。確保無短路再通電。

個人小結

我在這一次數字電子鐘的設計過程中,很是受益匪淺。通過對自己在大學三年時間里所學的知識的回顧,并充分發揮對所學知識的理解和對畢業設計的思考及書面表達能力,最終完成了。這為自己今后進一步深化學習,積累了一定寶貴的經驗。撰寫論文的過程也是專業知識的學習過程,它使我運用已有的專業基礎知識,對其進行設計,分析和解決一個理論問題或實際問題,把知識轉化為能力的實際訓練。培養了我運用所學知識解決實際問題的能力。  
我們的學習不但要立足于書本,以解決理論和實際教學中的實際問題為目的,還要以實踐相結合,理論問題即實踐課題,解決問題即課程研究,學生自己就是一個專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學習就應該采取理論與實踐結合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實踐,解決實際問題,加強我們的動手能力和解決問題的能力。

附錄 1 原理圖



附錄 2 仿真圖

PCB圖


附錄 3 主要源程序


  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar temp,aa,shi,ge;
  5. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  6. void display(uchar shi,uchar ge);
  7. void delay(uint z);
  8. void init();
  9. void main()
  10. {
  11. init();
  12. while(1)
  13. {
  14.     if(aa==20)
  15.               {
  16.                 aa=0;
  17.                 temp++;
  18.                 if(temp==100)
  19.                  {
  20.                    temp=0;
  21.                  }
  22.                  shi=temp/10;
  23.                  ge=temp%10;
  24.                  }
  25.     display(shi,ge);
  26. }
  27. }
  28. void delay(uint z)
  29. {
  30. uint x,y;
  31. for(x=z;x>0;x--)
  32.    for(y=110;y>0;y--);
  33. }
  34. void display(uchar shi,uchar ge)
  35. {
  36.   P2=0xfe;
  37.   P0=table[shi];
  38.   P2=0xfd;
  39.   P0=table[ge];
  40.   delay(5);
  41. }
  42. void init()
  43. {
  44. temp=0;
  45. TMOD=0x01;
  46. TH0=(65536-50000)/256;
  47. TL0=(65536-50000)%256;
  48. EA=1;
  49. TR0=1;
  50. }
  51. void timer0() interrupt 1
  52. {
  53. TH0=(65536-50000)/256;
  54. TL0=(65536-50000)%256;
  55. aa++;
  56. }
復制代碼

完整的Word格式文檔51黑下載地址:
電子工藝.顧斌.doc (755.66 KB, 下載次數: 22)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频网站在线观看 | 天天色图| 精精国产xxxx视频在线播放7 | 欧美亚洲综合久久 | 一区二区av| 久久免费精品视频 | 精品欧美一区二区三区久久久 | 男女国产网站 | 求毛片| 精品国产乱码久久久久久影片 | 日韩国产一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | 自拍偷拍欧美 | 香蕉久久久 | a黄视频| 中文字幕在线观看一区 | jlzzjlzz国产精品久久 | 激情欧美一区二区三区中文字幕 | 亚洲伊人久久综合 | 久久99精品久久久久久秒播九色 | 国产精品日韩 | 人人擦人人| 日韩不卡一区二区三区 | 成人免费黄色 | 午夜影院在线免费观看视频 | 不卡av电影在线播放 | 亚洲午夜精品一区二区三区他趣 | 久久香蕉精品视频 | 精品国产一区二区三区性色av | 免费在线看黄 | av一级在线观看 | 日本精品视频在线观看 | 国产a爽一区二区久久久 | 日韩精品成人一区二区三区视频 | 黄色大片在线 | 久久久xxx| 日韩在线综合网 | 日本不卡一区二区三区在线观看 | 另类视频在线 | 欧美日韩综合 | 久久久蜜桃一区二区人 |