基于單片機的數字時鐘設計品_第1頁
基于單片機的數字時鐘設計品_第2頁
基于單片機的數字時鐘設計品_第3頁
基于單片機的數字時鐘設計品_第4頁
基于單片機的數字時鐘設計品_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、西華大學電氣信息學院電氣應用系統設計報告1 引言20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。而時鐘,自從它發明的那天起,就成為人類的朋友,但隨著時間的推移,科學技術的不斷發展,人們對時間計量的精度要求越來越高,應用越來越廣。怎樣讓時鐘更好的為人民服務,怎樣讓我

2、們的老朋友煥發青春呢?這就要求人們不斷設計出新型時鐘。除此之外,由于對社會責任的更多承擔,人們要求所設計的產品能夠產生盡量少的垃圾、能夠消耗盡量少的能量。因此人們對時鐘的又有了體積小、功耗低的要求。傳統的機械表由于做工的高精細要求,造價的昂貴,材料的限制,時間指示精度的限制,使用壽命方面,以及其它方面的限制,已不能滿足人們的需求。另外,近些年隨著科技的發展和社會的進步,人們對時鐘的要求也越來越高,而使得新型電子鐘表成了大勢所趨。現今,高精度的計時工具大多數都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術,因此走時精度高,穩定性好,使用方便,不需要經常調校,數字式電子鐘用集成電

3、路計時,譯碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。在電子技術高速發展推動下微機開始向社會各個領域滲透同時大規模集成電路獲得了高速發展,單片機的應用正在這時不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統,越來越廣泛地應用于自動控制,智能化儀器,儀表,數據采集,軍工產品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。目前,單片機正朝著高性能和多

4、品種方向發展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝化等幾個方面發展。下面是單片機的主要發展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。單片機模塊中最常見的是數字鐘,數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。這正符合了現代時鐘的設計要求。另一方面,電子技

5、術的高速發展,有力地推動了社會生產力的發展和社會信息化程度的提高,這些使時間顯得更加寶貴,從時間就是生命,時間就是效率這些名言警句中就能看出。1.1 數字時鐘的意義數字鐘是采用數字電路實現對.時,分,秒.數字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們日常生活中不可少的必需品,由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表, 鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟

6、用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字鐘及擴大其應用,有著非常現實的意義。1.2 設計目的數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。此次設計與制作數字電子鐘的目的是讓學生在了解數字鐘的原理的前提下,運用剛剛學過的數電知識設計并制作數字鐘,而且通過數字鐘的制作進一步了解各種在制作中用到的中小規模集成電路的作用及其使用方法。由于數字電子鐘包括組合邏輯電路和時序電路,通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法,從而實現理論與實踐相結合。總的來說,此次課程設計,有助于我們對電子線路知識的整合和電子線路設計能力的訓練,并為后繼課程

7、的學習和畢業設計打下一定的基礎。1.3 設計任務設計指標:1.時間計數電路采用24進制,從00開始到23后再回到00。2.可以顯示溫度、年、月、日、時、分、秒。3.具有自動校時、校分功能,可以分別對時及分進行單獨校時,使其校正到標準時間; 4.計時過程具有報時功能,當時間到達整點前10秒開始,蜂鳴器1秒響1秒停地響5次。5設計具有定時報時功能,當時間到達預先設定時間,蜂鳴器一秒響一秒停響5次。1.4設計思路時鐘電路在計算機系統中起著非常重要的作用,是保證系統正常工作的基礎。在一個單片機應用系統中,時鐘有兩方面的含義:一是指為保障系統正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率

8、的大小決定了單片機系統工作的快慢;二是指系統的標準定時時鐘,即定時時間,它通常有兩種實現方法:一是用軟件實現,即用單片機內部的可編程定時/計數器來實現,但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現,在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。本次設計要用單片機內部的定時/計數器來實現電子時鐘的方法,設計單片機與時鐘芯片相結合的電路,實現實時顯示時間,并能夠進行遠程通信,實現數據與電腦的交換。按照課題的要求,初步確定設計系統由主控模塊、時鐘模塊、顯示模塊、鍵掃描電路模塊共4個模塊組成

