智能時鐘控制課程設計基于單片機的智能時鐘控制系統(tǒng)設計_第1頁
智能時鐘控制課程設計基于單片機的智能時鐘控制系統(tǒng)設計_第2頁
智能時鐘控制課程設計基于單片機的智能時鐘控制系統(tǒng)設計_第3頁
智能時鐘控制課程設計基于單片機的智能時鐘控制系統(tǒng)設計_第4頁
智能時鐘控制課程設計基于單片機的智能時鐘控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、智能時鐘控制課程設計題 目: 基于單片機的智能時鐘控制系統(tǒng)設計 東華理工大學 姓 名: 學 院: 機械與電子工程學院 班 級:學 號:得 分: 指導教師: 2011 年 10月 08日基于單片機的智能時鐘控制畢業(yè)設計摘要:本設計主要為實現(xiàn)一款可正常顯示時鐘/秒表,帶有定時鬧鈴的多功能智能電腦鐘。本文對當前電腦鐘開發(fā)手段進行了比較和分析,最終確定了采用單片機技術實現(xiàn)智能電腦鐘。本設計應用at89c51芯片作為核心及6位led數(shù)碼管顯示時、分、秒,以24時計時方式運行,使用按鍵開關可實現(xiàn)時、分調整,時鐘/秒表功能的轉換及定時等功能。這種實現(xiàn)方法的優(yōu)點是電路簡單,性能可靠,實時性好,時間精度高,操作

2、簡單,編程容易。該電腦鐘可以應用于一般的生活和工作中,也可通過改裝,提高性能,增加新功能,從而給人們的生活和工作帶來更多的方便。關鍵詞:智能;鬧鈴;定時;led數(shù)碼管;abstractthe key for the realization of a design can be displayed properly clock / stopwatch, timer with multi-functional intelligent computer alarm clock. this article discusses the development of computer clock mean

3、s were compared and analyzed, ultimately determined by microcontroller technology to achieve intelligent computer clock. at89c51 chips in this design application as a core and six led digital display hours, minutes and seconds to run 24 hours a time, using the key switch can be realized, the sub-adj

4、ust, clock / stopwatch functions of conversion and timer functions. this method provides the advantage of simple circuit, reliable performance, real good time and high precision, simple operation and programming easy. the computer can be used in ordinary life and work, can also be modified to improv

5、 performance, add new features to peoples life and work more convenient.key words: computer clock; at89c51; led digital tube; stopwatch目 錄摘要abstract前言1.方案設計與論證1.1計時模塊1.2鍵盤模塊1.3顯示模塊1.4數(shù)據(jù)通訊模塊2.系統(tǒng)硬件設計2.1時鐘電路模塊設計2.2復位電路模塊設計2.3鍵盤電路模塊設計2.4顯示模塊模塊設計2.5數(shù)據(jù)通信模塊設計3.系統(tǒng)軟件設計3.1系統(tǒng)主程序設計3.2系統(tǒng)子程序設計3.2.1顯示程序設計3.2.2調時功能

6、程序設計3.2.3秒表功能程序設計3.2.4定時器t0中斷服務程序設計3.2.5定時器t1中斷服務程序設計3.2.6單片機與pc機數(shù)據(jù)通信程序設計總結參考文獻前言(引言):基于單片機的智能時鐘系統(tǒng)設計 時間是人類生活必不可少的重要元素,如果沒有時間的概念,社會將不會有所發(fā)展和進步。從古代的水漏、十二天干地支,到后來的機械鐘表以及當今的石英鐘,都充分顯示了時間的重要,同時也代表著科技的進步。致力于計時器的研究和充分發(fā)揮時鐘的作用,將有著重要的意義。單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。單片機具有體積小、重量輕、抗干擾能力強、環(huán)境要求不高

7、、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。在單片機構成的裝置中,數(shù)字時鐘是必不可少的部件。它以其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛。隨著人類科技文明的發(fā)展,人們對于時鐘的要求在不斷地提高。時鐘已不僅僅被看成一種用來顯示時間的工具,在很多實際應用中它還需要能夠實現(xiàn)更多其它的功能。高精度、多功能、小體積、低功耗,是現(xiàn)代時鐘發(fā)展的趨勢。在這種趨勢下,時鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時鐘生產(chǎn)研究的主導設計方向。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質的變化,有電子鬧鐘、數(shù)字鬧鐘等

