嵌入式報告基于LCD的電子時鐘實驗_第1頁
嵌入式報告基于LCD的電子時鐘實驗_第2頁
嵌入式報告基于LCD的電子時鐘實驗_第3頁
嵌入式報告基于LCD的電子時鐘實驗_第4頁
嵌入式報告基于LCD的電子時鐘實驗_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 嵌入式計算機產(chǎn)品案例報告、課程報告題目: 基于LCD的電子時鐘實驗 、課程設(shè)計(論文)工作內(nèi)容學(xué)習(xí)LCD與ARM的LCD的控制器的接口原理,掌握內(nèi)置LCD控制器驅(qū)動編寫方法”的實驗?zāi)康?,在可行性分析的基礎(chǔ)上實現(xiàn)以下功能: 1、編寫程序?qū)崿F(xiàn)電子時鐘功能,通過實驗系統(tǒng)的LCD將時間顯示出來; 2、仿照給定圖形在LCD上顯示類似的時鐘界面; 3、動態(tài)顯示當前的時間,包括:年、月、日、時、分、秒,時針,分針、秒針必須為動態(tài)實時指示當前的時間。一、課程設(shè)計目標 1、培養(yǎng)綜合運用知識和獨立開展實踐創(chuàng)新的能力;2、培養(yǎng)學(xué)生的編程能力、用計算機解決實際問題的能力。3、培養(yǎng)學(xué)生遇到問題,解決問題的能力。二、研

2、究方法及手段應(yīng)用1、將任務(wù)分成若干模塊,查閱相關(guān)論文資料,分模塊調(diào)試和完成任務(wù);2、L-ARM-830教學(xué)實驗箱,PentiumII以上的PC機,仿真器電纜; 3、PC操作系統(tǒng)WIN98或WIN2000或WINXP,ARM SDT2.5或ADS1.2集成開發(fā)環(huán)境,仿真器驅(qū)動程序; 4、實驗使用實驗教學(xué)系統(tǒng)的CPU板,在進行本實驗時,LCD電源開關(guān)、音頻的左右聲道開關(guān)、AD通道選擇開關(guān)、觸摸屏中斷選擇開關(guān)等均應(yīng)處在關(guān)閉狀態(tài)。五、成三、課程設(shè)計預(yù)期效果1、完成實驗環(huán)境搭建;2、分模塊調(diào)試和編譯;3、組合并完善程序。4、效果圖。目 錄前 言 4第一章 系統(tǒng)設(shè)計 5第一節(jié) 課題目標及總體方案.5 第二

3、節(jié) 原理框圖.5 第三節(jié) RTC模塊.6 第四節(jié) LCD模塊.8 第五節(jié) 信息的傳遞.11第二章 實驗(測試)結(jié)果及討論.12 第一節(jié) 軟件的編譯.12 第二節(jié) 調(diào)試.13第三章 結(jié)論14心得體會14參考文獻 14附 錄 15 源程序15 前 言嵌入式系統(tǒng)已經(jīng)有了近40年的發(fā)展歷史,它是硬件和軟件交替雙螺旋式發(fā)展的。隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。美國著名未來學(xué)家尼葛洛龐帝1999年1月訪華時預(yù)言,4-5年后嵌入式智能工具將是PC和Intel網(wǎng)之后最偉大的發(fā)明。嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑

4、成為當前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。 本課程設(shè)計實時時鐘(RTC)器件是一種能提供日歷/時鐘、數(shù)據(jù)存儲等功能的專用集成電路,常用作各種計算機系統(tǒng)的時鐘信號源和參數(shù)設(shè)置存儲電路。RTC具有計時準確、耗電低和體積小等特點,特別適用于在各種嵌入式系統(tǒng)忠記錄事件發(fā)生的時間和相關(guān)信息,尤其是在通信工程、電力自動化、工業(yè)控制等自動化程度較高領(lǐng)域的無人職守環(huán)境。隨著集成電路技術(shù)的不斷發(fā)展,RTC器件的新品也不斷推出。這些新品不僅具有準確的RTC,還有大容量的存儲器、溫度傳感器和A/D數(shù)據(jù)采集通道等,已成為集RTC、數(shù)據(jù)采集和存儲于一體的綜合功能器件,特別適用于以微控制器為核心的嵌入式系統(tǒng)。本課程設(shè)

