電氣自動(dòng)化專業(yè)論文電子時(shí)鐘_第1頁
電氣自動(dòng)化專業(yè)論文電子時(shí)鐘_第2頁
電氣自動(dòng)化專業(yè)論文電子時(shí)鐘_第3頁
電氣自動(dòng)化專業(yè)論文電子時(shí)鐘_第4頁
電氣自動(dòng)化專業(yè)論文電子時(shí)鐘_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要:?jiǎn)纹瑱C(jī)即單片微型計(jì)算機(jī)。(Single-Chip Microcomputer ),是集 CPU ,RAM ,ROM ,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于工業(yè)自動(dòng)化上和智能產(chǎn)品。時(shí)鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,時(shí)鐘的應(yīng)用越來越廣范,人們對(duì)時(shí)間計(jì)量的精度要求也越來越高。然而,我們可以利用單片機(jī)功能集成化高,價(jià)格又便宜的特點(diǎn)設(shè)計(jì)一款結(jié)構(gòu)既簡(jiǎn)單,價(jià)格又便宜的單片機(jī)電子時(shí)鐘。用一揚(yáng)聲器來設(shè)計(jì)時(shí)鐘電路,使用了AT89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得電路簡(jiǎn)明易懂,使用

2、鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,進(jìn)行定時(shí)提醒,同時(shí)使用匯編語言程序來控制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過四個(gè)模塊:鍵盤、芯片、揚(yáng)聲器、顯示屏即可滿足設(shè)計(jì)要求。單片機(jī)電子時(shí)鐘它的基本功能,能夠顯示時(shí)、分、秒,并能夠調(diào)整時(shí)、分、秒。并且它有一定的擴(kuò)展功能,能夠任意設(shè)置定時(shí)時(shí)間,定時(shí)時(shí)間到鬧鈴能夠報(bào)警,實(shí)現(xiàn)了秒表功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī) ; 時(shí)鐘 ; 計(jì)時(shí)1 引言單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有三十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”

3、。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛采用的,將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲(chǔ)器,目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的結(jié)構(gòu)為多。本文討論的單片機(jī)多功能定時(shí)器的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有體積小,可靠性高,功能強(qiáng)等特點(diǎn)。不僅能滿足所需要求而且還有很多功能

4、可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。20世紀(jì)80年代中期以后,Intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與MCS-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機(jī),它們對(duì)8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng),不該把它們直接稱呼為MCS-51系列單片機(jī),因?yàn)镸CS只是Intel公司專用的單片機(jī)系

5、列型號(hào)。MCS-51系列及80C51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲(chǔ)器型。在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性能價(jià)格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)

6、大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒梢詷?gòu)造各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能定時(shí)系統(tǒng),它可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制,同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)和定點(diǎn)打鈴。它可以執(zhí)行不同的時(shí)間表(考試時(shí)間和日常作息時(shí)間)的打鈴,可以任意設(shè)置時(shí)間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。2 MCS-51單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一

7、個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。2.1 控制器控制器是單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。單片機(jī)執(zhí)行指令是在控制器的控制下進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令,送指令寄存器

8、保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程。控制器主要包括程序計(jì)數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路。2.2 存儲(chǔ)器的結(jié)構(gòu)MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間截然分開,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式,尋址空間和控制系統(tǒng)。這種結(jié)構(gòu)對(duì)于單片機(jī)面向控制的實(shí)際應(yīng)用極為方便,有利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存

9、儲(chǔ)器及眾多的特殊功能寄存器,而且還具有極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力,尋址能力分別可達(dá)64KB,尋址和操作簡(jiǎn)單方便。MCS-51的存儲(chǔ)器空間可劃分為如下幾類:(1) 程序存儲(chǔ)器單片機(jī)系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲(chǔ)器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分。8031由于無內(nèi)部存儲(chǔ)器,所以只能外擴(kuò)程序存儲(chǔ)器來存放程序。MCS-51單片機(jī)復(fù)位后,程序存儲(chǔ)器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序.程序存儲(chǔ)器中的0000H地址是系統(tǒng)程序的啟動(dòng)地址.一般在該單元存放一條絕對(duì)跳轉(zhuǎn)指令,跳向用

