多功能電子鐘的設(shè)計與實現(xiàn)_第1頁
多功能電子鐘的設(shè)計與實現(xiàn)_第2頁
多功能電子鐘的設(shè)計與實現(xiàn)_第3頁
多功能電子鐘的設(shè)計與實現(xiàn)_第4頁
多功能電子鐘的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 多功能電子鐘的設(shè)計與實現(xiàn)摘 要電子時鐘主要是利用電子技術(shù)將時鐘電子化、數(shù)字化,擁有時鐘精確、體積小、界面友好、可擴展性能強等特點,被廣泛應(yīng)用于生活和工作當(dāng)中。另外,在生活和體育賽場中,也常常需要跑秒,這就需要電子時鐘具有多功能性。本設(shè)計主要為實現(xiàn)一款可正常顯示時鐘,帶有定時鬧鈴,跑秒的多功能電子時鐘。本文對當(dāng)前電子鐘開發(fā)手段進行了比較和分析,最終確定了采用單片機技術(shù)實現(xiàn)多功能電子時鐘。本設(shè)計應(yīng)用at89c51芯片作為核心,利用74ls164作為串入并出的寄存器,7位led數(shù)碼管顯示,并且設(shè)置按鍵來對分秒小時鬧鈴等進行校對。這種實現(xiàn)方法的優(yōu)點是電路簡單,性能可靠,實時性好,時間精度高,操作簡單

2、,編程容易。該電子時鐘可以應(yīng)用于一般的生活和工作中,也可通過改裝,提高性能,增加新功能,從而給人們的生活和工作帶來更多的方便。關(guān)鍵詞:電子時鐘;at89c51;74ls164;led; the design with investigation of the multi-function electron clockabstractelectronic clock is the use of electronic technology will be an electronic clock, digital, with the clock precision, small size and f

3、riendly interface, scalable performance, and other characteristics, are widely used to live and work. in addition, in the field of sports and life, often need to run second, which requires electronic clock with versatility.the main design for the realization of this can be a normal clock display, fr

4、om time to time with alarm, running the second multi-function electronic clock.this article on the current development of the electronic clock means were compared and analyzed to determine the ultimate use of a single chip multifunctional electronic clock technology. at89c51 chip design of this appl

5、ication as the core, to use as a 74ls164 and a string into the register, 7 led digital display and button set up to every minute of the hour for alarm, and other proof-reading. this method has the advantage of a simple circuit, reliable and real-time, high-accuracy time, simple, easy to program.the

6、electronic clock can be applied to general life and work, can also be modified to improve performance, add new functions to the people living and working more convenient.key words: electronic clock; at89c51; 74ls164; led;目 錄摘 要iabstractii第一章 引 言51.1 多功能電子時鐘研究的背景和意義51.2 電子時鐘的功能6第二章 電子時鐘設(shè)計方案分析7第三章 基于單

7、片機的電子時鐘硬件設(shè)計83.1 主要ic芯片選擇8 3.1.1微處理器的選擇8 3.1.2寄存器的選擇.11 3.1.3顯示器件的選擇.12 3.1.4看門狗器件的選擇.143.2 電子時鐘硬件電路設(shè)計143.2.1 顯示電路153.2.2 按鍵電路設(shè)計153.2.3 鬧鈴電路設(shè)計173.2.4 復(fù)位電路設(shè)計18第四章 電子時鐘軟件設(shè)計204.1 主程序設(shè)計204.2 子程序設(shè)計214.2.1 顯示子程序設(shè)計214.2.2 鍵盤掃描子程序214.2.3鬧鈴子程序設(shè)計23 4.2.4跑秒子程序設(shè)計.23第五章 系統(tǒng)調(diào)試245.1 硬件調(diào)試245.1.1 單片機基礎(chǔ)電路調(diào)試245.1.2 顯示電路

8、調(diào)試255.2 軟件調(diào)試27結(jié) 論28參考文獻29附錄a 程序附錄b 多功能電子時鐘硬件電路圖致 謝30第一章 引 言時間是人類生活必不可少的重要元素,如果沒有時間的概念,社會將不會有所發(fā)展和進步。從古代的水漏、十二天干地支,到后來的機械鐘表以及當(dāng)今的石英鐘,都充分顯現(xiàn)出了時間的重要,同時也代表著科技的進步。致力于計時器的研究和充分發(fā)揮時鐘的作用,將有著重要的意義。1.1 多功能電子時鐘研究的意義電子鐘是采用電子電路實現(xiàn)對時、分、秒進行數(shù)字顯示的計時裝置,廣泛應(yīng)用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)

