課程設計(論文)-基于LCD的電子時鐘_第1頁
課程設計(論文)-基于LCD的電子時鐘_第2頁
課程設計(論文)-基于LCD的電子時鐘_第3頁
課程設計(論文)-基于LCD的電子時鐘_第4頁
課程設計(論文)-基于LCD的電子時鐘_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Ⅰ、課程設計(報告)題目:基于LCD的電子時鐘實驗Ⅱ、課程設計(論文)工作內(nèi)容一、課程設計目標1、鍛煉學生的編程能力、用計算機解決實際問題的能力;2、促進學生的綜合運用知識和創(chuàng)新的能力的提高;4、掌握內(nèi)置LCD控制器驅(qū)動編寫方法。3、掌握LCD與ARM的LCD的控制器的接口原理;二、研究方法及手段應用1、將任務模塊化,在網(wǎng)上和圖書館查閱相關(guān)資料,分模塊調(diào)試和完成任務;2、學習并使用使用ADS1.2編譯匯編語言和C語言,連接生成Hex文件和Axf文件。3、聯(lián)合PROTEUS7.1仿真,選用ARM7LPC2106芯片和LCD12864,導入Hex文件,進行軟件仿真調(diào)試。4、將AXF文件下載到S3C44B0試驗箱,通過LCD現(xiàn)場調(diào)試程序,實現(xiàn)電子時鐘計時功能。5、小組討論豐富時鐘界面,使其在實際中更人性化。三、課程設計預期效果1、搭建實驗環(huán)境;2、模塊調(diào)試程序,并通過編譯;3、將各個模塊組合起來,整體調(diào)試;4、在仿真軟件上運行調(diào)試程序;5、在試驗箱上實現(xiàn)LCD電子時鐘。學生姓名:專業(yè)年級:08626103河海大學本科課程設計報告-PAGE19-目錄前言………………1第一章系統(tǒng)設計…………………2第一節(jié)課題目標及總體方案………………2第二節(jié)proteus7.1和S3C44B0X實驗系統(tǒng)簡介……………2第三節(jié)LCD顯示原理和電子時鐘流程圖…………………….3第四節(jié)proteus7.1仿真電路………...………….5第五節(jié)程序代碼分模塊介紹……………..……6第二章實驗(測試)結(jié)果及討論……….……….11第一節(jié)proteus7.1仿真調(diào)試……………..……………..……..11第二節(jié)S3C44B0X系統(tǒng)板調(diào)試………….……11第三章結(jié)論………………………11心得體會……………13參考文獻…………………………14附錄…………………………15主函數(shù)源程序……………………15前言計算機技術(shù)及集成電路技術(shù)有了飛速發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當前最熱門最有發(fā)展前途的IT應用領(lǐng)域之一。實時時鐘(RTC)器件是一種能提供日歷/時鐘、數(shù)據(jù)存儲等功能的專用集成電路,常用作各種計算機系統(tǒng)的時鐘信號源和參數(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實驗系統(tǒng)板實現(xiàn)LCD電子時鐘的設計,可以增強我們的自學能力和思考能力,掌握科學研究的方法,提高信息檢索的能力以及獲取與時俱進知識的能力。同時,使我們深刻學習了ARM的相關(guān)知識,增強對實際電路的感性認識,提高了分析問題,處理問題的能力。

第一章系統(tǒng)設計第一節(jié)課題目標及總體方案運用ads1.2編譯匯編語言和C語言,連接生成Hex文件和Axf文件。使用PROTEUS7.1仿真,選用ARM7LPC2106芯片和LCD12864,導入Hex文件,然后進行軟件仿真調(diào)試。將Axf文件下載到S3C44B0試驗箱上,通過LCD實物調(diào)試程序,完成電子時鐘計時功能。第二節(jié)proteus7.1和S3C44B0X實驗系統(tǒng)簡介一、proteus7.1簡介Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實物運行狀態(tài)和過程。PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。二、S3C44B0X實驗系統(tǒng)簡介EL-ARM-830型教學實驗系統(tǒng)屬于一種綜合的教學實驗系統(tǒng),該系統(tǒng)采用了目前在國內(nèi)普遍認同的ARM7TDMI核,32位微處理器,實現(xiàn)了多模塊的應用實驗。它是集學習、應用編程、開發(fā)研究于一體ARM實驗教學系統(tǒng)。用戶可根據(jù)自己的需求選用不同類型的CPU適配板,在不需要改變?nèi)魏闻渲们闆r下,完成從ARM7到ARM9的升級,同時,實驗系統(tǒng)上的Tech_V總線能夠拓展較為豐富的實驗接口板。用戶在了解Tech_V標準后,更能研發(fā)出不同用途的實驗接口板。除此之外,在實驗板上有豐富的外圍擴展資源(數(shù)字、模擬信號發(fā)生器,數(shù)字量IO輸入輸出,語音編解碼、人機接口等單元),可以完成ARM的基礎實驗、算法實驗和數(shù)據(jù)通信實驗、以太網(wǎng)驗。其功能框圖如下所示。第三節(jié)LCD顯示原理和電子時鐘流程圖一、LCD顯示原理一般情況下,我們經(jīng)常使用的LCD顯示模塊,有兩種,一是帶有驅(qū)動電路的LCD顯示模塊,一是不帶驅(qū)動電路的LCD顯示屏。大部分ARM處理器中都集成了LCD的控制器,所以,針對ARM芯片,一般不使用帶驅(qū)動電路的LCD顯示模塊。S3C44B0X中具有內(nèi)置的LCD控制器,它能將顯示緩存(在SDRAM存儲器中)中的LCD圖像數(shù)據(jù)傳輸?shù)酵獠康腖CD驅(qū)動電路上的邏輯功能。它支持單色、4級、16級灰度LCD顯示,以及256彩色LCD顯示。在顯示灰度時,它采用時間抖動算法(time-basedditheringalgorithm)和幀率控制(FrameRateControl)方法,在顯示彩色時,它采用RGB的格式,即RED、GREEN、BLUE,三色混合調(diào)色。通過軟件編程,可以實現(xiàn)233或332的RGB調(diào)色的格式。對于不同尺寸的LCD顯示器,它們會有不同的垂直和水平象素點、不同的數(shù)據(jù)寬度、不同的接口時間及刷新率,通過對LCD控制器中的相應寄存器寫入不同的值,來配置不同的LCD顯示板。LCD控制器包含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ù),將相應格式(比如4/8位單掃描和4位雙掃描顯示模式)的數(shù)據(jù)通過VD[7:0]發(fā)送到LCD的驅(qū)動器上。TIMEGEN包含可編程的邏輯,以支持常見的LCD驅(qū)動器所需要的不同接口時間和速率的要求。TIMEGEN部分產(chǎn)生VFRAME,VLINE,VCLK,VM等信號。320x240像素的8位數(shù)據(jù)的256彩色LCD屏,顯示一屏所需的顯示緩存為320x240x8bit,即76800字節(jié),在顯示緩存中每個字節(jié),如圖2-38最右面的圖所示,都對應著屏上的一個象素點,因此,8位256彩色顯示的顯示緩存與LCD屏上的象素點是字節(jié)對應的。每個字節(jié)中又有RGB格式的區(qū)分,既有332的RGB,又有233的RGB格式,這因硬件而定。在彩色圖像顯示時,首先要給顯示緩存區(qū)一個首地址,這個地址要在4字節(jié)對齊的邊界上,而且,需要在SDRAM的4MB字節(jié)空間之內(nèi)。它是通過配置相應的寄存器來實現(xiàn)的。之后,接下來的76800字節(jié),就為顯示緩存區(qū),這里的數(shù)據(jù)會直接顯示到LCD屏上去。屏上圖像的變化是由于該顯示緩存區(qū)內(nèi)數(shù)據(jù)的變化而產(chǎn)生的。這樣,通過正確配置S3C44B0X的LCD控制器相應的寄存器,就能正確啟動LCD的顯示。二、電子時鐘流程圖LCD顯示時鐘界面的流程圖如下:第四節(jié)proteus7.1仿真電路使用proteus進行仿真,電路如下圖。盡管實驗板上使用的是三星的arm7核,但proteus中沒有這款芯片,因此選用與其內(nèi)核相同的LPC2106。第五節(jié)程序代碼分模塊介紹一、S3C44B0X硬件平臺的初始化對arm硬件進行初始化的函數(shù)文件如下:二、LCD硬件的初始化初始化S3C44B0的LCD控制器的程序如下。#define M5D(n) ((n)&0x1fffff)#define SCR_XSIZE (320)#define SCR_YSIZE (240)#define LCD_XSIZE (320)#define LCD_YSIZE (240)#define HOZVAL_COLOR (LCD_XSIZE*3/8-1)//確定水平尺寸#define LINEVAL (LCD_YSIZE-1) //確定垂直尺寸#define MVAL (13)#define CLKVAL_COLOR (5) //確定VCLK的頻率 #defineVideo_StartBuffer 0x0c000000 //LCD的幀緩沖區(qū)開始地址U16LCD_Init(U8Lcd_Bpp){switch(Lcd_Bpp){case8: //關(guān)閉LCD控制器,8位單掃描,WDLY=8clk,WLH=8clkrLCDCON1=(0)|(2<<5)|(0x1<<8)|(0x1<<10)|(CLKVAL_COLOR<<12); //LINEBLANK=10rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21); //256-color,LCDBANK,LCDBASEUrLCDSADDR1=(0x3<<27)|(((U32)Video_StartBuffer>>22)<<21)|M5D((U32)Video_StartBuffer>>1);rLCDSADDR2=M5D((((U32)Video_StartBuffer+(SCR_XSIZE*LCD_YSIZE))>>1))|(MVAL<<21)|1<<29;rLCDSADDR3=(LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9); rREDLUT=0xfdb96420; //使用的8種紅色 rGREENLUT=0xfdb96420; //使用的8種綠色 rBLUELUT=0xfb40; //使用的4種藍色 rDITHMODE=0x0; rDP1_2=0xa5a5; //抖動模式占空比值 rDP4_7=0xba5da65; //抖動模式占空比值 rDP3_5=0xa5a5f; //抖動模式占空比值 rDP2_3=0xd6b; //抖動模式占空比值 rDP5_7=0xeb7b5ed; //抖動模式占空比值 rDP3_4=0x7dbe; //抖動模式占空比值 rDP4_5=0x7ebdf; //抖動模式占空比值 rDP6_7=0x7fdfbfe; //抖動模式占空比值 rDITHMODE=0x12210; //抖動模式寄存器 //打開LCD控制器,8位單掃描,WDLY=8clk,WLH=8clkrLCDCON1=(1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12); break; default: return1; } return0;}三、時鐘界面繪制函數(shù)LCD顯示的時鐘界面包括:靜止不動的圓形鐘面和一直在走動的時鐘指針。所以需要構(gòu)建三個重要的函數(shù),分別實現(xiàn)畫圓、畫直線和畫點功能。以下為畫圓函數(shù):該算法是通過X變量的自增,補償1修正正方形控制Y變量自減,找到距中心恒定距離的點,其中rs=45,X自0加1增至45。和原點坐標運算,可以在第一象限找到一點,再通過折疊對稱找到其他象限的三個點,通過畫點函數(shù)描繪出。再畫他的45度鏡像。畫線函數(shù):Draw_Line(unsignedintx1,unsignedinty1,unsignedintx2,unsignedinty2,unsignedchardraw)以中心的坐標為起點,使用while函數(shù)與指針最外圈的點比較,不斷延長直至相等,所以事先計算出時針,分針和秒針三個同心圓最外圈點的坐標,以便帶入函數(shù)。也同圓類似,要考慮不同象限點的情況,根據(jù)不同的位置帶參數(shù)到畫點函數(shù)中描繪。畫點函數(shù):第二章實驗(測試)結(jié)果及討論第一節(jié)proteus7.1仿真調(diào)試但在應用這個軟件的過程中發(fā)現(xiàn)了我們寫好的程序在上面老是出現(xiàn)編譯錯誤,在處理之后還是有4個錯誤,使我們無法編譯通過,我們在網(wǎng)上搜索資料,其他同志在使用時也遇到類似的錯誤,很多人都說是兼容性問題。我們就把時間花在了實驗想的調(diào)試上面。第二節(jié)S3C44B0X系統(tǒng)板調(diào)試我們將編譯軟件ADS1.2生成的axf文件燒寫到S3C44B0系統(tǒng)板上,效果如下頁圖所示。該LCD電子時鐘能夠動態(tài)顯示當前的時間,包括:年、月、日、時、分、秒,時針、分針和秒針為動態(tài)實時指示當前的時間。并且可以顯示我們組三個同學的信息且具有變色功能(一秒呈藍色,下一秒呈白色,如此循環(huán))第三章結(jié)論心得體會課程設計完成了,在這個過程中我學到了很多東西。首先在做測試技術(shù)的實驗前,我以為不會難做,就像以前做物理實驗一樣,做完實驗,然后兩下子就將實驗報告做完.直到做完測試實驗時,我才知道其實并不容易做,但學到的知識與難度成正比,使我受益匪淺.。在做實驗前,一定要將課本上的知識吃透,因為這是做實驗的基礎,否則,在老師講解時就會聽不懂,這將使你在做實驗時的難度加大,浪費做實驗的寶貴時間。這將使你極大地浪費時間,使你事倍功半.做實驗時,一定要親力親為,務必要將每個步驟,每個細節(jié)弄清楚,弄明白,實驗后,還要復習,思考,這樣,你的印象才深刻,記得才牢固,否則,過后不久你就會忘得一干二凈,這還不如不做.做實驗時,老師還會根據(jù)自己的親身體會,將一些課本上沒有的知識教給我們,拓寬我們的眼界,使我們認識到這門課程在生活中的應用是那么的廣泛.通過這次測試技術(shù)的實驗,使我學到了不少實用的知識,更重要的是,做實驗的過程,思考問題的方法,這與做其他的實驗是通用的,真正使我們受益匪淺.。課程知識的實用性很強,因此實驗就顯得非常重要。剛開始做實驗的時候,由于自己的理論知識基礎不好,在實驗過程遇到了許多的難題,也使我感到理論知識的重要性。但是我并沒有氣壘,在實驗中發(fā)現(xiàn)問題,自己看書,獨立思考,最終解決問題,從而也就加深我對課本理論知識的理解,達到了“雙贏”的效果。在這次實驗中,我學到很多東西,加強了我的動手能力,并且培養(yǎng)了我的獨立思考能力。特別是在做實驗報告時,因為在做數(shù)據(jù)處理時出現(xiàn)很多問題,如果不解決的話,將會很難的繼續(xù)下去。還有動手這次實驗,使測試技術(shù)這門課的一些理論知識與實踐相結(jié)合,更加深刻了我對這門課的認識,鞏固了我的理論知識。這次的實驗跟我們以前做的實驗不同,因為我覺得這次我是真真正正的自己親自去完成。所以是我覺得這次實驗最寶貴,最深刻的。就是實驗的過程全是我們學生自己動手來完成的,這樣,我們就必須要弄懂實驗的原理。在這里我深深體會到哲學上理論對實踐的指導作用:弄懂實驗原理,而且體會到了實驗的操作能力是靠自己親自動手,親自開動腦筋,親自去請教別人才能得到提高的。在實驗過程中,我們應該盡量減少操作的盲目性提高實驗效率的保證,有的人一開始就趕著做,結(jié)果卻越做越忙,主要就是這個原因。我也曾經(jīng)犯過這樣的我們做實驗不要一成不變和墨守成規(guī),應該有改良創(chuàng)新的精神。實際上,在弄懂了實驗原理的基礎上,我們的時間是充分的,做實驗應該是游刃有余的,如果說創(chuàng)新對于我們來說是件難事,那改良總是有可能的在實驗的過程中我們要培養(yǎng)自己的獨立分析問題,和解決問題的能力。這種能力的前題是你對每次實驗的態(tài)度。如果你在實驗這方面很隨便,抱著等老師教你怎么做,拿同學的報告去抄,盡管你的成績會很高,但對將來工作是不利的。在這次的實驗中,我對一些測試硬件、軟件及其使用有了更深刻的認識。

