單片機(jī)課程設(shè)計(jì)(論文)紅外遙控?cái)?shù)字鐘有程序_第1頁
單片機(jī)課程設(shè)計(jì)(論文)紅外遙控?cái)?shù)字鐘有程序_第2頁
單片機(jī)課程設(shè)計(jì)(論文)紅外遙控?cái)?shù)字鐘有程序_第3頁
單片機(jī)課程設(shè)計(jì)(論文)紅外遙控?cái)?shù)字鐘有程序_第4頁
單片機(jī)課程設(shè)計(jì)(論文)紅外遙控?cái)?shù)字鐘有程序_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計(jì)(論文)說明書題 目:紅外遙控?cái)?shù)字鐘 院 (系):信息與通信學(xué)院 專 業(yè):微電子學(xué) 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 職 稱:講師 2011年 12 月 12 日摘 要 本系統(tǒng)采用at89s52單片機(jī)與hs0038、ds1302配合,實(shí)現(xiàn)具有修改、保存功能的紅外遙控?cái)?shù)字鐘,并用一塊lcd1602顯示屏顯示數(shù)字鐘的實(shí)時(shí)時(shí)間、日期和星期。數(shù)字鐘的設(shè)定、修改功能由紅外線遙控器及hs0038配合遙控控制。ds1302可以實(shí)現(xiàn)對系統(tǒng)的時(shí)、分、秒、日期和星期等信息的保存,使系統(tǒng)在掉電的情況下仍然能夠準(zhǔn)確的保存并運(yùn)行時(shí)間信息。另外系統(tǒng)裝有1個(gè)獨(dú)立的按鍵,實(shí)現(xiàn)復(fù)位功能。關(guān)鍵詞:at89s52;hs0

2、038;ds1302;數(shù)字鐘abstractthe system uses the microcontroller and the ds1302 with at89s52, real-time time date and week of preservation and display. there is also a lcd1602 display system to display the system date and time required for the symbol. ds1302 can be achieved on the system is the hours, minu

3、tes, seconds, date, and save information such as a week, the system in case of power-down will still be able to save and run-time and accurate information.keywords:at89s52;hs0038;ds1302; digital clock目 錄引言 11 方案確定及元器件原理分析 11.1 設(shè)計(jì)要求 11.2 各模塊方案選擇 11.3 最終選擇方案 72 系統(tǒng)硬件設(shè)計(jì) 72.1 ds1302時(shí)鐘電路 72.2 紅外接收部分電路 82.

4、3 顯示部分電路 82.4 單片機(jī)復(fù)位電路 82.5 電源電路 92.6 總電路原理圖 92.7 總電路pcb 93 系統(tǒng)軟件設(shè)計(jì) 103.1 初始化程序設(shè)計(jì) 113.2 紅外解碼程序設(shè)計(jì) 113.3 時(shí)鐘設(shè)置程序的設(shè)計(jì) 113.4 時(shí)鐘顯示的設(shè)計(jì) 114 電路調(diào)試 125 改進(jìn)方案 125.1 整點(diǎn)報(bào)時(shí)功能 125.2 鬧鈴功能 125.3 陰歷顯示功能 126 結(jié)束語 13謝辭 14參考文獻(xiàn) 15附錄 16引言遠(yuǎn)程遙控技術(shù)有稱為遙控技術(shù),是指實(shí)現(xiàn)對被控目標(biāo)的遙遠(yuǎn)控制,在工業(yè)控制、航空航天、家電領(lǐng)域應(yīng)用廣泛。紅外遙控是一種無線、非接觸控制技術(shù),具有抗干擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,

5、易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用,并越來越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。由于紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對象的能力,所以,在設(shè)計(jì)家用電器的紅外線遙控器時(shí),不必要像無線電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否則,就會(huì)隔墻控制或干擾鄰居的家用電器),所以同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會(huì)出現(xiàn)遙控信號(hào)“串門”的情況。這對于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方便。由于紅外線為不可見光,因此對環(huán)境影響很小,再由紅外光波動(dòng)波長遠(yuǎn)小于無線電波的波長,所以紅外線遙控不會(huì)影響其他家用電器,也不會(huì)影響臨近的無