9、字鐘的精度,遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如:跑秒顯示、定時自動報警、0按時自動打鈴、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。1.2 電子時鐘的功能電子時鐘主要是利用電子技術(shù)將時鐘電子化、數(shù)字化,擁有時間精確、體積小、界面友好、可擴展性能強等特點,被廣泛應(yīng)用于生活和工作當(dāng)中。當(dāng)今市場上的電子時鐘品類繁多,外形小巧別致。也有體型較大的,諸如公共場所的大型電子報時器等。電子時鐘首先是數(shù)字化了的時間顯示或

10、報時器,在此基礎(chǔ)上,人們可以根據(jù)不同場合的要求,在時鐘上加置其他功能,比如定時鬧鈴,萬年歷,環(huán)境溫度、濕度檢測,環(huán)境空氣質(zhì)量檢測,usb擴展口功能等。本設(shè)計電子時鐘主要功能為:1. 具有時間顯示,24小時制;2. 具有鬧鈴功能;3. 具有跑秒功能;4. 具有手動校對功能;第二章 電子時鐘設(shè)計方案分析電子鬧鐘既可以通過純硬件實現(xiàn),也可以通過軟硬件結(jié)合實現(xiàn)。根據(jù)電子時鐘里的核心部件秒信號的產(chǎn)生原理,利用單片機來設(shè)計數(shù)字電子鐘。單片機設(shè)計方案:單片機是微型機的一個主要分支,它在結(jié)構(gòu)上的最大特點使把cpu、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊

11、單片機芯片就是一臺計算機。單片機具有如下特點:有優(yōu)異的性能價格比;1 集成度高、體積小、有很高的可靠性;2 控制功能強;3 低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品;4 外部總線增加了i2c、spi等串行總線方式,進一步縮小了體積,簡化了結(jié)構(gòu);5 單片機的系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。所以單片機的應(yīng)用非常廣泛,在智能儀表、機電一體化、實時控制、分布式多機系統(tǒng)以及人們的生活中均有用武之地。單片機應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思路和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種用軟件代替硬件的控制

12、技術(shù),是對生產(chǎn)控制技術(shù)的一次革命。利用單片機的智能性,可方便地實現(xiàn)具有智能的電子鐘設(shè)計。單片機均具有時鐘振蕩系統(tǒng),利用系統(tǒng)時鐘借助微處理器的定時器/計數(shù)器可實現(xiàn)電子鐘功能。然而系統(tǒng)時鐘誤差較大,電子鐘的積累誤差也可能較大,所以可以通過誤差修正軟件加以修正,或者在設(shè)計中加入高精度時鐘日歷芯片,以精確時間。另外很多功能不同的單片機是兼容的,這就更便于實現(xiàn)產(chǎn)品的多功能性。第三章 基于單片機的電子時鐘硬件設(shè)計考慮單片機貨源充足、價格低廉,可軟硬件結(jié)合使用,能夠較方便的實現(xiàn)系統(tǒng)的多功能性,故采用單片機作為本設(shè)計的軟、硬件基礎(chǔ)。3.1主要ic芯片選擇3.1.1微處理器選擇目前在單片機系統(tǒng)中,應(yīng)用比較廣泛的

13、微處理器芯片主要為8xc5x系列單片機。該系列單片機均采用標準mcs-51內(nèi)核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價格低廉,貨源充足,調(diào)試和編程方便,所以應(yīng)用極為廣泛,本設(shè)計采用具有32根i/o引腳的at89c51單片機。at89c51是美國atmel公司生產(chǎn)的低電壓,高性能cmos8位單片機,片內(nèi)含4kbytes的可反復(fù)擦寫的只讀程序存儲器(perom)和128bytes的隨機存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash存儲單元,功能強大at89c51單片機可提供高性