9、。設計采STC89系列單片機,以C語言為程序設計的基礎,設計出用液晶顯示年、月、日、周、時、分、秒的時鐘。2總體方案設計單片機的接口信號是數字信號。要想用單片機獲取時間這類非電信號的信息,必須使用時間芯片,將時間信息轉換為電流或電壓輸出。如果轉換后的電流或電壓輸出是模擬信號,還必須進行A/D轉換,以滿足單片機接口的需要。如果是數字信號就可以直接送往單片機進行數據處理。2.1設計方案2.1.1 方案一比較傳統的基于單片機的時鐘設計可以采用單片機內部的晶振來產生脈沖,然后通過單片機內部的計時器經過分頻產生秒脈沖,然后通過軟件編程來實現時鐘的顯示,這種設計方案的優點是外圍器件少,電路簡單清晰,電路焊

10、接容易,出問題的故障幾率小。時鐘的顯示可以用多位七段LED數碼管顯示,七段 LED數碼管顯示耗能多,而且顯示位數有限,每增加一位都要在程序設計和硬件設計方面增加很多的工作量,不利于電路的擴展,而且無法顯示年、月、日、星期這些漢字,使得顯示不夠直觀,靈活。但是這種設計方案在顯示位數比較少時性價比比較高,價格便宜,但是這種方案需由軟件編程來實現秒脈沖的產生,編程相對來說比較復雜,而且也不利于排故。另外由單片機內部時鐘產生的秒脈沖由于受到溫漂的影響和程序執行時的延時的影響,而使的計時會產生不定的誤差,即使設計時間誤差補償程序也很難實現提供準確時間的功能。另外,這種電路設計方案的另外一個設計要求就是晶

11、振的選擇要求晶振的振蕩頻率必須通過分頻得到秒脈沖。這種設計還有一個非常大的缺點就是如果單片機斷電,時間計時就停止,再次上電時又從初始設定重新計時,這樣就需要在每次上電都調整時間,比較麻煩。2.1.2 方案二在傳統的基于單片機的數字時鐘設計的基礎上經過一些改進,引入DS12887時間芯片,將電路的控制部分和計時部分分開,電路的控制部分為單片機,計時部分為DS12887時間芯片。并采用LCD液晶顯示器顯示。而LCD液晶顯示則耗能少,能夠顯示年、月、日、星期等漢字,在顯示方面更加靈活,而且改變顯示時只要改變軟件設計就可以,不用改變硬件電路的設計,易于電路的功能擴展。電路的軟件設計也很簡單。另外,這種

12、設計硬件更加簡潔。采用LCD液晶顯示方案的缺點是在顯示位數比較少時,價格略顯昂貴。DS12887芯片是獨立計時,并且具有掉電保護功能,內部自帶鋰電池,能夠在斷電的情況下繼續計時,主電路恢復供電之后能夠不必調整時間,為時鐘的日常操作省去了很大的麻煩,而且這種設計更節能,在需要觀察時間的時候比如白天就可以給主電路通電。而在夜晚不需要觀察時鐘的時候就可以給主電路斷電,這樣可以節約大量能量。2.2方案論證從計時方式來說,相比較于第一種方案,在第二中方案中時間芯片DS12c887采用了內部集成晶振的電路,并且具有內部溫漂補償電路設計。能夠準確計時,提供精確的時間,這樣就簡化了電路的器件選擇,另外也使程序

13、的設計更加簡潔。在硬件設計方面,由于只增加了一個DS12887時間芯片,因此并不是特別復雜,而且這種獨立計時的設計使得產品排故更加方便。再比較上述兩種方案可以看出方案二耗能少,顯示靈活,易于電路擴展而且不管是軟件設計還是硬件設計都比較簡單,因此采用第二種設計方案。比較上述兩種方案可以看出,第二種方案計時更加準確而且電路硬件設計先對來說并不復雜,軟件設計更加簡潔,綜上所述,本設計采用獨立計時,引入時鐘日歷芯片DS12887的設計方案,顯示使用LCD液晶顯示,因此采用第二種方案。2.3方案選擇經過綜合考慮比較本次設計任務及成本問題,選擇第二種方案實現設計要求。通過以AT89C52為核心,采用LCD