6、線中設(shè)備。紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空調(diào)機(jī)以及玩具等其他小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅可以完全可靠而且能有效地隔離電器干擾。紅外線遙控也成為了目前使用最廣泛的一種通信和遙控手段。本文便是基于紅外技術(shù)實(shí)現(xiàn)數(shù)字鐘的遙控控制。1 方案確定及元器件原理分析1.1 設(shè)計(jì)要求采用市面上的萬能遙控器作為本作品的遙控設(shè)備制作一個(gè)時(shí)鐘能夠通過遙控器對時(shí)鐘進(jìn)行時(shí)間修改和相關(guān)功能的設(shè)定其他創(chuàng)新功能1.2 各模塊方案選擇 (1)主模塊的選擇和說明。目前在單片機(jī)系統(tǒng)中,應(yīng)

7、用比較廣泛的微處理器芯片主要為8xs5x系列單片機(jī)。為了完成時(shí)鐘設(shè)計(jì),應(yīng)用at89s52單片機(jī)完全可以實(shí)現(xiàn)。但是本設(shè)計(jì)中需要更多的i/o引腳,故本設(shè)計(jì)采用具有32根i/o引腳的at89s52單片機(jī)。(2)at89s52簡介。at89s52是美國atmel公司生產(chǎn)的低電壓、高性能的cmos8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(perom)和256bytes的隨即存取數(shù)據(jù)存儲(chǔ)器(ram),期間采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)的mcs-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用的8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大。at89s5

8、2單片機(jī)審核于許多較為復(fù)雜控制應(yīng)用場合。1)at89c52主要性能參數(shù): 與mcs51產(chǎn)品指令和引腳完全兼容 ,具有8k字節(jié)可重擦寫flash閃速存儲(chǔ)器 ,1000次擦寫周期 ,全靜態(tài)操作:0hz24mhz ,三級(jí)加密程序存儲(chǔ)器 ,2568字節(jié)內(nèi)部ram ,32個(gè)可編程i/o口線 ,3個(gè)16位定時(shí)器/計(jì)數(shù)器 ,8個(gè)中斷源 ,低功耗空閑和掉電方式 。2)mcs51單片機(jī)的中斷系統(tǒng) 中斷源 mcs51單片機(jī)是一個(gè)多中斷源的單片機(jī),有五個(gè)中斷源:外部中斷0、定時(shí)器0中斷、外部中斷1、定時(shí)器1中斷和串行接收或發(fā)送中斷。 各中斷源的中斷處理程序入口地址如下表1所示:表1 中斷向量表中斷源入口地址外部中斷

9、00003h定時(shí)器0000bh外部中斷10013h定時(shí)器1001bh串行口0023h中斷控制 a中斷的開放或禁止是由中斷允許寄存器ie控制的。ie的格式如下表2: 表2 中斷允許寄存器ie格式eaeset1ex1et0ex0ea中斷總允許位。ea1,開放總中斷,而各個(gè)中斷源的中斷請求是允許還是禁止,分別由各自的中斷允許位確定;ea=0,禁止一切中斷。 es串行口中斷允許位。 et1和et0分別是定時(shí)器t1和t0的中斷允許位。 ex1和ex0分別是外部中斷1(int1)和外部中斷0(int0)的中斷允許位。 以上五個(gè)中斷允許位的意義是:0為禁止中斷,1為允許中斷。 b中斷源優(yōu)先級(jí)控制中斷優(yōu)先級(jí)寄

10、存器ip。 mcs51單片機(jī)有高、低兩個(gè)中斷優(yōu)先級(jí),5個(gè)中斷源可由程序設(shè)置為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,實(shí)現(xiàn)二級(jí)中斷嵌套。一個(gè)正在執(zhí)行的低優(yōu)先級(jí)中斷源的中斷服務(wù)程序,能被高優(yōu)先級(jí)中斷源所中斷,但不能被同級(jí)別的另一個(gè)中斷源所中斷。mcs51單片機(jī)的5個(gè)中斷源的優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器ip的相應(yīng)位設(shè)定,如表3。表3 ip格式pspt1px1pt0px0ps是串行口的中斷優(yōu)先級(jí)控制位。 pt1和pt0分別是定時(shí)器t1和t0的中斷優(yōu)先級(jí)控制位。 px1和px0分別是外部中斷int1和int0的中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位的意義是:0為設(shè)定為低優(yōu)先級(jí)中斷源;1為設(shè)定為高優(yōu)先級(jí)中斷。 如果同優(yōu)先級(jí)的