5、計將體現(xiàn)嵌入式技術(shù)的優(yōu)越性。第一章 系統(tǒng)設(shè)計第一節(jié) 課題目標及總體方案S3C44B0X處理器的學(xué)習(xí),可以利用其內(nèi)部的RTC單元和LCD控制器,外接LCD模塊、晶振和(后備)電源實現(xiàn)電子實時時鐘的功能。主要實現(xiàn)方法為:通過電源和晶振保證處理器的正常工作和時鐘來源,通過編程設(shè)定RTC單元的工作模式,實現(xiàn)實時時鐘的功能;然后根據(jù)所要求顯示的圖形效果,編寫程序設(shè)定LCD控制器的相應(yīng)寄存器,將RTC單元和LCD控制器合理有效地結(jié)合起來;最終由LCD模塊作出相應(yīng)動作,完成實時時鐘的顯示功能。 本文的中英文字符顯示方案,有效地利用了嵌入式系統(tǒng)自身的ROM存儲容量,其最大的特點是以少量的存儲容量為代價,來簡單

6、靈活地實現(xiàn)LCD上的字符顯示。該方案可以顯示所有的一、二級漢字,并且能實現(xiàn)漢字、英文的混合顯示,從而方便地構(gòu)造出良好的人機界面。本文所討論的硬件平臺是在S3C44BOX和液晶顯示器的基礎(chǔ)上搭建的,對于實現(xiàn)S3C44BOX與其它類型LCD模塊的連接和應(yīng)用,具有定的參考價值。第二節(jié) 原理框圖根據(jù)題所要實現(xiàn)的功能,結(jié)合S3C44B0X處理器的單元結(jié)構(gòu),作出如下圖所示的原理框圖。 S3C44B0X采用一種新的三星ARM CPU嵌入總線結(jié)構(gòu)-SAMBA2,最大達66MHZ第三節(jié) RTC模塊 主要是利用RTC的各種寄存器功能,設(shè)計出一個時鐘表。 實時時鐘(RTC)器件是一種能提供日歷/時鐘、數(shù)據(jù)存儲等功能

7、的專用集成電路,常用作各種計算機系統(tǒng)的時鐘信號源和參數(shù)設(shè)置存儲電路。RTC具有計時準確、耗電低和體積小等特點,特別適用于在各種嵌入式系統(tǒng)忠記錄事件發(fā)生的時間和相關(guān)信息,尤其是在通信工程、電力自動化、工業(yè)控制等自動化程度較高領(lǐng)域的無人職守環(huán)境。隨著集成電路技術(shù)的不斷發(fā)展,RTC器件的新品也不斷推出。這些新品不僅具有準確的RTC,還有大容量的存儲器、溫度傳感器和A/D數(shù)據(jù)采集通道等,已成為集RTC、數(shù)據(jù)采集和存儲于一體的綜合功能器件,特別適用于以微控制器為核心的嵌入式系統(tǒng)。 S3C44B0X實時時鐘單元是處理器集成的片內(nèi)外設(shè)。由開發(fā)板上的后備電池供電,可以在系統(tǒng)電源關(guān)閉的情況下運行。RTC發(fā)送8位

8、BCD碼數(shù)據(jù)到CPU。傳送的數(shù)據(jù)包括秒、分、小時、星期、月份和年份。RTC單元時鐘源由外部32。768kHz晶振提供,可以實現(xiàn)鬧鐘(報警)功能。S3C44B0X實時時鐘單元特性如下:BCD數(shù)據(jù):秒、分、小時、星期、日期、月份和年份;鬧鐘(報警)功能:產(chǎn)生定時中斷或激活系統(tǒng);自動計算閏年;無2000年問題;獨立的電源輸入;支持ms級時間片中斷,位RTOS提供時間基準。2)讀/寫寄存器訪問RTC模塊的寄存器,首先要社RTCCON的位0位1。CPU通過讀取RTC模塊中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON和BCDYEAR的值,得到當前的相應(yīng)時間值

