基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、焦作大學(xué)畢業(yè)設(shè)計(jì) 基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì) 摘 要基于單片機(jī)的萬(wàn)年歷系統(tǒng)的設(shè)計(jì)摘 要萬(wàn)年歷設(shè)計(jì)是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,但是所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究萬(wàn)年歷及擴(kuò)大其應(yīng)用,

2、有著非?,F(xiàn)實(shí)的意義。本課題基于單片機(jī)設(shè)計(jì)的萬(wàn)年歷設(shè)計(jì),用at89c51來(lái)完成電路的控制,用ds1302完成時(shí)鐘的顯示部分。本設(shè)計(jì)涉及到了單片機(jī)與外圍器件的串行、并行通信原理和int0,int1中斷原理,定時(shí)器計(jì)數(shù)器原理,鍵盤原理,液晶顯示原理等。關(guān)鍵詞:?jiǎn)纹瑱C(jī);萬(wàn)年歷;液晶技術(shù);4焦作大學(xué)畢業(yè)設(shè)計(jì) abstractabstractcalendar digital circuit design is right. hours, minutes and seconds. figures show that the timing devices, widely used in individual

3、households, stations, terminals offices and other public places, become an indispensable necessity in daily life, due to the number of integrated circuits the development and extensive application of quartz crystal oscillators, making digital clock accuracy, far more than old-fashioned clocks and wa

4、tches, clock digital production and life to people brings great convenience, but also greatly expanded the original chime clocks. such as regular auto-alarm, schedule automatic rang the bell, the time automatic control, regular radio, automatic closed-circuit from lights, oven timer switch, on-off p

5、ower equipment, and even a variety of regular electrical automatically enabled and so on, but all these are based on clocks and watches digitization basis. therefore, the study calendar and expand its application, has a very practical significance. the topic of perpetual calendar design based on sin

6、gle chip design, with the at89c51 to complete the circuit control the clock with the completion of the display part of the ds1302. this design relates to the mcu and peripheral devices, serial, parallel communication principles and int0, int1 interrupt principle, the timer counter principle, keyboar

7、d theory, liquid crystal display rationale. keywords: scm; calendar; liquid crystal technology;焦作大學(xué)畢業(yè)設(shè)計(jì) 目 錄目錄1 系統(tǒng)總體設(shè)計(jì)11.1 引言11.2 系統(tǒng)整體設(shè)計(jì)思路11.3 設(shè)計(jì)方案選擇21.4 功能介紹21.5 工作原理31.6 本章小結(jié)32 系統(tǒng)硬件電路設(shè)計(jì)42.1單片機(jī)最小系統(tǒng)硬件的電路設(shè)計(jì)42.1.1 單片機(jī)電路設(shè)計(jì)42.1.2 時(shí)鐘電路設(shè)計(jì)62.1.3 復(fù)位電路設(shè)計(jì)72.2 時(shí)鐘電路的設(shè)計(jì)82.2.1 ds1302的性能特性82.2.2 ds1302數(shù)據(jù)操作原理92.3 獨(dú)立

8、式鍵盤設(shè)計(jì)112.4 顯示電路的設(shè)計(jì)113系統(tǒng)軟件設(shè)計(jì)143.1陽(yáng)歷程序143.2 時(shí)間調(diào)整程序143.3 陰歷程序163.4 萬(wàn)年歷總體流程圖183.5 萬(wàn)年歷總程序(見(jiàn)附錄)194 設(shè)計(jì)總結(jié)20參考文獻(xiàn)21附 錄22致 謝45焦作大學(xué)畢業(yè)設(shè)計(jì) 1 系統(tǒng)總體設(shè)計(jì)1 系統(tǒng)總體設(shè)計(jì)1.1 引言隨著電子技術(shù)的不斷發(fā)展,單片機(jī)技術(shù)在設(shè)計(jì)中所體現(xiàn)在出來(lái)的優(yōu)勢(shì)越來(lái)越明顯,它不僅是電子信息類專業(yè)的一個(gè)重要部分,而且在其它類專業(yè)工程中也是不可缺少的。廣泛地應(yīng)用于家電、工業(yè)過(guò)程控制、儀器儀表、智能武器、航空和空間飛行器等領(lǐng)域發(fā)展更是迅速,已成為新一代一些電子設(shè)備不可缺少的核心部件。目前世界上單片機(jī)年產(chǎn)量已達(dá)十

9、多億片,通常是當(dāng)年微處理器產(chǎn)量的4-5倍以上。用最少的芯片就能實(shí)現(xiàn)最強(qiáng)大的功能??梢韵胍?jiàn),這是將來(lái)電子產(chǎn)品的主流方向,它將無(wú)可置疑地一步步取代其它同類產(chǎn)品,其數(shù)量之大和應(yīng)用面之廣,是其它任何類型的計(jì)算機(jī)所無(wú)法比擬的1。單片機(jī)是應(yīng)工業(yè)測(cè)控需要而誕生的。它把計(jì)算機(jī)最基本的功能電路,如cpu、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、i/o接口、定時(shí)、計(jì)數(shù)器、中斷系統(tǒng)等集成到一塊芯片上,形成單片形態(tài)的計(jì)算機(jī)。單片機(jī)通常以最小系統(tǒng)運(yùn)行,在家用電器中和常用的智能儀器儀表中常??梢浴皢纹惫ぷ?,同時(shí)單片機(jī)在我們?nèi)粘I钪幸步?jīng)常見(jiàn)到,如電子表、舞廳里的一些燈光的控制、一些招牌燈光的控制、工廠一些自動(dòng)控制等。將來(lái)只要有自動(dòng)控制