8、等。單片機在多功能數(shù)字鐘中的應用已是非常普遍的,人們對數(shù)字鐘的功能及工作順序都非常熟悉。但是卻很少知道它的內部結構以及工作原理。由單片機作為數(shù)字鐘的核心控制器,可以通過它的時鐘信號進行計時實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行定時、校時功能。輸出設備顯示器可以用液晶顯示技術和數(shù)碼管顯示技術?;趍cs-51單片機的智能時鐘系統(tǒng)具有顯示準確、直觀、易于調整等特點。 單片機自誕生以來給全世界人類的生活和工作起到了劇烈的變化,而mcs-51單片機是我國使用最早、最易掌握和應用的一款單片機。通過該系統(tǒng)的設計,對單片機的原理和功能有個較系統(tǒng)和全面的掌握,初步學習到有

9、關工程設計的方法和思路。這樣以后的就業(yè)面會更加寬廣,也可以滿足當今社會對單片機開發(fā)人才的大量需求??v觀傳統(tǒng)的電路設計,大部分是采用分立元件進行設計,既復雜成本又高。隨著集成化的發(fā)展,現(xiàn)在系統(tǒng)的設計都是在模塊化的基礎上設計系統(tǒng)的。本課題是基于智能化和模塊化的前提下設計智能數(shù)字時鐘的,通過對設計目標的分析,分立出各個模塊,然后根據(jù)各個模塊的功能,選擇適當?shù)男酒M行設計的。本課題的研究,對智能化、模塊化設計具有較強的推廣應用價值。本文的主要內容是利用51單片機設計一個智能數(shù)字時鐘系統(tǒng),使其實現(xiàn)以下功能:1:具有時間顯示和報時、校時功能,24小時制;2:具有定時功能定時鬧鈴;3:具有查詢功能,4具有跑

10、表功能。為此設計,我查閱的好多數(shù)據(jù)庫,如:中國學術期刊數(shù)據(jù)庫,中文科技期刊數(shù)據(jù)庫,萬方數(shù)字化期刊,獨秀知識庫文獻,超星數(shù)字圖書館,spingerlink來源文獻,ebsco數(shù)據(jù)庫,中國標準服務網(wǎng)等。正文:智能時鐘系統(tǒng)設計1.方案設計與論證1.1計時定時方案方案一:采用實時時鐘芯片實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點定時功能,計s時數(shù)據(jù)的更新每秒自動進行一次,不要程序干預。計算機可通過中斷或查詢方式讀取計時數(shù)據(jù)進行顯示,因此計時功能的實現(xiàn)無需占用cpu的時間,程序簡單。此外,實時時鐘芯片多數(shù)帶有鋰電池做后備電源,具備永不停止的計時功能;具有可編程方波輸出功能,可用做實時測控系統(tǒng)的

11、采樣信號等;有的實時時鐘芯片內部還帶有非易失性ram,可用來存放需長期保存但有時也需變更的數(shù)據(jù)。由于功能完善,精度高,軟件程序設計相對簡單,且計時不占用cpu時間,因此,在工業(yè)實時測控系統(tǒng)中多采用這一類專用芯片來實現(xiàn)實時時鐘功能。1方案二:軟件控制利用單片機內部的定時/計數(shù)器進行中斷定時,配合軟件延時實現(xiàn)時、分、秒的計時及秒表計時。該方案節(jié)省硬件成本,且能使設計者對單片機的指令系統(tǒng)能有更深入的了解,從而掌握單片機應用技術mcs-51匯編語言設計方法,因此,本系統(tǒng)設計采用此種軟件控制方法來實現(xiàn)計時。而由于at89c51單片機片內的flash可允許在線重新編程,也可使用通用非易失性存儲器編程。它將