10、戶設(shè)計(jì)的主程序的起始地址。(2) 內(nèi)部數(shù)據(jù)存儲(chǔ)器MCS-51單片機(jī)內(nèi)部有128個(gè)字節(jié)的隨機(jī)存取存儲(chǔ)器RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場(chǎng)合的需要,用作處理問題的數(shù)據(jù)緩沖器。MCS-51單片機(jī)的片內(nèi)存儲(chǔ)器的字節(jié)地址為00H-7FH.MCS-51單片機(jī)對(duì)其內(nèi)部RAM的存儲(chǔ)器有很豐富的操作指令,從而使得用戶在設(shè)計(jì)程序時(shí)非常方便。地址為00H-1FH的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)含8個(gè)8位寄存器,編號(hào)為R7-R0。用戶可以通過指令改變PSW中的RS1,RS0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計(jì)帶來極大的方便,特別是在中斷嵌套時(shí),為實(shí)現(xiàn)工作寄存器現(xiàn)場(chǎng)內(nèi)容保護(hù)

11、提供了極大的方便。(3) 特殊功能寄存器(SFR-Special Function Register)特殊功能寄存器反映了MCS-51單片機(jī)的狀態(tài),實(shí)際上是MCS-51單片機(jī)各功能部件的狀態(tài)及控制寄存器。SFR綜合的,實(shí)際的反應(yīng)了整個(gè)單片機(jī)基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式。SFR實(shí)質(zhì)上是一些具有特殊功能的片內(nèi)RAM單元,字節(jié)地址范圍為80H-FFH.特殊功能寄存器的總數(shù)為21個(gè),離散的分布在該區(qū)域中,其中有些SFR還可以進(jìn)行位尋址。128個(gè)字節(jié)的SFR塊中僅有21個(gè)字節(jié)是由定義的。對(duì)于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個(gè)不確定的隨機(jī)數(shù)。2.3 并行I

12、/O口MCS-51單片機(jī)共有4個(gè)雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。實(shí)際上P0-P3已被歸入特殊功能寄存器之列。這四個(gè)口除了按字節(jié)尋址以外,還可以按位尋址。由于它們?cè)诮Y(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P1口是8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS 型負(fù)載。P2口是8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口是8位準(zhǔn)雙向I/O口,是雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)L

13、S型TTL負(fù)載。P1口、P2口、P3口各I/O口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個(gè)準(zhǔn)雙向I/O口做輸入口使用時(shí),要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。2.4 時(shí)鐘電路與時(shí)序時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。MCS-51單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),MCS-51單片機(jī)應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按時(shí)序執(zhí)行進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。在執(zhí)行指令時(shí),CPU首先要到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)去完成指令所規(guī)定的操作。CP

14、U發(fā)出的時(shí)序信號(hào)有兩類,一類用于片內(nèi)對(duì)各個(gè)功能部件的控制,這列信號(hào)很多。另一類用于片外存儲(chǔ)器或I/O端口的控制,這部分時(shí)序?qū)τ诜治觥⒃O(shè)計(jì)硬件接口電路至關(guān)重要。2.5 單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)應(yīng)用領(lǐng)域可以歸納為以下幾個(gè)方面。(1) 智能儀表用單片機(jī)系統(tǒng)取代老式的測(cè)量、控制儀表,實(shí)現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流量?jī)x表、電能計(jì)量?jī)x表等。(2)測(cè)控系統(tǒng)用單片機(jī)取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。(3)電能變換應(yīng)用單片機(jī)設(shè)計(jì)變頻調(diào)速控制電路。(4)通信用單片機(jī)開發(fā)通信模塊、通信器材等。(5)機(jī)電產(chǎn)品應(yīng)用單片機(jī)檢測(cè)、控制傳統(tǒng)的機(jī)械產(chǎn)品,使

15、傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化,提高了機(jī)電產(chǎn)品的可靠性,增強(qiáng)了產(chǎn)品的功能。(6)智能接口在數(shù)據(jù)傳輸中,用單片機(jī)實(shí)現(xiàn)外部設(shè)備與微機(jī)通信。3 電子時(shí)鐘的設(shè)計(jì)要求3.1基本功能(1)能夠顯示時(shí)、分、秒(2)能夠調(diào)整時(shí)、分、秒3.2 擴(kuò)展功能(1)能夠任意設(shè)置定時(shí)時(shí)間(2)定時(shí)時(shí)間到鬧鈴能夠報(bào)警(3)實(shí)現(xiàn)了秒表功能(4)基本實(shí)現(xiàn)設(shè)計(jì)要求的功能。 4 硬件總體設(shè)計(jì)方案用一揚(yáng)聲器來設(shè)計(jì)時(shí)鐘電路,使用了AT89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得電路簡(jiǎn)明易懂,使用鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,進(jìn)行定時(shí)提醒,同時(shí)使用匯編語言程序來控制整個(gè)時(shí)鐘顯示,使得編程變得更