10、方面的都會(huì)離不開(kāi)單片機(jī)的開(kāi)發(fā)和使用,對(duì)于現(xiàn)代的自動(dòng)化控制起著舉足輕重的作用。為了順應(yīng)形勢(shì)發(fā)展的需要,我們學(xué)習(xí)了單片機(jī)課程,此次用液晶顯示萬(wàn)年歷和時(shí)間設(shè)置以及顯示測(cè)溫度的數(shù)據(jù)對(duì)單片機(jī)的學(xué)習(xí)起到了很好的鞏固作用,尤其是對(duì)匯編語(yǔ)言程序的設(shè)計(jì)。 1.2 系統(tǒng)整體設(shè)計(jì)思路此設(shè)計(jì)即在數(shù)碼管上顯示年、月、日、時(shí)、分、秒、星期和陰歷月、日,以及在顯示農(nóng)歷時(shí)間時(shí),能表明是否為閏年。原理框圖如圖1-1所示。電路一般包括以下幾個(gè)部分:時(shí)鐘電路模塊、鍵盤掃描、單片機(jī)最小系統(tǒng)和顯示電路等部分2。對(duì)于各部分:為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的,鍵盤用來(lái)校正液晶上顯示的時(shí)間。單片機(jī)通過(guò)輸出各種電脈沖信號(hào)來(lái)驅(qū)動(dòng)

11、控制各部分正常工作。(3)單片機(jī)發(fā)送的信號(hào)經(jīng)過(guò)顯示電路在數(shù)碼管上顯示出來(lái)。圖1-1 電子萬(wàn)年歷電路系統(tǒng)構(gòu)成框圖figure 1-1 constitute a block diagram of electronic circuitry calendar1.3 設(shè)計(jì)方案選擇方案一 用eda技術(shù)及vhdl語(yǔ)言控制來(lái)實(shí)現(xiàn)顯示及測(cè)溫度,且顯示也可以用數(shù)碼管,但設(shè)計(jì)電路復(fù)雜,不易實(shí)現(xiàn)。此外,對(duì)于vhdl語(yǔ)言也不夠了解,故不采用此方案。方案二 主控芯片使用51系列at89c52單片機(jī),時(shí)鐘芯片采用美國(guó)dallas公司推出的一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘ds1320。采用ds1320作為計(jì)時(shí)芯片,可以

12、做到計(jì)時(shí)準(zhǔn)確。更重要的是,ds1320可以在很小電流的后備電源(2.55.5 v電源,在2.5v時(shí)耗電小于300na)下繼續(xù)計(jì)時(shí),而且ds1320可以變成編程選擇多種充電電流來(lái)對(duì)后備電源進(jìn)行慢速充電,可以保證后備電源基本不耗電,顯示模塊采用普通的共陽(yáng)led數(shù)碼管,鍵輸入采用查詢法實(shí)現(xiàn)功能調(diào)整,用匯編語(yǔ)言編程來(lái)控制單片機(jī)讓它在數(shù)碼管上顯示數(shù)據(jù)及文字3。由于單片機(jī)結(jié)構(gòu)簡(jiǎn)單、控制功能強(qiáng)、可靠性高、體積小、價(jià)格低等優(yōu)點(diǎn),綜合上述方案的選擇與比較,選擇方案二。也主要是由于電器元件的熟悉程度以及市場(chǎng)的供求關(guān)系。在方案二中,大部分的電器元件我們較熟悉并且更容易獲得。1.4 功能介紹此設(shè)計(jì)即在數(shù)碼管上顯示年、

13、月、日、時(shí)、分、秒、星期和陰歷月、日,以及在顯示農(nóng)歷時(shí)間時(shí),能表明是否為閏年。本次設(shè)計(jì)主要用單片機(jī)控制程序讓它在數(shù)碼管上顯示年、月、日、時(shí)、分、秒及星期,時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過(guò)數(shù)據(jù)處理可直接送數(shù)碼管顯示。當(dāng)計(jì)時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。時(shí)計(jì)數(shù)器計(jì)滿24小時(shí)后自動(dòng)向日計(jì)數(shù)器進(jìn)一,日計(jì)數(shù)器由平年、閏年的28/30/31對(duì)大、小月和二月的判斷應(yīng)與當(dāng)月相應(yīng)的日期相一致,當(dāng)日計(jì)數(shù)器計(jì)滿時(shí),向月計(jì)數(shù)器進(jìn)位,月計(jì)數(shù)器計(jì)滿12月向年計(jì)數(shù)器進(jìn)位,當(dāng)年計(jì)數(shù)器計(jì)滿100時(shí)所以計(jì)數(shù)器清零。設(shè)計(jì)采用的是年、月、日和時(shí)、分、秒、星期以及溫度同時(shí)顯示。1.5 工作原理設(shè)計(jì)的電路主要由四大模塊構(gòu)成:?jiǎn)纹瑱C(jī)最小系

14、統(tǒng)模塊、時(shí)鐘電路模塊、鍵盤掃描模塊和顯示電路模塊。由單片機(jī)控制的萬(wàn)年歷以及時(shí)間顯示,當(dāng)時(shí)間及秒計(jì)數(shù)計(jì)滿60時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿60分后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“24翻1”規(guī)律計(jì)數(shù)。時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過(guò)數(shù)據(jù)處理可直接送數(shù)碼管顯示。當(dāng)計(jì)時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。時(shí)計(jì)數(shù)器計(jì)滿24小時(shí)后自動(dòng)向日計(jì)數(shù)器進(jìn)一,日計(jì)數(shù)器由平年、閏年的28/30/31對(duì)大、小月和二月的判斷應(yīng)與當(dāng)月相應(yīng)的日期相一致,當(dāng)日計(jì)數(shù)器計(jì)滿時(shí),向月計(jì)數(shù)器進(jìn)位,月計(jì)數(shù)器計(jì)滿12月向年計(jì)數(shù)器進(jìn)位,當(dāng)年計(jì)數(shù)器計(jì)滿100時(shí)所以計(jì)數(shù)器清零。設(shè)計(jì)采用的是年、月、日和時(shí)、分、秒、星期顯示,所以在單片機(jī)通過(guò)對(duì)數(shù)據(jù)處理進(jìn)行同時(shí)