14、價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。一、at89c51的主要性能參數(shù): 圖3.1.1 at89c51的功能引腳圖1、與mcs-51產(chǎn)品指令系統(tǒng)完全兼容;2、4k字節(jié)可重擦寫flash閃速存儲器;3、1000此擦寫周期;4、全靜態(tài)操作:0hz-24hz;5、三級加密程序存儲器;6、128*8字節(jié)內(nèi)部ram;7、32個可編程i/o口線;8、2個16位定時/計數(shù)器;9、6個中斷源;10、可編程串行uart通道;11、低功耗空間和掉電模式;二、at89c51的功能引腳圖:三、功能特性概述: at89c51提供以下標準功能:4k字節(jié)flash閃速存儲器,128字節(jié)內(nèi)部ram,32個i/o口線,兩個

15、16位定時/計數(shù)器,一個向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止cpu的工作,但允許ram,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。本設(shè)計主要應(yīng)用到at89c51的以下部分:p0口:p0口是一組8位漏極開路型雙向i/o口.也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時,每位能吸收電流的方式驅(qū)動8個ttl邏輯門電路,對端口寫1可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器

16、時。這組口線分時轉(zhuǎn)換地址低8位和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 p1口:p1口是一個帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級可驅(qū)動吸收或輸出電流4個ttl邏輯門電路,對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。 p2口:p2口是一個帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級可驅(qū)動吸收或輸出電流4個til邏輯門電路,對端口寫“ 1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。

17、在訪問外部程序存儲器或l6位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行movxdptr指令)時,p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movxri指令)時,p2口線上的內(nèi)容(也即特妹功能寄存器(sfr)區(qū)中r2寄存器的內(nèi)容,在整個訪問期間不改變。 rst:復(fù)位輸入。當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。 ea/vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲器地址為0000h-ffffh),ea端必須保持低電平(接地)。需要注意的是:如果加密位 lb1被編程,復(fù)位時內(nèi)部會鎖存ea端狀態(tài)。 如ea端為高電平接vcc端,cpu 則執(zhí)行內(nèi)部程序存儲器中的

18、指令。xtal1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。xtal2:振蕩器反相放大器的輸出端。 時鐘振蕩器: at89c51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。 外接石英晶體或陶瓷諧振器)及電容c1,c2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容c1、c2雖然沒有十分嚴格的要求。但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,電容使用30pf,而如果使用陶瓷諧振器,則為40pf。 也可

19、采用外部時鐘,這種情況下,外部時鐘脈沖接到xtal1端,即內(nèi)部時鐘發(fā)生器的輸入端,xtal2則懸空。圖3.1.1振蕩電路圖3.1.2寄存器的選擇74164:8位移位寄存器(串行輸入,并行輸出)。當(dāng)清除端(clear)為低電平時,輸出端(q0-q7)均為低電平。串行數(shù)據(jù)輸入端(a,b)可控制數(shù)據(jù)。當(dāng)a、b任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(clock)脈沖上升沿作用下q0為低電平。當(dāng)a、b有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在clock上升沿作用下決定q0的狀態(tài)。引出端符號clock 時鐘輸入端 clear 同步清除輸入端(低電平有效)a、b 串行數(shù)據(jù)輸入端 q0-q7 輸出端邏

20、輯及封裝圖:圖3.1.2 74ls164邏輯引腳圖3.1.3顯示器件的選擇led數(shù)碼管是單片機控制系統(tǒng)中最常用的顯示器件之一,它在單片機應(yīng)用系統(tǒng)中的地位類似于crt(陰極射線管)顯示器在臺式微機系統(tǒng)中的地位。在單片機系統(tǒng)中,常用到led數(shù)碼管顯示cpu的處理結(jié)果、輸入/輸出信號的狀態(tài)或大小。led數(shù)碼管的a、b、c、d、e、f、g段用于顯示數(shù)字或字符的筆畫,dp顯示小數(shù)點,筆段及其對應(yīng)引腳排列如圖所示,其中3、8做為公共端使用,接地或接電源。圖3.1.3 led筆段引腳及其對應(yīng)引腳圖根據(jù)led數(shù)碼管內(nèi)各段led發(fā)光二極管的連接方式,可以將led數(shù)碼管分為共陰極和共陽極兩大類,在共陰極數(shù)碼管中,