11、多個(gè)中斷請求同時(shí)出現(xiàn)時(shí),則按mcs51單片機(jī)的cpu查詢次序確定那個(gè)中斷請求被響應(yīng),其查詢次序?yàn)椋篿e0、tf0、ie1、tf1、ri或ti。 (3)時(shí)鐘芯片的選擇。ds1302存在時(shí)鐘精度不高,易受環(huán)境影響,出現(xiàn)時(shí)鐘混亂等缺點(diǎn),但ds1302可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對長時(shí)間的連續(xù)測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒有具體的時(shí)間記錄,因此,只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中

12、斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且,某些測控系統(tǒng)可能不允許。但是,如果在系統(tǒng)中采用時(shí)鐘芯片ds1302,則能好地解決這個(gè)問題。 (4)ds1302簡介。ds1302是美國dallas公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘日歷芯片,附加31字節(jié)靜態(tài)ram,采用spi三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和ram數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.55.5v。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。有主電源和備份電源雙引

13、腳,而且備份電源可由大容量電容(1f)來替代。ds1302在第一次加電后,必須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。需要強(qiáng)調(diào)的是,ds1302需要使用32.768khz的晶振。其管腳說明如圖1-1和表4所示。圖1-1 ds1302芯片引腳圖表4 ds1302引腳功能說明引腳號(hào)名稱功能1vcc1備份電源輸入2x132.768khz晶振輸入3x232.768khz晶振輸出4gnd地線5rst控制移位寄存器/復(fù)位6i/o數(shù)據(jù)輸入/輸出7sclk串行時(shí)鐘8vcc2主電源輸入ds1302的控制字如表5所示。控制字節(jié)的最高有效位(位7)必須是邏輯1;如果它為0。則不能把數(shù)據(jù)寫入到ds1302中

14、。位6如果為0。則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。 為了提高對32個(gè)地址的尋址能力(地址/命令位15 = 邏輯1),可以把時(shí)鐘/日歷或ram寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時(shí)鐘或ram,而位0規(guī)定讀或?qū)憽T跁r(shí)鐘/日歷寄存器中的地址931或ram寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫ram時(shí),為了傳送數(shù)據(jù)不必寫所有31字節(jié),不管是否寫了

15、全部31字節(jié),所寫的每一字都將傳送至ram。 表5 ds1302的控制字1ramcka4a3a2a1a0rd wds1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。其日歷、時(shí)間寄存器及其控制字見表6,其中奇數(shù)為讀操作,偶數(shù)為寫操作。 時(shí)鐘暫停:秒寄存器的位7定義位時(shí)鐘暫停位。當(dāng)它為1時(shí),ds1302停止振蕩,進(jìn)入低功耗的備份方式。通常在對ds1302進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序),停止振蕩。當(dāng)它為0時(shí),時(shí)鐘將開始啟動(dòng)。 am-pm/12-24小時(shí)方式:小時(shí)寄存器的位7定義為12或24小時(shí)方式選擇位。它為高電平時(shí),選擇12小時(shí)方式。在此方式下,位5是a

16、m/pm位,此位是高電平時(shí)表示pm,低電平表示am。在24小時(shí)方式下,位5為第二個(gè)10小時(shí)位(2023h)。 表6 內(nèi)部寄存器地址和內(nèi)容寄存器名命令字節(jié)取值范圍寄存器內(nèi)容寫讀76543210秒寄存器80h 81h0059ch10ssec分寄存器82h 83h0059010minmin小時(shí)寄存器84h 85h0023或011212/24010a/phrhr日期寄存器86h 87h0128,29,30,310010datedate月份寄存器88h 89h011200010mmonth周寄存器8ah8bh010700000day年寄存器8ch8bh009910yearyear(5)顯示模塊的選擇。本

17、實(shí)驗(yàn)中要顯示的信息比較多,選擇數(shù)碼管顯示的話需要的數(shù)碼管數(shù)量將會(huì)很多,將是線路復(fù)雜,pcb布線混亂,因此選擇lcd1602作為顯示模塊。(6)lcd1602簡介。lcd1602字符lcd基本操作有以下四種: 讀狀態(tài):輸入信號(hào):rs=0,rw=1,e=1 輸出信號(hào):d0d7=狀態(tài)字 讀數(shù)據(jù):輸入信號(hào):rs=1,rw=1,e=1 輸出信號(hào):d0d7=數(shù)據(jù) 寫指令:輸入信號(hào):rs=0,rw=0,e=1-0 輸出信號(hào):d0d7=指令 寫數(shù)據(jù):輸入信號(hào):rs=1,rw=0,e=1-0 輸出信號(hào):d0d7=數(shù)據(jù) lcd1602的讀寫順序如下,通常的讀寫頻率為250khz左右。指令說明如表7所示。 表7 l