15、在數(shù)碼管上顯示。1.6 本章小結(jié)本章主要介紹了萬(wàn)年歷系統(tǒng)整體設(shè)計(jì)思路、設(shè)計(jì)方案選擇、功能介紹和工作原理等,使對(duì)整個(gè)系統(tǒng)有個(gè)大致的了解,明白以后的設(shè)計(jì)方案和原理,為下面的硬件和軟件設(shè)計(jì)埋下伏筆。43焦作大學(xué)畢業(yè)設(shè)計(jì) 2 系統(tǒng)硬件電路設(shè)計(jì)2 系統(tǒng)硬件電路設(shè)計(jì)2.1單片機(jī)最小系統(tǒng)硬件的電路設(shè)計(jì)2.1.1 單片機(jī)電路設(shè)計(jì)(1)at89c51的簡(jiǎn)介at89c51是一種低功耗,高性能的cmos8位微處理器,內(nèi)部有8k字節(jié)的閃速perom ,該芯片采用atmel公司高密度、非揮發(fā)性存儲(chǔ)器工藝制成且與工業(yè)標(biāo)準(zhǔn)的mcs-51系列的引腳及指令兼容,flash系列存儲(chǔ)器為快速擦寫存貯器。相對(duì)于mcs-51系列芯片而

16、言,其特點(diǎn)如下 :1、可擦寫1000次2、全靜態(tài)操作:0hz.24mhz3、32根可編程i/o口線4、內(nèi)部ram為256字節(jié)5、兩個(gè)16位的定時(shí)/計(jì)數(shù)器6、5個(gè)中斷源at89c51有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,at89c51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。(2)at89c51芯片的管腳、引線與功能at89c51芯片圖如圖2-1所示。端口引腳信號(hào)介紹:p00p07 :p0口8位雙向口線 p10p17 :p1口8位雙向口線p20p27 :p2口8位雙向口線 p30p37 :p3口

17、8位雙向口線其它引腳信號(hào)介紹:操作限程序存儲(chǔ)器;而當(dāng)信號(hào)為高電平時(shí),則對(duì)rom的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延至外部程序存儲(chǔ)器。ale地址定在外部訪問(wèn)程序存儲(chǔ)器控制信號(hào):當(dāng)信號(hào)為低電平時(shí),對(duì)rom的讀鎖存控制信號(hào):在系統(tǒng)擴(kuò)展時(shí),ale用于控制把p0口輸出低8位地址鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。此外由于ale是以晶振六分之一的固定頻率輸出的正脈沖,因此可作為外部時(shí)鐘或外部定時(shí)脈沖作用4。以實(shí)現(xiàn)外部rom單元的外部程序存儲(chǔ)器讀選取通信號(hào):在讀外部rom時(shí)有效(低電平),讀操作。xtal1和xtal2外接晶體引線端:當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部

18、時(shí)鐘時(shí),用于拉外部的時(shí)鐘脈沖信號(hào)。rst復(fù)位信號(hào):當(dāng)輸入的復(fù)位信號(hào)延續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。vss:地線 vcc:+5v電源p3口的第二功能如表2-1:表2-1 p3口第二功能表table 2-1 p3 i second menu引腳號(hào)第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2int0(外部中斷0)p3.3int0(外部中斷0)p3.4t0(定時(shí)器0外部輸入)p3.5t1(定時(shí)器1外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)(3)at89c51的總線結(jié)構(gòu)at89c51的管腳除了電源、復(fù)位

19、、時(shí)鐘接入、用戶i/o口部分p3外,其余管腳都是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些管腳構(gòu)成了三總線形式,即:(1)地址總線(ab):地址總線寬度為16位,因此,其外部存儲(chǔ)器直接地址外圍為64k字節(jié)。16位地址總線由p0經(jīng)地址鎖存器提供低8位地址(a0a7);p2口直接提供高8位地址(a8a15)。(2)數(shù)據(jù)總線(db):數(shù)據(jù)總線寬度為8位,由p0口提供。(3)控制總線 (cb):由部分p3口的第二功能狀態(tài)和4根獨(dú)立控制線reset、ale、組成。at89c51結(jié)構(gòu)框圖如圖2-2所示。圖2-1 at89c51芯片圖figure 2-1 at89c51 chip diagram圖2-2 at89c51結(jié)

20、構(gòu)圖figure 2-2 at89c51 structure2.1.2時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地作。(1)時(shí)鐘信號(hào)的產(chǎn)生單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳xtal1,其輸出端為引腳xtal2。而在芯片的外部,xtal1和xtal2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電容器c1和c2的作用是穩(wěn)定頻率和快速起振,電容值的范圍在5pf30pf,典型值為30pf。晶振的頻率通常選擇兩種