9、。但是,由于多個寄存器一次讀出,所以由可能產(chǎn)生錯誤。例如:用戶一次讀取年(1989)、月(12)、日(31)、時(23)、分(59)、秒(59)。當秒數(shù)位159時,無任何問題;但是,當秒數(shù)位0時,當前時間和日期就變成了1990年1月1日0時0分。在這種情況下(秒數(shù)位0),用戶應(yīng)該重新讀取年份到分鐘的值。3)后備電池RTC單元可以使用后后備電池通過引腳RTCVDD供電。當系統(tǒng)關(guān)閉電源以后,CPU和RTC的接口電路被阻斷。后備電池只需要驅(qū)動晶振和BCD計數(shù)器,從而達到最小功耗。4)鬧鐘報警功能RTC在指定的時間產(chǎn)生報警信號,包括CPU工作在正常模式和休眠(Power Down)模式下。在正常工作模

10、式,報警中斷信號(ALMINT)別激活;在修們模式,報警中斷信號和喚醒信號(PMWKUP)同時被激活。RTC報警寄存器(RTCALM)決定報警功能的使能/屏蔽和完成報警時間檢測。5)時間片中斷RTC時間片中斷用于中斷請求。寄存器TICNT由一個中斷使能位和中斷計數(shù)。該中斷計數(shù)自動遞減,當達到0時,則產(chǎn)生中斷。中斷周期)Period計算公式如下:Period(n1)/128s其中,n為RTC時鐘中斷計數(shù),可取值為1127。6)置0計數(shù)功能RTC的置0計數(shù)功能可以實現(xiàn)30s、40s和50s步長重新計數(shù),供某些專用系統(tǒng)使用。當使用50s置0設(shè)置時,如果當前時間是11:59:49,則1s后時間將變?yōu)?

11、2:00:00。注意:所有的RTC寄存器都是字節(jié)型的,必須使用字節(jié)訪問指令(STRB、LDRB)或字符型指針訪問。RTC初始化第四節(jié) LCD模塊 LCD模塊是嵌入式應(yīng)用系統(tǒng)中重要的人機交互部件。目前,許多常用的LCD模塊一般自身都不帶有字庫,而實際應(yīng)用中人機界面又經(jīng)常需要顯示中英文字符。對于不帶字庫的LCD模塊顯示字符的解決方法通常是利用字模提取軟件來進行預(yù)處理,即將系統(tǒng)中可能用到的字符一一將其字模提取出來,并將字模數(shù)據(jù)存放在程序空間中。該方法只適用于顯示字符固定且數(shù)量較入式系統(tǒng)中,靈活性差。考慮到嵌入式系統(tǒng)一般帶有一定容量的ROM存儲系統(tǒng),本文以無字的圖形LCD模塊LM2028為例,搭建了以

