單片機液晶顯示萬年歷單片機課程設計報告_第1頁
單片機液晶顯示萬年歷單片機課程設計報告_第2頁
單片機液晶顯示萬年歷單片機課程設計報告_第3頁
單片機液晶顯示萬年歷單片機課程設計報告_第4頁
單片機液晶顯示萬年歷單片機課程設計報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機原理及應用課程設計報告課題名稱: 單片機液晶顯示“萬年歷” 分 院: 機械與電氣工程學院 教 研 室: 電氣工程及其自動化 班 級: 姓 名: 學 號: 指導教師: 二一三 年 五 月單片機液晶顯示“萬年歷”一、 設計任務1、用字符型液晶顯示模塊lcd1602顯示萬年歷的日期/時間等,如下圖所示(僅供參考,可個性化差異設計,如顯示學號等):2012/05/01 dhy16:47:58 1237892、單片機與實時時鐘芯片ds1302之間通過spi接口實現(xiàn)“日期/時間”數(shù)據(jù)的采集。3、用3×4行列式鍵盤進行校時,共有“1、2、3、4、5、6、7、8、9、0” 、“校時(閃爍)”和

2、“(年/月/日/時/分/秒)切換”等十二個按鍵。二、 硬件設計1.系統(tǒng)框圖按照系統(tǒng)設計功能的要求,初步確定系統(tǒng)由主控模塊、時控模塊、顯示驅動及顯示模塊和鍵盤接口模塊共4個模塊組成,電路系統(tǒng)構成框圖如圖1-1所示。圖1-1電子萬年歷電路系統(tǒng)構成框圖主控芯片使用51系列at89c51單片機,時鐘芯片使用美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘ds1302。采用ds1302作為計時芯片,可以做到計時準確。更重要的是,ds1302可以在很小電流的后備電源(2.55.5v電源,在2.5v時耗電小于300na),而且ds1302可以編程選擇多種充電電流來對后備電源進行慢速充電,可以

3、保證后備電源基本不耗電。顯示驅動采用排阻respack-8驅動和lm016l液晶顯示 、圖條/柱圖顯示或64 點陣顯示接口的小型串行輸入/輸出芯片。片內包括bcd 譯碼器、多路掃描控制器、字和位驅動器和8*8 靜態(tài)ram。respack-8需九導線連接,每位顯示數(shù)字有一個地址由微處理器寫入。允許使用者選擇每位是bcd 譯碼或不譯碼。使用者還可選擇停機模式、數(shù)字亮度控制、從18 選擇掃描位數(shù)和對所有l(wèi)cd顯示器的測試模式。顯示模塊采用普通的lcd顯示屏。2.各部分介紹(包括電路和主要器件介紹)2.1電路設計如圖2-1示為電子萬年歷電路設計原理圖,系統(tǒng)由主控制器at89c51、時鐘電路ds1302

4、、顯示驅動respack-8電路,lm016l液晶顯示電路及鍵掃描電路組成。圖2-1 電子萬年歷電路原理圖2.2系統(tǒng)硬件概述2.2.1 主控制器at89c51atmel公司生產的at89c51單片機采用高性能的靜態(tài)80c51設計,并采用先進工藝制造,還帶有非易失性flash程序存儲器。它是一種高性能、低功耗的8位cmos微處理芯片,市場應用最多。其主要特點如下:8kb flash rom,可以擦除1000次以上,數(shù)據(jù)保存10年。 256字節(jié)內部ram; 電源控制模式; 時鐘可停止和恢復; 空閑模式; 掉電模式; 6個中斷源; 4個中斷優(yōu)先級; 4個8位i/o口; 全雙工增強型tuar; 3個1

5、6位定時/計數(shù)器:t0、t1(標準80c51)和增加的t2(捕獲和比較) 全靜態(tài)工作方式:024mhz2.2.2 時鐘電路ds1302 ds1302的性能特性: 實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M行比較; 用于高速數(shù)據(jù)暫存的31*8位ram; 最少引腳的串行i/o; 2.55.5v電壓工作范圍; 2.5v時電流小于300na; 用于時鐘或ram數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡單的三線接口; 可選的慢速充電(至vcc1)的能力。ds1302在任何數(shù)據(jù)傳送時必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿

6、被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置rst腳為低電平,則會終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.5v之前,rst腳必須保持低電平。只有在sclk為低電平時,才能將rst置為高電平。2.3主要單元電路的設計2.3.1顯示電路顯示部分采用普通的lm016l液晶顯示,如圖2-2,以減少硬件電路。lm016l液晶模塊采用hd 44780控制器,hd44780具有簡單而功能較強的指令集,可以實現(xiàn)

7、字符移動,閃爍等功能,lm016l與單片機mcu通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(ir)和數(shù)據(jù)寄存器(dr)忙標志(bf),顯示數(shù)ram(ddram),字符發(fā)生器rom(cgorom)字符發(fā)生器ram(cgram),地址計數(shù)器ram(ac)。ir用于寄存指令碼,只能寫入不能讀出,dr用于寄存數(shù)據(jù),數(shù)據(jù)由內部操作自動寫入ddram和cgram,或者暫存從ddram和cgram讀出的數(shù)據(jù),bf為1時,液晶模塊處于內部模式,不響應外部操作指令和接受數(shù)據(jù),ddram用來存儲顯示的字符,能存儲80個字符碼,cgrom由8位字符碼生成5*7點陣字符16

8、0中和5*10點陣字符32種8位字符編碼和字符的對應關系。圖2-2 lcd液晶顯示屏顯示模塊2.3.2鍵盤接口鍵盤在單片機系統(tǒng)中是一個很重要的部件。為了輸入數(shù)據(jù)、查詢和控制系統(tǒng)的工作狀態(tài),都要用到鍵盤,鍵盤是人工干預計算機的主要手段。鍵盤可分為編碼和非編碼鍵盤兩種。編碼鍵盤采用硬件線線路來實現(xiàn)鍵盤編碼,每按下一個鍵,鍵盤能自動生成按鍵代碼,鍵數(shù)較多,而且還具有去抖動功能。這種鍵盤使用方便,但硬件較復雜,pc機所用的鍵盤就屬于這種。非編碼鍵盤僅提供按鍵開關工作狀態(tài),其他工作由軟件完成,這種鍵盤鍵數(shù)較少,硬件簡單,一般在單片機應用系統(tǒng)中廣泛使用。此處主要介紹該類非編碼鍵盤及其與mcs51型單片機的

9、接口。按鍵開關在電路中的連接如圖2-3 a)所示。按鍵未按下時,a點電位為高電平5v;按鍵按下時,a點電位為低電平。a點電位就用于向cpu傳遞按鍵的開關狀態(tài)。但是由于按鍵的結構為機械彈性開關,在按鍵按下和斷開時,觸點在閉合和斷開瞬間還會接觸不穩(wěn)定,引起a點電平不穩(wěn)定,如圖2-3 b)所示,鍵盤的抖動時間一般為510ms,抖動現(xiàn)象會引起cpu對一次鍵操作進行多次處理,從而可能產生錯誤。因此必須設法消除抖動的不良后果。圖2-3 鍵操作和鍵抖動消除抖動的不良后果的方法有硬件、軟件兩種。為了節(jié)省硬件,通常在單片機系統(tǒng)中,一般不采用硬件方法消除鍵的抖動,而是用軟件消除抖動的方法。根據(jù)抖動特性,在第一次檢

10、測到按鍵按下后,執(zhí)行一段延時510ms讓前延抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認真正有鍵按下。當檢測到按鍵釋放后,也要給510ms的延時,待后延抖動消失后才轉入該鍵處理程序。2.3.3時鐘電路ds1302可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.55.5v。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302內部有一個33*8的用于臨時性存放數(shù)據(jù)的ram寄存器。ds1302是的ds1202升級產品,與ds1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電

11、流充電的能力。ds1302時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)ram。它經過一個簡單的串行接口與微處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末的日期自動進行調整,還包括閏年校正的功能。時鐘的運行可以采用24小時或帶am/pm的12小時格式。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302有主電源/后備電源雙電源引腳:vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電磁備份;vcc1在雙電池系統(tǒng)中提供主電源。在這種運行方式中,vcc1里連接到后備電源,以便在沒有主電源的情況下能保存時

12、間信息以及數(shù)據(jù)。ds1302由vcc1或vcc2中較大者供電。當vcc2(vcc1+02v)時,vcc2給ds1302供電;當vcc2vcc1時,ds1302由vcc1供電。如圖2-4為ds1302的引腳圖。圖2-4 ds1302的引腳圖ds1302在任何數(shù)據(jù)傳送時必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置rst腳為低電平,則

13、會終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc25v之前,rst腳必須保持低電平。只有在sclk為低電平時,才能將rst置為高電平。ds1302的控制字如表2.1所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如果為0,則表示要進行寫操作;位1表示進行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。表2-1 ds1302控制字寄存器名 命令字取值范圍各位內容寫操作讀操作76543210秒寄存器80h81h0059c

14、h10secsec分寄存器82h83h0059010minmin時寄存器84h85h0112或002312/24010hrhr日寄存器86h87h0128,29,30,310010datedate月寄存器88h89h011200010mmonth周寄存器8ah8bh010700000day年寄存器8ch8dh009910 yearyear為了提高對32個地址尋址能力(地址/命令位15=邏輯1),可以把時鐘/日歷或ram寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或ram,而位0規(guī)定讀或寫。在時鐘/日歷寄存器中的地址931或ram寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)方式下,讀或寫從地址0的位0開始。必須按數(shù)據(jù)傳送的次序寫最先的8個寄存器。但是,當以多字節(jié)方式寫ram時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至ram。ds1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為bcd碼形式。其日歷、時間寄存器及其控制字如表2.1所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,ds1302停止振蕩,進入低功耗的備份方式,通常在對ds1302進行寫操作時(如進

溫馨提示

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

最新文檔

評論

0/150

提交評論