21、6mhz和12mhz。只要在單片機(jī)的xtal1和xtal2引腳外接晶體振蕩器就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。(2)時(shí)鐘振蕩電路如圖2-3所示:圖2-3 時(shí)鐘振蕩電路2.1.3 復(fù)位電路設(shè)計(jì)復(fù)位電路是使單片機(jī)的cpu或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這上狀態(tài)開(kāi)始工作。(1)單片機(jī)常見(jiàn)的復(fù)位電路通常單片機(jī)復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路。上電復(fù)位電路:上電復(fù)位是單片機(jī)上電時(shí)復(fù)位操作,保證單片機(jī)上電后立即進(jìn)入規(guī)定的復(fù)位狀態(tài)。它利用的是電容充電的原理來(lái)實(shí)現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時(shí)它的操作比上電復(fù)位電路的操作要簡(jiǎn)單的多。如果要實(shí)現(xiàn)復(fù)位的

22、話,只要按下reset鍵即可。它主要是利用電阻的分壓來(lái)實(shí)現(xiàn)的6。在此設(shè)計(jì)中,采用的按鍵復(fù)位電路。按鍵復(fù)位電路如圖2-4所示。(2)復(fù)位電路工作原理上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間reset引腳獲得高電平,隨著電容的充電,rerst引腳的高電平將逐漸下降。rerst引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。上電與按鍵均有效的復(fù)位電路不僅在上電時(shí)可以自動(dòng)復(fù)位,而且在單片機(jī)運(yùn)行期間,利用按鍵也可以完成復(fù)位操作。圖2-4 復(fù)位電路圖因此本設(shè)計(jì)選用第二種上電復(fù)位與按鍵均有效的各單位電路。2.2 時(shí)鐘電路的設(shè)計(jì)2.2.1 ds1302的性能特性 實(shí)

23、時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);用于高速數(shù)據(jù)暫存的318位ram; 最少引腳的串行i/o; 2.55.5v工作范圍; 2.5v時(shí)耗電小于300na; 用于時(shí)鐘或ram數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡(jiǎn)單的三線接口; 可選的慢速充電(至vcc1)的能力。ds1302時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)ram。它經(jīng)過(guò)一個(gè)簡(jiǎn)單的串行接口與微處理器通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于31天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用24時(shí)或帶am(上午)/pm(下午)的12時(shí)格式。采用三線

24、接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302有主電源/后備電源雙電源引腳:vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份,vcc2在雙電源系統(tǒng)中提供主電源。在這種運(yùn)行方式中,vcc1連接到后備電源,以便在沒(méi)有主電源的情況下能保存時(shí)間信息和數(shù)據(jù)。ds1302由vcc1或vcc2中較大者供電。當(dāng)vcc2 (vcc1+0.2v)時(shí),vcc2給ds1302供電;當(dāng)vcc2=2.5v之前,rst腳必須保持低電平。只有在sclk為低電平時(shí),才能將rst置為高電平。表2-2所列為各腳的功能。 表2-2 ds1302引腳功能table 2-

25、2 ds1302 pin function引腳號(hào)引腳名稱功能1vcc2主電源2,3x1,x2振蕩源,外接32768hz晶振4gnd地線5rst復(fù)位/片選線6i/o串行數(shù)據(jù)輸入/輸出端(雙向)7sclk串行數(shù)據(jù)輸入端8vcc1后備電源ds1302的控制字如圖2-5所示,控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1則表示存址。最低有效位(位0)如果為0,則表示要進(jìn)行操作??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出7 6 5 4 3 2 1 01ramcka4a3a2a1a0ramk圖2-5 ds1302的控制字figur

26、e 2-5 ds1302 to control word 為了提高對(duì)32個(gè)地址尋址能力(地址/命令位15=邏輯1),可以把時(shí)鐘/日歷或ram寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時(shí)鐘或ram,而位0規(guī)定讀或?qū)?。在時(shí)鐘/日歷寄存器中的地址931或ram寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。再多字節(jié)方式中,讀或?qū)憦牡刂?的位0開(kāi)始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個(gè)寄存器。但是,當(dāng)以多種字節(jié)方式寫ram時(shí),為了傳送數(shù)據(jù)不必寫所有的31字節(jié)。否則是否寫了全部的31字節(jié),所寫的每一字節(jié)都將傳送至ram。ds1302共有12個(gè)寄存器,其中有7個(gè)寄存器于日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。其日歷、

27、時(shí)間寄存器及其控制字如表2-3所列,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表2-3 內(nèi)部寄存器地址和內(nèi)容table 2-3 addresses and contents of internal registers寄存器名命令字節(jié)取值范圍寄存器內(nèi)容秒寄存器寫讀76543210分寄存器80h81h0059ch10secsec時(shí)寄存器82h83h0059010minmin日期寄存器84h85h0023或011212/24010a/phrhr月份寄存器86h87h0128、29、30、310010datedate周寄存器88h89h011200010mmonth年寄存器8ah8bh010700000day8

28、ch8dh009910yearyear始終暫停:秒寄存器的為7定義位時(shí)鐘暫停位。當(dāng)它為1時(shí),ds1302停止震蕩,進(jìn)入低功耗的備份方式,通常在對(duì)ds1302進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序),停止震蕩。當(dāng)它為0時(shí),始終將開(kāi)始啟動(dòng)。am-pm/12-24時(shí)方式:時(shí)寄存器的位7定義為12或24時(shí)方式選擇位。他為高電平時(shí),選擇12時(shí)方式。在此方式下,位5是am/pm位,高電平時(shí)表示pm,低電平表示am。在24時(shí)方式下,位5為第二個(gè)10時(shí)位(2023h)。 ds1302的晶振選用32768hz,電容推薦值為6pf。因?yàn)檎袷庮l率較低,也可以不接電容,對(duì)計(jì)時(shí)精度影響不大。2.3 獨(dú)立式鍵盤設(shè)計(jì)實(shí)現(xiàn)鍵盤控制