12、ARM微處理器s3C44BOX為基礎(chǔ)的嵌式液晶系統(tǒng)工作平臺,在此平臺的基礎(chǔ)上,討論了一種基于自制硬件字庫的中英文字符顯示方案。LCD控制器的作用是將系統(tǒng)存儲器中的LCD圖像數(shù)據(jù)傳送到外部LCD驅(qū)動器中,并產(chǎn)生必須的LCD控制信號。S3C44BOX LCD控制器支持在灰白LCD上的單色、4級灰度、16級灰度顯示,也能與彩色LCD接口支持最大256色的顯示??梢跃幊讨С植煌胶痛怪秉c數(shù)(64O480、320240、160160等)、不同數(shù)據(jù)線寬度、不同接口時序和刷新速率的LCD,支持4位雙掃描、4位單掃描、8位單掃描的LCD顯示器,并支持水平垂直卷動,以用來支持更大的屏幕顯示(如12801280

13、) 。S3C44BOX支持查找表,用于各種色彩選擇或灰度級別的選擇。在灰度模式中,通過查找表可以在16級灰度中選擇四種灰度,在彩色模式中,一個字節(jié)的圖像數(shù)據(jù)是用3位表示紅色,3位表示綠色,2位表示藍色,通過查找表可以選擇16級紅色中的8種紅色、16級綠色中的8種綠色和16級藍色中的4種藍色。S3C44B0X 中具有內(nèi)置的LCD 控制器,它能將顯示緩存(在SDRAM存儲器中)中的LCD圖像數(shù)據(jù)傳輸?shù)酵獠康腖CD驅(qū)動電路上的邏輯功能。它支持單色、4級、16級灰度LCD顯示,以及256彩色LCD顯示。在顯示灰度時,它采用時間抖動算法(time-based dithering algorithm)和幀

14、率控制 (Frame Rate Control)方法,在顯示彩色時,它采用RGB的格式,即RED、GREEN、BLUE,三色混合調(diào)色。通過軟件編程,可以實現(xiàn)233或332的RGB調(diào)色的格式。對于不同尺寸的LCD顯示器,它們會有不同的垂直和水平象素點、不同的數(shù)據(jù)寬度、不同的接口時間及刷新率,通過對LCD 控制器中的相應(yīng)寄存器寫入不同的值,來配置不同的LCD 顯示板。S3C44B0X 中內(nèi)置的LCD 控制器提供了下列外部接口信號:VFRAME: LCD 控制器和LCD 驅(qū)動器之間的幀同步信號。它通知LCD屏開始顯示新的一幀,LCD 控制器在一個完整幀的顯示后發(fā)出VFRAME 信號。VLINE: L

15、CD 控制器和LCD 驅(qū)動器間的同步脈沖信號,LCD 驅(qū)動器通過它來將水平移位寄存器中的內(nèi)容顯示到LCD 屏上。LCD 控制器在一整行數(shù)據(jù)全部傳輸?shù)絃CD 驅(qū)動器后發(fā)出VLINE 信號。VCLK: LCD 控制器和LCD 驅(qū)動器之間的象素時鐘信號,LCD 控制器在VCLK的上升沿發(fā)送數(shù)據(jù),LCD 驅(qū)動器在VCLK 的下降沿采樣數(shù)據(jù)。VM: LCD 驅(qū)動器所使用的交流信號。LCD 驅(qū)動器使用VM 信號改變用于打開或關(guān)閉象素的行和列電壓的極性。VM 信號在每一幀觸發(fā),也可通過編程在一定數(shù)量的VLINE 信號后觸發(fā)。VD3:0: LCD 象素數(shù)據(jù)輸出端口。VD7:4: LCD 象素數(shù)據(jù)輸出端口。LC

16、D 控制器包含REGBANK, LCDCDMA, VIDPRCS, 和TIMEGEN。REGBANK 具有18 個可編程寄存器,用于配置LCD 控制器。LCDCDMA為專用的DMA,它可以自動地將顯示數(shù)據(jù)從幀內(nèi)存中傳送到LCD 驅(qū)動器中。通過專用DMA,可以實現(xiàn)在不需要CPU 介入的情況下顯示數(shù)據(jù)。VIDPRCS 從LCDCDMA 接收數(shù)據(jù),將相應(yīng)格式(比如48 位單掃描和4 位雙掃描顯示模式)的數(shù)據(jù)通過VD7:0發(fā)送到LCD的驅(qū)動器上。TIMEGEN 包含可編程的邏輯,以支持常見的LCD 驅(qū)動器所需要的不同接口時間和速率的要求。TIMEGEN 部分產(chǎn)生VFRAME,VLINE, VCLK,

