用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計_第1頁
用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計_第2頁
用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計_第3頁
用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計_第4頁
用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、“智能測控儀器設(shè)計”課程項目設(shè)計總結(jié)報告項目名稱: 用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘 指導老師: 學 號: 專業(yè)年級: 完成時間: 2013 年 7 月 用單片機內(nèi)部定時器實現(xiàn)的數(shù)字鐘摘要:近年來隨著計算機在社會領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應(yīng)用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。本文介紹了基于單片機at89c5

2、1的數(shù)字鐘的設(shè)計,詳細討論了它從軟件上實現(xiàn)的過程,重點在時鐘調(diào)整的方式:查詢和中斷的比較,然后,對數(shù)字鐘的穩(wěn)定性和精確性作了相關(guān)的討論。在文章的最后,給出了采用中斷方式實現(xiàn)的數(shù)字鐘的源程序。本次設(shè)計通過對一個時鐘顯示、手動校時等功能的時間系統(tǒng)的設(shè)計,其中結(jié)合了lcd1602顯示、單片機定時中斷等技術(shù)。關(guān)鍵詞:單片機的應(yīng)用,at89c51,lcd19abstrct:in recent years along with computer penetration in the social sphere and the large scale integrated circuit developme

3、nt, mcu applications are constantly deepening, because it has strong function, small volume, low power consumption, low price, reliable work, so that the use is convenient wait for a characteristic, thus it is especially suitable for and control of relevant system, more and more widely and its appli

4、cation in automatic control, intelligent instruments, instrumentation, data acquisition, military products and household appliances and other fields, the microcontroller is often used as a core component to use, in accordance with the specific hardware structure, and the specific characteristics of

5、the target application software node, to make perfect. this article introduced based on the single-chip digital clock design, discussed in detail from the software implementation process, heavy in the clock adjustment way: queries and disruption of comparison, and then, on the digital clock made of

6、the stability and accuracy of closed the discussion. at the end of the article, gives the interrupt mode to achieve digital clock source. this design through to a clock display, manual school functions when the time system design, which combines the lcd1602 display, dynamic scanning, scm timer inter

7、rupt technology.key words: the application of mcu, at89c51, lcd1. 項目研究意義與研究現(xiàn)狀數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,與機械式時鐘相比具有更高的準確性和直觀性,裝置,具有更長的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計方法有許多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機來實現(xiàn)電子鐘等等。這些方法都各有其特點,其中利用單片機實現(xiàn)的電子鐘具有編程靈活,并便于功能的擴展。數(shù)字鐘廣泛用于個人家庭,車站,碼頭辦公室等公共場所,

8、成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。本課題研究的基于51單片機數(shù)字鐘采用專用實時時鐘芯片,走時準確,且具有掉電保持功能,采用新穎簡單的圖像點陣液晶顯示,開機有啟動畫面,具有良好的人機界面;是很好的時間指示工具。2. 研

9、究的內(nèi)容與預期目標2.1 研究內(nèi)容單片機經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強i/o功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個方面:1、多功能 單片機中盡可能地把所需要的存儲器和i/o口都集成在一塊芯片上,使得單片機可以實現(xiàn)更多的功能。比如a/d、pwm、pca(可編程計數(shù)器陣列)、wdt(監(jiān)視定時器-看家狗)、高速i/o口及計數(shù)器的捕獲/比較邏輯等。有的單片機針對某一個應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了usb控制器、smart card接口、mp3解碼器、can或者i

10、*i*c總線控制器等,led、lcd或vfd顯示驅(qū)動器也開始集成在8位單片機中。2、高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機開始使用risc、流水線和dsp的設(shè)計技術(shù),使單片機的性能有了明顯的提高,表現(xiàn)為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內(nèi)rom(flash)和ram的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復雜程度的增加,開始使用高級語言(如c語言)來開發(fā)單片機的程序。使用高級語言可以降低開發(fā)難度,縮短開發(fā)周期,增強軟件的可讀性和可移植性,便于改進和擴充功能。3、低電壓和低功耗單片機的嵌入式應(yīng)用決定了低