29、的方法有多種,它可以用fpga來(lái)進(jìn)行控制,也可以用單片機(jī)來(lái)進(jìn)行控制。在本系統(tǒng)中,我們采用了單片機(jī)來(lái)進(jìn)行控制,因?yàn)閱纹瑱C(jī)可以很好的解決鍵抖動(dòng)。由若干個(gè)按鍵組成一個(gè)鍵盤,其電路結(jié)構(gòu)可分為獨(dú)立式鍵盤和矩陣式鍵盤兩種。 獨(dú)立式鍵盤每個(gè)鍵單獨(dú)占用一根i/o口線,每根i/o口線上的按鍵工作狀態(tài)不會(huì)影響其他i/o口線上的狀態(tài),矩陣式鍵盤按鍵排列為行列式矩陣結(jié)構(gòu),也稱行列式鍵盤結(jié)構(gòu)。4行4列共16個(gè)鍵,只占用8根i/o口線,鍵數(shù)目較多,可節(jié)省口線。此設(shè)計(jì)的是3行3列共9個(gè)鍵。鍵盤的工作方式可分為編程控制方式和中斷控制方式。cpu在一個(gè)工作周期內(nèi),利用完成其他任務(wù)的空余時(shí)間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無(wú)

30、鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)的鍵處理程序。這種方式為編程掃描方式。由于單片機(jī)在正常應(yīng)用過(guò)程中,可能會(huì)經(jīng)常進(jìn)行鍵操作,因而編程控制方式使cpu經(jīng)常處于工作狀態(tài), 在進(jìn)行本次設(shè)計(jì)中,涉及到了啟動(dòng)/關(guān)閉、調(diào)時(shí)、調(diào)分、調(diào)秒,調(diào)年,月,日,星期,等很多功能個(gè)功能,采用了3行3列鍵進(jìn)行功能設(shè)置可以完成任務(wù)設(shè)置8。但是,由于此顯示部分用到了移位寄存器,采用獨(dú)立式鍵盤設(shè)計(jì)即可完成任務(wù)且矩陣鍵盤編程比較困難,故本設(shè)計(jì)采用了獨(dú)立式鍵盤設(shè)計(jì)。2.4 顯示電路的設(shè)計(jì)顯示部分采用普通的共陽(yáng)數(shù)碼管顯示,采用動(dòng)態(tài)掃描,以減少硬件電路??紤]到一次掃描19位數(shù)碼管顯示時(shí)會(huì)出現(xiàn)閃爍情況,設(shè)計(jì)時(shí)19個(gè)

31、數(shù)碼管分3排同時(shí)掃描,第一排6個(gè)數(shù)碼管分為千年、百年、十年、年、十月、月,第二排6位數(shù)碼管分別為十時(shí)、時(shí)、十分、分、十秒、秒,第三排7位數(shù)碼管分別為星期、陰歷十月、陰歷月、陰歷十日、陰歷日、十日、日。顯示時(shí)采用串行口輸出段碼,用3片74ls164來(lái)驅(qū)動(dòng)3排數(shù)碼管,這樣掃描一次只需7ms。74ls164內(nèi)部為8個(gè)d觸發(fā)器,用以實(shí)現(xiàn)數(shù)據(jù)的串行移位。74ls164的特性如表2-4所示。單片機(jī)以串行口方式0(移位寄存器方式)輸出數(shù)據(jù),3片74ls164作為3排共陽(yáng)數(shù)碼管的串/并轉(zhuǎn)換顯示接口。74ls164為ttl單向8位移位寄存器,可以實(shí)現(xiàn)串行輸入,并行輸出。其中a、b(第1、2腳)為串行數(shù)據(jù)輸入端,

32、兩個(gè)引腳按邏輯“與”運(yùn)算規(guī)律輸入信號(hào),只有一個(gè)輸入信號(hào)時(shí)可并接,共同作為輸入腳。cp(第8腳)為時(shí)鐘輸入端,可連接到串行口的txd端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到cp端時(shí),移位寄存器移一位。8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數(shù)全部移入74ls164中。mr腳(第9腳)為復(fù)位端,當(dāng)該腳為低電平時(shí),移位寄存器各位復(fù)0;只有當(dāng)它為高電平時(shí),時(shí)鐘脈沖才起作用。q1q8(第36和第1013引腳)并行輸出端分別接數(shù)碼管的h、g、f、e、d、c、b、a各段對(duì)應(yīng)的引腳上(因?yàn)榇锌趶牡臀婚_(kāi)始傳送)。在給出了8個(gè)脈沖后,最后進(jìn)入74ls164的第一字節(jié)數(shù)據(jù)到達(dá)了最高位。再來(lái)一個(gè)脈沖,第一個(gè)脈沖就會(huì)從最高位移出,進(jìn)入下個(gè)

