電子萬年歷的設計_第1頁
電子萬年歷的設計_第2頁
電子萬年歷的設計_第3頁
電子萬年歷的設計_第4頁
電子萬年歷的設計_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目目 錄錄 1 設計要求 .3 2 方案論證與對比 .3 2.1 液晶顯示器控制方式選擇 .3 2.2 并行接口動態(tài)顯示電路選擇 .3 2.3 LCD 液晶顯示器的接口方法選擇.4 2.4 液晶顯示器限流電阻選擇 .5 3 系統硬件電路的設計 .6 3.1 主控模塊 AT89C52.6 3.2 顯示模塊電路設計 .7 4 系統軟件設計 .8 4.1 系統軟件概述 .8 4.2 主要子程序設計 .9 4.2.1 時鐘中斷服務子程序設計 .9 4.2.2 時間調整子程序設計.10 4.2.3 判斷閏年子程序設計 .10 4.2.4 精度分析分析與計算 .11 4.2.5 第一次初值的設置 .11

2、4.2.6 重載初值的方法 .11 5 系統仿真與測試 .12 5.1 系統仿真 .12 5.2 功能測試 .12 6 總結 .13 參考文獻.14 1 設計要求設計要求 本課題以 AT89C52 單片機為核心,設計并制作出智能 LCD 電子鐘,具有以下 基本功能:能進行時間、年份、日期、星期顯示;能區(qū)分是否閏年;能檢測室溫并 顯示。擴展功能部分可以通過控制按鍵使時間暫停、可以調整校正時間并通過按鍵 切換輪流顯示時間、年份、日期、星期。 2 方案論證與對比方案論證與對比 2.1 液晶顯示器控制方式選擇液晶顯示器控制方式選擇 采用 LCD 液晶顯示,具有超精致影像畫質、十足平面顯示、節(jié)省空間、節(jié)

3、省能 源等優(yōu)點,但按控制方式不同,LCD 可分為被動矩陣式 LCD 及主動矩陣式 LCD 兩 種??筛鶕煌枰捎貌煌姆绞?。 方案一 被動矩陣式 LCD 被動矩陣式 LCD 在亮度及可視角方面受到較大的限制,反應速度也較慢。由于 畫面質量方面的問題,使得這種顯示設備不利于發(fā)展為桌面型顯示器,但成本低廉。 方案二 主動矩陣式 LCD 目前應用比較廣泛的主動矩陣式 LCD,也稱 TFT-LCD(Thin Film Transistor- LCD,薄膜晶體管 LCD)。TFT 液晶顯示器是在畫面中的每個像素內建晶體管,可使 亮度更明亮、色彩更豐富及更寬廣的可視面積。與 CRT 顯示器相比,LCD

4、 顯示器 的平面顯示技術體現為較少的零件、占據較少的桌面及耗電量較小,但 CRT 技術較 為穩(wěn)定成熟。 相比之下,本設計當中選用方案二主動矩陣式 LCD 方式。 2.2 并行接口動態(tài)顯示電路選擇并行接口動態(tài)顯示電路選擇 可以采取串行接口動態(tài)顯示電路或者并行接口動態(tài)顯示電路,比較如下: 方案一 串行接口動態(tài)顯示電路 利用 8051 系列單片機內部的串行接口,也可以實現動態(tài)顯示及鍵盤處理。這樣 不但可以節(jié)省 8051 的并行 I/O 接口,而且在大多數不用單行口的情況下,可免于擴 展接口。在這種方法中,串行口工作在方式 0 狀態(tài),相當于一個移位寄存器,其輸 入/輸出通過 RXD 引腳,移位脈沖則由