16、容易,這樣通過四個(gè)模塊:鍵盤、芯片、揚(yáng)聲器、顯示屏即可滿足設(shè)計(jì)要求。4.1系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路如圖4-10 所示為AT89S51芯片的引腳圖此設(shè)計(jì)原理框圖如圖4-11所示,此電路包括以下四個(gè)部分:?jiǎn)纹瑱C(jī),鍵盤,鬧鈴電路及顯示電路。鬧鈴電路AT89C51獨(dú)立鍵盤數(shù)碼管顯示圖4-11 設(shè)計(jì)原理框圖經(jīng)多方論證硬件采用AT89C51單片機(jī)和7SED八位共陽極數(shù)碼管等來實(shí)現(xiàn)單片機(jī)電子時(shí)鐘的功能。詳細(xì)元器件列表如表4.12所示:表4.12 詳細(xì)元器件列表AT89c511片7SED八位共陽極數(shù)碼管1片NPN三極管1個(gè)104p電容6個(gè)30p電容2個(gè)10K電阻6個(gè)560歐姆電阻8個(gè)200歐姆電阻1個(gè)100歐

17、姆電阻6個(gè)4.2各部分功能實(shí)現(xiàn)(1) 單片機(jī)發(fā)送的信號(hào)通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機(jī)通過輸出各種電脈沖信號(hào)來驅(qū)動(dòng)控制各部分正常工作。(3) 為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時(shí)間。單片機(jī)通過控制鬧鈴電路來完成 定時(shí)鬧鐘的功能4.3系統(tǒng)工作原理設(shè)計(jì)的電路主要由四模塊構(gòu)成:?jiǎn)纹瑱C(jī)控制電路,顯示電路、鬧鈴電路以及校正電路。本設(shè)計(jì)采用匯編語言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿60時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿60后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“23翻0”規(guī)律計(jì)數(shù)。時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計(jì)時(shí)發(fā)

18、生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。設(shè)計(jì)采用的是時(shí)、分、秒顯示,單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯示。詳細(xì)電路功能圖如圖4-30: 詳細(xì)電路功能圖如圖4-304.4時(shí)鐘各功能分析及圖解(1) 時(shí)鐘運(yùn)行圖仿真開始運(yùn)行時(shí),或按下key4鍵時(shí),時(shí)鐘從12:00:00開始運(yùn)行,其中key2鍵對(duì)分進(jìn)行調(diào)整,key3對(duì)小時(shí)進(jìn)行調(diào)整,key6可以讓時(shí)鐘暫停。時(shí)鐘運(yùn)行圖如圖 4-41 所示:(2)秒表計(jì)時(shí)圖當(dāng)按下key1鍵進(jìn)入秒表計(jì)時(shí)狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計(jì)時(shí)狀態(tài)。秒表計(jì)時(shí)圖如圖 4-42所示: 圖4-41 時(shí)鐘運(yùn)行圖圖4-42 秒表計(jì)時(shí)圖(3)鬧鈴設(shè)置圖及運(yùn)行圖當(dāng)按下key5,

19、開始定時(shí),分別按key2調(diào)分,key3調(diào)時(shí)設(shè)置鬧鈴時(shí)間,然后按下key4鍵恢復(fù)時(shí)鐘運(yùn)行狀態(tài)(圖4-43)當(dāng)鬧鈴設(shè)置時(shí)間到時(shí),蜂鳴器將發(fā)出10秒中蜂鳴聲(圖4-44)。 圖4-43 鬧鈴時(shí)間設(shè)置圖該數(shù)字鐘是用一片AT89C51單片機(jī)通過編程去驅(qū)動(dòng)8個(gè)數(shù)碼管實(shí)現(xiàn)的。通過6個(gè)開關(guān)控制,從上到下6個(gè)開關(guān)KEY1-KEY6的功能分別為:KEY1,切換至秒表;KEY2,調(diào)節(jié)時(shí)間,每調(diào)一次時(shí)加1;KEY3, 調(diào)節(jié)時(shí)間,每調(diào)一次分加1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切換至鬧鐘設(shè)置狀態(tài),也可以對(duì)秒表清零;KEY6,秒表暫停.控制鍵分別與P1.0P1.5口連接其中:A通過P2口和P3口去控制數(shù)碼管