12、通用cpu和在線可編程flash集成在一個芯片上,形成了功能強大、使用靈活和具有較高性價比的微控制器。 本系統(tǒng)采用方案二,使用at89c51單片機,它的功能強大,而且也較容易購買。 1.2鍵盤方案 方案一:采用獨立式按鍵電路 每個鍵單獨占有一根i/o接口線,每個i/o口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。但是當按鍵較多時占用單片機的i/o數(shù)目較多。 方案二:采用陣列式鍵盤此類鍵盤是采用行列掃描方式,當按鍵較多時可以降低占用單片機的i/o口的數(shù)目。因本系統(tǒng)用到的按鍵比較少,采用獨立式鍵盤不會浪費i/o口線,所以本系統(tǒng)采用獨立式鍵盤。1.3顯示方案方案一:靜態(tài)顯示靜態(tài)顯示就是顯示驅動

13、電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出去后,數(shù)碼管始終顯示該數(shù)據(jù)(不變),cpu不再控制led。到下一次顯示時,再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的接口電路采用一個并行口接一個數(shù)碼管,數(shù)碼管的公共端按共陰極或共陽極分別接地或接vcc。這種接法,每個數(shù)碼管都要單獨占用一個并行i/o口,以便單片機傳送字形碼到數(shù)碼管控制數(shù)碼管的顯示。顯然其缺點就是當顯示位數(shù)多時,占用i/o口過多。方案二:動態(tài)顯示動態(tài)掃描用分時的方法輪流控制每個顯示器的com端,使每個顯示器輪流電亮。在輪流點亮過程中,每位顯示器的點亮時間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)

14、。動態(tài)驅動一般用于多位led數(shù)碼管顯示,主要是節(jié)省驅動管腳,減少器件。由于靜態(tài)顯示法需要數(shù)據(jù)鎖存器等硬件,接口復雜一些,又考慮到時鐘顯示只有6位,且系統(tǒng)沒有其他復雜的處理任務,所以決定采用動態(tài)掃描法實現(xiàn)led的顯示1.4數(shù)據(jù)通信方案方案一:利用rs-232連接pc機實現(xiàn)數(shù)據(jù)通信我們采用89c51單片機作為下位機運行windows98的pc機作為上位機,兩者通過rs-232串行口進行通信。傳輸介質為二芯屏蔽電纜。由于rs-232信號電平和單片機串行口信號電平不一致,必須進行兩者之間的電平轉換。我們可以通過采用集成電平轉換芯片max232進行rs-232/ttl電平轉換2. 系統(tǒng)硬件設計2.1 時

15、鐘電路模塊設計如圖2-2所示為時鐘電路原理圖,在at89c51芯片內部有一個高增益反相放大器其輸入端為芯片引腳xtal1,輸出端為引腳xtal2。而在芯片內部,xtal1和xtal2之間跨接晶體振蕩器和微調電容,從而構成了一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。3圖2-2 時鐘電路原理圖at89c51單片機內部包括一個8位cpu,片內振蕩器和時鐘電路,由4kb閃存組成的程序存儲器,128字節(jié)的數(shù)據(jù)存儲器,四個8位并行i/o口,一個全雙工串行口,兩個16位定時/計數(shù)器,5個中斷源,提供兩個中斷優(yōu)先級,21個特殊功能寄存器,可尋址各64kb

16、的外部程序存儲器和數(shù)據(jù)存儲器,有位尋址功能及較強的布爾數(shù)據(jù)處理能力,有兩種軟件可選的低功耗運行方式(空閑和掉電方式)。2.1.1 at89c51單片機的外形和引腳、圖2-3 at89c51引腳圖管腳說明:at89c51的引腳除了vcc(供電電壓)和gnd(接地)之外,按其功能可分為以下三類:1)時鐘電路引腳xtal1和xtal2;xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入xtal2:來自反向振蕩器的輸出。at89c51內部有一個高增益的反相放大器,xtal1和xtal2分別為反向放大器的輸入和輸出端,在這兩段之間接入晶體或陶瓷振蕩器,即可構成一個高穩(wěn)定度的片內振蕩器作為單片機的時

17、鐘。也可以加一個外部振蕩信號到它的輸入端作為時鐘源,xtal2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2)i/o端口引腳:p0口:為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,

18、被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為低八位地址接收。 p2口:為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗

19、時接收高八位地址信號和控制信號。p3口:管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3引腳的第二功能,如表2-1所示:表2-1 p3引腳的第二功能引腳第二功能p3.0rxd串口數(shù)據(jù)輸入p3.1txd串口數(shù)據(jù)輸出p3.2int0外部中斷0輸入p3.3int1外部中斷1輸入p3.4t0外部計數(shù)脈沖輸入p3.5t1外部計數(shù)脈沖輸入p3.6wr外部ram寫選通p3.7rd外部ram讀選通 3)控制類引腳:rst:復位輸入。當振蕩器復位器件時