18、cd1602指令說明指令碼功能0x38設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口0x28設(shè)置162顯示,57點(diǎn)陣,4位數(shù)據(jù)接口0x01清屏:數(shù)據(jù)指針清0,所有顯示清00x08顯示關(guān)0x0c顯示開0x06當(dāng)讀或?qū)懸粋€(gè)字符后,地址指針自動(dòng)加10x40設(shè)置cgram地址為00x80+地址設(shè)置1602第一行的數(shù)據(jù)指針初始地址0xc0+地址設(shè)置1602第二行的數(shù)據(jù)指針初始地址1602初始化流程: 延時(shí)20ms。 寫指令38h。延時(shí)20ms。 寫指令38h。 延時(shí)20ms。 寫指令38h:設(shè)置顯示模式。 寫指令08h:顯示關(guān)閉。 寫指令01h:清屏。 寫指令06h:光標(biāo)移動(dòng)設(shè)置。 寫指令08h:顯示開及光標(biāo)設(shè)

19、置。 (7)紅外遙控解碼方式的選擇。我們采用普通的家用電器遙控器作為控制信號(hào)發(fā)出裝置,當(dāng)按下遙控器的設(shè)置鍵后,紅外接收裝置接收到遙控器發(fā)出的紅外線控制信號(hào),然后把這個(gè)信號(hào)轉(zhuǎn)換成電信號(hào),傳到單片機(jī)中,利用單片機(jī)對這個(gè)信號(hào)進(jìn)行解碼,解碼完成后查表確定是不是設(shè)置信號(hào),當(dāng)這個(gè)信號(hào)是設(shè)置信號(hào)后,啟動(dòng)設(shè)置子程序,那么以后接收到的紅外信號(hào)就是設(shè)置的時(shí)間信號(hào)了,單片機(jī)再對這些信號(hào)進(jìn)行解碼,查表判斷出數(shù)值是多少,然后設(shè)置,設(shè)置完時(shí)間后要進(jìn)行確認(rèn),當(dāng)遙控器發(fā)出確認(rèn)信號(hào)后,單片機(jī)收到這個(gè)信號(hào)并查表判斷這是確認(rèn)信號(hào)后,執(zhí)行確認(rèn)指令,使設(shè)置生效,從而達(dá)到控制電源通斷的目的。 該方案為軟件解碼方案,軟件解碼可以不考慮遙控

20、器的芯片是什么型號(hào)的,因?yàn)槲覀冎恍铏z測到它的發(fā)射編碼,然后用軟件方式來對它進(jìn)行處理,從而得到所要的信息。軟件解碼具有靈活、硬件精簡(僅需集成紅外接收頭和一片單片機(jī))、可靠性高,成本低等特點(diǎn)。經(jīng)以上的論證,可以采用軟件解碼方案,成本低,方便實(shí)現(xiàn),并且系統(tǒng)整體性能和可靠性高。 (8)紅外遙控解碼系統(tǒng)組成 供電電源電路(給微處理器at89s52和紅外一體化接收頭hs0038提供工作需要的5v電壓) 微控制器at89s52系統(tǒng)(系統(tǒng)的核心部分) 紅外接收電路(接收系統(tǒng)所配備遙控器所發(fā)出的紅外信號(hào)) 看門狗和eeprom 存儲(chǔ)電路(防止系統(tǒng)死機(jī)和存儲(chǔ)編碼信號(hào)) 執(zhí)行電路(控制被控電器電源) (9)紅外一