20、的顯示如圖所示P2口接數(shù)碼管的ag端,是控制輸出編碼,P3口接數(shù)碼管的18端,是控制動(dòng)態(tài)掃描輸出B從P0.0輸出一個(gè)信號(hào)使二極管發(fā)光,二極管在設(shè)置的鬧鐘時(shí)間到了時(shí)候發(fā)光,若有樂曲可以去驅(qū)動(dòng)揚(yáng)聲器實(shí)現(xiàn)。 圖4-44 鬧鈴運(yùn)行圖 4.5電路功能使用說明(1) 各個(gè)控制鍵的功能:可對(duì)時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時(shí)間;時(shí)加、分加鍵是在校準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí)間對(duì)小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時(shí)秒表也開始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對(duì)秒計(jì)時(shí)則可以按秒表開始、復(fù)位;清零鍵可以對(duì)鬧鐘清零。(2) AT89C51

21、單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。(3) 八個(gè)7段數(shù)碼管顯示時(shí)鐘和秒表信號(hào)。5 軟件總體設(shè)計(jì)方案5.1 主程序流程圖軟件程序從開始執(zhí)行,先通過初始化各個(gè)寄存器,經(jīng)過掃描按鍵來決定是否設(shè)定參數(shù)來執(zhí)行相應(yīng)功能的程序,進(jìn)而在數(shù)碼管上顯示。如圖5-10: 開始定時(shí)器及中斷定時(shí)器初始化執(zhí)行時(shí)鐘秒表鬧鈴設(shè)定程序是否設(shè)定參數(shù)執(zhí)行顯示程序NY 主程序流程圖分?jǐn)?shù)值time.minute加1time.second歸零Tcount加1返回主程序?qū)崝?shù)值time1.boun加1time1.mintet歸零Time1.bour>23時(shí)數(shù)值time1.hour歸零Tount1=100?秒數(shù)值time1.seco

22、nd加1second歸零執(zhí)行鬧鐘程序p0.0=1判斷時(shí)間與鬧鐘時(shí)間是否一致鬧鐘程序是否行完全Time1.second=60?Time.minute=60?恢復(fù)初值保護(hù)5.2總中斷程序流程 圖5-20 中斷流程圖時(shí)間的顯示通過此中斷程序來控制,并且通過與設(shè)定的時(shí)間進(jìn)行比較來判斷是否讓鬧鈴工作。程序中包含時(shí)間的設(shè)定,如設(shè)定tcount來使秒等工作,進(jìn)而來控制分和時(shí)。如上圖圖5-20。(1) 秒表中斷程序流程秒表功能通過另一個(gè)程序來實(shí)現(xiàn)。通過保護(hù)主程序的數(shù)據(jù)來進(jìn)行秒表功能。程序中需要設(shè)置秒表的具體顯示方法。如圖5-3:恢復(fù)初值保護(hù)10ms計(jì)數(shù)器加1恢復(fù)初值保護(hù)秒計(jì)數(shù)器加1,10ms計(jì)數(shù)器歸零,即se

23、c+,ms=0Sec>60?Ms>100?輸出字碼,中斷結(jié)束,返回上級(jí)主程序分計(jì)數(shù)器加1,秒計(jì)數(shù)器歸零,即minit+,sec=0 N N 圖5-3秒表中斷程序流程圖(2)按鍵程序流程圖5-4為時(shí)鐘和鬧鐘的調(diào)節(jié),程序中通過掃描來判斷按鍵是否按下進(jìn)行時(shí)間和鬧鐘的調(diào)節(jié)。程序初始化時(shí)十位歸零alarms【7】=0分時(shí)位歸零alarms4=0分十位歸零輸出時(shí)鐘時(shí)十位加一輸出鬧鐘時(shí)個(gè)位加一,延時(shí)輸出時(shí)鐘十位加一輸出時(shí)鐘十個(gè)位加一輸出時(shí)鐘分個(gè)位加一,延時(shí)輸出鬧鐘時(shí)分位加一輸出鬧鐘時(shí)十位加一輸出鬧鐘分個(gè)位加一,延時(shí)時(shí)十位歸零判斷標(biāo)志位是否為零Alarms4>2Alarms7>2Ala