17、VM 等信號。Lcd顯示的時鐘界面包括:靜止不動的圓形鐘面和一直在走動的時鐘指針。所以需要構(gòu)建兩個重要的函數(shù)實現(xiàn)畫圓和畫直線。以下為畫圓函數(shù):該算法是通過X變量的自增,補償1 修正正方形控制Y變量自減,找到距中心恒定距離的點,其中rs=45,X自0加1增至45。和原點坐標運算,可以在第一象限找到一點,再通過折疊對稱找到其他象限的三個點,通過畫點函數(shù)描繪出。再畫他的45度鏡像就好了。以中心的坐標為起點,使用while函數(shù)與指針最外圈的點比較,不斷延長直至相等,所以事先計算出時針,分針和秒針三個同心圓最外圈點的坐標,以便帶入函數(shù)。也同圓類似,要考慮不同象限點的情況,根據(jù)不同的位置帶參數(shù)到畫點函數(shù)中

18、描繪。第五節(jié) 實現(xiàn)信息的傳遞數(shù)據(jù)傳遞函數(shù):與通用可編程輸入輸出口(General Programable Input Output)相連,把計算的數(shù)據(jù)傳遞給Lcd顯示。第二章 實驗(測試)結(jié)果及討論第一節(jié) 軟件的編譯添加頭文件,中斷處理匯編程序段,初始化函數(shù)和主函數(shù): 編譯所有的文件:第二節(jié) 調(diào)試連接芯片與LCD端口,運行程序,觀察效果。顯示如下時鐘界面: 動態(tài)顯示當前的時間,包括:年、月、日、時、分、秒,時針、分針和秒針為動態(tài)實時指示當前的時間。第三章 結(jié) 論 有以上效果圖可知,若要實現(xiàn)隨時更改時間,還需添加一段調(diào)用程序,使用鍵盤控制,從而避免了修改程序中初始值設(shè)定的復(fù)雜性和不方便性。同時若

19、要實現(xiàn)正確的顯示,必須避免各個模塊的相互影響。 心得體會 這次課程設(shè)計已經(jīng)結(jié)束,但收獲還是很大的,不僅加深了對嵌入式理論知識的理解和應(yīng)用,而且有效地提高了創(chuàng)新和編譯程序的能力。同時鍛煉了我們在遇到問題不退縮的勇氣。這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程遇到了各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計,把以前所學(xué)過的知識重新溫故,鞏固了所學(xué)的知識,這次課

20、程設(shè)計的意義深遠。 參考文獻【1】 深圳托普微科技開發(fā)有限公司LM2028 LCD ModuleUser ManualEBOLhttp:wwwtopwaydisplaycorn,2O0412-20【2】SST公司SST39VF1601 DatasheetEBOLhttp:WWWsstcornproducts,200512-14劉紅,覃光華,汪道輝基于不帶字庫的圖形LCD模塊漢字顯示解決方案J微計算機信息,2004,20(12):91-93【3】 謝自美,電子線路設(shè)計、實驗、測試,華中理工大學(xué)出版社,2003?!?】 宋春榮,通用集成電路速查手冊,山東科學(xué)技術(shù)出版社,1995。【5】Arnold

21、 Berger,嵌入式系統(tǒng)設(shè)計,呂駿 譯, 北京:電子工業(yè)出版社, 2002【6】 桑楠. 嵌入式系統(tǒng)原理及應(yīng)用開發(fā)技術(shù),北京:北京航空航天大學(xué)出版社,2002 【7】Samstmg公司S3C44BOXdatasheetEBOLhttp:WWWsamsungcorn ,2005-12-25田澤嵌入式系統(tǒng)開發(fā)與應(yīng)用教程M北京:北京航空航天大學(xué)出版社,2005 附 錄1、 源程序:#include .incconfig.h#defineSTACKSIZE256#define x_line 160#define y_line 80OS_STK_DATA stk;extern GUI_FONT CHI