21、所有的筆段的led發(fā)光二極管的負極連在一起,而共陽極數(shù)碼管中,所以的筆段的led發(fā)光二極管的正極連在一起。從led數(shù)碼管的結(jié)構(gòu)可以看出,點亮不同筆段就可以顯示出不同的字符,所以0-9的筆段碼如圖所示:字符dp、g、f、e、d、c、b、a共陽極筆段碼共陰極筆段碼01、1、0、0、0、0、0、0c0h3fh11、1、1、1、1、0、0、1f9h06h21、0、1、0、0、1、0、0a4h5bh31、0、1、1、0、0、0、0b0h4fh41、0、0、1、1、0、0、199h66h51、0、0、1、0、0、1、092h6dh61、0、0、0、0、0、1、082h7dh71、1、1、1、1、0、0、0

22、f8h07h81、0、0、0、0、0、0、080h7fh91、0、0、1、0、0、0、090h6fh表3.1.3 led筆段碼表根據(jù)顯示驅(qū)動方式的不同,可將led數(shù)碼顯示驅(qū)動電路分為靜態(tài)顯示方式和動態(tài)顯示方式。在靜態(tài)顯示方式中,顯示驅(qū)動程序簡單,cpu占用率低,但每一位led數(shù)碼管需要一個8位鎖存器來鎖存筆段碼,硬件開銷大(元件數(shù)目多,印制板面積也會隨之增加),僅適用于顯示位數(shù)較少(4位以下)的場合,當(dāng)需要顯示的位數(shù)為4-12位時,多采用按位掃描軟件譯碼(在單片機系統(tǒng)中一般不用硬件譯碼)的動態(tài)顯示方式或按筆段掃描的動態(tài)顯示方式。在此設(shè)計中,采用的是共陰極數(shù)碼管,因為顯示4位位數(shù),為了在顯示部分

23、節(jié)省單片機i/o口,故采用靜態(tài)顯示方式。3.1.4看門狗器件的選擇x25045把四種常用的功能:上電復(fù)位、看門狗定時器、電源電壓監(jiān)控和塊鎖保護的串行eprom存儲器組成在一個封裝之內(nèi),此組合降低系統(tǒng)成本、減少了電路板空間和增加了可靠性。x25045的工作原理是:向器件加電時激活了上電復(fù)位電路,它保持reset有效一段時間,這樣保證電源和振蕩器穩(wěn)定后,微處理器再執(zhí)行代碼??撮T狗定時器對微控制器提供了一個獨立的保護機制。當(dāng)系統(tǒng)出現(xiàn)故障時,在可選的超時時間(time-out interval)之后,器件將被激活reset信號,用戶可以從三個預(yù)制的值中選擇一個超時時間,這個超時值一旦選定,就會保存起來

24、,即使系統(tǒng)斷電,重啟電源也不會改變,除非再次對超時值進行設(shè)定或者取消看門狗復(fù)位電路超時值。器件的低vcc檢測電路,可以保護系統(tǒng)免受低電壓影響,當(dāng)vcc降到vcc轉(zhuǎn)換點以下時,系統(tǒng)復(fù)位。復(fù)位一直持續(xù)到vcc回到正常工作電平并且穩(wěn)定為止。其引腳連接圖如下:圖3.1.4 x25045引腳圖3.2電子時鐘硬件電路設(shè)計電子鬧鐘至少要包括秒信號發(fā)生器、時間顯示電路、按鍵電路、供電電源、鬧鈴指示電路等幾部分。另外,本設(shè)計要求該電子鐘能夠采集環(huán)境溫度,所以還需要溫度采集芯片。該系統(tǒng)使用at89c51單片機作為核心,完成此電子時鐘的主要功能時鐘、跑秒、鬧鈴。使用比較通用的8段共陰數(shù)碼管,做7位顯示,分別顯示分,

25、秒。圖3.2 功能電子時鐘硬件系統(tǒng)框圖鍵盤是為了完成時鐘校對顯示功能。由于此電子時鐘要求具有鬧鈴功能,所以設(shè)計有鬧鈴電路,進行聲音響鈴。3.2.1顯示電路就時鐘而言,通??刹捎胠cd顯示或led顯示。對于一般的段式lcd,需要專門的驅(qū)動電路,而且lcd顯示的可視性較差;對于具有驅(qū)動電路和微處理器接口的液晶顯示模塊(字符或點陣),一般采用并行接口,對微處理器的接口要求較高,占用資源多。另外,at89c51本身沒有專門的液晶驅(qū)動接口。led結(jié)構(gòu)簡單,體積小,功耗低,響應(yīng)速度快,易于匹配,壽命長,可靠性高,而且顯示亮度高,價格便宜,市場上也有專門的時鐘顯示組合led。故本設(shè)計中應(yīng)用7位8段共陰led