5、 TXD 輸出。每次輸入或輸出 8 位數據(一個 字節(jié))。每輸出一個字節(jié),8051 的硬件即自動使 SCON 寄存器中的中斷 TI 置位, 通過測試 TI 的狀態(tài),即可確定一個字節(jié)是否發(fā)送完畢。見圖 2-1。 圖 2-1 串行接口動態(tài)顯示電路框圖 方案二 并行接口動態(tài)顯示電路 直接用 P0 口作線選,P2 作位選連接數碼顯示管。見圖 2-2 圖 2-2 動態(tài)顯示電路框圖 方案一中的串行接口動態(tài)顯示電路顯示方法有個很大的缺點,一旦計算機不執(zhí) 行顯示程序,則顯示立即停止。如要維持顯示,則須花費計算機很多時間。而且在 本次課程設計中,我們也有足夠的 I/O 口,因此,選擇并行接口動態(tài)顯示電路較好。

6、2.3 LCD 液晶顯示器的接口方法選擇液晶顯示器的接口方法選擇 方案一 以硬件為主的 LCD 顯示接口電路 這種接口方法的電路圖見圖 2-3,可以看出,在數據總線和 LCD 之間,必須有 鎖存器或 I/O 接口電路,此外,還應有專門的譯碼/限流電阻。通過譯碼器把 1 位十 六進制或 BCD 碼譯為相應的顯示段碼,然后由限流電阻限制電流防止顯示器因電流 過大而燒壞。這種接口方法僅用一條輸出指令,就可以進行 LCD 顯示。但是所使用 的硬件電路較多,而硬件譯碼缺乏靈活性,只能顯示十進制數或十六進制。 圖 2-3 硬件為主的 LED 顯示接口電路框圖 方案二 以軟件為主的 LCD 顯示接口電路 這

7、種接口方法的電路如圖 2-4 ,它以軟件查表代替硬件譯碼的方法,不但省去 了譯碼器,而且還能顯示更多的字符,但是電阻限流是必不可少的。本次設計采用 這種接口電路。 圖 2-4 以軟件為主的 LCD 顯示接口電路框圖 2.4 液晶顯示器限流電阻選擇液晶顯示器限流電阻選擇 由于 LCD 的電流參數較小,為了防止因電流過大而被燒壞,能夠幫助內存起到 穩(wěn)壓作用,讓內存工作更穩(wěn)定,因此必須加入限流電阻。限流電阻有兩種實現方式, 比較如下: 方案一 直接用單個電阻限流 直接用單個電阻進行限流,散熱快,但是既占空間又接線麻煩。 方案二 用排阻進行限流 用多個電阻排列而成的排阻能減少占用的空間,易于連線。 綜

8、上分析,本設計采用方案二排阻限流。 3 系統硬件電路的設計系統硬件電路的設計 經上述比較,本次作品采用以 AT89C52 為核心的單片機最小系統板,顯示模塊 采用數碼管動態(tài)掃描顯示。經過方案論證與比較,選擇出最優(yōu)方案的系統總體方案 框圖如圖 3-1 所示。 3.1 主控模塊主控模塊 AT89C52 主控模塊采用的是 AT89C52 單片機芯片。AT89C52 是一個低電壓,高性能 CMOS 8 位單片機,片內 8KB ROM 全部采用 FLASH ROM 技術,晶振時鐘為 12MHz。器件采用 ATMEL 公司的高密度,肥易失性存儲技術生產,兼容標準 MCS-51 指令系統,騙內置 通用 8

9、位中央處理器和 Flash 存儲單元。 AT89C52 是標準的 40 引腳雙列直插式集成電路芯片,有 4 個八位的并行雙向 I/O 端口,分別記作 P0、P1、P2、P3。3 個 16 位可編程定時計數器,2 個全雙工串 行通信口,2 個讀寫口線。 第 31 引腳需要接高電位使單片機選用內部程序存儲器。P0-P3 為可編成通用輸 入輸出引腳,其功能用途由軟件定義。第 9 引腳是復位引腳,要接一個上電手動復 位電路;第 40 腳為電源端 VCC,接+5V 電源,第 20 引腳為接地端 VSS,通常在 VCC 和 VSS 引腳之間接 0.1F 高頻濾波電容。第 18、19 腳之間接上一個 12M