11、電壓和低功耗的特性十分重要。由于cmos等工藝的大量采用,很多單片機可以在更低的電壓下工作(1.2v或0.9v),功耗已經(jīng)降低到ua級。這些特性使得單片機系統(tǒng)可以在更小電源的支持下工作更長的時間。2.2 預期目標該多功能數(shù)字鐘的設(shè)計,總體上大致可分為以下幾個部分組成:1. 時鐘電路部分;2.復位電路部分;3.lcd顯示電路部分;4.按鍵選擇電路部分;5. 蜂鳴器電路部分。系統(tǒng)原理框圖如圖1所示。整個電路的工作原理是由晶振芯片提供準確的時鐘電路,由鍵盤調(diào)整數(shù)字鐘的功能,并通過軟件編程把時間數(shù)字通過lcd顯示出來。時鐘電路復位電路lcd顯示電路按鍵選擇電路at89c51圖1 系統(tǒng)原理框圖3. 總體

12、結(jié)構(gòu)設(shè)計1.系統(tǒng)的基本原理及設(shè)計思想本設(shè)計采用at89c51單片機模塊、晶振電路模塊、復位電路模塊、獨立鍵盤模塊和顯示電路模塊。晶振電路用于產(chǎn)生at89c51單片機工作時所必需的控制信號。at89c51單片機的內(nèi)部電路正是在時鐘信號的控制下,嚴格地按時序執(zhí)行指令進行工作。在執(zhí)行指令時,cpu首先到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一系列控制信號完成指令所規(guī)定的操作。復位是單片機的初始化操作,只需給at89c51的復位引腳reset加上大于2個機器周期的高電平就可使at89c51復位。當at89c51進行復位時,pc初始化為0000h,使at89c51單片機從程序存

13、儲器的0000h單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當程序運行出錯(如程序“跑飛”)或操作錯誤使系統(tǒng)處于“死鎖”狀態(tài)時,也需要按復位鍵即reset為高電平,使at89c51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動程序。鍵盤的任務(wù)有三項:(1)首先判別是否有鍵按下。若有,進入下一步工作。(2)識別哪一個鍵被按下,并求出相應(yīng)的鍵值。(3)根據(jù)鍵值,找到相應(yīng)鍵值的處理程序入口。在本設(shè)計中,鍵盤具有向單片機輸入數(shù)據(jù)、命令等功能,是人與單片機對話的主要手段。2.計時方案電腦數(shù)字鐘的秒信號是利用at89c51單片機內(nèi)部定時器to產(chǎn)生的。由于振蕩器的晶振頻率為12mhz,使得to的最大定時時間遠遠小

14、于1秒,因此,在設(shè)計時采用了硬件計數(shù)與軟件計數(shù)相結(jié)合的方式,即通過to產(chǎn)生0.1s的時基信號,然后再利用軟件進行計數(shù),從而產(chǎn)生1秒鐘的時間信號。在設(shè)計中,定時器to采用了中斷方式。當定時時間到時,定時器向cpu申請一次中斷,cpu響應(yīng)中斷后轉(zhuǎn)入中斷服務(wù)程序,在to的中斷服務(wù)程序中實現(xiàn)時、分、秒的累加,即每產(chǎn)生一次中斷,0.1s時基單元的內(nèi)容加1,當0.1s時基單元的內(nèi)容等于10時,便產(chǎn)生1s信號,使秒計數(shù)單元的內(nèi)容加1,并將0.1s時基單元的內(nèi)容清0;當秒計數(shù)單元計滿60后,向分計數(shù)單元進位,使分計數(shù)單元的內(nèi)容加1,并將秒計數(shù)單元的內(nèi)容清0;當分計數(shù)單元計滿60后,向時計數(shù)單元進位,使時計數(shù)單