14、液晶顯示系統,輔以鬧鐘模塊,日期提醒,鍵盤時間調整預設置等模塊,處理內部產生時鐘數據或讀取接受外部時鐘數據進行處理,并暫時寄存在其內部存儲器中,再通過單片機調用內部RAM的數據送到LCD上顯示出來。下圖為整體設計框圖。電 源 模 塊單片機LCD1602液 晶 顯 示 DS12887S時鐘模塊鍵盤紅外遙控串 口圖2.1系統原理框圖系統設計中用到 89 C52 單片機的部分功能:包括內部定時器,鍵盤擴展,程序中斷, 串口通信等。用時間芯DS12c887實現獨立計時器功能,用一個LCD1602液晶顯示器作為時間顯示,可通過一個輸入輸出口作為顯示器數據發送端;另一個輸入輸出口的四位作為顯示器各位的片選

15、信號,另四位作為鍵盤擴展口使用。采用一個頻率為 11.0592 MHz 的晶振構成時鐘電路。采用紅外鍵盤遙控,對時間進行調整及預設置。3單元模塊設計3.1單片機主控電路模塊單片機STC89C52的P0口作為輸入口。P0與DS12887的AD相連,進行時間數據的采集;P3.7(RD)與DS12887的17腳DS相連,P3.3與DS12887的19腳IRQ相連,P2.7與DS12887的13腳CS相連;30腳ALE與DS12887的14腳AS相連。單片機的第18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調電容的一端,XTAL2接外部晶振和微調電容的另一端。對外接電容的值雖然沒有嚴格的要求,

16、但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為11.0592MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。第9引腳為復位輸入端,接上電容,電阻后構成上電復位電路。20引腳為接地端,40引腳為電源端。/EA端(31引腳)接+5V電壓。由此就構成了單片機主控模塊的最小系統。圖3.1為單片機主控電路圖。 圖3.1 單片機主控電路圖3.1.1單片機STC89C52功能介紹STC89c52包含以下部分(1)一個8位微處理器CPU(2)片內數據存儲器RAM和特殊功能寄存器SFR(3)片內程序存儲器ROM(4)兩個定時/計數器T0、

17、T1,可用作定時器,也可用以對外部脈沖進行計 數(5)四個8位可編程的并行I/O端口,每個端口既可作輸入,也可作輸出(6)一個串行端口,用于數據的串行通信(7)中斷控制系統(8)內部時鐘電路其管腳結構如圖3.2所示圖3.2 STC89C52管腳圖 VCC:電源。 GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程 序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供

18、上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作 輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻 拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存 儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當

19、對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器 的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:P3口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5