21、體化接收頭hs0038。其中hs0038為黑色環(huán)氧樹脂封裝,不受日光、熒光燈等光源干擾,內(nèi)附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號(hào)情況下,其接收距離可達(dá)35m。它能與ttl、coms 電路兼容。hs0038為直立側(cè)面收光型。它接收紅外信號(hào)頻率為38 khz,周期約26 s,同時(shí)能對信號(hào)進(jìn)行放大、檢波、整形,得到ttl電平的編碼信號(hào)。其外形圖如下圖1-2所示,三個(gè)管腳分別是地、5 v 電源、解調(diào)信號(hào)輸出端。 圖1-2 紅外接收器外形圖紅外一體化接收頭的測試方法:在hs0038的電源端與信號(hào)輸出端之間接上一只二極管及一只發(fā)光二極管后,再配上規(guī)定的工作電源(為5v),當(dāng)手拿遙控器對著接收

22、頭按任意鍵時(shí),發(fā)光二極管會(huì)閃爍,說明紅外接收頭和遙控器工作都正常;如果發(fā)光二極管不閃爍發(fā)光,說明紅外接收頭和遙控器至少有一個(gè)損壞。只要確保遙控器工作正常,很容易判斷紅外接收頭的優(yōu)劣。 識(shí)別方法分析:為了用軟件識(shí)別以上波形,采用與程控交換機(jī)中“脈沖號(hào)碼識(shí)別法”類似的方法來解決。用掃描的方式對接收波形快速掃描,然后根據(jù)掃描結(jié)果分析出編碼值。識(shí)別編碼的關(guān)鍵之一是確定掃描周期。分析波形和參數(shù)知道:整個(gè)數(shù)據(jù)14位,總時(shí)長為22ms25ms,則一個(gè)數(shù)據(jù)位時(shí)長為1.5ms1.8ms,占空比1:1,脈寬為750s900s。在編程時(shí)要考慮脈寬的偏差容限,為保證掃描精度,選取掃描周期為100s。識(shí)別編碼的關(guān)鍵之二

23、是判別“0”和“1”。數(shù)據(jù)“0”為波形從低到高,即在相鄰的2次掃描中,掃描值從0到1,則識(shí)別數(shù)據(jù)為“0”;數(shù)據(jù)“1”為波形從高到低,即在相鄰的2次掃描中,掃描值從1到0,則識(shí)別數(shù)據(jù)為“1”。 1.3 最終選擇方案 經(jīng)過方案比較和論證,選擇at89s52作為主控芯片,時(shí)鐘芯片選擇ds1302,應(yīng)用hs0038的紅外遙控解碼電路,顯示模塊用lcd1602。最后選擇的方案如下圖1-3所示:圖1-3 電路系統(tǒng)構(gòu)成框圖2 系統(tǒng)硬件設(shè)計(jì) 2.1 ds1302時(shí)鐘電路 時(shí)鐘芯片ds1302與單片機(jī)at89s52的接口是由3條線來完成的,單片機(jī)at89s52的p1.2用來作為ds1302輸入時(shí)鐘sclk控制端

24、,p1.3與時(shí)鐘芯片的數(shù)據(jù)傳輸端相連,p1.4控制ds1302的復(fù)位輸入端。ds1302的第8管腳與一個(gè)獨(dú)立電池連接,2、3管腳接標(biāo)準(zhǔn)32.768khz石英晶振。ds1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿被輸出。無論是讀周期還是寫周期,開始8位指定40存器中哪個(gè)將被訪問到。在開始8個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的始終周期在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字?jǐn)?shù)。ds1302電路原理圖如下圖2-1所示。 圖2-1 d

25、s1302時(shí)鐘電路原理圖2.2 紅外接收部分電路 利用hs0038接收紅外線控制信號(hào)的電路原理圖如下圖2-2所示,hs0038紅外接收探頭連接到單片機(jī)的int0口組成的。 圖2-2 紅外接收部分電路原理圖2.3 顯示部分電路 液晶顯示器lcd1602與單片機(jī)at89s52的接口由一組8位數(shù)據(jù)傳輸線和3根控制線完成。lcd1602的e、rw、rs分別由單片機(jī)的p3.5、p3.6、p3.7來控制,數(shù)據(jù)輸入口db0db7由p2.0p2.7傳輸數(shù)據(jù)。接口3接2k電位器,用于調(diào)節(jié)屏幕亮度。lcd1602與單片機(jī)的接口電路如圖2-3所示。 圖2-3 顯示部分電路原理圖2.4 單片機(jī)復(fù)位電路 單片機(jī)at89