10、Hz 的晶振 為單片機提供時鐘信號。主控模塊電路圖見圖 3-2。 按鍵模塊 電源 時間調整模塊 顯示模塊 溫度顯示 星期顯示 時間顯示 年份顯示 顯示 主控模塊 圖 3-1 系統總體方 案框圖 圖 3-2AT89C52 單片機芯片 3.2 顯示模塊電路設計顯示模塊電路設計 P2 是一個帶有內部上拉電阻的 8 位雙向 I/O 口,P2 的輸出緩沖級可驅動 (吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口 P2 寫“1”,通過內部的上 拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上 拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL)。在訪問外部程序存 儲器或

11、16 位地址的外部數據存儲器(例如執(zhí)行 MOVX DPTR 指令)時,P2 口 送出高 8 位地址數據。在訪問 8 位地址的外部數據存儲器(如執(zhí)行 MOVX RI 指令)時,P2 口輸出 P2 鎖存器的內容 。Flash 編程或校驗時, P2 亦接收高位 地址和一些控制信號。 P0 口是一組 8 位漏極開路型雙向 I/O 口, 也即地址/數據總線復用口。 作為輸出口用時,每位能吸收電流的 方式驅動 8 個 TTL 邏輯門電路,對端口 P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時, 這組口線分時轉換地址(低 8 位)和數據總線復用,在訪問期間激活內部上拉 電阻。 在

12、 Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字 節(jié),校驗時,要求外接上拉電阻。 本設計中要對時間、溫度進行顯示。單片機 AT89C52 的 P2 口分別接 LCD 控制 屏幕的顯示。而 P0 口用來顯示信息的輸入,為了防止電流過大而燒壞 LCD,所以用 排阻 RESPACK-8 來限流。液晶顯示電路圖見圖 3-3。 圖 3-3 顯示模塊電路 4 系統軟件設計系統軟件設計 4.1 系統軟件概述系統軟件概述 在編程上,首先進行了初始化,定義程序的入口地址以及中斷的入口地址,在主 程序的開始定義了一組固定單元用來存儲計數的分、秒、年、月、日、星期的存儲 單元。調用閏年判斷程序

13、后,進入主程序中循環(huán)。在主程序中,對不同的按鍵進行 掃描,實現秒表,時間調整、開關屏設置等擴展功能。時鐘計時利用定時器 T0 中斷 子程序實現,秒表和時間調整閃爍程序由定時器 T1 的中斷服務子程序實現??紤]到 實用性,在該電子鐘的時間調整時采用了閃爍,而開關屏設置采用了符號標志。在自 動開、關屏設置子程序中,另外開辟內存單元用來存放開、關屏設置時間,而在另 外的子程序中不斷比較當前時間是否和設置時間相等并設置標志位,然后程序中檢 測標志位,從而實現開、關屏操作。系統總體流程圖見圖 4-1。 4.2 主要子程序設計主要子程序設計 顯示完畢后,P2 口和 P1 口復位,準備下一輪的顯示。在系統總

14、體流程設計思 想的指導下,分模塊對程序進行設計,主要模塊設計有時鐘中斷服務子程序設計、 時間調整子程序設計、判斷閏年子程序設計等。各子程序分析如下: 4.2.1 時鐘中斷服務子程序設計 首先設定定時器 T0 的初值,T0 的最大定時不足 1s,為便于計算,取定時 50ms。這樣每 50ms 中斷 1 次,中斷 20 次為 1s。50ms 的定時初值的計算如下: 0.05/(1/12*106/12))=C350H ,補碼為 3CB0H。啟動定時器后,運行中斷服務程 序。在中斷服務程序中,由秒信號來計數,當達到 60 后向“分”進位;分計數,當 達到 60 后向“時”進位;時計數,當達到 24 后

15、向“日”進位;日計數,日超出當 月上限后進位到“月”;月計數,當月計數到達 12 后向“年”進位,在日計數 圖 4-1 系統總體流程圖 程序中,日每增加一天,都對星期進行調整,具體為:若上一天不是星期日,則直 接在星期上加一,若上一天是星期日,則當前星期變?yōu)樾瞧谝弧?4.2.2 時間調整子程序設計 在主程序中通過按鍵進入時間調整界面,可實現年、月、日、星期及時間的調 整。每次調整時,調用閃爍程序,使相應的位閃爍,再通過按鍵進行加減調整。閃 爍程序也采用定時器 T1 中斷實現,每次計時 50ms,中斷 6 次也就是 0.3 秒過后, 閃爍標志位取反,顯示熄滅。 在時間顯示子程序中,單片機向 P0