26、實現(xiàn)顯示部分。 led顯示分動態(tài)顯示和靜態(tài)顯示:動態(tài)顯示方式的硬件電路簡單。但設(shè)計上如果處理不當(dāng),易造成亮度低,閃爍問題。因此合理的設(shè)計既應(yīng)保證驅(qū)動電路易實現(xiàn),又要保證圖像穩(wěn)定,無閃爍。動態(tài)顯示采用多路復(fù)用技術(shù)的動態(tài)掃描顯示方式,復(fù)用的程度不是無限增加的, 因為利用動態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時間的長短,發(fā)光的亮度等因素。靜態(tài)顯示,是由微型計算機一次輸出顯示模型后,就能保持該顯示結(jié)果,直到下次發(fā)送新的顯示模型為止。靜態(tài)顯示驅(qū)動程序簡單,且cpu占用率低,但每個led數(shù)碼管需要一個鎖存器來鎖存每一個顯示位的筆段代碼,硬件開銷大,僅適合顯示位數(shù)較少

27、的場合。為了在顯示部分節(jié)省單片機i/o口,故采用靜態(tài)顯示方式。電路圖參見圖3.10。74ls164是8位移位寄存器,應(yīng)用該芯片驅(qū)動led做顯示部分,其優(yōu)點在于連線簡單,節(jié)省單片機i/o口,軟件編程容易。3.2.2按鍵電路根據(jù)功能需要,本時鐘需要設(shè)置以下功能鍵:校對選擇鍵,加1操作鍵,減1操作鍵,。按照鍵盤與cpu的連接方式可分為獨立式鍵盤和矩陣式鍵盤。獨立式鍵盤是各個按鍵相互獨立,每個按鍵占用一個i/o口線,每根i/o口線上的按鍵不會影響其他i/o口上按鍵工作狀態(tài)。獨立式鍵盤電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根i/o口,在按鍵數(shù)量較多時,i/o口線浪費較大,且電路結(jié)構(gòu)復(fù)雜。矩陣式

28、鍵盤適合按鍵較多時使用。由于本設(shè)計的電子鐘最多需要4個按鍵,若采用矩陣式鍵盤時會有按鍵浪費,故采用的是獨立式鍵盤。鍵盤電路如圖所示:圖3.2.2 鍵盤電路表3.2.2 按鍵功能表按鍵鍵名功能屬性k1fun功能選擇自動復(fù)位k2up數(shù)值加一操作自動復(fù)位k3down數(shù)值減一操作自動復(fù)位k4enter確認鍵自動復(fù)位按鍵操作說明如下:k1鍵:該鍵為自動復(fù)位鍵,在正常顯示時間狀態(tài)下,第一次按下后,開始校對秒,以后每次按下都會分別進入對分、跑秒,鬧鈴時、鬧鈴的校對狀態(tài)。k2鍵:該鍵為自動復(fù)位鍵,在校對狀態(tài)下,每次按動該鍵,都會使相應(yīng)校對位進行加1操作。例如:校對小時狀態(tài),每按一下,小時位加1,當(dāng)加至小時最高

29、值23時,再按k4鍵,小時位回0。調(diào)分、秒與皆之相同,只是各位最高值不同。k3鍵:該鍵為自動復(fù)位鍵,與k2鍵類似,不同之處是該鍵每次按下將使相應(yīng)校對位進行減1操作。k4鍵:該鍵為自動復(fù)位鍵,在校對狀態(tài)下,按下該鍵,從校對狀態(tài)返回時間顯示狀態(tài)。3.2.3鬧鈴電路鬧鈴音樂可以直接采用蜂鳴器鬧鈴,如當(dāng)前時刻與鬧鈴時間相同,單片機向蜂鳴器送出高電平,蜂鳴器發(fā)聲。采用蜂鳴器鬧鈴結(jié)構(gòu)簡單,控制方便,但是發(fā)出的鬧鈴聲音單一。也可以在編程的時候編寫一段音樂程序,待鬧鈴時間到時,調(diào)用該音樂程序給揚聲器,便響起音樂。不過該方法只能做一些簡單音樂,并且音樂程序會占用很多單片機存儲資源。還有一種方法是采用錄音放音芯片