22、NESE_FONT12;extern GUI_FONT CHINESE_FONT16;extern GUI_FONT GUI_Font8x16;OS_EVENT * Send_LCD_Sem;OS_EVENT *Key_Mbox;I8 Hour3,Min3,Sec3;I8 hour = 0, min = 0, sec = 0,ms;I8 YEA13,YEA23,MON3,DAY3;int yea1 = 20,yea2=11, mon = 6, day = 23;I8 XH03,XH13,XH23,XH33;I8 XH43,XH53,XH63,XH73;char xh0=01,xh1=62,xh

23、2=31,xh3=03;char xh4=32,xh5=36,xh6=02,xh7=12;/int TimeCount = 0;int SpaceXS61=160,165,170,175,180,185,189,193,197,201,205,206,207,208,209,210,209,208,207,206,205,201,197,193,189,185,180,175,170,165,160,155,150,145,140,135,131,127,123,119,115,114,113,112,111,110,111,112,113,114,115,119,123,127,131,13

24、5,140,145,150,155,160, , SpaceYS61=30,31,32,33,34, 35,39,43,47,51, 55,60,65,70,75, 80,85,90,95,100, 105,109,113,117,121, 125,126,127,128,129, 130,129,128,127,126, 125,121,117,113,109, 105,100,95,90,85, 80,75,70,65,60, 55,51,47,43,39, 35,34,33,32,31,30, SpaceXM61=160,164,168,172,176,180,183,186,189,1

25、92, 195,196,197,198,199,200,199,198,197,196, 195,192,189,186,183,180,176,172,168,164, 160,156,152,148,144,140,137,134,131,128, 125,124,123,122,121,120,121,122,123,124, 125,128,131,134,137,140,144,148,152,156, 160 , SpaceYM61=40,41,42,43,44,45,48,51,54,57, 60,64,68,72,76,80,84,88,92,96, 100,103,106,1

26、09,112,115,116,117,118,119, 120,119,118,117,116,115,112,109,106,103, 100,96,92,88,84,80,76,72,68,64, 60,57,54,51,48,45,44,43,42,41, 40 , SpaceXH13=160,175,185,190,185,175,160,145,135,130,135,145,160, SpaceYH13=50,55,65,80,95,105,110,105,95,80,65,55,50, *Placex=&SpaceXS0,*Placey=&SpaceYS0,*Placexm=&S

27、paceXM0,*Placeym=&SpaceYM0, *Placexh=&SpaceXH0,*Placeyh=&SpaceYH0;void Display_xh1(char xx1,char yy1);void Display_xh2(char xx2,char yy2);void Display_xh3(char xx3,char yy3);void show(I8 s) if(s%4=0) Set_Color(GUI_BLUE); Set_Font (&CHINESE_FONT16); Disp_String (CN_start劉權(quán)周明明陶潔如CN_end,48,210); Set_Fo

28、nt(&GUI_Font8x16); Display_xh3(250,210); Display_xh2(250,190); Display_xh1(250,170); Set_Color(GUI_RED); Set_Font (&CHINESE_FONT16); Display_xh1(250,210); else if(s%4=1) Set_Color(GUI_YELLOW); Set_Font (&CHINESE_FONT16); Disp_String (CN_start周明明CN_end,48,210); Set_Color(GUI_YELLOW); Fill_Circle (288

29、,50,25); Display_xh1(250,210); else if(s%4=2) Set_Color(GUI_BLUE); Set_Font (&CHINESE_FONT16); Disp_String (CN_start周明明CN_end,48,210); Set_Color(GUI_WHITE); Set_Font (&CHINESE_FONT16); Disp_String (CN_start陶潔如CN_end,48,210); Set_Color(GUI_WHITE); Set_Font(&GUI_Font8x16); Display_xh2(250,210); else i