20、,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令時ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲器的選通信號。在由外部程序存儲器取址期

21、間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。ea/vpp:程序存儲器選擇/編程電壓輸入端。當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電平時,此間內部程序存儲器。由于at89c51內部有4kb的閃存作為程序存儲器,因此在實際使用時該引腳直接連到電源正端;而編程閃存時則接12v電源正端。2.1.2 at89c51的工作方式at89c51在上電后,通過復位電路的作用進入復位狀態(tài),復位后內部各特殊功能寄存器恢復到表2-2所列的值

22、。表2-2 特殊功能寄存器復位值srf 復位值 srf 復位值 pc 0000h tmod 00h acc 00h tcon 00h b 00h th0 00h psw 00h tl0 00h sp 07h th1 00h dptr 0000h tl1 00h p0-p3 0ffh scon 00h ip xxx00000 sbuf 不變 ie 0xx00000 pcon0xxxxxxx接著,單片機就開始執(zhí)行程序存儲器中的程序,進入“程序運行”方式。此外,單片機還有兩種軟件可編程的節(jié)電模式,它是由電源控制寄存器pcon中的idl和pd來控制的。1)空閑節(jié)電模式。當idl=1時,進入該模式,單片

23、機進入睡眠狀態(tài),片上ram和特殊功能寄存器中的內容保持不變,單片機外設仍處于激活狀態(tài)。有兩種情況可以使單片機終止空閑節(jié)電模式: 任何被允許的中斷。當中斷產(chǎn)生時,idl被硬件清零,空閑節(jié)電模式被終止,單片機進入中斷服務程序,中斷服務處理完成后,單片機執(zhí)行使其進入空閑節(jié)電模式的那條指令后面的指令。 硬件復位也可使單片機終止空閑節(jié)電模式??臻e節(jié)電模式被終止后,同樣也是執(zhí)行使其進入空閑節(jié)電模式的那條指令后面的指令。2)掉電模式。當pd=1時,單片機進入掉電模式,振蕩器停止工作,ram和sfr的內容保持不變。只有硬件復位可以使單片機終止掉電模式,這時sfr的內容被重新定義,ram不變。2.1.3 at8

24、9c51單片機的存儲器at89c51有片內程序存儲器和片內數(shù)據(jù)存儲器,片內程序存儲器是4kb可反復擦寫的閃存,其地址范圍為0000h0fffh。片內數(shù)據(jù)存儲器包括四部分: 通用寄存器組。每組由r0r7八個通用寄存器組成,共四組,可以通過程序狀態(tài)字psw的rs0和rs1位來選用其中的某一組。地址00h1fh。 位地址空間。用于存儲布爾邏輯數(shù)據(jù),可位尋址,地址是20h2fh。 數(shù)據(jù)存儲區(qū)。用于存儲字節(jié)數(shù)據(jù),也可以當做運算時的寄存器,地址是30h7fh. sfr特殊功能寄存器。功能見表2-3;表2-3 特殊功能寄存器名 稱功 能地 址名 稱功 能地 址acc 累加器 0e0h ie中斷允許 0a8h

25、 b乘法寄存器 0f0h tmod定時計數(shù)器方式 89hpsw程序狀態(tài)字 0d0h tcon定時計數(shù)器控制 88hsp堆棧指針 81h th0t0高字節(jié) 8chdph數(shù)據(jù)指針高字節(jié) 83h tl0t0低字節(jié) 8ahdpl數(shù)據(jù)指針低字節(jié) 82h th1t1高字節(jié) 8dh p08位并行口0 80h tl1t1低字節(jié) 8bh p18位并行口1 90h scon串口控制字 98h p28位并行口2 0a0h sbuf串口數(shù)據(jù)緩沖 99h p38位并行口3 0b0h pcon電源控制 87h ip中斷優(yōu)先 0b8h2.1.4 at89c51單片機的串口at89c51單片機有一個全雙工的串行數(shù)據(jù)接口,可以