26、s52作為主控芯片,控制整個(gè)電路的運(yùn)行。單片機(jī)外圍需要一個(gè)復(fù)位電路,要求rst端腳維持高電平大于10ms以上。電阻和電容的值隨時(shí)鐘頻率的不同而變化。復(fù)位電路的設(shè)計(jì)圖如圖2-4示。圖2-4 復(fù)位電路設(shè)計(jì)圖2.5 電源電路 時(shí)鐘芯片ds1302有很寬的工作電壓范圍,其工作電壓為2.55.5v。單片機(jī)at89s52的工作電壓范圍相對較窄,為4.05.5v,所以本設(shè)計(jì)中,利用紐扣電池給電路提供+5v電壓。在電路中接入一個(gè)發(fā)光二極管作為指示燈,可以很方便地指示電源與電路是否接通。該設(shè)計(jì)的電源部分如圖2-5所示。 圖2-5 電源電路2.6 總電路原理圖 在protel99se中繪制的該紅外遙控?cái)?shù)字鐘總電路

27、原理圖如下圖2-6所示。圖2-6 電路原理圖2.7 總電路pcb 布線時(shí)采用雙面布線的方式,使得最后安裝的lcd恰好可以把電路板完全覆蓋,避免了多跳線的排布,同時(shí)節(jié)約銅板材料,使數(shù)字鐘外觀更美觀簡潔,符合產(chǎn)品設(shè)計(jì)需求。其pcb如圖2-7所示。 圖2-7 電路pcb3 系統(tǒng)軟件設(shè)計(jì) 紅外遙控?cái)?shù)字鐘要求實(shí)現(xiàn)屏顯年、月、日、時(shí)分、秒、星期,且可以修改數(shù)據(jù)。根據(jù)要求,分析得出程序設(shè)計(jì)一共有四個(gè)主要模塊:初始化程序設(shè)計(jì),hs0038紅外解碼設(shè)計(jì),時(shí)鐘設(shè)置和屏幕顯示。主程序流程圖如下圖3-1所示。 圖3-1 主程序流程圖3.1 初始化程序設(shè)計(jì) 初始化程序設(shè)計(jì),包括lcd1602、hs0038、ds1302

28、、at89s52芯片的初始化。 3.2 紅外解碼程序設(shè)計(jì) 初始化模塊后,系統(tǒng)在接收到遙控器的紅外信號(hào)時(shí),需要對紅外信號(hào)進(jìn)行解碼,才能得知遙控器發(fā)出的命令是什么,之后才可以做出相應(yīng)的行動(dòng)。紅外解碼后,將相應(yīng)碼源存入緩存區(qū)。 紅外接收裝置hs0038接收到遙控器發(fā)出的紅外線控制信號(hào),然后把這個(gè)信號(hào)轉(zhuǎn)換成電信號(hào),傳到單片機(jī)中,利用單片機(jī)的中斷設(shè)置計(jì)數(shù),實(shí)現(xiàn)紅外解碼。 3.3 時(shí)鐘設(shè)置程序的設(shè)計(jì) 設(shè)計(jì)程序,使數(shù)字鐘通過紅外線遙控器上6個(gè)按鍵:設(shè)置,確認(rèn),頻道上、下選擇,數(shù)值增、減選擇的命令進(jìn)行時(shí)間設(shè)置。程序流程圖如圖3-2所示。 圖3-2 時(shí)間調(diào)整流程圖3.4 時(shí)鐘顯示的設(shè)計(jì) 因?yàn)槭褂昧藭r(shí)鐘芯片ds1

29、302,陽歷程序只需要從ds1302各寄存器中讀出年、月、日、小時(shí)、分、星期等數(shù)據(jù),再處理既可。在首次對ds1302進(jìn)行操作之前,必須對他進(jìn)行初始化,然后從ds1302中讀出數(shù)據(jù),再經(jīng)過處理后,送給顯示緩存單元。時(shí)鐘顯示程序流程圖見圖3-4所示。圖3-4 陽歷程序流程圖4 電路調(diào)試電路調(diào)試電路調(diào)試電路調(diào)試 完成電路板腐蝕、原件焊接等硬件制作工序后,首先把檢測程序下載到單片機(jī),在檢查完所有電路均沒有短路后,給電路板接上電源,并按下復(fù)位鍵確定單片機(jī)最小系統(tǒng)及l(fā)cd1602等基本元器件是否工作。 確保單片機(jī)最小系統(tǒng)正常工作之后,把本次實(shí)訓(xùn)的程序下載到單片機(jī),接上電源并按下復(fù)位鍵,此時(shí)應(yīng)該看到lcd1