30、f(s%4=3) Set_Color(GUI_BLUE); Set_Font(&GUI_Font8x16); Disp_String (CLOCK,10,10); Set_Font (&CHINESE_FONT16); Disp_String (CN_start陶潔如CN_end,48,210); Set_Color(GUI_LIGHTMAGENTA); Set_Font (&CHINESE_FONT16); Disp_String (CN_start劉權(quán)周明明陶潔如CN_end,48,210); Set_Color(GUI_LIGHTMAGENTA); void Shows() show(s

31、ec); Set_Color(GUI_GRAY); /擦除上一秒的 Draw_Line(x_line,y_line,*Placex,*Placey); Placex=Placex+1; Placey=Placey+1; Set_Color(GUI_YELLOW); /顯示下一秒的 Draw_Line(x_line,y_line,*Placex,*Placey); Set_Color(GUI_RED); /顯示下一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Set_Color(GUI_GREEN); /顯示下一時的 Draw_Line(x_lin

32、e,y_line,*Placexh,*Placeyh); if(Placex=&SpaceXS60&Placey=&SpaceYS60) Placex=&SpaceXS0; Placey=&SpaceYS0; void Showm() Set_Color(GUI_GREEN); Fill_Circle (288, 50, 25); Set_Color(GUI_RED); Fill_Circle (280, 50, 10); Fill_Circle (296, 50, 10); Fill_Circle (288, 40, 10); Fill_Circle (288, 60, 10); Set_C

33、olor(GUI_YELLOW); Fill_Circle (288, 50, 5); Set_Color(GUI_GRAY); /擦除上一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Placexm=Placexm+1; Placeym=Placeym+1; Set_Color(GUI_RED); /顯示下一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Set_Color(GUI_GREEN); /顯示下一時的 Draw_Line(x_line,y_line,*Placexh,*Placeyh);

34、 if(Placexm=&SpaceXM60&Placeym=&SpaceYM60) Placexm=&SpaceXM0; Placeym=&SpaceYM0; void Showh() Set_Color(GUI_YELLOW); Fill_Circle (288, 50, 25); Set_Color(GUI_GREEN); Fill_Circle (280, 50, 10); Fill_Circle (296, 50, 10); Fill_Circle (288, 40, 10); Fill_Circle (288, 60, 10); Set_Color(GUI_RED); Fill_C

35、ircle (288, 50, 5); Set_Color(GUI_GRAY); /擦除上一時的 Draw_Line(x_line,y_line,*Placexh,*Placeyh); Placexh=Placexh+1; Placeyh=Placeyh+1; Set_Color(GUI_GREEN); /顯示下一時的 Draw_Line(x_line,y_line,*Placexh,*Placeyh); if(Placexh=&SpaceXH12&Placeyh=&SpaceYH12) Placexh=&SpaceXH0; Placeyh=&SpaceYH0; void Shouw_Cric

36、le() / 整 點Set_Color(GUI_YELLOW); Fill_Circle (160, 30,2); / 12點(x,y,r) Fill_Circle (135, 35,2); / 11 點(x,y,r) Fill_Circle (115, 55,2); / 10 點(x,y,r) Fill_Circle (110, 80,2); / 9 點(x,y,r) Fill_Circle (115, 105,2); / 8 點(x,y,r) Fill_Circle (135, 125,2); / 7 點(x,y,r) Fill_Circle (160, 130,2); / 6 點(x,y

37、,r) Fill_Circle (185, 125,2); / 5 點(x,y,r) Fill_Circle (205, 105,2); / 4 點(x,y,r) Fill_Circle (210, 80,2); / 3 點(x,y,r) Fill_Circle (205, 55,2); / 2點(x,y,r) Fill_Circle (185, 35,2); / 1點(x,y,r) Set_Color(GUI_WHITE); Fill_Circle (165, 31,1); Fill_Circle (170, 32,1); Fill_Circle (175, 33,1); Fill_Circ

38、le (180, 34,1); Fill_Circle (189, 39,1); Fill_Circle (193, 43,1); Fill_Circle (197, 47,1); Fill_Circle (201, 51,1); Fill_Circle (206, 60,1); Fill_Circle (207, 65,1); Fill_Circle (208, 70,1); Fill_Circle (209, 75,1); Fill_Circle (209, 85,1); Fill_Circle (208, 90,1); Fill_Circle (207, 95,1); Fill_Circ