30、1420做鬧鈴,先對錄放音設(shè)備錄入一段音樂,當(dāng)?shù)皆O(shè)定時間時,單片機控制錄放音設(shè)備放音。采用錄放音電路,鈴聲可以是預(yù)先設(shè)定的一段自己喜歡的音樂,符合電器設(shè)備人性化的要求。且1420芯片可以分段錄音,還具有語音報時功能。另外,也可以購置一塊音樂集成電路,加置在單片機和蜂鳴器之間,當(dāng)單片機連接鬧鈴電路的管腳送出高電平時,音樂集成電路會給蜂鳴器特定脈沖,使蜂鳴器發(fā)聲。此類集成電路體積較小,使用方便,不足的是音樂簡單、單一。鬧鈴的音樂不是本設(shè)計中的重點,故采用最簡單的方法,占用單片機一根i/o口p2.1, 中間用pnp型三極管s9012連接p2.1和蜂鳴器。當(dāng)p2.1引腳為低電平時,s9012的發(fā)射極和

31、集電極導(dǎo)通,使蜂鳴器發(fā)聲。當(dāng)響鈴標志位為“1”時,p2.1送一定頻率脈沖,使蜂鳴器u11發(fā)出聲音。在p2.0引腳加上一個二極管,當(dāng)p2.0引腳為低電平時,二極管導(dǎo)通,使二極管發(fā)亮,同時置p2.0=p2.0時,二極管閃動。如圖所示:圖3.2.2 鬧鈴電路3.2.4復(fù)位電路復(fù)位是單片機的初始化操作,以便使cpu和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。除了進入系統(tǒng)的正常初始化之外,當(dāng)單片機系統(tǒng)在運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,也可按復(fù)位鍵重新啟動。復(fù)位后,pc內(nèi)容初始化為0000h,使單片機從0000h單元開始執(zhí)行程序。單片機復(fù)位后不影響內(nèi)部ram的狀態(tài)。89c51單

32、片機復(fù)位信號的輸入端是rst引腳,高電平有效。其有效時間持續(xù)24個時鐘周期(2個機器周期)以上。rst端的外部復(fù)位電路有兩種操作方式:上電自動復(fù)位和按鍵手動復(fù)位。上電復(fù)位電路:上電復(fù)位電路又稱基本阻容復(fù)位電路,此復(fù)位電路利用了電容可以存儲電荷的特性,和電阻組成串聯(lián)網(wǎng)絡(luò),只要保證電容充放的時間常數(shù)滿足單片機的復(fù)位要求,就可以形成基本的復(fù)位電路,此復(fù)位電路是高電平有效復(fù)位電路。上電的瞬間reset端的電位和vcc相同,隨著充電電流的減小,reset端的電位逐漸下降,按照圖上的參數(shù),時間常數(shù)t=rc=100ms,這個時間常數(shù)足以保證完成復(fù)位操作。按鍵手動復(fù)位電路:按鍵手動復(fù)位電路又稱基本手動復(fù)位電路

33、,此電路設(shè)計是手動復(fù)位開關(guān)產(chǎn)生的復(fù)位信號連接在復(fù)位電路上,而不是直接接在處理器的復(fù)位信號輸入引腳上。如圖,將一個手動開關(guān)與電阻串聯(lián)后再和復(fù)位電容并聯(lián)起來,當(dāng)系統(tǒng)上電后,由于開關(guān)沒有導(dǎo)通,還是一個基本的阻容復(fù)位電路,系統(tǒng)會可靠地復(fù)位。如果在調(diào)試過程中需要對系統(tǒng)進行復(fù)位,這時不需要斷電再接通電源,只需要按一下復(fù)位開關(guān)即可。當(dāng)復(fù)位開關(guān)按下后,電容被短路,在reset腳上由于電阻分壓會得到一個復(fù)位的高電平,達到復(fù)位效果。 圖3.2.4 復(fù)位電路圖出于電子鐘應(yīng)用方便,設(shè)計簡單,所以本設(shè)計采用上電復(fù)位電路即基本阻容復(fù)位電路來進行復(fù)位。第四章 電子時鐘軟件設(shè)計c51單片機可以應(yīng)用匯編語言和c語言進行編程。,