30、602顯示出程序初始化的時(shí)間,并看到秒鐘正常運(yùn)作,這就說明ds1302工作正常。若看不到初始化設(shè)置的時(shí)鐘,或者時(shí)鐘不走,則說明是ds1302沒有工作,先檢查ds1302的晶振及ds1302各個(gè)管件是否有短路或者虛焊現(xiàn)象。 此后用萬能遙控器進(jìn)行數(shù)字鐘設(shè)置功能測試。將遙控器對準(zhǔn)一體化紅外接收頭hs0038,依次測試按下遙控器的時(shí)鐘設(shè)置按鍵;項(xiàng)目選擇按鍵;數(shù)值增、減按鍵和確認(rèn)按鍵,觀察設(shè)置是否能順利進(jìn)行,完成時(shí)鐘、日期修改。若不能實(shí)現(xiàn)上述功能,則可以嘗試改變解碼程序的延時(shí),因?yàn)閷?shí)際電路的延時(shí)跟理論有略微差別。 到此,表示整個(gè)電路功能全部檢測完成。 5 改進(jìn)方案 5.1 整點(diǎn)報(bào)時(shí)功能 只需在電路中接入

31、一個(gè)簡單的蜂鳴器電路,便可通過修改ds1302讀取時(shí)鐘數(shù)據(jù)程序,加入一系列條件語句使之每逢整點(diǎn)實(shí)現(xiàn)報(bào)時(shí)功能。5.2 鬧鈴功能 與整點(diǎn)報(bào)時(shí)功能相似,需要在電路中接入一個(gè)簡單的蜂鳴器電路,通過增加設(shè)置鬧鐘程序模塊,每當(dāng)ds1302讀取到所設(shè)鬧鈴時(shí)間時(shí)便可實(shí)現(xiàn)響鈴功能。 5.3 陰歷顯示功能 陰歷程序的實(shí)現(xiàn)是要靠陽歷日期來推算。首先確定計(jì)算方法。陽歷一個(gè)月為30天或31天(2月除外,閏年2月為29天,平年2月為28天)。陰歷一年有12個(gè)月或13個(gè)月(含閏月),一個(gè)月為30天或29天。如果把一個(gè)只有29天的月稱為小月,用1為標(biāo)志,把30天的月稱為大月,用0為標(biāo)志,那么12位二進(jìn)制能表示一年12個(gè)月的大

32、小。如果有閏月,則把閏月的月份作為一個(gè)字節(jié)的高4位,低4位表示閏月大小,大月為0,小月為1,這樣一個(gè)字節(jié)就包含了所有閏月的信息。陰歷春節(jié)和陽歷元旦相差的天數(shù)也用一個(gè)字節(jié)表示。總共用4字節(jié)就可以存儲(chǔ)一年中任何一天陽歷和陰歷的對應(yīng)關(guān)系的有關(guān)數(shù)據(jù)。6 結(jié)束語通過該次課設(shè),我從中了解到了各種集成電路方面的知識(shí),熟悉了之前從未接觸過的hs0038紅外線信號(hào)接收器和ds1302時(shí)鐘芯片,在同學(xué)的指導(dǎo)下,學(xué)會(huì)了hs0038的簡單性能測試方法:在hs0038的電源端與信號(hào)輸出端之間接上一只二極管及一只發(fā)光二極管后,再配上規(guī)定的工作電源(為5v),當(dāng)手拿遙控器對著接收頭按任意鍵時(shí),發(fā)光二極管會(huì)閃爍,說明紅外接收

33、頭和遙控器工作都正常;如果發(fā)光二極管不閃爍發(fā)光,說明紅外接收頭和遙控器至少有一個(gè)損壞。所以只要確保遙控器工作正常,很容易判斷紅外接收頭的優(yōu)劣。增強(qiáng)了動(dòng)手能力,能完全從實(shí)驗(yàn)室做出一塊完整可用的電路板,學(xué)會(huì)了充分利用手頭的工具對電路的制作安裝,焊接調(diào)試及檢測等步驟,也感覺到各種器件資源的寶貴,更懂得珍惜資源,不浪費(fèi)任何一個(gè)元器件。 謝 辭在此,我要感謝我的同學(xué)對我的幫助,他教會(huì)了我如何去分析題目以及分析題目的意思,我才能對癥下藥。我也要感謝老師每次耐心地指出我的錯(cuò)誤,使我對論文格式有了深入的了解,而且認(rèn)識(shí)到對細(xì)節(jié)部分一定要認(rèn)真對待,不可因小失大。此次的課程設(shè)計(jì),使我對該知識(shí)得到鞏固,也讓我對該知識(shí)

