隨著生活壓力的增大,我們經(jīng)濟的飛速發(fā)展,快生活已經(jīng)悄悄地侵入了我們的世界,同時,已經(jīng)成為我們?nèi)穗H交往等生活中必要地素質(zhì)體現(xiàn),從而對時間的要求提高了,同時顯示的視覺感美感也進一步提高了,要求顯示的更加直觀了更加精確了,同時也需要準時提醒的功能了。
電子鐘是當前市面上十分普及的計時裝置,它成本低廉,計時準確,而且由于其顯示裝置可以發(fā)光,因此夜間也清晰可見,它的性價比是比較高的,現(xiàn)在人們尤其是在青年人群中,使用電子計時裝置的人數(shù)已經(jīng)大大超過了傳統(tǒng)的上弦表。本設計采用的是目前市面上比較普遍的 STC89C52 單片機,它是一款 8 位的處理器,即數(shù)據(jù)是以 8 位來運算和處理的。雖然現(xiàn)在有很多單片機比 51 單片機 性能好,但是價格卻很昂貴,這顯然不符合我們制作電子時鐘追求高性價比的初衷,而且選用的這款 STC89C52 單片機的抗干擾能力強,體積小,對于電子設計初學者來說也是比較容易的。這款單片機結(jié)合數(shù)碼管、獨立按鍵、11.0592MHz 晶振、74HC573 鎖存器、數(shù)碼管等器件,通過在萬用板上的焊接,或者將元件焊在事先設計制作好的 PCB 板上,就完成了一個電子鐘的制作。該設計能準確顯示年、月、日、時、分、秒,具有鬧鐘響鈴的功能,設計的產(chǎn)品壽命長,誤差低的特點。
1.2設計原理
單片機、晶振電路、復位電路構(gòu)成了單片機最小系統(tǒng),通過串行通信接口與PC機相連,將時鐘數(shù)值送往LED數(shù)碼管顯示。定時/計數(shù)器、數(shù)據(jù)存儲器是單片機內(nèi)部的兩大部件,其中定時/計數(shù)器用來產(chǎn)生時鐘的最小時間單位——— 秒,數(shù)據(jù)存儲器中3個單元用來存儲時、分、秒的數(shù)值。
時間先從秒單元累加,當60秒到來向分單元進1,且秒單元清0 ;當60分到來向時單元進1 ,且分單元清0 ;當24時到來,時單元清0。數(shù)據(jù)存儲器三個單元的數(shù)值將會送到 LED數(shù)碼管實時顯示。
1.3整體設計
該設計要實現(xiàn)的主要功能如下:
打開電源后默認顯示如下:
時間顯示:00:00:00
鬧鐘顯示:00:01:01
日歷顯示:2018 年 6 月 8日
星期顯示:星期 5
其中時間、星期、日歷、都是可以通過按鍵可以調(diào)控的,鬧鐘也是可以通過按鍵進行定時的,定的時間到了通過蜂鳴器進行報警。按照整體的設計要求,使用五大模塊相結(jié)合的設計構(gòu)造,有液晶 LED展示數(shù)字,按鍵手動調(diào)整控制模塊、鬧鐘與蜂鳴、聲音報警模塊。具體的思路框圖如圖 1 所示。
本設計以C語言為開發(fā)語言,在Keil uVISION4軟件平臺上進行C程序的編輯,連接和調(diào)試,最終與Proteus仿真軟件相結(jié)合,進行相關的電路仿真及修改。 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。
2 主要器件的選型
STC89C52單片機:本設計中采用型號為STC89C52的單片機,STC89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含6個中斷源,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,片內(nèi)含8KB的可反復擦寫的Flash只讀程序存儲器(ROM)和256B的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-52指令系統(tǒng)。STC89C52兼容MCS51指令系統(tǒng),提供以下標準功能8K字節(jié)Flash閃速存儲器,256字節(jié)內(nèi)部RAM,32個I|O口線,3個16位定時器計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時STC89C52可以降至0HZ的靜態(tài)邏輯系操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時器計數(shù)器,串行通信接口,以及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作,直到下一個硬件復位。
數(shù)碼管:分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。
RESPACK-8排阻:即8個阻值為10K的電阻
電解電容CAP-ELEC:電解電容是一種按結(jié)構(gòu)、制作工藝劃分的電容種類。通常,電解電容是一種有極性的電容。電解電容的陽極采用可鈍化的金屬材料,比如鋁、鉭、鈮、鈦等;介電材料為陽極金屬材料表面生成的致密氧化物薄膜;電解電容的陰極材料為電解質(zhì)。電解電容的主要特點是,在相同的體積下,可以得到比普通電容大得多的電容量(假設耐壓相等)。
晶振CRYSTAL:石英晶體諧振器(英文:quartz crystal unit或quartz crystal resonator,常簡寫成Xtal),簡稱石英晶體或晶振,是利用石英晶體(又稱水晶)的壓電效應,用來產(chǎn)生高精度振蕩頻率的一種電子元件,屬于被動元件。該元件主要由石英晶片、基座、外殼、銀膠、銀等成分組成。根據(jù)引線狀況可分為直插(有引線)與表面貼裝(無引線)兩種類型,F(xiàn)在常見的主要封裝型號有HC-49U、HC-49/S、GLASS、UM-1、UM-4、UM-5與SMD。
與開關BUTTON、22pf的電容CAP等
3 最小系統(tǒng)電路設計
本設計采用 AT89C52 為核心控制器件。單片機想要工作,需要有時鐘電路、供電電路及復位電路配合。AT89C52 為常用的時鐘電路采用內(nèi)部時鐘電路,配 合 外 部 12M 晶 振 和 電 容 與 XTAL1 和XTAL2 連接組成,為單片機提供基本的機器周期脈沖。單片機復位電路為手動復位電路,當單片機發(fā)生異常工作時可通過復位按鈕讓單片機復位。AT89C52 是一個低電壓,高性能 CMOSX8 位單片機,兼容標準 MCS -51 指令系統(tǒng),所以編程簡單。AT89C52 單片機由于其控制結(jié)構(gòu)簡單,標準編程,價格低廉在電子行業(yè)中有著廣泛的應用。AT89C52有 40 個引腳,32 個外部雙向輸入/輸出(I/O)端口, AT89C52 可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和 Flash 存儲器結(jié)合在一起,特別是可反復擦寫的 Flash 存儲器可有效地降低開發(fā)成本。單片機最小系統(tǒng)如圖 2 所示。
開關采用一種常開型按鍵開關,在常態(tài)時開關觸點處于斷開狀態(tài),只有按下按鍵時點閉合短路,所以可以用萬用表檢測開關的管腳排列、好壞和質(zhì)量。
按鍵是利用機械觸點的合、斷來實現(xiàn)鍵的閉合與釋放,由于彈性作用,機械觸點在閉合及斷開瞬間會有抖動的過程,從而使鍵輸入電壓的信號也存在抖動現(xiàn)象。
抖動時間的長短與開關的機械特性有關,一般為5~10ms,穩(wěn)定閉合期時間的長短由按鍵的動作決定,一般為幾百毫秒到幾秒。為了保證按鍵按動一次,CPU對鍵閉合僅作一次按鍵處理,必須去除抖動的影響。
去除抖動的方法一般有硬件和軟件兩種:
硬件方法就是在按鍵輸出通道上添加去抖動電路,從根本上避免電壓抖動的產(chǎn)生,去抖動電路可以是雙穩(wěn)態(tài)電路或者濾波電路。
軟件方法通常是在檢測到有鍵按下時延遲10~20ms的時間,待抖動期過去后,再次檢測按鍵的狀態(tài),如果仍然為閉合狀態(tài),才認為是有鍵按下,否則認為是一個擾動信號。按鍵釋放的過程與此相同,都要利用延時進行消抖處理。由于人的按鍵速度與單片機的運行速度相比要慢很多,所以,軟件延時的方法簡單可行,而且不需要增加硬件電路,成本低,因而被廣泛采用。
其中第一個按鍵控制選擇需要的鐘位,第二個按鍵控制加一調(diào)節(jié),第三個按鍵控制減一調(diào)節(jié)。
該設計的默認鬧鐘電路當00:01:01時,蜂鳴器發(fā)出 500 Hz 的聲音,該聲音為一首《祝你平安》,由于是由方波輸出,故音質(zhì)較差。時鐘的初始值為00:00:00,為了在盡快時間看到效果,故將本次設計將鬧鐘的默認時間定為00:01:00。
數(shù)碼管是四位共陽極數(shù)碼管,即每位數(shù)碼管上的 8 個 8 個發(fā)光二極管以共陽極方式連接,那么數(shù)碼管的 8 位段選碼只要在相應位置低電平即可使某一二極管亮,若要顯示“8.”那么段選碼應為“0x00”,這樣才能使每位數(shù)碼管上的 8 個發(fā)光二極管都被點亮,數(shù)碼管的 8 個段選引腳是分別接到 P0.0 到 P0.7 引腳的,因此控制 P0 口的輸出信號來控制數(shù)碼管的段選。由于 6 位數(shù)碼管的每位的 8 個段選都是連在一起的,因此在段選引腳上輸入的信號會被同時送到 6 個數(shù)碼管上去。所以為了實現(xiàn)四位數(shù)碼管可以顯示不同的數(shù)字,則必須要用掃描的方式使各位數(shù)碼管輪流顯示。6 位數(shù)碼管有 6 個位選引腳,將它們分別接到單片機的 P2.0到 P2.5 引腳上去。這樣通過控制 P2 口低四位的輸出電平的高低即可控制哪一位數(shù)碼管點亮。比如將 P2.0 引腳置為低電平,則顯示“分鐘的十位”的數(shù)碼管允許通入段選信號,將 P2.3 引腳置為低電平,則顯示“秒的個位”的數(shù)碼管允許通入段選信號。這樣通過比較快速的掃描,即可實現(xiàn) 6 位數(shù)碼管輪流被位選導通。由于人眼的視覺暫留效應,因此以很快的速度掃描的話,人眼會認為是四個數(shù)碼管一起在亮。利用這個原理,我在程序中設定大約是每 10us 就換一個位顯示,保證人眼看到是一起亮的。
4 系統(tǒng)軟件設計
5 系統(tǒng)仿真與調(diào)試
Proteus 軟件是一種混合電路仿真軟件,Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。
1)在KEIL軟件中編寫程序,完成后,單擊“項目”下的“編譯”,產(chǎn)生“.hex”文件。
(2)打開pro t e us軟件,畫上硬件電路圖,保存。
(3)雙擊AT89C52芯片,在program file中加入“.hex”文件,按確定。
(4)調(diào)試運行。
顯示時間為凌晨16分
顯示鬧鐘為在凌晨1分1秒時響
顯示日歷為18年6月8日
顯示星期為星期5
6、設計經(jīng)驗總結(jié)
此設計使用數(shù)字進行清晰的顯示,將所需要的信息如時間、年份、月份和當時的溫度與濕度等得到的信息在液晶顯示屏上展示出來,同時還可以手動對時間以及鬧鐘進行設定。此設計使用 5V 的電壓作為電源來供電,利用的是以 STC89C52 單片機為主要控制系統(tǒng),耗能低。設計的多功能智能電子鐘易于閱讀,液晶顯示清晰,設計電路所用元器件少且簡單,成本低,同時展示的功能比較齊全,優(yōu)點多,根據(jù)現(xiàn)在科學技術和電子測量儀器的不斷完善,其市場需求是非常樂觀的。
簡易電子鐘是基于 STC89C51 單片機的一個最小系統(tǒng)設計,在完成原理電路圖的設計之后,要進行的是焊接工作。要準備焊錫在萬用板上焊接,焊接過程中要注意防止出現(xiàn)虛焊、漏焊、錯焊等問題。在焊接好后,不要忙于通電,首先要檢測有沒有短路,萬一有短路就通電,將會很麻煩,容易燒毀電路板或元器件,更容易引發(fā)安全隱患,應確保無短路再通電。本電子鐘所需的元器件購買的成本價很低,并且在制作過程中有助于理解 51 單片機的性能及應用方法,同時用 Keil C51 軟件編寫程序有助于鍛煉程序編寫能力。同時設計這個簡易電子時鐘使我運用已有的專業(yè)基礎知識,對其進行設計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實際訓練,培養(yǎng)了我運用所學知識解決實際問題的能力。
附錄B:系統(tǒng)設計原理圖
全部資料51hei下載地址:
電子鐘程序及仿真.zip
(87.17 KB, 下載次數(shù): 67)
單片機課設.docx
(258.8 KB, 下載次數(shù): 44)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |