版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄第一章 系統(tǒng)概述5第二章 方案選擇62.1 方案1基于AT89S52單片機(jī)的電子萬年歷設(shè)計62.2 方案2基于DS1302的電子萬年歷設(shè)計6第三章 系統(tǒng)硬件電路的設(shè)計73.1 系統(tǒng)核心部分閃電存儲型器件AT89S5273.1.1 AT89S52具有下列主要性能73.1.2 AT89S52的引腳及功能73.2 DS1302時鐘電路93.2.1 DS1302芯片介紹103.2.2 DS1302 的應(yīng)用133.3 存儲電路143.3.1 AT24C02管腳介紹143.3.2 AT24C02的特性143.4 液晶顯示電路163.4.1 液晶顯示控制驅(qū)動器HD61202的特點173.4.2 液晶顯
2、示控制驅(qū)動器HD61202的引腳功能173.4.3 液晶顯示控制驅(qū)動器HD61202的指令系統(tǒng)173.4.4 HY-12864的電路結(jié)構(gòu)特點193.5 鍵盤電路21第四章 系統(tǒng)程序的設(shè)計224.1 陽歷程序的設(shè)計224.2 時間調(diào)整程序設(shè)計224.3 陰歷程序設(shè)計24第五章 測試結(jié)果27致 謝.29參考文獻(xiàn)30摘 要在日新月異的21世紀(jì)里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有CPU控制器或者是單片機(jī)。單片機(jī)以其高可靠性、高性價比、低電壓、低功耗等一系列優(yōu)點,近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng)、通訊設(shè)備、日常消費類產(chǎn)品和玩具等
3、。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各個方面,如車間流水線控制、自動化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。用單片機(jī)來控制的小型家電產(chǎn)品具有便攜實用,操作簡單的特點。本文設(shè)計的電子萬年歷屬于小型智能家用電子產(chǎn)品。利用單片機(jī)進(jìn)行控制,實時時鐘芯片進(jìn)行記時,外加掉電存儲電路和顯示電路,可實現(xiàn)時間的調(diào)整和顯示。電子萬年歷既可廣泛應(yīng)用于家庭,也可應(yīng)用于銀行、郵電、賓館、醫(yī)院、學(xué)校、企業(yè)、商店等相關(guān)行業(yè)的大廳,以及單位會議室、門衛(wèi)等場所。因而,此設(shè)計具有相當(dāng)重要的現(xiàn)實意義和實用價值。ABSTRACTIn the ever-changing 21st century, home ele
4、ctronics products have been developed rapidly. Many appliances have become humanity, intelligence, most of these electrical equipment containing CPU controller or microcontroller. Microcontroller for its high reliability, high cost, low voltage, low power consumption and a series of advantages in re
5、cent years has been the rapid development and large-scale promotion, widely used in industrial control systems, communications equipment, everyday consumer products and toys. And have been deep into all aspects of industrial production and all aspects of people's lives, such as assembly line con
6、trol, automation systems, intelligent home appliances (refrigerators, air conditioning, color TV) and so on. Chip microcomputer to control the small household electrical appliances with portable and practical, easy features. This design of the electronic calendar is a small smart home electronics pr
7、oducts. Use of micro controller, real time clock chip in mind, the external power-down memory circuit and display circuit, enabling time adjustment and display. Widely used in household electronic calendar can also be applied to banks, post and telecommunications, hotels, hospitals, schools, busines
8、ses, shops and other related industries lobby, and the unit conference room, concierge and other places. Thus, this design has important practical significance and practical value.Keyword: microcontroller intelligent CPU controller Automatic control第一章 系統(tǒng)概述 本設(shè)計以AT89S52單片機(jī)為核心,構(gòu)成單片機(jī)控制電路,結(jié)合DS1302時鐘芯片和2
9、4C02FLASH存儲器,顯示陽歷年、月、日、星期、時、分、秒和陰歷年、月、日,在顯示陰歷時間時,能標(biāo)明是否閏月,同時完成對它們的自動調(diào)整和掉電保護(hù),全部信息用液晶顯示。人機(jī)接口由三個按鍵來實現(xiàn),用這三個按鍵對時間、日期可調(diào),并可對鬧鈴開關(guān)進(jìn)行設(shè)置。軟件控制程序?qū)崿F(xiàn)所有的功能。整機(jī)電路使用+5V穩(wěn)壓電源,可穩(wěn)定工作。系統(tǒng)框圖如圖1-1所示,其軟硬件設(shè)計簡單,時間記錄準(zhǔn)確,可廣泛應(yīng)用于長時間連續(xù)顯示的系統(tǒng)中。人機(jī)接口顯示電路軟件控制程序電源電路單片機(jī)控制電路圖1-1 系統(tǒng)框圖第二章 方案選擇由于電子萬年歷的種類比較多,因此方案選擇在設(shè)計中是至關(guān)重要的。正確地選擇方案可以減小開發(fā)難度,縮短開發(fā)周期
10、,降低成本,更快地將產(chǎn)品推向市場。2.1 方案1基于AT89S52單片機(jī)的電子萬年歷設(shè)計不使用時鐘芯片,而直接用AT89S52單片機(jī)來實現(xiàn)電子萬年歷設(shè)計。AT89S52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦寫1000余次。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89S52是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。若采用單片機(jī)計時,利用它的一個16位定時器/計數(shù)器每50ms產(chǎn)生一個中斷信號,中斷20次后產(chǎn)生一個秒信號,然后根據(jù)時間進(jìn)制關(guān)系依次向分、時
11、、日、星期、月、年進(jìn)位。這樣就實現(xiàn)了直接用單片機(jī)來實現(xiàn)電子萬年歷設(shè)計。用單片機(jī)來實現(xiàn)電子萬年歷設(shè)計,無須外接其他芯片,充分利用了單片機(jī)的資源。但是精度不夠高,誤差較大,掉電后丟失所有數(shù)據(jù),軟件編程較復(fù)雜。2.2 方案2基于DS1302的電子萬年歷設(shè)計在以單片機(jī)為核心構(gòu)成的裝置中,經(jīng)常需要一個實時的時鐘和日歷,以便對一些實時發(fā)生事件記錄時給予時標(biāo),實時時鐘芯片便可起到這一作用。過去多用并行接口的時鐘芯片,如MC146818,DS12887等。它們已能完全滿足單片機(jī)系統(tǒng)對實時時鐘的要求,但是這些芯片與單片機(jī)接口復(fù)雜、占用地址, 數(shù)據(jù)總線接線多、芯片體積大占用空間多、近年來串行接口的各種芯片在單片機(jī)
12、系統(tǒng)中應(yīng)用愈來愈多,串行接口的實時時鐘芯片也出現(xiàn)了不少,DS1302是一個綜合性能較好且價格便宜的串行接口實時時鐘芯片。利用單片機(jī)進(jìn)行控制,采用DS1302作為實時時鐘芯片,其三線接口SCLK、I/O、/RST與單片機(jī)進(jìn)行同步通信,外加掉電存儲電路、顯示電路、鍵盤電路,即構(gòu)成一個基本的電子萬年歷系統(tǒng),若還要添加其他功能,在這基礎(chǔ)上外擴(kuò)電路即可。由于在系統(tǒng)設(shè)計時,需要考慮以下幾點因素:功耗低、精確度高、軟件編程較簡單,芯片的體積小、芯片成本低等,而DS1302芯片有上面所述的諸多優(yōu)點,所以本設(shè)計采用方案2。第三章 系統(tǒng)硬件電路的設(shè)計按照系統(tǒng)設(shè)計功能的要求,初步確定設(shè)計系統(tǒng)由主控模塊、時鐘模塊、存
13、儲模塊、鍵盤接口模塊、顯示模塊和鬧鈴模塊共6個模塊組成,電路系統(tǒng)構(gòu)成框圖如圖4-1所示。主控芯片使用52系列AT89S52單片機(jī),時鐘芯片使用美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片DS1302,存儲模塊采用美國ATMEL公司生產(chǎn)的低功耗CMOS串行EEPROM存儲芯片AT24C02。DS1302作為主要計時芯片,可以做到計時準(zhǔn)確。更重要的是,DS1302可以在很小電流的后備 (2.55.5V電源,在2.5V時耗電小于300nA)下繼續(xù)計時,并可編程選擇多種充電電流來對后備電源進(jìn)行慢速充電,可以保證后備電源基本不耗電。(89S52)主控模塊DS1302時鐘電路鍵掃描
14、電路液晶顯示存儲電路鬧鈴電路圖4-1 電子萬年歷電路系統(tǒng)構(gòu)成框圖3.1 系統(tǒng)核心部分閃電存儲型器件AT89S523.1.1 AT89S52具有下列主要性能5: ·8KB可改編程序Flash存儲器(可經(jīng)受1000次的寫入/擦除周期) ·全靜態(tài)工作:0Hz24MHz·三級程序存儲器保密·128×8字節(jié)內(nèi)部RAM·32條可編程I/O線·2個16位定時器/計數(shù)器·6個中斷源·可編程串行通道·片內(nèi)時鐘振蕩器3.1.2 AT89S52的引腳及功能AT89S52單片機(jī)的管腳說明如圖4-2所示。圖4-2 AT8
15、9S52的管腳(1) 主要電源引腳 VCC 電源端 GND 接地端(2) 外接晶體引腳XTAL1和XTAL2 XTAL1 接外部晶體的一個引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時,該引腳接收振蕩器的信號,既把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2 接外部晶體的另一個引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,此引腳應(yīng)懸浮不連接。(3) 控制或與其它電源復(fù)用引腳RST、ALE/PROG、/PSEN和/EA/VPP RST 復(fù)位輸入端。 當(dāng)振蕩器運行時,在該引腳上出現(xiàn)兩個機(jī)器周期的高電平將使單片機(jī)復(fù)位。 ALE/PRO
16、G 當(dāng)訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。在對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(/PROG)6。 /PSEN 程序存儲允許(/PSEN)輸出是外部程序存儲器的讀選通信號。當(dāng)AT89S52/LV52由外部程序存儲器取指令(或常數(shù))時,每個機(jī)器周期兩次/PSEN有效(既輸出2個脈沖)。但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PS
17、EN信號將不出現(xiàn)。/EA/VPP 外部訪問允許端。要使CPU只訪問外部程序存儲器(地址為0000HFFFFH),則/EA端必須保持低電平(接到GND端)。當(dāng)/EA端保持高電平(接VSS端)時,CPU則執(zhí)行內(nèi)部程序存儲器中的程序。(4) 輸入/輸出引腳 P0.0 P0.7、P1.0P1.7、P2.0 P2.7 和P3.0P3.7 P0端口(P0.0 P0.7) P0是一個8位漏極開路型雙向I/O端口。作為輸出口用時,每位能以吸收電流的方式驅(qū)動8個TTL輸入,對端口寫1時,又可作高阻抗輸入端用。P1端口(P1.0 P1.7) P1是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(
18、吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。作輸入口時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。 P2端口 (P2.0P2.7) P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P2作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。P3端口(P3.0P3.7) P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們
19、被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能,這些特殊功能見表3-1。表3-1 P3端口的特殊功能 端口引腳 兼 用 功 能 P3.0RXD (串行輸入口) P3.1TXD (串行輸出口) P3.2/INT0 (外部中斷0) P3.3/INT1 (外部中斷1) P3.4T0 ( 定時器0的外部輸入) P3.5T1 (定時器1的外部輸入) P3.6/WR (外部數(shù)據(jù)存儲器寫選通) P3.7/RD (外部數(shù)據(jù)存儲器讀選通)3.2 DS1302時鐘電路3.2.1 DS1302芯片介紹低功耗時鐘芯片DS
20、1302可以對年、月、日、時、分、秒進(jìn)行計時,且具有閏年補償?shù)榷喾N功能。DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義8。采用DS1302作為記錄測控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計簡單,時間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了定時記錄的盲目性,給連續(xù)長時間的測量、控制系統(tǒng)的正常運行及檢查都來了很大的方便,可廣泛應(yīng)用于長時間連續(xù)的測控系統(tǒng)中。在測量控制系統(tǒng)中,特別是長時間無人職守的測控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時間。記錄及
21、分析這些特殊意義的數(shù)據(jù),對測控系統(tǒng)的性能分析及正常運行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時間;若采用單片機(jī)計時,一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費單片機(jī)的資源,而且某些測控系統(tǒng)可能不允許。而在系統(tǒng)中采用DS1302則能很好地解決這個問題。(1) DS1302的性能特性·實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M(jìn)行計數(shù);·用于高速數(shù)據(jù)暫存的31×8位RAM;·最少引腳的串行I/O;·2.55.5V 電壓工作范圍;&
22、#183;2.5V時耗電小于300nA;·用于時鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;·簡單的3線接口;·可選的慢速充電(至VCC1)的能力。DS1302時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個簡單的串行接口與微處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末的日期自動進(jìn)行調(diào)整,還包括閏年校正的功能。時鐘的運行可以采用24h或帶AM(上午)/PM(下午)的12h格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302有主電源/后備
23、電源雙電源引腳:VCC1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;VCC2在雙電源系統(tǒng)中提供主電源,在這種運用方式中,VCC1 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由VCC1或VCC2中較大者供電。當(dāng)VCC2大于VCC1+0.2V時,VCC2給DS1302供電;當(dāng)VCC2小于VCC1時,DS1302由VCC1供電。(2) DS1302數(shù)據(jù)操作原理DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入。無論是讀周期還是寫周期,開始8位指定40個寄存器中哪個被訪
24、問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。圖4-3 DS1302管腳圖如果在傳送過程中置RST為低電平,則會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC >=2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。DS1302的管腳圖如圖4-3所示,內(nèi)部結(jié)構(gòu)圖如圖4-4所示,表4-2為各引腳的功能。電源控制輸入移位寄存器實時時鐘命令與控制邏輯318RAM振蕩器與分頻器圖4-4 DS1
25、302內(nèi)部結(jié)構(gòu)圖表4-2 DS1302引腳功能表引腳號引腳名稱功能1VCC2主電源2,3X1,X2振蕩源,外接32768HZ晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行數(shù)據(jù)輸入端8VCC1后備電源DS1302的控制字如圖4-5所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位51(A4A0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。7 6 5 4 3 2 1 01R
26、AM CKA4A3A2A1A0RAM K圖4-5 控制字節(jié)的含義為了提高對32個地址的尋址能力(地址/命令位15邏輯1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或RAM,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或RAM寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時,為了傳送數(shù)據(jù)不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。數(shù)據(jù)讀寫程序如圖3-6所示。SCLKKRSTI/O571357210246046R/CA2A3A0A
27、1R/WA41DATAI/OBYTEDATAI/OBYTE圖3-6 數(shù)據(jù)讀寫程序DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表3-3,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表3-3 DS1302的日歷、時鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作76543210秒寄存器80H81H00-59CH10SECSEC分鐘寄存器82H83H00-59010MINMIN小時寄存器84H85H01- 12或00-2312/24010APHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE
28、月份寄存器88H89H01-12000IOMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當(dāng)它為1時,DS1302停止振蕩,進(jìn)入低功耗的備份方式。通常在對DS1302進(jìn)行寫操作時(如進(jìn)入時鐘調(diào)整程序),停止振蕩。當(dāng)它為0時,時鐘將開始啟動。AM-PM/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5是AM/PM位,此位是高電平時表示PM,低電平表示AM,在24小時方式下,位5為第二個10小時位(2023h)。3.2.2 D
29、S1302 的應(yīng)用實時時鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。要特別說明的是,備用電源BT1可以用電池或超級電容(10萬F以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。如果斷電時間較短(幾小時或幾天),可以用漏電較小的普通電解電容代替(100F就可以保證1小時的正常走時)9。DS1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時間及鬧鈴。DS1302的時鐘電路如圖3-7所示。圖3-7 DS1302時鐘電路3.3 存儲電路3.3.1 AT2
30、4C02管腳介紹AT24C02是美國ATMEL公司的低功耗CMOS串行EEPROM,它是內(nèi)含256×8位存儲空間,具有工作電壓寬(2.55.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)等特點。 AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。第8腳和第4腳分別為正、負(fù)電源。第5腳SDA為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向I2C總線串行傳送。第6腳SCL為串行時鐘輸入線。SDA和SCL都需要和正電源間各接一個4.7K的電阻上拉。I2C總線是一種用于I2C器件之間連接的二線制總線。它通過SDA(串行數(shù)據(jù)線)及SCL(串行
31、時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件:不管是單片機(jī)、存儲器、LCD驅(qū)動器還是鍵盤接口。3.3.2 AT24C02的特性(1) I2C總線的基本結(jié)構(gòu)采用I2C總線標(biāo)準(zhǔn)的單片機(jī)或I2C器件,其內(nèi)部不僅有I2C接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。CPU不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進(jìn)行檢測,從而實現(xiàn)對硬件系統(tǒng)的既簡單又靈活的擴(kuò)展與控制。(2) 雙向傳輸?shù)慕涌谔匦詡鹘y(tǒng)的單片機(jī)串行接口的發(fā)送和接收一般都各用一條線,而I2C總線則根據(jù)器件的功能通過軟件程序使其可工
32、作于發(fā)送或接收方式。當(dāng)某個器件向總線上發(fā)送信息時,它就是發(fā)送器(也叫主器件),而當(dāng)其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數(shù)據(jù)并產(chǎn)生時鐘以開放傳送的器件,此時任何被尋址的器件均被認(rèn)為是從器件。I2C總線的控制完全由掛接在總線上的主器件送出的地址和數(shù)據(jù)決定。總線上主和從(即發(fā)送和接收)的關(guān)系不是一成不變的,而是取決于此時數(shù)據(jù)傳送的方向。SDA和SCL均為雙向I/O線,通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。I2C總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為100kbit/s,在快速方式下,最
33、高傳送速率可達(dá)400kbit/s。(3) I2C總線上的時鐘信號在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態(tài),于是這些器件將進(jìn)入高電平等待的狀態(tài)。當(dāng)所有器件的時鐘信號都上跳為高電平時,低電平期結(jié)束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結(jié)束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上
34、產(chǎn)生一個同步時鐘??梢?,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。(4) 數(shù)據(jù)的傳送在數(shù)據(jù)傳送過程中,必須確認(rèn)數(shù)據(jù)傳送的開始和結(jié)束。當(dāng)時鐘線SCL為高電平時,數(shù)據(jù)線SDA由高電平跳變?yōu)榈碗娖蕉x為“開始”信號;當(dāng)SCL線為高電平時,SDA線發(fā)生低電平到高電平的跳變?yōu)椤敖Y(jié)束”信號。開始和結(jié)束信號都是由主器件產(chǎn)生。在開始信號以后,總線即被認(rèn)為處于忙狀態(tài);在結(jié)束信號以后的一段時間內(nèi),總線被認(rèn)為是空閑的。 I2C總線的數(shù)據(jù)傳送格式是:在I2C總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(R/W)。方向位為
35、“0”表示發(fā)送,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息。開始信號后,系統(tǒng)中的各個器件將自己的地址和主器件送到總線上的地址進(jìn)行比較,如果與主器件發(fā)送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發(fā)送信息則由第8位(R/W)確定。在I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個字節(jié)必須為8位,而且每個傳送的字節(jié)后面必須跟一個認(rèn)可位(第9位),也叫應(yīng)答位(ACK)。每次都是先傳最高位,通常從器件在接收到每個字節(jié)后都會做出響應(yīng),即釋放SCL線返回高電平,準(zhǔn)備接收下一個數(shù)據(jù)字節(jié),主器件可繼續(xù)傳送。如果從器件正在處理一個實時事件而不能接收數(shù)據(jù)時(例如
36、正在處理一個內(nèi)部中斷,在這個中斷處理完之前就不能接收I2C總線上的數(shù)據(jù)字節(jié)),可以使時鐘SCL線保持低電平,從器件必須使SDA保持高電平,此時主器件產(chǎn)生1個結(jié)束信號,使傳送異常結(jié)束,迫使主器件處于等待狀態(tài)。當(dāng)從器件處理完畢時將釋放SCL線,主器件繼續(xù)傳送。 當(dāng)主器件發(fā)送完一個字節(jié)的數(shù)據(jù)后,接著發(fā)出對應(yīng)于SCL線上的一個時鐘(ACK)認(rèn)可位,在此時鐘內(nèi)主器件釋放SDA線,一個字節(jié)傳送結(jié)束,而從器件的響應(yīng)信號將SDA線拉成低電平,使SDA在該時鐘的高電平期間為穩(wěn)定的低電平。從器件的響應(yīng)信號結(jié)束后,SDA線返回高電平,進(jìn)入下一個傳送周期。(5) 總線競爭的仲裁總線上可能掛接有多個器件,有時會發(fā)生兩個
37、或多個主器件同時想占用總線的情況。例如,多單片機(jī)系統(tǒng)中,可能在某一時刻有兩個單片機(jī)要同時向總線發(fā)送數(shù)據(jù),這種情況叫做總線競爭。I2C總線具有多主控能力,可以對發(fā)生在SDA線上的總線競爭進(jìn)行仲裁,其仲裁原則是這樣的:當(dāng)多個主器件同時想占用總線時,如果某個主器件發(fā)送高電平,而另一個主器件發(fā)送低電平,則發(fā)送電平與此時SDA總線電平不符的那個器件將自動關(guān)閉其輸出級。總線競爭的仲裁是在兩個層次上進(jìn)行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進(jìn)入數(shù)據(jù)位的比較,從而確保了競爭仲裁的可靠性。由于是利用I2C總線上的信息進(jìn)行仲裁,因此不會造成信息的丟失。24C02與單片機(jī)的接口非常簡單,如圖4-8所
38、示。A0,A1,A2為器件地址線,WP為寫保護(hù)引腳,SCL,SDA為二線串行接口,符合I2C總線協(xié)議。圖4-8 24C02存儲電路3.4 液晶顯示電路顯示器部分是由HD61202液晶顯示控制驅(qū)動器和HY12864液晶顯示器組成的,下面我們對其分別進(jìn)行介紹。3.4.1 液晶顯示控制驅(qū)動器HD61202的特點HD61202液晶顯示控制驅(qū)動器是一種帶有驅(qū)動輸出的圖形液晶顯示控制器,它可直接與8位微處理器相連,它可與HD61203配合對液晶屏進(jìn)行行、列驅(qū)動。HD61202是一種帶有列驅(qū)動輸出的液晶顯示控制器,它可與行驅(qū)動器HD61203配合使用,組成液晶顯示驅(qū)動控制系統(tǒng)12。(1) 內(nèi)藏64×
39、;64=4096位顯示RAM,RAM中每位數(shù)據(jù)對應(yīng)LCD屏上一個點的亮、暗狀態(tài);(2) HD61202是列驅(qū)動器,具有64路列驅(qū)動輸出;(3) HD61202讀、寫操作時序與68系列微處理器相符,因此它可直接與68系列微處理器接口相連;(4) HD61202的占空比為1/321/64。3.4.2 液晶顯示控制驅(qū)動器HD61202的引腳功能HD61202的引腳功能如下表3-4所示。表3-4 HD61202的引腳功能引腳符號狀態(tài)引腳名稱功能CS1,CS2,CS3輸入芯片片選端CS1和CS2低電平選通,CS3高電平選通。E輸入讀寫使能信號在E下降沿,數(shù)據(jù)被鎖存(寫)入HD61202;在E高電平期間,
40、數(shù)據(jù)被讀出R/W輸入讀寫選擇信號R/W=1為讀選通,R/W=0為寫選通RS輸入數(shù)據(jù)、指令選擇信號RS=1為數(shù)據(jù)操作 RS=0為寫指令或讀狀態(tài)DB0-DB7三態(tài)數(shù)據(jù)總線RST輸入復(fù)位信號復(fù)位信號有效時,關(guān)閉液晶顯示,使顯示起始行為0,RST可跟MPU相連,由MPU控制;也可直接接VDD,使之不起作用。3.4.3 液晶顯示控制驅(qū)動器HD61202的指令系統(tǒng)HD61202的指令系統(tǒng)比較簡單,總共只有七種?,F(xiàn)分別介紹如下。 (1) 顯示開/關(guān)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 1 1 1 1 1 1/0當(dāng)DBO=1時,LCD顯示RAM中的內(nèi)容;
41、DBO=0時,關(guān)閉顯示。(2) 顯示起始行(ROW)設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 顯示起始行(0-63)該指令設(shè)置了對應(yīng)液晶屏最上一行的顯示RAM的行號,有規(guī)律的改變顯示起始行,可以使LCD實現(xiàn)顯示滾屏的效果。(3) 頁(PAGE)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1頁號(0-7)顯示RAM共64行,分8頁,每頁8行。(4) 列地址(Y Address)設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 顯
42、示列地址(0-63)設(shè)置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進(jìn)一個字節(jié)數(shù)據(jù)。(5) 讀狀態(tài)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0BUSY 0 ON/OFF REST 0 0 0 0該指令用來查詢HD61202的狀態(tài),各參量含義如下:BUSY:1-內(nèi)部在工作 0-正常狀態(tài)ON/OFF:1-顯示關(guān)閉 0-顯示打開REST: 1-復(fù)位狀態(tài) 0-正常狀態(tài)在BUSY和REST狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對HD61202產(chǎn)生作用。在對HD61202操作之前要查詢BUSY狀態(tài),
43、以確定是否可以對HD61202進(jìn)行操作。(6) 寫數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 寫 數(shù) 據(jù)(7) 讀數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 讀 顯 示 數(shù) 據(jù)讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動增一,必須注意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的數(shù)據(jù)。3.4.4 HY-12864的電路結(jié)構(gòu)特點HY-12864是使用HD61202作為列驅(qū)動器,同時使用HD61203作為行驅(qū)動器的液晶模塊。由于HD61203不與MPU發(fā)生聯(lián)系,只要提
44、供電源就能產(chǎn)生行驅(qū)動信號和各種同步信號,比較簡單,因此這就不做介紹了。下面主要介紹以下HY-12864這個模塊的邏輯電路圖。HY-12864共有兩片HD61202和一片HD61203,如下圖3-9所示。圖3-9 HY-12864的邏輯電路圖在HY-12864中,兩片HD61202的ADC均接高電平,RST也接高電平,這樣在使用HY-12864時就不必再考慮這兩個引腳的作用。/CSA跟HD61202(1)的/CS1相連;/CSB跟HD61202(2)的CS1相連,因此/CSA、/CSB選通組合信號為/CSA,/CSB=01選通(1),/CSA,/CSB=10選通(2)。對于HY-12864,只要
45、供給VDD、VSS和V0即可,HD61202和HD61203所需的電源將由模塊內(nèi)部電路在VDD和V0、VSS的作用下產(chǎn)生。HY-12864的應(yīng)用以下內(nèi)容為以單片機(jī)8031為例機(jī)的接口電路,電路原理圖如圖3-10所示??刂齐娐窞橹苯釉L問方式的接口電路。圖4-3 計算陽歷天數(shù)程序流程圖計算出當(dāng)前陽歷日期為該年中的第幾天后,再減去陽歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年中的總第幾天了。根據(jù)該數(shù)據(jù)就可以推算出具體的當(dāng)前陰歷日期;如果不夠減,則表示當(dāng)前陰歷年為陽歷年的前一年。這種情況下,根據(jù)實際,當(dāng)前陰歷日期會處于陰歷11月或12月,此時春節(jié)和元旦的日差減去前面計算出的當(dāng)前陽歷日期
46、在陽歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天數(shù)。計算出的陽歷天數(shù)為該年的第幾天,存放在寄存器R2和R3中。計算出天數(shù)后,如果大于#FFH,則把#FFH存放在R2中,余值存放在R3中。也就是說在用寄存器R2和R3表示的天數(shù)信息中,R2充當(dāng)主寄存器,數(shù)據(jù)先存滿R2,再存R3。在整個轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。計算出陽歷總天數(shù)后,就可以根據(jù)它來推算陰歷日期。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為1,則該天正好是春節(jié)(因為春節(jié)在元旦之后,在計算春節(jié)和元旦的日差時,假設(shè)元旦為0天,春節(jié)為n天,則日差為n。而前面計算的陽歷總天數(shù)是該天在該年中的第幾天,是以元旦為1而得到
47、的,與計算春節(jié)和元旦日差的這樣方法相比,其數(shù)值少了1,所以要在原來本應(yīng)該以0作為該天就是春節(jié)的依據(jù)的基礎(chǔ)上加1,所以以1作為該天是春節(jié)的標(biāo)志);如果結(jié)果小于1,則陰歷應(yīng)該是陽歷的前一年;如果結(jié)果大于第五章 測試結(jié)果設(shè)計完成后,給系統(tǒng)上電,液晶顯示屏顯示結(jié)果如圖5-1所示。河南工業(yè)職業(yè)技術(shù)學(xué)院 電氣0701班 王金海畢業(yè)設(shè)計SOLAR 2000/01/01LUNAR 2095/11/2500:00:00 SUN 鬧鈴 關(guān)閏月 00:00滾動顯示圖5-1 液晶顯示屏的顯示結(jié)果調(diào)節(jié)10K電位器R4可調(diào)整液晶顯示屏的亮度。調(diào)整到合適亮度后,按控制按鈕,光標(biāo)會從陽歷年位開始閃爍,進(jìn)入設(shè)定調(diào)整狀態(tài)。此時按
48、加按鈕,當(dāng)前數(shù)字就可改變。按一次,數(shù)字加1;若長按,則數(shù)字連續(xù)加。此時,調(diào)整的位一直在閃爍,直到再次按光標(biāo)移動控制位,光標(biāo)跳到下一位閃爍。調(diào)整順序依次為:陽歷年、月、日,陰歷年、月、日,時、分、秒,鬧鈴時、分。當(dāng)全部參數(shù)調(diào)整完畢后,按退出按鈕,光標(biāo)停止閃爍,退出設(shè)定調(diào)整狀態(tài);當(dāng)再次按下此按鈕,鬧鈴顯示“開”;當(dāng)?shù)谌伟聪麓随I,鬧鈴顯示“關(guān)”。若當(dāng)前月為閏月,則屏幕左下角會顯示“閏月”;若不是閏月,則無顯示。調(diào)試分為硬件調(diào)試和軟件調(diào)試。硬件調(diào)試主要是檢測硬件電路是否有短路、斷路、虛焊等。DS1302的硬件電路很簡單,只通過3根線與單片機(jī)相連,很容易檢測,主要是檢查其引腳,如晶振和電源等是否接好。
49、另外可以通過軟件來調(diào)試硬件,如為了測試顯示電路連接是否正確,可以編寫一個簡單的顯示程序來測試它。接下來可進(jìn)行軟件調(diào)試,可以編寫只含DS1302的計時和讀寫程序、顯示程序,測試DS1302是否正常工作。最后調(diào)試時間調(diào)整程序和陰歷推算程序。計時器最關(guān)鍵的是計時的精度。電子萬年歷中DS1302電路使用專用的晶振,經(jīng)測試制作的電子萬年歷,一星期快了3s左右,誤差較大,實驗設(shè)計中可換用標(biāo)準(zhǔn)晶振或用軟件進(jìn)行修正。結(jié)論本設(shè)計硬件電路較簡單,所用器件較少,電路中使用了AT89S52單片機(jī)、DS1302時鐘芯片、24C02FLASH存儲器和HY-12864液晶顯示器等主要芯片,實現(xiàn)了預(yù)計功能。在對芯片的管腳功能
50、和用法有充分的了解后,根據(jù)設(shè)計要求設(shè)計硬件電路,包括單片機(jī)控制電路、時鐘電路、存儲電路、鍵盤掃描電路、顯示電路和鬧鈴電路。然后通過軟件編程,實現(xiàn)了對年、月、日、時、分、秒、星期、閏年和陰歷的自動調(diào)整,用按鍵進(jìn)行控制,用液晶模塊進(jìn)行顯示,并具有鬧鈴功能。電子萬年歷可以正常顯示時間并進(jìn)行時間調(diào)整,基本完成了預(yù)期要實現(xiàn)的目標(biāo)。致 謝不知不覺,十二周的畢業(yè)設(shè)計結(jié)束了。我的畢業(yè)論文已整理完畢,電路調(diào)試進(jìn)展良好。畢業(yè)設(shè)計的完成意味著我的大學(xué)學(xué)習(xí)生活即將結(jié)束,從此我將進(jìn)入一個新的人生旅途、開始一段嶄新的生活工作。在此,我衷心地感謝所有在我做畢業(yè)設(shè)計期間幫助過我的人。 首先我要感謝我的指導(dǎo)老師劉藝柱的大力幫助
51、和支持。在整個設(shè)計過程當(dāng)中,李老師在大局上指導(dǎo)我畢業(yè)設(shè)計的每一進(jìn)程,還在百忙中抽空為我答疑解難,幫我分析講解畢業(yè)設(shè)計中所遇到的問題。不僅如此,劉老師還無私的給我提供了豐富的學(xué)習(xí)資源和良好的學(xué)習(xí)環(huán)境,為我的畢業(yè)設(shè)計帶來了很大方便。同時在我完成畢業(yè)設(shè)計的過程中提供了很多指導(dǎo)性的意見,使我受益匪淺。另外,劉老師淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和為人給了我很大的教育,這些將使我終身受益。在此,我衷心感謝劉老師給予我的幫助和教育。最后,我要感謝我的母校河南工業(yè)職業(yè)技術(shù)學(xué)院,在校期間,這里給我留下了美好的回憶。特別是在我即將踏上工作崗位的同時,畢業(yè)設(shè)計整個過程給了我這樣一個鍛煉的機(jī)會,使我加深了對以前知識的理解和鞏固,拓寬了知識面,也提高了我對所學(xué)知識的綜合應(yīng)用能力。我要對母校說:母校有我三五載,我愛母校一萬年。祝愿母校的將來更美好!參考文獻(xiàn)1 吳金戌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《診斷性試驗》課件
- 2025年全球新型穿戴設(shè)備行業(yè)概況及應(yīng)用領(lǐng)域調(diào)研報告
- 2024年農(nóng)業(yè)局上半年工作總結(jié)
- 稅務(wù)知識普及總結(jié)
- 小暑節(jié)氣消費解讀
- 雙十一:餐飲行業(yè)的轉(zhuǎn)型新機(jī)遇
- 汽車電商營銷蛻變
- 小學(xué)六年級畢業(yè)演講稿范文合集8篇
- 2023年-2024年項目部安全管理人員安全培訓(xùn)考試題【考點梳理】
- 2023年-2024年項目部安全培訓(xùn)考試題附完整答案(考點梳理)
- DB23-T 3768-2024北方種鵝節(jié)水生態(tài)旱養(yǎng)管理技術(shù)規(guī)程
- 勘察工作質(zhì)量及保證措施
- 事業(yè)單位招聘《綜合基礎(chǔ)知識》考試試題及答案
- 2024年電工(高級技師)考前必刷必練題庫500題(含真題、必會題)
- 墊江縣中醫(yī)院2018年11月份臨床技能中心教學(xué)設(shè)備招標(biāo)項目招標(biāo)文件
- 2024年《浙江省政治學(xué)考必背內(nèi)容》(修訂版)
- 2024-2025學(xué)年初中數(shù)學(xué)七年級下冊滬教版(五四學(xué)制)(2024)教學(xué)設(shè)計合集
- 房地產(chǎn)銷售主管崗位招聘筆試題及解答(某大型國企)2025年
- 廣東省惠州市(2024年-2025年小學(xué)四年級語文)統(tǒng)編版綜合練習(xí)(上學(xué)期)試卷及答案
- 廣東省廣州市天河區(qū)2024年六上數(shù)學(xué)期末聯(lián)考試題含解析
- 廣東省珠海市2023-2024學(xué)年高二上學(xué)期語文期中試卷(含答案)
評論
0/150
提交評論