參考文獻[1]謝自美,電子線路設計、實驗、測試,華中理工大學出版社,2003。[2]宋春榮,通用集成電路速查手冊,山東科學技術(shù)出版社,1995。[3]ArnoldBerger,嵌入式系統(tǒng)設計,呂駿譯,北京:電子工業(yè)出版社,2002[4]桑楠.嵌入式系統(tǒng)原理及應用開發(fā)技術(shù),北京:北京航空航天大學出版社,2002

附錄主函數(shù)源程序#include"..\inc\config.h"#definex_line160#definey_line80externGUI_FONTCHINESE_FONT12;externGUI_FONTCHINESE_FONT16;externGUI_FONTGUI_Font8x16;OS_EVENT*Key_Mbox;I8Hour[3],Min[3],Sec[3];I8hour=0,min=0,sec=0,ms;I8YEA1[3],YEA2[3],MON[3],DAY[3];intyea1=20,yea2=11,mon=07,day=05;I8XH0[3],XH1[3],XH2[3],XH3[3];I8XH4[3],XH5[3],XH6[3],XH7[3];intxh0=0x08,xh1=62,xh2=61,xh3=01;intxh4=03,xh5=31,xh6=04,xh7=20;intSpaceXS[61]={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,135, 140,145,150,155,160, }, SpaceYS[61]={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}, SpaceXM[61]={160,164,168,172,176,180,183,186,189,192, 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 }, SpaceYM[61]={40,41,42,43,44,45,48,51,54,57, 60,64,68,72,76,80,84,88,92,96, 100,103,106,109,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 }, SpaceXH[13]={160,175,185,190,185,175,160,145,135,130,135,145,160}, SpaceYH[13]={50,55,65,80,95,105,110,105,95,80,65,55,50}, *Placex=&SpaceXS[0],*Placey=&SpaceYS[0],*Placexm=&SpaceXM[0],*Placeym=&SpaceYM[0], *Placexh=&SpaceXH[0],*Placeyh=&SpaceYH[0];voidDisplay_xh(charx,chary);voidDisplay_xh1(charxx1,charyy1);voidDisplay_xh2(charxx2,charyy2);voidDelay(inttime);voidshow(I8s){ if(s%4==0) { Set_Color(GUI_BLUE); Set_Font(&CHINESE_FONT16); Disp_String(CN_start"陳燚劉海波譚晶晶"CN_end,48,210); Set_Font(&GUI_Font8x16); Display_xh2(240,210); Display_xh1(240,190); Display_xh(240,170); Set_Color(GUI_RED); Set_Font(&CHINESE_FONT16); Disp_String(CN_start"陳燚"CN_end,48,210); Set_Color(GUI_BLACK); Disp_String(CN_start"嵌入式系統(tǒng)課程設計"CN_end,90,5);Set_Font(&GUI_Font8x16); Display_xh(240,210);}elseif(s%4==1){Set_Color(GUI_BLUE); Set_Font(&CHINESE_FONT16); Disp_String(CN_start"陳燚"CN_end,48,210); Set_Color(GUI_YELLOW); Set_Font(&CHINESE_FONT16); Disp_String(CN_start"譚晶晶"CN_end,48,210); Disp_String(CN_start"嵌入式系統(tǒng)課程設計"CN_end,90,5); Set_Font(&GUI_Font8x16); Display_xh1(240,210);}elseif(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(240,210); }elseif(s%4==3){ Set_Color(GUI_BLUE); Set_Font(&GUI_Font8x16); Set_Font(&CHINESE_FONT16); Disp_String(CN_start"譚晶晶"CN_end,48,210); Set_Color(GUI_LIGHTMAGENTA);Set_Font(&CHINESE_FONT16); Disp_String(CN_start"陳燚劉海波譚晶晶"CN_end,48,210); Set_Color(GUI_BLACK); Set_Font(&GUI_Font8x16); Display_xh2(240,210); Display_xh1(240,190); Display_xh(240,170); }} voidShows(){ show(sec); 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_line,y_line,*Placexh,*Placeyh); if(Placex==&SpaceXS[60]&&Placey==&SpaceYS[60]){ Placex=&SpaceXS[0]; Placey=&SpaceYS[0];}}voidShowm(){ 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); if(Placexm==&SpaceXM[60]&&Placeym==&SpaceYM[60]) { Placexm=&SpaceXM[0]; Placeym=&SpaceYM[0]; } }voidShowh(){ 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==&SpaceXH[12]&&Placeyh==&SpaceYH[12]) { Placexh=&SpaceXH[0]; Placeyh=&SpaceYH[0]; }}voidShouw_Cricle()//整點{ Set_Color(GUI_YELLOW);Fill_Circle(160,30,2);//12點(x,y,r)Disp_String(CN_start"開始"CN_end,145,40);//Disp_String("start",145,40);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,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)}voidShow_ht(){ Set_Color(GUI_GRAY); Fill_Circle(160,80,54);}//voidDelay(inttime);voidChangeForm(charTime[],chartime){Time[0]=time/10+48;Time[1]=time%10+48;Time[2]='\0';}voidDisplay_Time(charx,chary){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,y);Disp_String(":",x+16,y);Disp_String(Min,x+24,160);Disp_String(":",x+40,160);Disp_String(Sec,x+48,160);Set_Color(GUI_BLUE);Disp_String(Sec,x+64,160);Disp_String(Sec,x+80,160);Set_Color(GUI_GREEN);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);Set_Color(GUI_BLUE);Disp_String(DAY,x+80,180);}voidDisplay_xh(charx,chary){ ChangeForm(XH0,xh0); ChangeForm(XH1,xh1); ChangeForm(XH2,xh2); ChangeForm(XH3,xh3); ChangeForm(XH5,xh5); Disp_String(XH0,x,y); Disp_String(XH1,x+16,y); Disp_String(XH2,x+32,y); Disp_String(XH3,x+48,y); Disp_String(XH5,x+64,y);}voidDisplay_xh1(charxx1,charyy1){ ChangeForm(XH0,xh0); ChangeForm(XH1,xh1); ChangeForm(XH2,xh2); ChangeForm(XH4,xh4); ChangeForm(XH6,xh6); Disp_String(XH0,xx1,yy1); Disp_String(XH1,xx1+16,yy1); Disp_String(XH2,xx1+32,yy1); Disp_String(XH4,xx1+48,yy1); Disp_String(XH6,xx1+64,yy1);}voidDisplay_xh2(charxx2,charyy2){ ChangeForm(XH0,xh0); ChangeForm(XH1,xh1); ChangeForm(XH2,xh2); ChangeForm(XH3,xh3); ChangeForm(XH7,xh7); Disp_String(XH0,xx2,yy2); Disp_String(XH1,xx2+16,yy2); Disp_String(XH2,xx2+32,yy2); Disp_String(XH3,xx2+48,yy2); Disp_String(XH7,xx2+64,yy2);}vo

溫馨提示

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

評論

0/150

提交評論