20、T1(記時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器 時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時

21、, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。3.1.2脈沖電路主要用來產生時間標準信號,因為時鐘的精度主要取決于時間標準信號的頻率及穩定度,所以常采用石英晶體振蕩器。實驗板的時鐘振蕩源電路如圖3-3所示。其中JT 為11.0592MHz 的晶振,改變兩電容CB的值即可對此晶振頻率進行調節。該電路提供單片機工作所需的振蕩頻率,計算定時器初值即需此晶振頻率,在通信時也需知道晶振頻率,以對波特率進行計算。圖3.3脈沖電路3.1.3復位電路MCS-52單片機的復位是由外部的復位電路來實現的。復位引腳 RST 通過一

22、 個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,在每個機器周期 的 S5P2,斯密特觸發器的輸出電平由復位電路采樣一次,然后才能得到內部復 位操作所需要的信號。上電復位:上電復位電路是種簡單的復位電路,只要在 RST 復位引腳接一 個電容到 VCC,接一個電阻到地就可以了。上電復位是指在給系統上電時,復位 電路通過電容加到 RST 復位引腳一個短暫的高電平信號,這個復位信號隨著 VCC 對電容的充電過程而回落, 所以 RST 引腳復位的高電平維持時間取決于電容的充 電時間。為了保證系統安全可靠的復位,RST 引腳的高電平信號必須維持足夠長的時間。上電自動復位是通過外部復位電路的電容充

23、電來實現的。只要 Vcc 的上升時 間不超過 1ms,就可以實現自動上電復位。圖3.4復位電路3.2顯示模塊隨著科技的發展,液晶顯示的使用越來越方便,已被普遍的使用,所以本次設計采用液晶顯示。液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。由于液晶顯示與驅動都集成在一個芯片上,因此使用起來很方便。數字鐘要顯示現在的日歷時間包括年、月、日、星期、時、分、秒及溫度,在這里采用1602LCD液晶顯

24、示。如下圖所示.圖3.2顯示電路3.2.1 LCD1602主要技術參數 顯示容量:16×2個字符 芯片工作電壓:4.55.5V 工作流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm3.2.2 LCD1602引腳功能說明1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如下表所示。編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R/W讀/寫選擇13D6數據6E 使能信號14D7數據7D0數據1

25、5BLA背光源正極8D1數據16BLK背光源負極表3.1 LCD1602引腳說明圖第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高

26、電平跳變成低電平時,液晶模塊執行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。3.3按鍵電路 按鍵的開關狀態通過一定的電路轉換為高、低電平狀態。按鍵閉合過程在相 應的 I/O 端口形成一個負脈沖。 閉合和釋放過程都要經過一定的過程才能達到穩 定,這一過程是處于高、低電平之間的一種不穩定狀態,稱為抖動。抖動持續時 間的常長短與開關的機械特性有關,一般在 5-10ms 之間。為了避免 CPU 多次處 理按鍵的一次閉合,應采用措施消除抖動。本文采用的是獨立式按鍵,直接用 I/O 口線構成單個按鍵電路,每個按鍵占用一條 I/O 口線,每個按鍵的工作狀態 不會產

27、生互相影響。 電路圖如下:P1.0 口表示功能移位鍵,按鍵選擇要調整的時十位、時個位、分十位或分 個位。 P1.1 口表示數字“+“鍵,按一下則對應的數字加 1。 P1.2 口表示數字“-”鍵,按一下則對應的數字減 1。 P1.3 口表示時間表的切換,程序默認為日常時間表,當按下該開關,使輸 入為低電平時, 表示當前執行的是考試時間表, 并有綠發光二極管顯示。 再按鍵,使鍵抬起,輸入維高電平時,表示當前執行的是日常作息時間表,用紅發光二極管顯示。電路圖如圖3.4所示。 圖3.4 按鍵電路此次設計按鍵電路采用紅外遙控設置,以安裝紅外連接設備,用遙控器實現時間預設置及調整.3.4電源模塊220V交

28、流電通過雙12V變壓器變為12V的交流電,12V交流電通過四個二極管的全橋整流后變為12V直流電,然后經過電解電容(470F)進行一級濾波,以去除直流電里面的雜波,防止干擾。12V直流電出來后再經過三端穩壓器7805穩壓成為穩定的5V電源,其中7805的Vin腳是輸入腳,接12V直流電源正極,GND是接地腳,接12V直流電源負極,Vout為輸出腳,它和接地腳的電壓就是+5V了。5V電源出來再經過電解電容的二級濾波,使5V電源更加穩定可靠。同時在5V穩壓電源加上一個470的電阻和一個綠色發光二極管,當上電后,綠色發光二極管點亮,表示電源工作正常。此時一個穩定輸出5V的電源已經設計好,對于本設計它

29、完全能夠滿足單片機及集成塊所需電源的要求。電路原理圖如圖3.5所示。 圖3.5 電源電路3.7蜂鳴電路模塊其硬件原理圖如下圖所示。此電路用于定時時發出提示音。SPEAKER與P3.2口相連,當SPEAKER輸出高電平時蜂鳴器不響,而SPEAKER輸出低電平時蜂鳴器發出響聲。只需控制SPEAKER輸出高低電平的時間和變化頻率,就可以讓蜂鳴器發出不同的聲音。此電路用于產生定時器提示音。 圖3.6 蜂鳴器電路3.8時鐘模塊電路時鐘模塊DS12887的AD口與單片機的P0口相連,進行時間、日歷數據輸出。其它各功能端口的連接在主控電路中已有描述,不在贅述。另外DS12887的12腳與電源地相連,24腳與

30、電源相連。總線選擇端口MOT端與電源地相連。電路圖如圖3.7所示。圖3.7時鐘模塊電路4. 軟件設計軟件是系統的主要組成部分,也是整個調試的重點和難點工作。本設計采用了C編語言,因為C語言編寫更簡潔方便,編寫的代碼可以非常精確的被執行,可以編寫出高效的執行代碼。因此,依據課題設計的要求,采用C語言進行軟件編程,用模塊化程序設計思想,將軟件劃分成若干模塊單元;包括:DS12887時鐘顯示模塊、延時等模塊,鍵盤掃描子程序,按鍵處理子程序模塊,通信中斷子程序。通過C語言編程實現單片機時鐘控制調節功能。4.1 數字鐘的工作原理工作原理: 數字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計

31、時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數字鐘電路主要由顯示器“時”,“分”,“秒”和單片機,還有校時電路組成。8個數碼管的段選接到單片機的P0口,位選接到單片機的P2口。數碼管按照數碼管動態顯示的工作原理工作,將標準秒信號送入“秒單元”,“秒單元”采用60進制計數器,每累計60秒發出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖。“分單元”也采用60進制計數器,每累計60分鐘,發出一個“時脈沖”信號,該信號將被送到“時單元”。“時單元”采用24進制計時器,可實現對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器

32、顯示出來。校時電路時用來對“時”、“分”、“秒”顯示數字進行校對調整,校時電路時用來對“時”、“分”、“秒”顯示數字進行校對調整,按一下second,秒單元就加1 ,按一下minute,分就加1,按一下hour,時就加1。4.2系統軟件設計流程圖 這次的數字電子鐘設計用到很多子程序,它們的流程圖如下所示。主程序是先開始,然后啟動定時器,定時器啟動后在進行按鍵檢測,檢測完后,就可以顯示時間。開始啟動定時器按鍵檢測時間顯示圖4.1主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時

33、按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。NYNYNYhour加1顯示時間結束開始second按鍵按下?sceond加1minutes按鍵按下?minute加1hour按鍵按下?圖4.2按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY圖4.3 定時中斷流程圖時間顯示是先

34、秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。時十位計算顯示結束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示圖4.4 時間顯示流程圖5.系統調試5.1 硬件測試該數字鐘的電路系統較大,對于焊接方面更是不可輕視,龐大的電路系統中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有封皮的導線,使電路造成短路現象,另外,買來的元器件要先進行檢測,如果有壞的器件要進行更換,還有就是要注意元器件的正確放置與安裝以及布線的合理,便于成品電路的檢測與

35、維護。硬件組裝前首先要仔細核對硬件系統設計原理的正確性,包括參數選用的正確性和原理的正確性,這取決于設計者的學識和經驗積累。對沒有把握的電路可以通過在通用實驗板上直接焊接實際電路來進行實物調試和驗證。在系統通過理論分析后,便可進行電路設計和加工。一般而言,電路板加工企業的質量是有保證的,但也不排除個別企業加工的電路板出現工藝性缺陷的情況。因此在調試前,必須首先進行工藝排錯,這對于第一塊樣板的調試更是必不可少的環節。調試分為斷電調試和通電調試。(1)第一步:斷電調試為了安全起見,首先必須進行斷電調試,斷電調試的內容至少包含短路檢測和原理正確性確認。短路檢測系統電路焊接完成后,進行短路檢測,選用合

36、適的萬用表歐姆擋(例如,20K擋或200K擋),用紅黑表筆接電路板的+5V電源的+、極,如果存在充放電現象(即電阻指示從大到小再到大或從小到大),最后電阻穩定在一個適當的位置(一般為幾千歐姆),則基于可排除系統短路現象。如果無充放電現象或電阻值穩定在很小的位置(例如幾歐姆),則說明系統中可能存在短路故障,不能通電實驗,必須對系統進行徹底排查,直至解決。正確性確認這里以顯示亮度調節電路為例進行說明。首先檢查VTI(9013)的極性不能接錯(e、c),否則,因為VTI始終不能正向偏置而無法導通,W1(LM317)的顯示控制失去作用,使顯示始終打開,導致在送數過程中出現顯示抖動現象,影響正常顯示。另

37、外,R5和R6的電阻總值必須要在合適的值上(原因是此支路電流一般要求為5mA左右),太大則LM317不能正常工作而無法調節輸出電壓,太小則輸出電壓偏高(極限為2.5V),可能會由于過流而影響數碼管的壽命。(2)第二步:通電調試凡是微處理器系統,正常運行的必要條件是系統時鐘穩定正常。在實際工作中,因為各種原因導致系統時鐘不正常出現系統無法正常運行的情況也有時出現,因此系統時鐘是否起振應是通電檢查的首要一環。檢查方法有:邏輯筆法。 數字萬用表法。示波器法。設計中采用的是數字萬用表法,復位不正常也會導致系統不工作。例如,1腳(復位腳)如果始終為高,則系統始終處于復位狀態;如果始終為低電平(不能產生復

38、位所需的高電平脈沖),則系統也可能無法正常工作。檢查的重點是相關電路是否正確。5.2 軟件調試數字鐘的功能雖然比較少,但是程序也較為復雜,所以在編寫程序和調試時出現了相對較多的問題。最后經過多次的模塊子程序的修改,一步一步的完成, 最終解決了問題。本設計采用偉福編譯軟件來編譯程序,是目前使用廣泛的單片機開發軟件,它集成了源程序編輯和程序調試于一體,支持C語言編譯,另外它還支持第三方編譯器,可以編譯匯編語言和PL/M語言。如圖5.1所示。圖5.1程序編譯源程序的編寫:首先從菜單的“文件”中“新建文件”,建立文件;然后為文件選擇好單片機型號,語言設置項選擇偉福匯編器;確定后新的文件就算建立了。接下

39、來進行編輯、修改等操作。編譯:加載好要編譯的文件,在工具欄的右上方找到編譯按鈕,按下編譯按鈕,開始編譯,編譯后會提示編譯是否通過,如果編譯通過就可以進行程序下載,實驗;如果編譯沒有通過說明程序存在錯誤需要修改這時會在軟件下方提示哪里有錯誤,是什么錯誤類型,如圖5.2所示。雙擊下邊的錯誤提示,軟件會將光標自動移到錯誤處以便于修改。編譯通過后會顯示編譯成功提示,如圖5.3所示。圖5.2 編譯錯誤提示圖5-3 編譯通過提示在軟件的調試過程中主要遇到的問題如下: 燒入程序后,LCD液晶顯示屏顯示亮度不好解決:一邊旋轉10K的滑動變阻器,一邊觀看LCD顯示屏,知道看到合適的亮度為止。5.3 Proteu

40、s仿真Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。具有4大功能模塊 u 智能原理圖設計(ISIS)豐富的器件庫超過27000種元器件,可方便地創建新元件;智能的器件搜索:通過模糊搜索可以快速定位所需要的器件;智能化的連線功能:自動連線功能使連接導線簡單快捷,大大縮短繪圖時間;支持總線結構:使用總線器件和總線布線使電路設計簡明清晰;可輸

41、出高質量圖紙。u ProSPICE混合仿真:基于工業標準SPICE3F5,實現數字/模擬電路的混合仿真;超過27000個仿真器件:可以通過內部原型或使用廠家的SPICE文件自行設計仿真器件,Labcenter也在不斷地發布新的仿真器件,還可導入第三方發布的仿真器件。 u 獨特的單片機協同仿真功能支持主流的CPU類型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、等。實用的PCB設計平臺 先進的自動布局/布線功能;支持器件的自動/人工布局;支持無網格自動布線或人工布線;支持引腳交換/門交換功能使PCB設計更為合理;完整的PCB

42、設計功能;可以輸出多種格式文件。使用Proteus對系統進行仿真,仿真圖見附錄2.5.4實物調試由于實物調試中遇到的問題可能是軟件的問題也可能是硬件的問題,因此需要采取好的調試過程,制定一個好的調試原則。本設計在調試時采用了遇到問題先排查是否是硬件故障,然后再排查軟件故障的順序。在排查硬件故障時可以利用已有的設計成功的軟件來測試。例如在調試過程中,最先遇到的問題是液晶顯示器不能顯示。我在排查故障時采用了一個原有的能夠正常運行的程序來測試電路是否能夠顯示,結果是能夠顯示,如圖5.4所示。這說明電路的硬件連接沒有問題,然后再排查軟件問題,結果發現是程序中查詢日歷芯片時的地址賦錯值了,在排除這個錯誤

43、之后再燒寫程序測試就能夠正常顯示了。圖5.4 LCD顯示調試程序能夠正常顯示時間之后是調試按鍵子程序,要測試是否能掃描到按鍵及按鍵功能是否正確。由于按鍵程序設計時跳轉比較麻煩因此出了些小錯誤,在按鍵調整之后總是不能返回時間顯示界面。經過細心檢查發現是在返回顯示程序的跳轉標號寫錯了,經過改進,終于成功了。實物調試圖如圖5.5所示。圖5.5時鐘電路實物調試6 系統功能、指標參數6.1 系統實現的功能 1.時間計數電路采用24進制,從00開始到23后再回到00。2.可以顯示年、月、日、時、分、秒及溫度。3.具有自動校時、校分功能,可以分別對時及分進行單獨校時,使其校正到標準時間。 4.實現紅外鍵盤遙

44、控調節設置時間功能。4.計時過程具有報時功能,當時間到達整點前10秒開始,蜂鳴器1秒響1秒停地響5次。5設計具有定時報時功能,當時間到達預先設定定時時間,蜂鳴器一秒響一秒停響5次。6.2 系統指標參數測試對于本設計系統的參數測試,總共分兩步。第一步就是將自己設計的電路用軟件protel作出具體的線路圖,用protel自帶的檢測功能檢測線路是否連接有誤,直到修改線路至無誤為止。第二步就是將我們的電路的各部分分開進行仿真。對此部分仿真可用到仿真軟件proteus。在對每個部分仿真達到正確結果后,然后將各個模塊連接起來進行整體測試。經過仿真即證明的時鐘電路工作正常。再通過以上硬件與軟件調試最終使得實物達到實現初定目標。6.3 系統功能及指標參數分析通過前面的參數計算和仿真系統各元件的參數要求對比分析本次設計成功,通過軟硬見調試及實物調試最終是系統達到預定目標,本次設計十分成功。29西華大學電氣信息學院電氣應用系統設計報告7 結論自學習單片機我起初認為單片機是個噩夢,因為自己在單片機這一塊存在著太大的缺陷,幸運的是我終于完成了這次考試論文。一開始按照老師布置的流程,一步步去實現那個目標,找資料,讀懂程序,寫寫流程圖,當然不懂就去查資料問老師,通過自己的勤奮和同學之間的取長補短,目標一步步的被我找到和實現,時間盡管很短但是我在單片機這一塊的缺陷正在慢慢縮短和知識的不斷上升,對單片機也有了很

溫馨提示

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

評論

0/150

提交評論