33、74ls164的第一位。3片74ls164首尾相串,而隨后的第二字節(jié)的數(shù)據(jù)則進(jìn)入了第一片74ls164.這樣,當(dāng)?shù)谌?個(gè)脈沖完成后,首次送出的數(shù)據(jù)被送到了最下面的164(第三片)中,其他數(shù)據(jù)依次出現(xiàn)在第二、第一片74ls164中,實(shí)現(xiàn)了數(shù)據(jù)在74ls164中的串行輸入、并行輸出。表2-4 74ls164特性表table 2-4 74ls164 characteristics操作模式輸入輸出復(fù)位mrabq0q1q7移位lxxlq0q6hlllq0q6hlhlq0q6hhllq0q6 hhhhq0q6在方式0狀態(tài)下,串行口為同步移位寄存器方式,其波特率是固定的,為fosc/12;數(shù)據(jù)由rxd(p

34、3.0)端輸入或輸出,同步移位脈沖由txd(p3.1)端輸出;發(fā)送、接收數(shù)據(jù)時(shí),低位在先。因此,根據(jù)本章節(jié)下面提供的硬件電路圖,在編寫程序時(shí),查共陽(yáng)數(shù)碼管的段碼的二進(jìn)制數(shù)據(jù)應(yīng)該將正常的共陽(yáng)數(shù)碼管09的二進(jìn)制按位反序排序,例如原來(lái)的二進(jìn)制11000000(c0h),要改為00000011(03h),就能使數(shù)碼管正常顯示。2.5 本章小結(jié)本章主要通過(guò)對(duì)萬(wàn)年歷的硬件的各個(gè)單元進(jìn)行進(jìn)行設(shè)計(jì),主要包括最小系統(tǒng)硬件的電路設(shè)計(jì)、時(shí)鐘電路的設(shè)計(jì)、獨(dú)立式鍵盤設(shè)計(jì)、顯示電路的設(shè)計(jì)等四個(gè)部分,詳細(xì)說(shuō)明了萬(wàn)年歷的硬件設(shè)計(jì)電路,下一章將主要講述萬(wàn)年歷的軟件部分,軟件和硬件相結(jié)合,構(gòu)成了整個(gè)萬(wàn)年歷系統(tǒng)。焦作大學(xué)畢業(yè)設(shè)計(jì)

35、3系統(tǒng)軟件設(shè)計(jì) 3系統(tǒng)軟件設(shè)計(jì)3.1陽(yáng)歷程序因?yàn)槭褂昧?時(shí)鐘芯片ds1302,陽(yáng)歷系統(tǒng)只需從ds1302各個(gè)寄存器中讀出年、周、月、日、時(shí)、分、秒等數(shù)據(jù),再處理即可。在首次對(duì)ds1302進(jìn)行操作前,必須對(duì)它進(jìn)行初始化,然后從ds1302中讀出數(shù)據(jù),再經(jīng)過(guò)處理后,送給顯示緩沖單元。陽(yáng)歷程序流程圖3-1。圖3-1 陽(yáng)歷程序流程圖figure 3-1 flow chart of the solar calendar 3.2 時(shí)間調(diào)整程序調(diào)整時(shí)間用2個(gè)調(diào)整按鈕(注:電路圖中畫有3個(gè)按鈕,另一個(gè)按鈕讀者可用于減1操作鍵),1個(gè)作為移位、控制用,另外1個(gè)作為加調(diào)整用,分別定義為控制按鈕、加按鈕。在調(diào)整時(shí)間

36、過(guò)程中,要調(diào)整的位與其他位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的位一直在閃爍,直到調(diào)整到下一位。閃爍原理就讓要調(diào)整的位每隔一定時(shí)間熄滅一次,比如50ms。利用定時(shí)器時(shí),當(dāng)達(dá)到50ms溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷交替,直到該位結(jié)束,此時(shí)送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序。時(shí)間調(diào)整程序流程圖3-2所示。圖3-2 時(shí)間調(diào)整程序流程圖figure 3-2 flow chart of time to adjust表3-1 2004年的陰歷與陽(yáng)歷對(duì)應(yīng)關(guān)系表table 3-1 lunar calendar and the gregorian in 2004,

37、the corresponding relationship月份123456789101112閏2月大小小大大大小大小大小大小大小天數(shù)1000101010101二進(jìn)制293030302930293029302930十六進(jìn)制4252213.3 陰歷程序陰歷程序的實(shí)現(xiàn)是要靠陽(yáng)歷日期來(lái)推算的。要根據(jù)陽(yáng)歷來(lái)推算陰歷日期,首先要設(shè)計(jì)計(jì)算法。推算方法是,根據(jù)陽(yáng)歷當(dāng)前日期在一年中的天數(shù)來(lái)計(jì)算陰歷日期。陽(yáng)歷一個(gè)月不是30天就是31天(2月除外,閏年2月為29天,平年2月為28天)。陰歷一年有12個(gè)月或13個(gè)月(含閏年),一個(gè)月為30天或29天。如果把一個(gè)只有29天的月稱為小月,用1為標(biāo)志,把30天的月稱為大月

38、,用0為標(biāo)志,那么12位二進(jìn)制就能表示一年12個(gè)月的大小。如果有閏月,則把閏月的月份作為一字節(jié)的高4位,低4位表示閏月的大小,大月為0,小月為1,這樣,一字節(jié)就包含了所有的閏月信息,陰歷春節(jié)和陽(yáng)歷元旦相差的天數(shù)也用一字節(jié)表示??偣灿?字節(jié)就可以存儲(chǔ)一年中任何一天陽(yáng)歷與陰歷對(duì)應(yīng)關(guān)系的有關(guān)數(shù)據(jù),例如2004年的陰歷與陽(yáng)歷對(duì)應(yīng)關(guān)系如表3-1所列。 2004年的春節(jié)和元旦相差21天,這樣2004年的信息表示為:21,42h,52h,21h。其中表示12個(gè)月大小信息的字節(jié),第4位和第7位不用。第一字節(jié)位十進(jìn)制,其他的都為十六進(jìn)制。按此方法,50年的陽(yáng)歷和陰歷對(duì)應(yīng)關(guān)系表總共使用200字節(jié)。2000-205