15、元的內(nèi)容加1,并將分計數(shù)單元的內(nèi)容清0;時計數(shù)單元計滿24后清o。4.硬件設(shè)計4.1 單片機的選擇本課程選用at89c51型號的單片機。 at89c51 是美國atmel 公司生產(chǎn)的低電壓,高性能cmos8 位單片機,片內(nèi)含4k bytes 的可反復擦寫的只讀程序存 儲器(perom)和128 bytes 的隨機存取數(shù)據(jù)存儲器(ram ),器件采用atmel 公司的高密度、非易失性存儲技術(shù)生產(chǎn), 兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8 位 央處理器(cpu)和flash 存儲單元,功能強大at89c51 單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù): 1、

16、與mcs-51產(chǎn)指令系統(tǒng)完全兼容 2、 4k字節(jié)可重擦寫flash 閃速存儲器 3、 1000 次擦寫周期 4、 全靜態(tài)操作:0hz24mhz 5、 三級加密程序存儲器 6、 1288 字節(jié)內(nèi)部ram 7、 32 個可編程i o口線 8、 2 個16 位定時計數(shù)器 4.2 定時/計數(shù)器8051系列單片機至少有兩個16位內(nèi)部定時器/計數(shù)器。8052有三個定時器/計數(shù)器,其中連個基本定時器/計數(shù)器是定時器/計數(shù)器0和定時器/計數(shù)器1。他們既可以編程為定時器使用,也可以編程為計數(shù)器使用。若是計數(shù)內(nèi)部晶振驅(qū)動時鐘,則它是定時器;若是計數(shù)8051的輸入引腳的脈沖信號,則它是計數(shù)器。8051的t/c時加一

17、計數(shù)的。定時器實際上也是工作在技術(shù)方式下的,只不過對固定頻率的脈沖計數(shù);由于脈沖周期固定,由計數(shù)值可以計算出時間,有定時功能。當t/c工作在定時器時,對振蕩源12分頻的脈沖計數(shù),即每個機器周期計數(shù)值加一,頻率加=fosc/12。晶振為6mhz,計數(shù)頻率=500khz,每2us計數(shù)加一。當t/c工作在計數(shù)器時,計數(shù)脈沖來自外部脈沖輸入引腳t0或t1。當t0或t1腳上負跳變需2個機器周期,即24個振蕩周期。所以t0或t1腳輸入的計數(shù)外部脈沖的最高頻率為fosc/12。當晶振為12mhz時,最高技術(shù)頻率為500khz,高于此頻率將計數(shù)出錯。4.3 顯示電路1602字符型lcd簡介1602lcd主要技

18、術(shù)參數(shù):顯示容量:162個字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v引腳功能說明 表1:引腳接口說明表編號符號引腳說明編號符號引腳說明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫選擇13d6數(shù)據(jù)6e使能信號14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負極第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10k的電位器

19、調(diào)整對比度。第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:r/w為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當rs和r/w共同為低電平時可以寫入指令或者顯示地址,當rs為低電平r/w為高電平時可以讀忙信號,當rs為高電平r/w為低電平時可以寫入數(shù)據(jù)。第6腳:e端為使能端,當e端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。4.3.1 液晶顯示器各種圖形的顯示原理字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式lcd,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的

20、1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖5,仿真圖6:1線段的顯示點陣圖形式液晶由mn個顯示單元組成,假設(shè)lcd顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共168=128個點組成,屏上6416個顯示單元與顯示ram區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由ram區(qū)的000h00fh的16字節(jié)的內(nèi)容決定,當(000h)=ffh時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3ffh)=ffh時,則屏幕的右下角顯示一條短亮線;當(000h)=ffh,(001h)=00h,(002

21、h)=00h,(00eh)=00h,(00fh)=00h時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是lcd顯示的基本原理。2字符的顯示用lcd顯示一個字符時比較復雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應(yīng)的顯示ram區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在lcd上開始顯示的行列號及每行的列數(shù)找出顯示ram對應(yīng)的地址,設(shè)立光標,在此送上該字符對應(yīng)的代碼即可。4.3.2 時鐘電路圖2 時