26、將單字節(jié)的8位數(shù)據(jù),一位一位地串行發(fā)送或接收。在單片機中這項功能是由接收數(shù)據(jù)引腳rxd和發(fā)送數(shù)據(jù)引腳txd來實現(xiàn)的。sbuf是收發(fā)共用的數(shù)據(jù)緩沖器(地址為99h),收發(fā)使用不同的讀寫指令來區(qū)分。該串口具有不同的工作方式和傳輸速率等,還能產(chǎn)生發(fā)送或接收中斷,這些都可以通過串口控制寄存器scon設定或根據(jù)其值來判斷,方法見表2-4;表2-4 串口控制寄存器scon位 名 稱 功 能用 法 0 ri接收中斷標志產(chǎn)生中斷時為1 1 ti發(fā)送中斷標志產(chǎn)生中斷時為1 2 rb8方式2,3時收到的第9位數(shù)據(jù) 3 tb8方式2,3時發(fā)送的第9位數(shù)據(jù) 4 ren接收允許軟件置1 5 sm2方式2,3時的多機通信

27、協(xié)議允許 6 sm1方式選擇 見表2-5 7 sm0表2-5 串口工作方式選擇方 式m1m0功 能000同步移位寄存器方式1018位波特率可變2109位波特率可變,波特率為f/64(或32)3119位波特率可變2.1.5 at89c51單片機的中斷at89c51有五個中斷源,兩個外部中斷(ie0和ie1),兩個定時/計數(shù)器中斷(tf0和tf1),一個串口中斷(ri和ti合為一個中斷源)。前四個中斷源的中斷標志位在tcon的相應位中,串口的中斷標志位在scon中。各中斷源均可通過中斷允許寄存器if單獨允許或禁止,if可按位尋址設定,各位的意義見表2-6:表2-6 中斷允許寄存器if位名 稱功 能

28、用 法0 ex0外部int0中斷允許 1:允許中斷 0:禁止中斷1 et0定時器0中斷允許2 ex1外部int1中斷允許3 et1定時器1中斷允許4 es串口中斷允許5et2定時器2中斷允許6保留位7ea 總中斷允許 0:禁止所有的中斷各中斷源可以有不同的優(yōu)先級別,優(yōu)先級別由中斷優(yōu)先級寄存器ip確定,見表2-7:表2-7 中斷優(yōu)先級寄存器ip位名 稱功 能用 法0px0外部int0中斷優(yōu)先級1:中斷優(yōu)先1pt0定時器0中斷優(yōu)先級2px1外部int1中斷優(yōu)先級3pt1定時器1中斷優(yōu)先級4ps串口中斷優(yōu)先級5pt2定時器2中斷優(yōu)先級中斷產(chǎn)生后即轉入相應的中斷服務子程序處理中斷。各中斷服務子程序的入

29、口地址如表2-8所列:表2-8 中斷服務子程序入口地址中斷源入口地址默認的優(yōu)先順序外部int0中斷0003h依次遞減定時器0中斷000bh外部int1中斷0013h定時器1中斷001bh串口中斷0023h定時器2中斷002bh2.1.6 at89c51單片機定時/計數(shù)器at89c51有兩個16位定時/計數(shù)器t0和t1,它們的工作方式由特殊功能寄存器tmod各位確定,見表2-9。運行由tcon的部分相關位控制,見表2-11。表2-9 tmod控制字位名 稱功 能用 法0m0 t0方式選擇見表2-101m12c/tt0定時/計數(shù)選擇0;定時,1:計數(shù)3gatet0門控位gate=1時,計數(shù)受外部引

30、腳p3.3控制,p3.3=1時才能計數(shù)4m0t1方式選擇見表2-105m16c/tt1定時/計數(shù)選擇0;定時,1:計數(shù)7gatet1門控位gate=1時,計數(shù)受外部引腳p3.3控制,p3.3=1時才能計數(shù)表2-10 定時/計數(shù)器t0和t1工作方式選擇方 式m1m2功 能000由th高8位和tl低5位組成的13位定時/計數(shù)器10116位定時/計數(shù)器210自動重載8位定時/計數(shù)器,tl為計數(shù)器,th為計數(shù)常數(shù)3118位定時/計數(shù)器(僅用于t0) 表2-11 tcon控制字位名 稱功 能用 法0it0中斷0方式選擇0:電平觸發(fā),1:邊沿觸發(fā)1ie0中斷標志中斷置1 2it1中斷1方式選擇0:電平觸發(fā)

