版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)制紅外遙控萬年歷</p><p> 學(xué)院:__________________</p><p> 專業(yè):__________________</p><p> 姓名:__________________</p><p> 學(xué)號(hào):__________________</p><p>
2、; 2013年 月 日</p><p><b> 摘 要</b></p><p> 本文介紹了一款能夠?qū)崿F(xiàn)可以遙控設(shè)置時(shí)間,日期,鬧鐘的電子萬年歷,該設(shè)計(jì)模型可以解決壁掛式電子萬年歷的時(shí)間,日期,鬧鐘調(diào)整不方便的問題。系統(tǒng)主要由STC89C52單片機(jī)控制模塊,電源模塊,DS1302時(shí)間生成模塊,紅外遙控模塊,LCD12864顯示模塊組成。由電源模塊提供
3、保證整個(gè)系統(tǒng)的運(yùn)行所城電壓;由時(shí)間生成模塊生成的時(shí)間日期通過單片機(jī)模塊一系列處理后,通過液晶模塊實(shí)時(shí)顯示輸出年,月,日,時(shí),分,秒和星期等信息。配合紅外遙控模塊對(duì)時(shí)間日期的調(diào)整,使得該系統(tǒng)操作簡(jiǎn)單方便,非常實(shí)用。</p><p> 關(guān)鍵詞: 萬年歷、單片機(jī)STC89C52、DS1302、LCD12864、紅外遙控</p><p><b> 目 錄</b><
4、/p><p><b> 前言4</b></p><p> 第一章 系統(tǒng)總體設(shè)計(jì)</p><p> 1.1 單片機(jī)主控系統(tǒng)設(shè)計(jì)方案6</p><p> 1.2 時(shí)鐘芯片系統(tǒng)設(shè)計(jì)方案6</p><p> 1.3 按鍵控制系統(tǒng)設(shè)計(jì)方案7</p><p> 1.4
5、顯示系統(tǒng)設(shè)計(jì)方案....................................................................................................8</p><p> 1.5 系統(tǒng)設(shè)計(jì)原理框圖7</p><p> 第二章 紅外遙控萬年歷的硬件設(shè)計(jì)8</p><p> 2.1 單片機(jī)最小系
6、統(tǒng)設(shè)計(jì)8</p><p> 2.2 DS1302時(shí)鐘模塊設(shè)計(jì)8</p><p> 2.3 紅外編解碼模塊設(shè)計(jì):9</p><p> 2.4 LCD12864顯示模塊設(shè)計(jì)10</p><p> 第三章 紅外遙控萬年歷的軟件設(shè)計(jì)12</p><p> 3.1 主程序設(shè)計(jì) 12</p>&
7、lt;p> 3.2 時(shí)鐘模塊驅(qū)動(dòng)設(shè)計(jì)14</p><p> 3.3 陰歷時(shí)間轉(zhuǎn)換程序設(shè)計(jì)14</p><p> 3.4 紅外接收接碼驅(qū)動(dòng)設(shè)計(jì)14</p><p> 3.5 紅外編碼發(fā)射驅(qū)動(dòng)設(shè)計(jì)14</p><p> 第四章 系統(tǒng)調(diào)試15</p><p> 4.1 硬件系統(tǒng)調(diào)試14</
8、p><p> 4.2 軟件系統(tǒng)調(diào)試14</p><p><b> 參考文獻(xiàn)4</b></p><p><b> 附錄</b></p><p><b> 前言</b></p><p><b> 課題的背景</b></p
9、><p> 萬年歷是我國古代傳說中最古老的一部太陽歷。為紀(jì)念歷法編撰者萬年的功績(jī),便將這部歷法命名為“萬年歷”。而現(xiàn)在所使用的萬年歷,實(shí)際上就是記錄一定時(shí)間范圍內(nèi)(比如100 年或更多)的具體陽歷或陰歷的日期的年歷,方便有需要的人查詢使用,與原始?xì)v法并無直接聯(lián)系。隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起。單片機(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,
10、重量輕,耗能低,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。單片機(jī)的應(yīng)用已經(jīng)滲透到工業(yè)控制、家用電器、通信設(shè)備、信息處理、尖端武器等各個(gè)領(lǐng)域。而隨著單片機(jī)的發(fā)展,人類用于計(jì)時(shí)的工具也在不斷發(fā)展更新,單片機(jī)技術(shù)使得萬年歷有了新的發(fā)展方向。目前世界上單片機(jī)年產(chǎn)量已達(dá)十多億片,通常是當(dāng)年微處理器產(chǎn)量的4-5 倍以上。用最少的芯片就能實(shí)現(xiàn)最強(qiáng)大的功能,這是將來電子產(chǎn)品的主流方向,它將無可置疑地一步步取代其它同類產(chǎn)
11、品,其數(shù)量之大和應(yīng)用面之廣,是其它任何類型的計(jì)算機(jī)所無法比擬的。</p><p> 以基于單片機(jī)的萬年歷作為設(shè)計(jì)的課題,因?yàn)樗泻芎玫拈_放性和可發(fā)揮性,對(duì)本人我單片機(jī)的水平對(duì)應(yīng)的要求比較高,不僅考察了對(duì)單片機(jī)的掌握能力而且強(qiáng)調(diào)了對(duì)單片機(jī)擴(kuò)展的應(yīng)用。另外液晶顯示的萬年歷已經(jīng)越來越流行,特別適合在家庭居室、辦公室、大廳、會(huì)議室、車站和廣場(chǎng)等地方使用,它具有顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視等功能,并且還可以擴(kuò)展出
12、其它多種功能,同時(shí)將其制成一份精致的成品可作實(shí)用的展品。所以,電子萬年歷作為設(shè)計(jì)課題很有價(jià)值。</p><p><b> 課題的主要工作</b></p><p> 本論文主要研究基于單片機(jī)的萬年歷設(shè)計(jì)。當(dāng)程序執(zhí)行后,LCM12864 顯示即時(shí)時(shí)間、年月日、星期、天干地支、溫度等。設(shè)置4 個(gè)操作鍵:KEY1,設(shè)置鍵;KEY2,跳出鍵;KEY3,上調(diào)鍵;KEY4,下調(diào)
13、鍵。本設(shè)計(jì)的主要內(nèi)容:</p><p> 了解單片機(jī)技術(shù)的發(fā)展現(xiàn)狀,熟悉萬年歷各模塊的工作原理;</p><p> 選擇適當(dāng)?shù)男酒驮骷?,確定系統(tǒng)電路,繪制電路原理圖,尤其是各接口電路;</p><p> 熟悉單片機(jī)使用方法和C 語言的編程規(guī)則,編寫出相應(yīng)模塊的應(yīng)用程序。</p><p><b> 設(shè)計(jì)目標(biāo)</b&g
14、t;</p><p> 設(shè)計(jì)目標(biāo):使基于STC89C52 單片機(jī)的萬年歷實(shí)現(xiàn)以下三個(gè)功能:</p><p> 1、具有年、月、日、星期、時(shí)、分、秒的顯示功能;</p><p> 2、具備年、月、日、星期、時(shí)、分、秒的校準(zhǔn)功能;</p><p> 3、具有鬧鐘時(shí)間的設(shè)置和報(bào)警提示功能,具有鬧鐘的打開關(guān)閉功能;</p>&l
15、t;p> 4、具有整點(diǎn)報(bào)時(shí)的功能;</p><p> 5、具有用紅外遙控器操作的功能。</p><p> 第一章 系統(tǒng)總體設(shè)計(jì)</p><p> 1.1 單片機(jī)主控系統(tǒng)設(shè)計(jì)方案</p><p> 單片機(jī)也被稱為微控制器(Microcontroller),是以一個(gè)大規(guī)模集成電路為主組成的微型計(jì)算機(jī),在一個(gè)芯片內(nèi)含有計(jì)算機(jī)的基本
16、功能部件:中央處理器CPU、存儲(chǔ)器和I/O 接口,CPU 通過內(nèi)部的總線和存儲(chǔ)器、I/O 接口相連。</p><p> 單片機(jī)以其卓越的性能,得到了廣泛的應(yīng)用,已深入到各個(gè)領(lǐng)域。單片機(jī)應(yīng)用在控制領(lǐng)域中,具有如下特點(diǎn):</p><p> 單片機(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,重量輕,耗能低,成本低,可靠性高,種類多,型號(hào)全,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方
17、面有廣泛的用途。</p><p> 最重要的是可以采用C 語言開發(fā)環(huán)境,具有友好的人機(jī)互交環(huán)境。大多數(shù)單片機(jī)都提供基于C 語言開發(fā)平臺(tái),并提供大量的函數(shù)供使用,這使產(chǎn)品的開發(fā)周期、代碼可讀性、可移植性都大為提高。</p><p> 綜上:本系統(tǒng)的主控芯片選擇80C51家族的STC89C52RC單片機(jī),它具備上面所述的所有特點(diǎn),能以很高的性價(jià)比來滿足我們的設(shè)計(jì)需求。</p>
18、<p> 1.2 時(shí)鐘系統(tǒng)設(shè)計(jì)方案</p><p> 方案一: 不使用芯片,采用單片機(jī)的定時(shí)計(jì)數(shù)器</p><p> 這種方法原理是利用單片機(jī)芯片的定時(shí)器來產(chǎn)生固定的時(shí)間,模擬時(shí)鐘的時(shí), 分,秒.如:利用AT80C52芯片,定時(shí)器用工作方式1,每50ms產(chǎn)生一個(gè)中斷,循環(huán)20次,即1s周期.每一個(gè)周期加1,那么1min為60個(gè)周期,1h就是60*60=3600個(gè)周期,一天
19、就是3600*24=86400個(gè)周期。</p><p> 此方法優(yōu)點(diǎn)是可以省去一些外圍的芯片,但這種方法只能適用于一些要求不是十分精確,不做長期保留的場(chǎng)合。</p><p> 方案二: 并行接口時(shí)鐘芯片 DS12887</p><p> 特點(diǎn):采和單片機(jī)應(yīng)用系統(tǒng)并行總線(三總線)擴(kuò)展的接口電路,采用這種接口電路具有操 作速度快,編程方便的優(yōu)點(diǎn)。</p&g
20、t;<p> 但是對(duì)于80C52單片機(jī)來說,低位地址線要通過鎖存器輸出,還要地址譯碼器,而且并行口芯片的體積相對(duì)較大。</p><p> 方案三: 串行接口時(shí)鐘芯片DS1302</p><p> 優(yōu)點(diǎn):它采用簡(jiǎn)單的三線制串行接口與單片機(jī)連接,使用簡(jiǎn)單,接口容易,與微型計(jì)算機(jī)連線較少等特點(diǎn),在單片機(jī)系統(tǒng)尤其是手持式信息設(shè)備中己得到了廣泛的應(yīng)用。</p>&l
21、t;p> 因次,我選擇了串行時(shí)鐘芯片DS1302。</p><p> 1.3 按鍵控制系統(tǒng)設(shè)計(jì)方案</p><p> 在對(duì)日期和時(shí)間進(jìn)行切換顯示,對(duì)日期和時(shí)間進(jìn)行調(diào)節(jié)校準(zhǔn),對(duì)鬧鐘進(jìn)行設(shè)置的過程中,系統(tǒng)需要產(chǎn)生激勵(lì)電流,因此需要用按鍵。按鍵設(shè)計(jì)一般有兩種方案:</p><p> 方案一:使用獨(dú)立式鍵盤。獨(dú)立式鍵盤是指直接用I/O口線構(gòu)成的單個(gè)按鍵電路。獨(dú)
22、立式按鍵硬件電路設(shè)置簡(jiǎn)單,軟件程序編寫也相對(duì)容易。如下圖所示:</p><p> 圖1.3.1 獨(dú)立鍵盤原理圖</p><p> 方案二:矩陣鍵盤 ,它的缺點(diǎn)是占用IO口太多,如下圖所示:</p><p> 圖1.3.2 矩陣鍵盤原理圖</p><p> 根據(jù)現(xiàn)實(shí)需求,本系統(tǒng)創(chuàng)新性的拋棄這兩種方案,采用紅外遙控器做為系統(tǒng)的按鍵,紅外遙
23、控器可以不受位置的限制來對(duì)萬年歷功能進(jìn)行調(diào)整 和設(shè)置,從而擺脫了壁掛式萬年歷操作不方便的缺點(diǎn),最大限度的給人帶來方便。紅外</p><p> 1.4 顯示模塊選擇</p><p> 方案一: LED數(shù)碼管顯示</p><p> 特點(diǎn):數(shù)碼管顯示比較常用的是采用CD4511和74LS138實(shí)現(xiàn)數(shù)碼轉(zhuǎn)換數(shù)碼顯示分動(dòng)態(tài)顯示和靜態(tài)顯示,靜態(tài)顯示具有鎖存功能,可以使數(shù)據(jù)
24、顯示得很清楚,但浪費(fèi)了一些資源。目前單片機(jī)數(shù)碼管普通采用動(dòng)態(tài)顯示,編程簡(jiǎn)單,但只能顯示數(shù)字,不能顯示中文。</p><p> 方案二: LCD1602</p><p> 特點(diǎn):能夠顯示英文和數(shù)字。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)。</p><p> 方案
25、三: LCD16824</p><p> 作為一種輸出方式,液晶顯示最大的特點(diǎn)就是能夠?qū)崿F(xiàn)友好的人機(jī)界面,它己經(jīng)廣泛應(yīng)用于現(xiàn)代工業(yè)控制和智能化儀器儀表等領(lǐng)域,它己經(jīng)成為單片機(jī)就用開發(fā)領(lǐng)域典型模塊之一。能夠方便的顯示文字和數(shù)字。</p><p> 因此我選擇LCD16824作為顯示模塊。</p><p> 1.5 系統(tǒng)設(shè)計(jì)原理框圖</p><
26、p> 圖1.4 紅外遙控萬年歷系統(tǒng)原理框圖</p><p> 第二章 紅外遙控萬年歷硬件設(shè)計(jì)</p><p> 2.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p> 2.1.1 STC89C52具有下列主要性能: </p><p> ·8KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1000次的寫入/擦除周期)
27、</p><p> ·全靜態(tài)工作:0Hz~24MHz</p><p> ·三級(jí)程序存儲(chǔ)器保密</p><p> ·128×8字節(jié)內(nèi)部RAM</p><p> ·32條可編程I/O線</p><p> ·2個(gè)16位定時(shí)器/計(jì)數(shù)器</p>
28、<p><b> ·6個(gè)中斷源</b></p><p><b> ·可編程串行通道</b></p><p><b> ·片內(nèi)時(shí)鐘振蕩器</b></p><p> 2.1.2 STC89C52的引腳及功能</p><p> ST
29、C89C52單片機(jī)的管腳分布如下圖所示。</p><p> 圖4-2 STC89C52的管腳</p><p> 2.1.3 晶振電路</p><p><b> 圖2 晶振電路</b></p><p> 在晶振電路中,C1、C2為晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,電路中取了30PF。晶振引腳的內(nèi)
30、部通常是一個(gè)反相器。在晶振輸出引腳 XO 和晶振輸入引腳 XI 之間用一個(gè)電阻連接, 很多芯片的引腳內(nèi)部已經(jīng)包含了這個(gè)電阻, 引腳外部就不用接了。這個(gè)電阻是為了使反相器在振蕩初始時(shí)處與線性狀態(tài),反相器就如同一個(gè)有很大增益的放大器, 以便于起振。</p><p> 2.1.4 復(fù)位電路</p><p><b> 圖3 復(fù)位電路</b></p>&l
31、t;p> 單片機(jī)復(fù)位電路有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種方式。上電復(fù)位要求接通電源后,自動(dòng)進(jìn)行復(fù)位操作。手動(dòng)復(fù)位要求接通電源的前提下,在單片機(jī)運(yùn)行的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)進(jìn)行復(fù)位的操作。這里采用的是手動(dòng)復(fù)位。</p><p> 2.2 DS1302時(shí)鐘模塊設(shè)計(jì)</p><p> 2.2.1 DS1302芯片介紹</p><p>
32、 低功耗時(shí)鐘芯片DS1302可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。</p><p> DS1302的性能特性</p><p> ·實(shí)時(shí)時(shí)鐘,可對(duì)年月日,時(shí)分秒,星期以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);</p><p> ·具有31×8位的RAM用于數(shù)據(jù)暫存;</p><p>
33、183;最少三個(gè)I/O引腳即可與MCU進(jìn)行連接;</p><p> ·較寬的電壓工作東圍 3.3 - 5.5 V;</p><p> ·低電壓時(shí)功耗極低;</p><p> ·具有單字節(jié)或多字節(jié)(脈沖方式)兩種數(shù)據(jù)讀寫傳送方式;</p><p> ·可選的慢速充電(至VCC1)的能力。</
34、p><p> (2) DS1302管腳圖</p><p> 圖2.2.1 DS1302管腳圖</p><p> 如果在傳送過程中置RST為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在VCC >=2.3V之前,RST腳必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。DS1302的管腳圖如圖4-3所示,內(nèi)部結(jié)構(gòu)圖如圖
35、4-4所示,表4-2為各引腳的功能。</p><p> 圖2.2.2 DS1302內(nèi)部結(jié)構(gòu)圖</p><p> 表2-2-1 DS1302引腳功能表</p><p> DS1302的控制字如圖4-5所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位5
36、~1(A4~A0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。</p><p> 圖2.2.3 控制字節(jié)的含義</p><p> DS1302的數(shù)據(jù)讀寫時(shí)序如下圖:</p><p> 圖2.2.4 數(shù)據(jù)讀寫程序</p><p> DS1302共有12個(gè)寄存
37、器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表3-3,其中奇數(shù)為讀操作,偶數(shù)為寫操作。</p><p> 表2.2.3 DS1302的日歷、時(shí)鐘寄存器及其控制字</p><p> 時(shí)鐘暫停:秒寄存器的位7定義位時(shí)鐘暫停位。當(dāng)它為1時(shí),DS1302停止振蕩,進(jìn)入低功耗的備份方式。通常在對(duì)DS1302進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序),
38、停止振蕩。當(dāng)它為0時(shí),時(shí)鐘將開始啟動(dòng)。</p><p> 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í)位(20~23h)。</p><p> 2.2.2 DS1302 的應(yīng)用</p
39、><p> 實(shí)時(shí)時(shí)鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。要特別說明的是,備用電源BT1可以用電池或超級(jí)電容(10萬μF以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天),可以用漏電較小的普通電解電容代替(100μF就可以保證1小時(shí)的正常走時(shí))[9]。DS
40、1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間及鬧鈴。DS1302的時(shí)鐘電路如圖3-7所示。</p><p> 圖2-2 DS1302時(shí)鐘電路</p><p> 2.3 紅外編解碼模塊設(shè)計(jì)</p><p> 圖2.3.1 HS0038 紅外接收電路</p><p><b> 2.3.1 概述&
41、lt;/b></p><p> 一體化接收頭(HS0038)接收遙控器用來產(chǎn)生遙控編碼脈沖,完成對(duì)遙控信號(hào)的放大、檢波、整形、解調(diào)出遙控編碼脈沖。遙控編碼脈沖是一組串行二進(jìn)制碼,對(duì)于一般的紅外遙控系統(tǒng),此串行碼輸入到單片機(jī),并由其內(nèi)部CPU完成對(duì)遙控指令解碼,并執(zhí)行相應(yīng)的遙控功能。</p><p> 2.3.2 SMOO38引腳功能</p><p> 表
42、2.3.1 HS0038引腳功能</p><p> 2.3.3 二進(jìn)制碼的解調(diào)</p><p> 圖13 二進(jìn)制碼的解調(diào)過程</p><p> 紅外接收頭接收到遙控信號(hào)需先進(jìn)行解調(diào),其解調(diào)過程如圖13所示,當(dāng)接收到調(diào)制信號(hào)時(shí),輸出高電平,否則輸出為低電平,是調(diào)制的逆過程。HS0038是一體化集成的紅外接收器件,直接就可以輸出解調(diào)后的高低電平信號(hào)。</
43、p><p> 2.3.4 紅外信號(hào)的調(diào)制和發(fā)射</p><p> 紅外信號(hào)的調(diào)制和發(fā)射由單片機(jī)最小系統(tǒng)、矩陣編碼鍵盤和紅外信號(hào)發(fā)射電路組成。單片機(jī)最小系統(tǒng)在前面介紹中已經(jīng)提到,這里就不再贅述。</p><p> 2.3.5 紅外發(fā)射電路</p><p> 圖15 紅外發(fā)射電路</p><p> 如圖所示,經(jīng)單片
44、機(jī)調(diào)制后的編碼信號(hào)由單片機(jī)的P3.2口輸出,經(jīng)紅外發(fā)射二極管D2發(fā)射出去。</p><p> 2.7.2 遙控器鍵盤編碼電路</p><p> 當(dāng)單片機(jī)檢測(cè)到有按鍵被按下時(shí),就發(fā)射與之相對(duì)應(yīng)的二進(jìn)制編碼信號(hào),按鍵和二進(jìn)制編碼信號(hào)的對(duì)應(yīng)關(guān)系見表5。</p><p> 二進(jìn)制信號(hào)(如圖a和b所示)的調(diào)制過程(如圖c所示)由單片機(jī)來完成,它采用PPM編碼 (如圖d所
45、示)。單片機(jī)把編碼后的二進(jìn)制信號(hào)調(diào)制成頻率為38kHz 的間斷脈沖串,相當(dāng)于用二進(jìn)制信號(hào)的編碼乘以頻率為38kHz 的脈沖信號(hào)得到的間斷脈沖串,也即是調(diào)制后用于紅外發(fā)射二極管發(fā)送的信號(hào)。</p><p> 圖a 二進(jìn)制碼1 圖b 二進(jìn)制碼0</p><p> 圖c 二進(jìn)制信號(hào)的調(diào)制</p><p> 圖d PPM編碼格式&
46、lt;/p><p> 表5 按鍵功能及其與遙控編碼的關(guān)系</p><p> 2.4 LCD顯示模塊設(shè)計(jì)</p><p> 帶中文字庫的128X64 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標(biāo)一級(jí)、二級(jí)簡(jiǎn)體 中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192 個(gè)16*16 點(diǎn)漢字,和128 個(gè)16*
47、8 點(diǎn)ASCII 字符 集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4 行16×16 點(diǎn) 陣的漢字. 也可完成圖形顯示. </p><p> 本設(shè)計(jì)中采用的LCD12864的各個(gè)功能引腳 如下:</p><p> 2.4.1 LCD12864內(nèi)部結(jié)構(gòu)圖:</p><p> 圖2.4.1 L
48、CD12864的邏輯電路圖</p><p> 2.4.1 LCD12864應(yīng)和電路圖:</p><p> 圖2.4.2 STC89C52與LCD12864液晶的接口電路</p><p> 根據(jù)以上電路原理圖中液晶的各引腳與單片機(jī)的接法,可得本設(shè)計(jì)的液晶模塊電路如圖4-11所示。VSS接地;數(shù)字電源VDD接+5V;對(duì)比度控制電壓V0接電位器,可通過調(diào)節(jié)電位器調(diào)
49、整液晶亮度;數(shù)據(jù)、指令選擇信號(hào)RS接單片機(jī)P2.0口;讀寫選擇信號(hào)R/W接單片機(jī)P2.1口;單片機(jī)讀、寫選通信號(hào)/RD、/WR通過與非門接液晶的讀寫使能信號(hào)E;DB0~DB7分別接單片機(jī)的P0.0~P0.7口;復(fù)位端RST接P2.4口、選屏顯示端PSB接P2.6端口,背光正電源LEDA接+5V;液晶驅(qū)動(dòng)電壓VEE、背光負(fù)電源LEDK接地。</p><p> 第三章 紅外遙控萬年歷軟件設(shè)計(jì).</p>
50、<p><b> 3.1 主程序設(shè)計(jì)</b></p><p> 主程序的功能: 以80C52為核心,處理外轉(zhuǎn)電路傳進(jìn)來的信號(hào),實(shí)現(xiàn)時(shí)鐘數(shù)據(jù)的讀取,保存,顯示其及鍵盤操作。</p><p><b> 流程圖如下所示:</b></p><p> 3.2 時(shí)鐘模塊DS1302驅(qū)動(dòng)設(shè)計(jì) </p>
51、<p> 3.3 陰歷程序設(shè)計(jì)</p><p> 陰歷程序的實(shí)現(xiàn)是要靠陽歷日期來推算的。要根據(jù)陽歷來推算陰歷日期,首先要設(shè)計(jì)算法。推算方法是,根據(jù)陽歷當(dāng)前日期在一年中的天數(shù)來計(jì)算陰歷日期。陽歷一個(gè)月不是30天就是31天(2月除外,閏年2月為29天,平年2月為28天)。陰歷一年有12個(gè)月或13個(gè)月(含閏月),一個(gè)月為30天或29天。如果把一個(gè)只有29天的月稱為小月,用1為標(biāo)志,把30天的月稱為大月
52、,用0為標(biāo)志,那么12位二進(jìn)制就能表示一年12個(gè)月的大小。如果有閏月,則把閏月的月份作為一個(gè)字節(jié)的高4位,低4位表示閏月大小,大月為0,小月為1,這樣一個(gè)字節(jié)就包括了所有閏月的信息。陰歷春節(jié)和陽歷元旦相差的天數(shù)也用一個(gè)字節(jié)表示。總共用4字節(jié)就可以存儲(chǔ)一年中任何一天陽歷和陰歷的對(duì)應(yīng)關(guān)系的有關(guān)數(shù)據(jù),例如2004年的陰歷和陽歷對(duì)應(yīng)關(guān)系如表4-1所示。</p><p> 表3-3 2004年的陰歷和陽歷對(duì)應(yīng)關(guān)系表&l
53、t;/p><p> 2004年的春節(jié)和元旦差21天,這樣2004年的信息表示為:21,42H,52H,21H。其中表示12個(gè)月大小信息的字節(jié),第4位和第7位不用,第1個(gè)字節(jié)為十進(jìn)制,其它的都為十六進(jìn)制。按此方法,50年的陽歷和陰歷對(duì)應(yīng)關(guān)系表總共使用200字節(jié)。</p><p> 有了算法和數(shù)據(jù)以后,就可以設(shè)計(jì)軟件了。先要根據(jù)當(dāng)前陽歷的日期,算出陽歷為該年中的第幾天。圖5-3為計(jì)算陽歷中任何
54、一天在該年中為第幾天的程序流程圖。</p><p> 圖4-3 計(jì)算陽歷天數(shù)程序流程圖</p><p> 計(jì)算出當(dāng)前陽歷日期為該年中的第幾天后,再減去陽歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年中的總第幾天了。根據(jù)該數(shù)據(jù)就可以推算出具體的當(dāng)前陰歷日期;如果不夠減,則表示當(dāng)前陰歷年為陽歷年的前一年。這種情況下,根據(jù)實(shí)際,當(dāng)前陰歷日期會(huì)處于陰歷11月或12月,此時(shí)春節(jié)和元
55、旦的日差減去前面計(jì)算出的當(dāng)前陽歷日期在陽歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天數(shù)。計(jì)算出的陽歷天數(shù)為該年的第幾天,存放在寄存器R2和R3中。計(jì)算出天數(shù)后,如果大于#FFH,則把#FFH存放在R2中,余值存放在R3中。也就是說在用寄存器R2和R3表示的天數(shù)信息中,R2充當(dāng)主寄存器,數(shù)據(jù)先存滿R2,再存R3。在整個(gè)轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。</p><p> 計(jì)算出陽歷總天數(shù)后,就可以根據(jù)它
56、來推算陰歷日期。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為1,則該天正好是春節(jié)(因?yàn)榇汗?jié)在元旦之后,在計(jì)算春節(jié)和元旦的日差時(shí),假設(shè)元旦為0天,春節(jié)為n天,則日差為n。而前面計(jì)算的陽歷總天數(shù)是該天在該年中的第幾天,是以元旦為1而得到的,與計(jì)算春節(jié)和元旦日差的這樣方法相比,其數(shù)值少了1,所以要在原來本應(yīng)該以0作為該天就是春節(jié)的依據(jù)的基礎(chǔ)上加1,所以以1作為該天是春節(jié)的標(biāo)志);如果結(jié)果小于1,則陰歷應(yīng)該是陽歷的前一年;如果結(jié)果大于
57、1,說明陽歷和陰歷為同一年。再根據(jù)查表所得的該年的陰歷的閏年和大小月的信息,就可以推算出該天的陰歷日期了。圖4-4為由總天數(shù)推算出陰歷日期的程序流程圖。</p><p> 圖4-4 推算陰歷日期的程序流程圖</p><p> 3.4 紅外信號(hào)接收解碼驅(qū)動(dòng)設(shè)計(jì)</p><p> 紅外信號(hào)的的接收通過外部中斷[1]處理函數(shù)來完成的,中斷函數(shù)中判斷按鍵的編碼,然后執(zhí)
58、行相應(yīng)的按鍵動(dòng)作,比如檢測(cè)到鍵S1被按下,則執(zhí)行調(diào)節(jié)時(shí)間的動(dòng)作。</p><p> 圖19 紅外發(fā)射程序流程圖</p><p> 3.5 紅外信號(hào)發(fā)射程序的設(shè)計(jì)</p><p> 紅外發(fā)射程序和紅外接收程序是獨(dú)立的,紅外信號(hào)的發(fā)射和接收分別由各自單片機(jī)來完成。紅外信號(hào)的發(fā)射利用定時(shí)器[12],每隔26us中斷一次,主程序中等待按鍵被按下,若檢測(cè)到有按鍵按下,
59、就調(diào)用紅外發(fā)射函數(shù),發(fā)送相應(yīng)的二進(jìn)制編碼。其程序流程圖見圖20。</p><p> 圖20 紅外發(fā)射程序流程圖</p><p> 3.6 時(shí)間調(diào)整子程序設(shè)計(jì)</p><p> 調(diào)整時(shí)間用五個(gè)調(diào)整按鈕,一個(gè)作為設(shè)置鍵、控制用,一個(gè)作為退出設(shè)置按鍵,一個(gè)作為鬧鈴開關(guān)用,剩下兩個(gè)是對(duì)設(shè)置位的加,減操作。</p><p> 圖3-6 時(shí)間調(diào)
60、整程序流程圖</p><p><b> 第四章 系統(tǒng)調(diào)試</b></p><p> 系統(tǒng)調(diào)試包括軟件調(diào)試和硬件調(diào)試。硬件調(diào)試的任務(wù)是排除所焊接電路故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試。調(diào)試的一般過程如下所示:</p><p> 系統(tǒng)調(diào)試的一般過程是上電運(yùn)行后觀察其運(yùn)行狀態(tài),數(shù)碼管是否點(diǎn)亮等。軟件調(diào)試先是各個(gè)模塊、各個(gè)子程序分別調(diào)
61、試,最后進(jìn)行系統(tǒng)聯(lián)機(jī)調(diào)試。</p><p><b> 4.1 軟件調(diào)試</b></p><p> 對(duì)于本設(shè)計(jì)采用proteus軟件進(jìn)行了仿真和驗(yàn)證,過程和結(jié)果如下:</p><p> 1.打開Proteus軟件。</p><p> 2.選擇file菜單下的 open design選項(xiàng),找到所需的元器件,元器件上單
62、擊右鍵選中,再單擊左鍵對(duì)其進(jìn)行命名和賦值,接著在編輯器左邊的一欄中,找出并繪制設(shè)計(jì)所要的各種元器件,按照電路圖連接后并保存。</p><p> 3.將用keil編譯產(chǎn)生的hex文件下載到單片機(jī)中:雙擊51單片機(jī),在對(duì)話框中把保存過的hex文件打開,再單擊確定。 </p><p> 4.單擊左下角運(yùn)行按鈕,進(jìn)行軟件仿真調(diào)試,直到出現(xiàn)正確的結(jié)果。</p><p>
63、 下圖為軟件的仿真窗口圖:</p><p><b> 4.2 硬件調(diào)試</b></p><p> 設(shè)計(jì)的過程中,對(duì)硬件的檢測(cè)和對(duì)軟件的測(cè)試都不能忽略,因?yàn)樵谙到y(tǒng)的仿真過程中。各元件都是理想的,而在設(shè)計(jì)實(shí)際電路時(shí),就需要多方面考慮。要先對(duì)元件進(jìn)行檢測(cè),然后進(jìn)行調(diào)試。例如如果在設(shè)計(jì)中不加任何驅(qū)動(dòng),在仿真軟件中仍然可以正常計(jì)價(jià),但是在具體硬件焊接時(shí),需要考慮電路的驅(qū)動(dòng)能
64、力。 </p><p> 在已經(jīng)焊接好的電路板上,要對(duì)其各個(gè)元器件進(jìn)行檢查。一般情況下,集成電路不會(huì)出現(xiàn)故障。在本設(shè)計(jì)中采用了先焊接插槽的方法,這可以避免一些元件在焊接的過程中被燒壞。另外在焊接數(shù)碼管時(shí),要先排線,再焊接以免線路混亂。元件在選購時(shí)需要多備選元件,元件的型號(hào)較多,產(chǎn)品質(zhì)量沒有可靠保證,就避免不了我買的元器件是損壞的,再加上焊接是在萬能板上焊接的。就有可能發(fā)生虛焊,短路等情況的發(fā)生。所以,在焊接好每
65、個(gè)元件后都要進(jìn)行檢測(cè),以保證焊接無誤。焊接好電路板,把相應(yīng)的芯片插到對(duì)應(yīng)的插槽中,再檢一次,看芯片是否與插槽接觸良好。 </p><p> 顯示部分檢測(cè)的目的是看數(shù)碼管是否能夠正常顯示。如果不該亮的字段點(diǎn)亮,檢測(cè)是因否有短路的情況;如果數(shù)碼管不顯示,說明位選端可能沒有焊好;如果顯示不夠亮,則應(yīng)該檢查驅(qū)動(dòng)電路。</p><p> 晶振部分使用示波器查看波形。如果出現(xiàn)看不到12MHZ的正弦
66、波形的現(xiàn)象,說明此部分電路不正常。</p><p><b> 總 結(jié)</b></p><p> 經(jīng)過多次的反復(fù)測(cè)試與分析,掌握了硬件的設(shè)計(jì)與分析的能力, 學(xué)會(huì)看英文版的Datashee,同時(shí)在軟件的編程方面得到更到的提高,對(duì)編程能力得到加強(qiáng).對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固.</p><p><b> 最終實(shí)現(xiàn)功能: <
67、/b></p><p> (1)能顯示陽歷年、月、日、星期、小時(shí)、分、秒。</p><p> ?。?)顯示模塊采用LCD液晶顯示,要求能用紅外遙控器調(diào)整時(shí)間。</p><p> ?。?)能顯示陰歷月、日,在顯示陰歷時(shí)間時(shí)能標(biāo)明是否為閏年。</p><p> ?。?)具有定時(shí)報(bào)警功能,能夠進(jìn)行整點(diǎn)報(bào)時(shí)。</p><p
68、><b> 參考文獻(xiàn)</b></p><p> [1] 周興華,等.手把手教你學(xué)單片機(jī)C程序設(shè)計(jì),北京:北京航空航天大學(xué)出版社,2007</p><p> [2] 侯玉寶,等.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真,北京:電子工業(yè)出版社,2008</p><p> [3] 張義和,等.例說51單片機(jī)(C語言),北京:人民郵電
69、出版社,2008</p><p> [4] 杜洋,等.愛上單片機(jī)(第2版),人民郵電出版社,2011</p><p><b> 致 謝</b></p><p> 在此感謝我們的xx老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次課程設(shè)計(jì)的原理圖、PCB制作以及每一步
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)電子萬年歷畢業(yè)論文
- 單片機(jī)電子萬年歷畢業(yè)論文
- 單片機(jī)電子萬年歷畢業(yè)論文
- 基于單片機(jī)萬年歷的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的電子萬年歷畢業(yè)論文
- 基于51單片機(jī)電子萬年歷畢業(yè)論文
- 萬年歷畢業(yè)論文---基于at89s52單片機(jī)的電子萬年歷設(shè)計(jì)
- 基于單片機(jī)萬年歷的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)電子萬年歷的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的電子萬年歷
- 萬年歷設(shè)計(jì)畢業(yè)論文
- 基于51單片機(jī)的電子萬年歷畢業(yè)論文設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)畢業(yè)論文
- 電子萬年歷畢業(yè)論文
- 基于51單片機(jī)電子萬年歷
- 51單片機(jī)萬年歷畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的電子萬年歷
- 基于單片機(jī)的電子萬年歷
- 基于單片機(jī)的萬年歷畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)的電子萬年歷設(shè)計(jì)-畢業(yè)論文設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論