34、匯編語言與機器指令一一對應(yīng)所以用匯編語言編寫的程序在單片機里運行起來效率較高。c語言程序可讀性高,更便于理解。本設(shè)計使用c語言編程。4.1主程序設(shè)計第一次上電,系統(tǒng)先進行初始化, led顯示初始時間“00:00”,并開始走時。單片機依次開始調(diào)用鍵盤掃描子程序、鬧鈴子程序,經(jīng)過延時,返回程序開頭循環(huán)運行。主程序流程圖如圖所示:圖4.1.1 多功能電子鐘主程序流程圖4.2子程序設(shè)計4.2.1顯示子程序設(shè)計用74ls164驅(qū)動led數(shù)碼管靜態(tài)顯示電路,編程也很容易。只要將需要顯示的數(shù)字編輯成對應(yīng)的bcd碼,逐位送入74ls164的a、b串行輸入端,數(shù)碼管將正常顯示。關(guān)鍵之處是要實現(xiàn)根據(jù)鍵值顯示不同的

35、數(shù)字。圖4.2.1 顯示子程序流程圖4.2.2鍵盤掃描子程序單片機對鍵盤掃描的方法有隨機掃描方式、定時掃描方式和中斷掃描方式。在隨機掃描方式中,cpu完成某特定任務(wù)后,即執(zhí)行鍵盤掃描程序,以確定鍵盤有無按鍵輸入,然后根據(jù)按鍵功能轉(zhuǎn)去執(zhí)行相應(yīng)的操作。在執(zhí)行鍵盤按鍵規(guī)定的功能中不理睬鍵盤輸入。定時掃描方式與隨機掃描方式基本相同,只是利用cpu內(nèi)的定時中斷,每隔一定時間掃描有無按鍵被按下,鍵盤反應(yīng)速度較快,在處理按鍵功能過程中,可以通過鍵盤命令進行干預(yù),如取消、暫停等操作。前兩種掃描方式均會占用cpu大量時間。不管有沒有鍵入操作,cpu總要在一定的時間內(nèi)進行掃描,這對于單片機控制系統(tǒng)是很不利的。由于

36、本設(shè)計中at89c51單片機在系統(tǒng)中的主要任務(wù)是接受鍵盤控制的數(shù)據(jù)并送出顯示,完成時鐘/鬧鈴的校對和時間/跑秒顯示控制。89c51單片機完全有能力完成以上工作,所以采用隨機掃描鍵盤方式,系統(tǒng)也能夠正常運行。程序流程如圖所示:單片機掃描完鍵盤,得到鍵值,并根據(jù)鍵值轉(zhuǎn)入執(zhí)行對應(yīng)任務(wù),以實現(xiàn)按鍵功能。如果沒有按鍵按下,則程序掃描到key=ffh,將鍵值key清零,返回主程序。圖4.2.2 鍵盤掃描子程序4.2.3鬧鈴子程序設(shè)計鬧鈴子程序最主要的任務(wù)是不斷用時鐘分(min)與時(hour)同設(shè)定的鬧鈴分(clk_min)與鬧鈴時(clk_hour)比較,只要滿足min等于clk_min、hour等于c

37、lk_hour,響鈴啟動半分鐘,同時二極管也閃動半分鐘。圖4.2.3 鬧鈴子程序流程圖4.2.4跑秒子程序的設(shè)計當(dāng)function_count=5時,就進行到了跑秒程序的顯示,當(dāng)跑秒加到99時,再加上1,秒開始置1,同時跑秒則置0,接著進行。第五章 系統(tǒng)調(diào)試調(diào)試工作分硬件調(diào)試和軟件調(diào)試兩部分,調(diào)試方法介紹如下: 首先,硬件調(diào)試主要是先搭建硬件平臺,然后利用萬用表等工具對電路檢查,最后應(yīng)用程序進行功能調(diào)試。硬件調(diào)試比較費時,需要細心和耐心,也需要熟練掌握電路原理。然后,可以直接應(yīng)用一些編輯或仿真軟件進行軟件調(diào)試,比如單片機c51編輯軟件keil。該軟件提供了一個集成開發(fā)環(huán)境uvision,它包括