16、 口送段選信號,向 P2 口送位選信號,數碼 管采用動態(tài)掃描方式,位選信號每次左移一位,每次點亮一個數碼管,一輪 4.2.3 判斷閏年子程序設計 程序中年每加一,則調用一次判斷閏年子程序,再通過置標志平 20H.3,以便 于以后的程序識別(如在月加一程序中,就需要知道是否是閏年的 2 月還是平年的 2 月)。判斷閏年子程序的設計思想是:不能被 4 整除的年份不是閏年;能被 100 整除但不能被 400 整除的年份不是閏年。閏年判斷流程圖見圖 4-2。 圖 4-2 顯示子程序流程圖 4.2.4 精度分析分析與計算 在 MCS-51 單片機中,脈沖源是由系統的晶振經過 12 分頻后獲得的,故定時器

17、 計數脈沖4周期為:T=12/fosc (1) 4.2.5 第一次初值的設置 根據(1)式可以分別算出定時器四種工作方式的最大計時時間。但實際應用中, 經常會有不同定時值的要求,可以采用預置數的方法來實現。例如,方式 1 的最大 計數為 65536,現在假設需要定時計數 100,那么我們可以設預置數為 65436,讓定 時器經過 100 個脈沖周期后,就可達到 65536。我們稱定時器中這種預置數為定時 器的第一次初值。下面推導第一次初值設置的公式。 設定時器在某種工作方式下計數的最大值為 M(見表 1),X0 為第一次初值,T 為(1)式的計數周期,t 為要求定時的溢出時間,則有: t=(M

18、 -X0)*T (2) 上式可化為: X0=M -t/T (3) 4.2.6 重載初值的方法 設置定時器第一次初值后并啟動定時器,定時器開始計數。若定時器中斷處于 開放狀態(tài),當定時器計滿后,將會引發(fā)定時中斷(T0 中斷入口地址為 000BH),執(zhí)行 相應的中斷處理程序。定時器只有工作在方式 2 下方可自動重載前次初值,其余三 種方式都不能自動重載。因此,當希望定時器繼續(xù)定時,需要在中斷處理程序中重 新賦定時器初值。我們稱這種在中斷處理程序中重新賦定時器的初值為定時器的重 載初值。在定時精度要求不高的系統中,定時器的重載初值可以與第一次的初值相 同,即可按(3)式重載。但在定時精度要求較高的場合

19、,就不能簡單地按(3)式重載。 因為從定時器計滿發(fā)出溢出中斷請求到重載初值,存在一定的時間間隔,造成定時 的延遲。這個時間間隔包含兩部分的延遲,第一是中斷響應所需的延遲,包括執(zhí)行 轉向中斷服務程序的跳轉指令所需要的 2 個機器周期和等待正在執(zhí)行的指令執(zhí)行完 畢所需要 14 個機器周期;第二是重載初值所需的延遲,包括從中斷服務程序第一 條指令到重載初值之間所有指令的執(zhí)行機器周期數。綜合以上兩個延遲因素,考慮 到計數的方便性,我們可以在中斷服務程序中加入一條定時器停止計數指令,待重 載初值后,再加入一條定時器啟動計數指令,使定時器重新計數。通過這樣的技術 處理后,以上的延遲時間等效于兩個部分,即從

20、定時器計數溢出后自動從 0 開始計 數到關閉定時器計數所消耗的時間和關閉定時器到打開定時器所消耗的時間。前部 分時間可從定時器讀出,后部分時間為從關閉定時器到打開定時器之間所有指令的 執(zhí)行時間。綜上所述,設 Z 定時器計數溢出后自動從 0 開始計數到關閉定時器計數 所需要的時間,Y 關閉定時器到打開定時器所需要的時間,X1 為重載初值,則: (M -X1+Y+Z)*T=t (4) 上式可化為: X1=M-t/T+Y+Z (5) 5 系統仿真與測試系統仿真與測試 5.1 系統仿真系統仿真 在仿真過程中,軟件運用到 Wave 6000 和 Proteus 7.12,先用 Wave 6000 進行