31、,1:邊沿觸發(fā)3ie1中斷標志中斷置14tr0t0運行1:啟動,0:停止5tf0t0溢出標志溢出置1請求中斷服務,中斷響應后硬件自動清零6tr1t1運行1:啟動,0:停止7tf1t1溢出標志溢出置1請求中斷服務,中斷響應后硬件自動清零2.2 復位電路設計如圖2-4所示為復位電路原理圖,復位時單片機的初始化操作,其主要功能是把pc初始化為0000h,使單片機從0000h單元開始執(zhí)行程序,并使其它功能單元處于一個確定的初始狀態(tài)。本復位電路采用的是按鍵復位,它是通過復位端經(jīng)電阻與vcc電源接通而實現(xiàn)的,它兼具上電復位功能。因本系統(tǒng)的晶振的頻率為12mhz,所以,位信號持續(xù)時間應當超過2us才能完成復

32、位操作。5圖2-4 復位電路原理圖2.3 鍵盤電路設計如圖2-5所示為鍵盤電路原理圖,本系統(tǒng)采用的是獨立式鍵盤結構,每個按鍵單獨占用一根i/o口線,每個按鍵的工作不會影響其它i/o口線的狀態(tài)。它軟件是采用查詢式結構,首先逐位查詢每根i/o口線的輸入狀態(tài),如某一根i/o口線輸入為低電平,則可確認該i/o口線所對應的按鍵已按下,然后,再轉向該鍵的功能處理程序。圖2-5 鍵盤電路原理圖 按鍵使用方法:(1)長按t0鍵進入調分狀態(tài):分單元閃爍,按t0鍵加1,按t1鍵減1。再長按t0鍵進入小時調整狀態(tài),時單元閃爍,加減調整同調分相同。再長按t0鍵退出時間調整狀態(tài),時鐘從0s開始計時。(2)在正常時鐘狀態(tài)

33、下,按下t1鍵進行入跑表狀態(tài),按t2鍵暫停,再按t2鍵跑表清0。再按t2鍵跑表又啟動,按t1鍵退出跑表回到時鐘狀態(tài)。(3)按t3鍵進入設定鬧時狀態(tài),顯示式樣為00:00:,其中高2位代表時,低2位代表分,可進行分設定,按t2鍵,分加1;按t0鍵,分減1。再按t3鍵進入時調整狀態(tài),顯示式樣為00:00:,按t2鍵,時加1;按t0鍵,時減1。按t1鍵,鬧鈴有效,顯示式樣變?yōu)?0:00:0;再按t1鍵,鬧鈴無效,顯示式樣又變成為00:00:。再按t3鍵,調整鬧鐘時間結束,恢復正常時間的顯示。在鬧鈴時可按一下t3鍵停鬧,不按則鬧鈴1分鐘。2.4 顯示模塊設計系統(tǒng)采用動態(tài)顯示方式,用p0口來控制led數(shù)

34、碼管的段控線,而用p2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方式進行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺殘留效應,只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。圖2-6中9012作為位驅動器,而74ls244在電路中起驅動段碼的功能,8個510歐姆電阻則起限流作用。圖2-6 顯示原理圖2.5數(shù)據(jù)通信模塊由于max232為半雙工狀態(tài),所以只采用一對差分信號線。a端和b端分別為接收和發(fā)送的差分信號端,當a引腳的電平高于b時發(fā)送的數(shù)據(jù)為1,當a引腳的電平低于b時發(fā)送的數(shù)據(jù)為0,因此與單片機的聯(lián)接非常簡單。同時a和b 端接匹配

35、電阻為100。由于pc機只配有rs232接口,若實現(xiàn)rs232接口與8051 單片機的通信,必須使用232 /485接口卡,接口卡采用九芯聯(lián)接線,分別與pc機并通過max232與8051單片機相聯(lián),接口卡的主要目的是將rs232電平轉換為ttl電平,接口卡可控制多臺單片機, pc機和單片機串行通信數(shù)據(jù)采集系統(tǒng)接口電路如圖所示。單片機芯用at89c51串口通信電路 3. 系統(tǒng)軟件設計3.1系統(tǒng)主程序設計本設計中的計時采用定時器t0中斷完成,秒表使用定時器t1中斷完成。主程序循環(huán)調用顯示子程序和查鍵子程序,當端口有開關按下時,轉入相應功能程序系統(tǒng)主程序如下:dispfirst equ 30h ;顯