22、鐘電路圖時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式。電路圖如圖7:mcs-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。4.3.3 按鍵電路圖 3 獨立式按鍵電路圖獨立式按鍵是各按鍵相互獨立,每個按鍵占用一根i/o端線,每根i/o端線

23、上的按鍵工作狀態(tài)不會影響其他i/o端線上按鍵的工作狀態(tài)。如圖9所示:獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須適用于按鍵數(shù)量較少的場合。本設(shè)計中用到4個按鍵數(shù)量較少,所以采用的是獨立式按鍵。5軟件設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設(shè)計和監(jiān)控軟件的設(shè)計。單片機的軟件設(shè)計通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風格,如考慮結(jié)構(gòu)化程序設(shè)計、實行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)

24、建立正確的數(shù)學模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實施軟件工程;(7)注意軟件的抗干擾設(shè)計,提高系統(tǒng)的可靠性。5.1 主控模塊設(shè)計開始初始化啟動定時器,主程序開始運行按鍵檢測時間顯示圖4 主程序流程圖開始工作時,先把一切都初始化,然后單片機里的定時器開始工作,主程序開始運行,同時對按鍵進行檢測,檢測完就可以開始計時。以下是本實驗程序:#include#include#includesbit rs=p20;sbit rw=p21;sbit e=p22;sbit bf=p07;sbit k1=p30;sbi

25、t k2=p32;sbit k3=p34;sbit k4=p36;unsigned char t;unsigned char s,m,h;unsigned char code string=beijing time;unsigned char code digit=0123456789;void delay(unsigned char i) unsigned char j; while(i-) for(j=0;j115;j+) ;unsigned char busytest() bit result; rs=0; rw=1; e=1; _nop_(); _nop_(); _nop_(); _n

26、op_(); result=bf; e=0; return result;void write_com(unsigned char dicate) while(busytest()=1); rs=0; rw=0; e=0; _nop_(); _nop_(); p0=dicate; _nop_(); _nop_(); _nop_(); _nop_(); e=1; _nop_(); _nop_(); _nop_(); _nop_(); e=0;void writeaddress(unsigned char x)write_com(x|0x80);void writedata(unsigned ch

27、ar y)while(busytest()=1); rs=1; rw=0; e=0; _nop_(); _nop_(); p0=y; _nop_(); _nop_(); _nop_(); _nop_(); e=1; _nop_(); _nop_(); _nop_(); _nop_(); e=0;void lcdint() delay(15); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x0c); delay(5);write_com(0x06);dela

28、y(5);write_com(0x01);delay(5);void displayhour() unsigned char i,j; i=h/10; j=h%10; writeaddress(0x44); writedata(digiti); writedata(digitj);void displayminute() unsigned char i,j; i=m/10; j=m%10; writeaddress(0x47); writedata(digiti); writedata(digitj);void displaysecond() unsigned char i,j; i=s/10

29、; j=s%10; writeaddress(0x4a); writedata(digiti); writedata(digitj);void main()unsigned char i; lcdint(); tmod=0x01; ea=1; et0=1; th0=(65536-50000)/256; tl0=(65536-50000)%256; tr0=1; t=0; s=0; m=0; h=0;writeaddress(0x02); i=0; while(stringi!=0) writedata(stringi);i+; writeaddress(0x46); writedata(:);

30、 writeaddress(0x49); writedata(:); while(1) displayhour(); delay(5); displayminute(); delay(5); displaysecond(); delay(5); if(k1=0) delay(15); if(k1=0) h+; if(h=24) h=0; while(k1=0); delay(15); if(k2=0) delay(15); if(k2=0) m+; if(m=60) m=0; while(k2=0); delay(15); if(k3=0) delay(15); if(k3=0) m-; if(m=0) m=59; while(k3=0); delay(1

溫馨提示

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

評論

0/150

提交評論