24、rms【3】>0Dat16>9Dat17Alarms6>9Dat13>9Dat14>2判斷標(biāo)志是否為零判斷時(shí)i加鍵是否按下判斷分加鍵是否按下圖5-4按鍵程序流程圖圖5-5為進(jìn)入中斷和清零圖,程序中通過掃描來判斷按鍵是否按下進(jìn)行執(zhí)行相應(yīng)的中斷來事實(shí)現(xiàn)相應(yīng)的功能。判斷分加鍵tminute是否按下,P1.1=0判斷秒表miaobiao1是否按下按下,P1.0=0,tgsdhPP1.0=0判斷清零鍵miaobiao2是否按下,P1.3=0進(jìn)入秒表中斷,執(zhí)行秒表中斷程序返回上級(jí)主程序清零所有的計(jì)數(shù)器,各個(gè)顯示的字碼。圖5-5 中斷和清零程序流程圖5.3控制電路匯編語言源程序

25、定義管腳S_SET BIT P1.0 ;數(shù)字鐘秒控制位M_SET BIT P1.1 ;分鐘控制位H_SET BIT P1.2 ;小時(shí)控制位SECOND EQU 30HMINUTE EQU 31HHOUR EQU 32HORG 00HSJMP MAINORG 0BHLJMP INT_T0MAIN: MOV DPTR,#TABLE MOV HOUR,#0 ;初始化 MOV MINUTE,#0 MOV SECOND,#0 MOV R0,#0 MOV TMOD,#01H MOV TH0,#3CH ; 設(shè)置初值(定時(shí)50毫秒) MOV TL0,#0B0H SETB TR0 ;啟動(dòng)定時(shí) SETB ET0

26、SETB EA;*;判斷是否有控制鍵按下A1: LCALL DISPLAY JNB S_SET,S1 JNB M_SET,S2 JNB H_SET,S3 LJMP A1S1: LCALL DELAY ;去抖動(dòng) JB S_SET,A1 INC SECOND ;秒值加1 MOV A,SECOND CJNE A,#60,J0 ;判斷是否加到60秒 MOV SECOND,#0 LJMP K1S2: LCALL DELAY JB M_SET,A1 K1: INC MINUTE ;分鐘值加1 MOV A,MINUTE CJNE A,#60,J1 ;判斷是否加到60分 MOV MINUTE,#0 LJMP

27、K2S3: LCALL DELAY JB H_SET,A1 K2: INC HOUR ;小時(shí)值加1 MOV A,HOUR CJNE A,#24,J2 ;判斷是否加到24小時(shí) MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 LJMP A1;*;等待按鍵抬起J0: JB S_SET,A1 LCALL DISPLAY SJMP J0J1: JB M_SET,A1 LCALL DISPLAY SJMP J1J2: JB H_SET,A1 LCALL DISPLAY SJMP J2;*;定時(shí)器中斷服務(wù)程序,對(duì)秒,分鐘和小時(shí)的計(jì)數(shù)INT_T0: MOV TH0,#3CH M

28、OV TL0,#0B0H INC R0 MOV A,TCNT CJNE A,#20,RETUNE ;計(jì)時(shí)1秒 INC SECOND MOV R0,#0 MOV A,SECOND CJNE A,#60,RETUNE INC MINUTE MOV SECOND,#0 MOV A,MINUTE CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 MOV R0,#0RETUNE: RETI;*;顯示控制子程序DISPLAY: MOV A

29、,SECOND ;顯示秒 MOV B,#10 DIV AB CLR P3.6 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.7 CLR P3.5 MOV P0,#40H ;顯示分隔符 LCALL DELAY SETB P3.5 MOV A,MINUTE ;顯示分鐘 MOV B,#10 DIV AB CLR P3.3 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.3 MOV A,B CLR P3

30、.4 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.4 CLR P3.2 MOV P0,#40H ;顯示分隔符 LCALL DELAY SETB P3.2 MOV A,HOUR ;顯示小時(shí) MOV B,#10 DIV AB CLR P3.0 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.0 MOV A,B CLR P3.1 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.1 RETTABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHDELAY: MOV R6,#5D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET END這里的程序沒用38譯碼器,若要用則顯示子程序要改如 要顯示秒,程序如下DISPLAY: MOV A,SECOND ;顯示秒 MOV B,#10 DIV AB MOV R7,#60HORG A,R7MOV P0,ALCALL DELAYMOV A,BMOV R7,#70H

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論