34、得到進(jìn)一步的認(rèn)識(shí),老師和我都同樣重視課程設(shè)計(jì)。通過課程設(shè)計(jì),讓我理解到課程設(shè)計(jì)的重要性和嚴(yán)謹(jǐn)性,也讓我們對知識(shí)掌握的更加全面。參考文獻(xiàn)1 王衛(wèi)東,模擬電子電路基礎(chǔ),西安電子科技大學(xué)出版社, 2003.22 閻石,數(shù)字電子技術(shù)基礎(chǔ),高等教育出版社, 2006.53 陳有卿,實(shí)用電子制作精選,機(jī)械工業(yè)出版社, 1994.114 任致程,凌紅武,電子制作工藝技巧,人民郵電出版社, 19995 電子電路百科全書編輯組,電子電路百科全書,科學(xué)出版社, 19886 張鳳言,電子電路基礎(chǔ),高等教育出版社, 19957 杜武林,高頻電路原理與分析,西安電子科技大學(xué)出版社, 19948 李亞伯,數(shù)字電路與系統(tǒng),

35、電子工業(yè)出版社, 1998附 錄主程序代碼:#include1602.h#includeds1302.h#includeir.huint8_t time_tmp7=0x12,0x34,0x56,0x78,0x98,0x21,0x32;uint8_t code v_coder=6,4,3,2,1,0;uint8_t code l_coder=4,0;/uint8_t time12;uint8_t choice,t_run;struct option_pointuint8_t cnt_x,cnt_y;struct option_point s_point=7,0,8,0,10,0,11,0,13,

36、0,14,0,7,0x40,8,0x40,10,0x40,11,0x40,13,0x40,14,0x40;/*struct option_point v_range=0,9,0,9,0,1,0,;*/void main(void)uint8_t cnt_x;init_1620();init_1302();/ settime_1302(time_tmp); ea=1; /開啟總中斷tmod=0x11; /使用定時(shí)器t0的模式1 ex0=1; /開外中斷0it0=1; /外中斷的下降沿觸發(fā) et0=1; /定時(shí)器t0中斷允許 choice=0;t_run=1;/* dokey_state=0; w

37、hile(key_state=0);write_com(0x80);/ key_num0=0xf0;for(cnt_x=0;cnt_x1;busy();write_com(0x80+0x40);for(cnt_x=0;cnt_x1;while(1);*/doif(t_run=1)gettime_1302(time_tmp);time_to_lcd(time_tmp);updata_cache();if(key_state=1)key_state=0;switch(key_num2) case 0x18: t_run=0;break;elsebusy();write_com(0x80+(s_po

38、t_x)+(s_t_y);if(key_state=1)key_state=0;switch(key_num2) case 0x18: if(check_v(time_tmp) write_com(0x1);delay_ms(10);write_com(0x80+5);busy();write_data_string(sure?,5);while(key_state=0);if(key_num2=0x15)settime_1302(time_tmp);key_state=0;t_run=1;break;case 0x1e: if(choice

39、=0)choice=11;else choice-; break; case 0x1a: if(choice=11) choice=0; else choice+; break; case 0x0:time_tmpv_coderchoice/2&=(0xfl_coderchoice%2);/time_tmpv_coderchoice/2&=(0xfl_coderchoice%2);time_to_lcd(time_tmp);updata_cache();break;case 0x1: time_tmpv_coderchoice/2&=(0xfl_coderchoice%2);time_tmpv_coderchoice/2|=(1l_coderchoice%2);time_to_lcd(time_tmp);updata_cache();break; case 0x2:time_tmpv_coderchoice/2&=(0xfl_coderchoice%2);time_tmpv_coderchoice/2|=(2l_coderchoice%2);time_to_lcd(time_tmp);updata_cache();break; case 0x3:time_tm

溫馨提示

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

最新文檔

評論

0/150

提交評論