39、le (206, 100,1); Fill_Circle (201, 109,1); Fill_Circle (197, 113,1); Fill_Circle (193, 117,1); Fill_Circle (189, 121,1); Fill_Circle (180, 126,1); Fill_Circle (175, 127,1); Fill_Circle (170, 128,1); Fill_Circle (165, 129,1); Fill_Circle (155, 129,1); Fill_Circle (150, 128,1); Fill_Circle (145, 127,1

40、); Fill_Circle (140, 126,1); Fill_Circle (131, 121,1); Fill_Circle (127, 117,1); Fill_Circle (123, 113,1); Fill_Circle (119, 109,1); Fill_Circle (114, 100,1); Fill_Circle (113, 95,1); Fill_Circle (112, 90,1); Fill_Circle (111, 85,1); Fill_Circle (111, 75,1); Fill_Circle (112, 70,1); Fill_Circle (113

41、, 65,1); Fill_Circle (114, 60,1); Fill_Circle (119, 51,1); Fill_Circle (123, 47,1); Fill_Circle (127, 43,1); Fill_Circle (131, 39,1); Fill_Circle (140, 34,1); Fill_Circle (145, 33,1); Fill_Circle (150, 32,1); Fill_Circle (155, 31,1); void Delay(int time);void ChangeForm(char Time,char time) Time0 =

42、time / 10 + 48; Time1 = time % 10 + 48; Time2 = 0;void Display_Time(char x,char y) ChangeForm(Hour, hour); ChangeForm(Min, min); ChangeForm(Sec, sec); ChangeForm(MON, mon); ChangeForm(DAY, day); ChangeForm(YEA1, yea1); ChangeForm(YEA2, yea2); Disp_String (Hour,x,160); Disp_String (:,x + 16,160); Dis

43、p_String (Min,x + 24,160); Disp_String (:,x + 40,160); Disp_String (Sec,x + 48,160); Disp_String (YEA1,x , 180); Disp_String (YEA2,x +16,180); Disp_String (,x + 32,180); Disp_String (MON,x + 40,180); Disp_String (,x + 56,180); Disp_String (DAY,x + 64,180); void Display_xh1(char xx1,char yy1)/劉權(quán)學(xué)號 Ch

44、angeForm(XH0, xh0); ChangeForm(XH1, xh1); ChangeForm(XH2, xh2); ChangeForm(XH3, xh3); ChangeForm(XH4, xh4); Disp_String (XH0,xx1,yy1); Disp_String (XH1,xx1+16,yy1); Disp_String (XH2,xx1+32,yy1); Disp_String (XH3,xx1+48,yy1); Disp_String (XH4,xx1+48,yy1); void Display_xh2(char xx2,char yy2)/周明明學(xué)號 Cha

45、ngeForm(XH0, xh0); ChangeForm(XH1, xh1); ChangeForm(XH2, xh2); ChangeForm(XH3, xh3); ChangeForm(XH5, xh5); Disp_String (XH0,xx2,yy2); Disp_String (XH1,xx2+16,yy2); Disp_String (XH2,xx2+32,yy2); Disp_String (XH3,xx2+32,yy2); Disp_String (XH5,xx2+48,yy2); void Display_xh3(char xx3,char yy3)/陶潔如學(xué)號 Chan

46、geForm(XH0, xh0); ChangeForm(XH1, xh1); ChangeForm(XH2, xh2); ChangeForm(XH6, xh6); ChangeForm(XH7, xh7); Disp_String (XH0,xx3,yy3); Disp_String (XH1,xx3+16,yy3); Disp_String (XH2,xx3+32,yy3); Disp_String (XH6,xx3+48,yy3); Disp_String (XH7,xx3+48,yy3); void Show_Color()Set_Color( GUI_BLUE ); Fill_Rect(0,0,319,239); Set_Color

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論