39、0年的關(guān)系表:35,15h,51h,00h(2000) 23,11h,52h,41h(2001) 42,12h,65h,00h(2002)31,11h,32h,00h(2003) 21,42h,52h,21h(2004) 39,52h,25h,00h(2005)28,25h,04h,71h(2006) 48,66h,42h,00h(2007) 37,33h,22h,00h(2008)25,15h,24h,51h(2009) 44,05h,52h,00h(2010) 33,22h,65h,00h(2011)22,21h,25h,41h(2012) 40,24h,52h,00h(2013) 30,

40、52h,42h,91h(2014)49,55h,05h,00h(2015) 38,26h,44h,00h(2016) 27,53h,50h,60h(2017)46,53h,24h,00h(2018) 35,25h,54h,00h(2019) 24,41h,52h,41h(2020)42,45h,25h,00h(2021) 31,24h,52h,00h(2022) 21,51h,12h,21h(2023)40,55h,11h,00h(2024) 28,26h,21h,61h(2025) 47,26h,61h,00h(2026)36,13h,31h,00h(2027) 25,05h,31h,51h

41、(2028) 43,12h,54h,00h(2029)33,51h,25h,00h(2030) 22,42h,25h,31h(2031) 41,32h,22h,00h(2032)30,55h,02h,71h(2033) 49,55h,22h,00h(2034) 38,26h,62h,00h(2035)27,13h,64h,60h(2036) 45,13h,32h,00h(2037) 34,12h,55h,00h(2038)23,10h,53h,51h(2039) 42,22h,45h,00h(2040) 31,52h,22h,00h(2041)21,52h,44h,21h(2042) 40,5

42、5h,44h,00h(2043) 29,26h,50h,71h(2044)47,26h,64h,00h(2045) 36,25h,32h,00h(2046) 25,23h,32h,50h(2047)44,44h,55h,00h(2048) 32,24h,45h,00h(2049) 22,55h,11h,30h(2050)有了算法和數(shù)據(jù)之后 ,就可以設(shè)計(jì)軟件了。先要根據(jù)當(dāng)前陽(yáng)歷的日期,算出陽(yáng)歷為該年中的第幾天。圖3-3所示為計(jì)算陽(yáng)歷中任何一天在該年中為第幾天的程序流程圖。圖3-3 計(jì)算陽(yáng)歷天數(shù)程序流程圖figure 3-3 flow chart for calculating the solar

43、 calendar days計(jì)算出當(dāng)前陽(yáng)歷日期為該年中的第幾天后,再減去陽(yáng)歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年的總第幾天了,根據(jù)該數(shù)據(jù)就可以推算出具體的當(dāng)前陰歷日期;如果不夠減,則表示當(dāng)前陰歷年為陽(yáng)歷年的前一天。在這種情況下,根據(jù)實(shí)際,當(dāng)前陰歷日期會(huì)處于陰歷11月或12月,此時(shí)春節(jié)和元旦的日差減去前面計(jì)算出的當(dāng)前陽(yáng)歷日期在陽(yáng)歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天數(shù)。計(jì)算出的陽(yáng)歷天數(shù)為該年的第幾天,存放在寄存器r2和r3中。計(jì)算出天數(shù)后,如果大于#ffh,則把#ffh存放在r2中,余值存放在r3中。也就是說(shuō),在用寄存器r2和r3表示的天數(shù)信息中,r2充當(dāng)主寄

44、存器,數(shù)據(jù)先存滿r2,再存r3.在整個(gè)轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。計(jì)算出陽(yáng)歷總天數(shù)后,就可以根據(jù)它來(lái)推算陰歷日期。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為1,則該天正好是春節(jié)(因?yàn)榇汗?jié)在元旦之后,在計(jì)算春節(jié)和元旦的日差時(shí),假設(shè)元旦為0天,春節(jié)為n天,則日差為n,而前面計(jì)算的陽(yáng)歷總天數(shù)是該天在該年中的第幾天,是以元旦為1而得到的,與計(jì)算春節(jié)和元旦日差的這種方法相比,其數(shù)值少了1,所以要在原來(lái)本應(yīng)該以0作為該天就是春節(jié)的依據(jù)的基礎(chǔ)上加1,即以1作為該天是春節(jié)的標(biāo)志);如果結(jié)果小于1,則陰歷應(yīng)該是陽(yáng)歷的前一年;如果結(jié)果大于1,說(shuō)明陽(yáng)歷和陰歷為同一年。再根據(jù)查表所得的該年的陰歷的

45、閏月和大小月的信息,就可以推算出該天的陰歷日期了。圖3-4所示為由總天數(shù)推算出陰歷日期的程序流程圖。圖3-4 推算陰歷日期的程序流程圖figure 3-4 flow chart of the projected date of the lunar calendar3.4 萬(wàn)年歷總體流程圖萬(wàn)年歷流程如圖3-5所示。流程圖分析:開(kāi)始既當(dāng)日加一天,同時(shí)星期也就相應(yīng)的加1,看星期是否加到7,若加到了7,就返回到1,若沒(méi)有就返回到時(shí)鐘狀態(tài),當(dāng)日加到相應(yīng)的最大數(shù)時(shí),月分就相應(yīng)的加1,看月份是否加到了13, 若沒(méi)有到13,就一直等待,若到了13就返回1,且年份就加1,當(dāng)年份到2099時(shí)就清到2005年,若沒(méi)