36、示首址存放單元bell equ p1.7 ;蜂鳴器conbs equ 2fh ;存放報時次數(shù)*中斷入口程序* org 0000h ;程序執(zhí)行開始地址 ljmp start ;跳到標號start執(zhí)行 org 0003h ;外中斷0中斷程序入口 reti ;外中斷0中斷返回 org 000bh ;定時器t0中斷程序入口 ljmp intt0 ;跳至intt0執(zhí)行 org 0013h ;外中斷1中斷程序入口reti ;外中斷1中斷返回 org 001bh ;定時器t1中斷程序入口 ljmp intt1 ;跳至intt1執(zhí)行 org 0023h ;串行中斷程序入口地址 reti ;串行中斷程序返回*主

37、程序開始*start: lcall st ;上電顯示 mov r0,#00h ;清00hh內存單元 mov r7,#80hcleardisp: mov r0,#00h inc r0 djnz r7,cleardisp mov 20h,#00h ;清20h(標志用) mov 7ah,#0ah ;放入“熄滅符”數(shù)據(jù) mov tmod,#11h ;設t0、t1為16位定時器 mov tl0,#0b0h ;50ms定時初值(t0計時用) mov th0,#3ch ;50ms定時初值 mov tl1, 0b0h ;50ms定時初值(t1閃爍定時用) mov th1,#3ch ;50ms定時初值 setb

38、 ea ;總中斷開放 setb et0 ;允許t0中斷 setb tr0 ;開啟t0定時器 mov r4,#14h ;1s定時用計數(shù)值(50ms20) mov dispfirst,#70h ;顯示單元為70h75h以下為主程序循環(huán)start1: lcall display ;調用顯示子程序 jnb p1.0,setmm1 ;p1.0口為0時,轉時間調整程序 jnb p1.1,funss ;秒表功能,p1.1按鍵調時用,作減1操作 jnb p1.2,funpt ;秒表stop、puse、clr jnb p1.3,tsfun ;定時鬧鈴設定 jb 08h,qqqq ;標志為1時,整點報時 ajmp

39、 start1 ;p1.0口為1時,跳回start1funpt: ljmp funptt;以下為鍵等待釋放時顯示不會熄滅用wait21: lcall display ajmp wait22wait31: lcall display ajmp wait33wait41: lcall display ajmp wait44wait51: lcall display ajmp wait55wait61: lcall display ajmp wait66*加1子程序*add1: mov a,r0 ;取當前計時單元數(shù)據(jù)到a dec r0 ;指向前一地址 swap a ;a中數(shù)據(jù)高4位與低4位交換 or

40、l a,r0 ;前一地址中數(shù)據(jù)放入a中低4位 add a,#01h ;a加1操作 da a ;十進制調整 mov r3,a ;移入r3寄存器 anl a,#0fh ;高4位變?yōu)? mov r0,a ;放回前一地址單元 mov a,r3 ;取回r3中暫存數(shù)據(jù) inc r0 ;指向當前地址單元 swap a ;a中數(shù)據(jù)高4位與低4位交換 anl a,#0fh ;高4位變?yōu)? mov r0,a ;數(shù)據(jù)放入當前地址單元中 ret;子程序返回*分減1子程序*sub1: mov a,r0 ;取當前計時單元數(shù)據(jù)到a dec r0 ;指向前一地址 swap a ;a中數(shù)據(jù)高4位與低4位交換 orl a,r0 ;前一地址中數(shù)據(jù)放入a中低4位 jz sub11 dec a ;a減1操作sub111: mov r3,a ;移入r3寄存器 anl a,#0fh ;高4位變?yōu)? clr c ;清進位標志 subb a,#0ahsub111: jc sub1110 mov r0,#09h ;大于或等于0ah時,為9sub110: mov a,r3 ;取回r3中暫存數(shù)據(jù) inc r0 ;指向當前地址單元 swap a ;a

溫馨提示

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

評論

0/150

提交評論