21、編程測試再通過 Proteus 7.12 進行硬件仿真。本單片機課程設計仿真效果如圖 5- 1。 圖 5-1 系統仿真效果圖 5.2 功能測試功能測試 表 1 功能測試 計時功能 LCD 能顯示當前的時、分、和秒,具體是時跟分一起 顯示,分跟秒一起顯示,通過按鍵來切換 星期顯示功能 通過按鍵可以切換到星期顯示的界面,按返回鍵則重 新回到主界面顯示 時間調整功能 通過按鍵可以調整或設定年、月、日、星期、時、分, 且能實現秒的微調功能 室溫檢測并顯示功能 通過智能傳感器 DS18B20 能夠實現檢測功能,并通過 LCD 能完成液晶顯示功能 閏年功能 能計時到萬年,且能自動判斷閏年與平年,并實現正

22、確的計時操作 經過反復測試,本系統已能達到設計所要求的所有功能。 6 總結總結 通過十天的設計和調試,終于完成了設計任務,系統測試后,各項指標都達到 了規(guī)定要求。我的設計,在完成了預期功能的同時,另外我新增了時間暫停功能。 設計過程中也遇到過很多困難,特別是調試,花去了大量的時間,出不來預期 的效果。剛開始,在軟件的編寫與修改過程中也花費了大量的時間,主要是在平時 的學習過程中,對程序的編寫不熟練,許多問題凸現出來,成了攔路虎。由此可知 自己的水平還是相當有限,在以后的專業(yè)學習當中應該更加認真,更加深入地學習, 在這次的設計中,經過自己的多次選材與調試,多參與實踐,多通過實例來鍛煉自己的 實際

23、操作和解決問題的能力。后來出現問題時,我總是誤以為是軟件問題,查了好 久才查出是一個小小的硬件連線錯誤,其實測試是應該從硬件起逐項排查到軟件。 還有,測試時也最好是先一個模塊地測試,都通過了才組合到一起再從整體上進行 調試,否則一個小問題也會變得錯綜復雜。整個設計與調試過程是一個讓人興奮與 激動的過程,盡管有時也會因為調試不順利而有點煩躁,但每次調試成功的喜悅又 會馬上沖刷掉原來的不快。在本次設計過程中,我深深地體會到了紙上得來終覺淺 的道理,不管是在學習態(tài)度還是專業(yè)技能方面都有了很大的改進和提高。通過本次 單片機的課程設計收獲頗大。 通過十多天的學習和實踐,這次設計終于取得了圓滿成功。設計過

24、程中,遇到 了很多困難,但是在老師和同學們的熱忱幫助下,都得以順利解決,在此對我可親 可敬的老師們和親如兄弟的同學們表示衷心的感謝。我定將這份深厚的感情永遠銘 記在心里,以此為動力,不斷鞭策自己,激勵自己,不斷提高,不斷進步,以后一 定更加努力地學好每門課程,以此來報答大家。 參考文獻參考文獻 1 李廣弟.單片機基礎(修訂本).北京:北京航空航天大學出版社,2004 2 趙志剛,吳海彬編著.Protel DXP 實用教程.北京:清華大學出版社;北京交 通大學出版社,2004.11 3 朱定華,戴汝平編著.單片微機原理與應用.北京:清華大學出版社;北京交 通大學出版社,2003.8 4 樓然苗,

25、李光飛編著.單片機課程設計指導.北京:北京航空航天大學出版社, 2007.7 5 蔡明文,馮先成主編.單片機課程設計.武漢:華中科技大學出版社,2007.3 6 周立功等編著.單片機實驗與實踐.北京:北京航空航天大學出版社,2004 指導教師評語:指導教師評語: 成績:成績: 指導教師簽字:指導教師簽字: 年年 月月 日日 tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknB

溫馨提示

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

評論

0/150

提交評論