46、有,就一直等待,直到2099為止10。圖3-5 萬(wàn)年歷流程圖figure 3-5 flowchart calendar3.5 萬(wàn)年歷總程序(見(jiàn)附錄)3.6 本章小結(jié)本章主要通過(guò)對(duì)萬(wàn)年歷軟件的各個(gè)單元進(jìn)行進(jìn)行設(shè)計(jì),主要包括陰歷程序、時(shí)間調(diào)整程序、陽(yáng)歷程序、萬(wàn)年歷總體流程圖等五個(gè)部分,詳細(xì)說(shuō)明了萬(wàn)年歷的軟件設(shè)計(jì)電路,上一章將主要講述萬(wàn)年歷的硬件部分,軟件和硬件相結(jié)合,構(gòu)成了一個(gè)完整的萬(wàn)年歷系統(tǒng)。焦作大學(xué)畢業(yè)設(shè)計(jì) 4 設(shè)計(jì)總結(jié)4 設(shè)計(jì)總結(jié)本文首先描述系統(tǒng)硬件工作原理,并附以系統(tǒng)結(jié)構(gòu)框圖加以說(shuō)明,著重介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能及工作過(guò)程,其次,詳細(xì)闡述了程序的各個(gè)模塊和實(shí)現(xiàn)

47、過(guò)程。本設(shè)計(jì)以數(shù)字集成電路技術(shù)為基礎(chǔ),單片機(jī)技術(shù)為核心。本文編寫的主導(dǎo)思想是軟硬件相結(jié)合,以硬件為基礎(chǔ),來(lái)進(jìn)行各功能模塊的編寫。其中at89c51是核心元件同時(shí)采用液晶管顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)精確,顯示直觀等特點(diǎn)。它的計(jì)時(shí)周期為24小時(shí),顯滿刻度為“23時(shí)59分59秒”,另外具有校時(shí)功能, 還具有整點(diǎn)報(bào)鳴的特點(diǎn)。ds18b20是一種非常理想的溫度傳感器,使用的是達(dá)拉斯即美信公司的1-wire技術(shù),輸出信號(hào)為數(shù)字信號(hào),可以直接以單片機(jī)連接,同時(shí)多個(gè)ds18b20還支持溫度檢測(cè)網(wǎng), 非常方便靈活。ds1302是帶涓流充電的時(shí)鐘芯片,采用三線結(jié)構(gòu),目前

48、在很多需要時(shí)鐘的嵌入式系統(tǒng)的廣泛應(yīng)用。 本系統(tǒng)以單片機(jī)的匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì),增加了程序的可讀性和可移植性,為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了。系統(tǒng)通過(guò)點(diǎn)陣式液晶為載體顯示數(shù)據(jù),所以具有人性化的操作和美觀的頁(yè)面效果??梢燥@示時(shí)間、公農(nóng)歷日期、星期的功能。焦作大學(xué)畢業(yè)設(shè)計(jì) 參考文獻(xiàn)參考文獻(xiàn)1 胡新宇,趙勇.傳感器與自動(dòng)檢測(cè)技術(shù).北京:高等教育出版社. 2006,79-882 曹克登.單片機(jī)原理與應(yīng)用. 北京:機(jī)械工業(yè)出版社.2007,19-253 8051 管腳資料intel公司提供芯片資料4 孔凡才.自動(dòng)控制系統(tǒng). 北京:機(jī)械工業(yè)出版社. 2005,

49、194-1995 曹克.單片機(jī)原理與應(yīng)用. 北京:機(jī)械工業(yè)出版社.2007,176-178 6 王建國(guó),寧改娣. 51系列單片機(jī)及c51程序設(shè)計(jì). 北京:科學(xué)出版社.2004,28-32 7 曹克登.單片機(jī)原理與應(yīng)用. 北京:機(jī)械工業(yè)出版社.2007,103-1098 劉守義.單片機(jī)應(yīng)用技術(shù). 西安:西安電子科技大學(xué)出版社.2007,121-1519 李廣弟,朱月秀,王秀山單片機(jī)基礎(chǔ)m北京航空航天大學(xué)出版社20041010 何民主編. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì). 北京:北京航空航天大學(xué)出版社,1990焦作大學(xué)畢業(yè)設(shè)計(jì) 附 錄附 錄1.設(shè)計(jì)參數(shù)及配料表:配件名稱數(shù)量參數(shù)pcb電路板1塊at89c511

50、塊晶振1個(gè)12mhz晶振1個(gè)32khz電解電容1個(gè)22uf按鍵若干時(shí)鐘芯片ds13021塊數(shù)碼管19個(gè)三極管85507個(gè)三極管90121個(gè)發(fā)光二極管led1個(gè)74ls1643個(gè)電阻21個(gè)5109個(gè)1k3個(gè)10k1個(gè)4.7k3個(gè)2k陶瓷電容2個(gè)10pf陶瓷電容2個(gè)30pf2.總體電路圖原理圖 (a0)3.程序總流程圖(a1)4. 總體程序代碼如下 ; 萬(wàn)年歷程序mov r1,a;從1302中讀出的數(shù)據(jù)放在67h(高兩位年)66h(低兩位年)65h(月)64h(星期)63h(日)rm32: jc rm33;; 62h(小時(shí))61h(分鐘)60h(秒)57h(農(nóng)歷月)56h(農(nóng)歷日)mov a,r1; 顯示緩沖單元7ch-7bh(4ch-4bh)(年低位),7ah-79h(4ah-49h)月,78h(48h)星期,mov r2,a ;77h-76h(47h-46h)日,75h-74h(45h-44h)小時(shí),73h-72h(43h-42h)分鐘,71h-70h(41h-40h)秒 5eh-5dh(55h-54h)農(nóng)歷年,5ch-5bh(53h-52h)農(nóng)歷月,5ah-59h(51h-50h)農(nóng)歷日ajmp m4; 閏月

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論