38、c編輯器、宏編輯器、連接器、庫管理和一個功能強大的仿真調(diào)試器。通過編譯、運行,可以檢查程序錯誤。但應(yīng)用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。在軟件調(diào)試過程中要仔細耐心,即便是多寫或少些一兩個字符,都無法編譯成功。而有時往往在keil中編譯、運行無錯,但燒錄到單片機中運行起來就會出錯,很可能是編程時管腳或時序編輯得不對。還有一種方式,即應(yīng)用仿真軟件搭建電路的軟件平臺,再導(dǎo)入程序進行仿真調(diào)試。如果電路出錯,可以在計算機上方便的修改電路,程序出錯可以重新編輯程序,這種方法節(jié)時、省力,經(jīng)濟、方便。筆者應(yīng)用的仿真軟件為proteus。總之,調(diào)試過程是一個軟硬件相結(jié)合調(diào)試的過程,硬件

39、電路是基礎(chǔ),軟件是檢測硬件電路和實現(xiàn)其功能的關(guān)鍵。在調(diào)試過程中,首先必須明確調(diào)試順序。例如:本設(shè)計是在單片機系統(tǒng)基礎(chǔ)上建立起來的,所以必須先確定單片機基礎(chǔ)電路能否正常工作。為了正確顯示時間,接下來還要確定顯示電路能否正常工作。硬件調(diào)試的過程,也是軟件調(diào)試的過程。然后,要準備好調(diào)試的工具。硬件調(diào)試需要萬用表、示波器等,軟件調(diào)試一般需要諸如keil等仿真編輯器。根據(jù)自己實際制作該多功能電子時鐘的經(jīng)驗,將調(diào)試過程介紹如下:5.1硬件調(diào)試5.1.1單片機基礎(chǔ)電路調(diào)試單片機基礎(chǔ)電路包括電源、單片機、外部時鐘震蕩電路、復(fù)位電路和外部接口電路。調(diào)試過程需要注意以下幾點:1. 檢查電源是否完好。2. 單片機電

40、源要連接正確,并且保證at89c51的31號引腳接高電平。at89c51的31號引腳是外部程序存儲器選擇信號端,當(dāng)該引腳為高電平時,單片機會一直從片內(nèi)程序存儲器內(nèi)取指令。3. 如果使用p0口做i/o口,要接上拉電阻。4. 使用萬用表排查電路中是否存在斷路或者短路情況。筆者在制作外部接口電路時使用的是排針,焊接時容易出現(xiàn)管腳之間短路,所以在上電以前必須先排查電路。5. 編輯一個使一組發(fā)光二極管循環(huán)點亮的程序并燒錄到單片機內(nèi),上電運行,檢查單片機是否正常工作,復(fù)位電路是否正確。本設(shè)計編輯了使一組p0口點亮8個發(fā)光二極管循環(huán)點亮的程序,程序代碼如下:#include void delay(void)

41、 /延時子程序 unsigned char i, j,k; /延時時間根據(jù)變量i,j,k不同而改變 for(i=50;i0;i-)for(j=50;j0;j-)for(k=250;k0;i-);void main() unsigned int n; unsigned char code ledp8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; while(1) p0=0xffh; /初始化p0口 for(n=0;n0;t-) for(j=6245;j0;j-) ; void dis() /顯示子程序,03 unsigned char gsb,led,led1,jj; disp_buffer0=tab0; disp_buffer1=tab1; disp_buffer2=tab2; disp_buffer3=tab3; for(gsb=0;gsb4;gsb+) led=disp_buffergsb; for(jj=0;jj1; void main() /主程序 while(1) dis(); delay_50ms(10); 5.2軟件調(diào)試在硬件調(diào)試完畢的基礎(chǔ)上,需要進一步完善程序,也就是進入軟件調(diào)試階段。在本設(shè)計中,軟件調(diào)試主要分三大部分即實時時鐘顯示子程序調(diào)試、按鍵子程序調(diào)試、跑秒顯示子程序這幾部分子程序的調(diào)試。將

溫馨提示

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

評論

0/150

提交評論