畢業(yè)論文-基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn)_第1頁
畢業(yè)論文-基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn)_第2頁
畢業(yè)論文-基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn)_第3頁
畢業(yè)論文-基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn)_第4頁
畢業(yè)論文-基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要滁州職業(yè)技術學院信息工程系2015屆嵌入式系統(tǒng)工程專業(yè)畢業(yè)論文姓 名: xxxxxxx 班 級: 嵌入式系統(tǒng)工程班 設計課題: 基于UCGUI圖形系統(tǒng)的機械時鐘的實現(xiàn) 指導教師: xxxxx 2014年12月5日摘 要 這個項目是用ucgui來編寫的一個時鐘程序,其中涉及到了ucgui的安裝以及使用,ucgui是指計算機與其使用者之間的圖形化對話接口。用它可以更好的實現(xiàn)人機的對話。根據(jù)時鐘流程這個思路來進行編寫代碼,這樣可以使編程的效率提高,也可以保持一個清晰的思路,為后續(xù)的錯誤的修改提供了較好的保證。本項目主要就是介紹了時鐘代碼的編寫和時鐘在ucgui中的編譯和生成的步驟和仿真結果以及涉

2、及到的相關知識的介紹。AbstractThis project is to use ucgui to write a clock procedures, which involves the installation and use of ucgui, ucgui refers to dialogue graphical interface between a computer and its users. It can better realize the man-machine dialogue. I according to the clock process the idea to w

3、rite code, so that we can raise the efficiency of programming, also can let me keep a clear train of thought, for the subsequent error modification provides a good guarantee. This project is mainly introduced the clock code to write and clock in ucgui compile and generate the steps and the results o

4、f simulation and involves the introduction of relevant knowledge.目錄 I目 錄第一章.UC/GUI簡介1第二章 UCGUI開發(fā)平臺的搭建以及使用32.1 Vc6.0的安裝以及使用32.1.1 Vc6.0的安裝32.1.2 Vc6.0的使用42.1.3 ucgui在vc6.0中的使用112.2 仿真器12第三章 編寫前的知識儲備153.1 初始化和轉(zhuǎn)義字符153.2 其他的必要顯示函數(shù)和畫圖函數(shù)15第四章 機械時鐘的實現(xiàn)214.1 機械時鐘的原理圖214.2 機械時鐘的算法流程圖和代碼214.3 運行結果圖26第五章 總結27 遇

5、到的問題及解決方法27致謝28參考文獻28滁州職業(yè)技術學院嵌入式系統(tǒng)工程專業(yè)畢業(yè)論文第一章.C/GUI簡介C/GUI 是一種用于嵌入式應用的圖形支持軟件。它被設計用于為任何使用一個圖形LCD的應用提供一個有效的不依賴于處理器和LCD 控制器的圖形用戶接口。它能工作于單任務或多任務的系統(tǒng)環(huán)境下。C/GUI 適用于使用任何LCD 控制和CPU 的任何尺寸的物理和虛擬顯示。它的設計是模塊化的,由在不同的模塊中的不同的層組成。一個層,稱作LCD 驅(qū)動程序,包含了對LCD 的全部訪問。C/GUI 適用于所有的CPU,因為它100%由的ANSI 的C 語言編寫的。C/GUI 很適合大多數(shù)的使用黑色/白色和

6、彩色LCD 的應用程序。它有一個很好的顏色管理器,允許它處理灰階。C/GUI 也提供一個可擴展的2D 圖形庫和一個視窗管理器,在使用一個最小的RAM 時能支持顯示窗口。C/GUI的功能特性如下:1 .任何8/16/32 位CPU;只需要一個與ANSI 兼容的C 編譯器。 任何控制器支持(如果有合適的驅(qū)動程序)的任何(單色的,灰度級或者彩色)LCD。 在較小顯示屏上,可以不要LCD 控制器工作。 使用配置宏可以支持任何接口。 顯示屏大小可配置。 字符和位圖可能是寫在LCD 上的任一點,而不僅僅局限于偶數(shù)的字節(jié)的地址。 程序?qū)Υ笮『退俣榷歼M行了最優(yōu)化。 允許編譯時的切換以獲得不同的優(yōu)化。 對于較慢

7、的LCD 控制器,LCD 能夠被存儲到內(nèi)存當中,減少訪問的次數(shù)使其最小,從而得到非常高的速度。 清晰的結構。 支持虛擬顯示;虛擬顯示能夠比實際的顯示表現(xiàn)更大尺寸的內(nèi)容。2.圖庫1 支持不同顏色深度的位圖。 有效的位圖轉(zhuǎn)換器。 絕對沒有使用浮點運算。 快速線/點繪制(沒有使用浮點運算)。 非??斓膱A/多邊形的繪制。 不同的繪畫模式。3.字體 為基本軟件提供了不同種類的字體:4*6,6*8,6*9,8*8,8*9,8*16,8*17,8*18,24*32,以及8,10,13,16 等幾種高度(以象素為單位)的均衡字體??梢远x和簡便地鏈接新的字體。 只有用于應用程序的字體才實際上與執(zhí)行結果鏈接,這

8、樣保證了最低的ROM占用。 字體可以分別在X 軸和Y 軸方向上充分地縮放。 提供有效的字體轉(zhuǎn)換器,任何在你的主系統(tǒng)(即Microsoft Windows)上的有效字體都可以轉(zhuǎn)換。4.字符串/數(shù)值輸出程序 程序支持任何字體的十進制,二進制,十六進制的數(shù)值顯示。 程序支持任何字體的十進制,二進制,十六進制的數(shù)值編輯。5.視窗管理器(WM) 完全的窗口管理器包括剪切在內(nèi)。一個窗口的外部區(qū)域的改寫是不可能的。 窗口能夠移動和縮放。 支持回調(diào)函數(shù)(可選擇用法)。 WM 使用極小的RAM(大約每個窗口20 字節(jié))。6.可選擇用于PC外觀的控件 控件(窗口對象)有效。它們一般自動運行,并且易于使用。7.觸摸

9、屏和鼠標支持 對于比如按鈕控件之類的窗口對象,C/GUI 提供觸摸屏和鼠標支持。8.P C工具 模擬器及觀察器。 位圖轉(zhuǎn)換器。 字體轉(zhuǎn)換2第二章 ucgui開發(fā)平臺的搭建以及使用2.1 Vc6.0的安裝以及使用2.1.1 Vc6.0的安裝(1)先將VC+6.0安裝包在一個目錄下(一個文件夾下),這樣安裝完VC+6.0就會自動識別到,并且安裝 (2)解壓VC6.0后,雙擊文件夾下的setup.exe,如圖所示,依次點擊【下一步】圖2-1(3)選擇【typical】圖2-23(4)VC6.0安裝成功! 圖2-32.1.2 Vc6.0的使用 (1)啟動 Visual C+ 6.0安裝完畢之后從開始i

10、菜單中可以啟動 VC6 ,啟動之后的界面如圖,左側(cè)??看翱跒楣こ藤Y源管理器,用于從不同角度對工程資源進行查看和快速定位,下側(cè)為信息輸出窗口、調(diào)試信息、查找信息等都會從該窗口輸出,主要顯示區(qū)顯示程序代碼或者資源。圖2-44 (2)建立新工程從“File”菜單選擇“New”,切換到“Project”標簽,根據(jù)需要選擇工程類型,初學者可以選擇簡單的 “Win32 Console Application”來學習基本 C+ 語法,在右側(cè)輸入工程的名稱及存儲位置,點擊“OK”,系統(tǒng)會啟用向?qū)斫o用戶生成程序框架以便快速進入開發(fā),作為初學者,選擇 “An Empty Project”手動來添加工程文件,點擊

11、“Finish”結束向?qū)?,界面如圖所示。圖2-5 (3)為工程添加代碼文件5 繼續(xù)選擇“File”菜單下的“New”,本次切換到“Files”標簽,根據(jù)需要選擇要添加到工程里的文件類型,選擇其中的 "C+ Source File",右側(cè)輸入文件名稱及對應的擴展名 .cpp 。當代碼文件添加完畢后,可以從左側(cè)工程資源管理器的“FileView”文件視圖查看當前的各類資源文件,“ClassView”則從類和函數(shù)的角度查看代碼并可以通過雙擊快速定位。如果硬盤上已有代碼文件,則可以通過 “Project”菜單項來將現(xiàn)有資源文件添加到當前工程。在“FileView”的對應文件上按“D

12、el”鍵,則可以將文件從工程中移除(注:僅從工程中移除,并非從硬盤上刪除文件)。圖2-6(4)書寫程序代碼雙擊“FileView”中的代碼文件可以直接進入代碼編輯狀態(tài),根據(jù)需要輸入代碼。如果代碼書寫較亂,可以使用 “Edit”菜單“Advanced”子菜單中的“Format Selection”進行格式化,快捷鍵 Alt+F8 。6如果對編輯區(qū)域字體不滿意,可以在“Tools”菜單“Options”對話框中選擇“Format”標簽對源代碼窗口字體進行定制。圖2-7(5)編譯并運行程序代碼書寫完畢,可以在“Build”或者“Build”工具欄上依次點擊“Compile .”“Build .”“E

13、xcute .”來對程序進行編譯、連接和運行,并觀察程序運行結果。7圖2-8(6)程序的錯誤修改8如果編譯或者連接過程中出現(xiàn)錯誤,底部信息提示窗口會提示錯誤所在行以及錯誤的類型,雙擊即可定位到相應的代碼處進行修改,爾后重新編譯連接運行,重復此過程直到程序功能達到要求沒有錯誤。圖2-9(7)單步調(diào)試如果需要單步跟蹤每個語句的執(zhí)行過程并觀察運行結果,可以使用單步調(diào)試。首先在你希望程序運行停止的語句上點擊工具欄圖標設置斷點(Break Point),然后可以使用 “Go”按鈕(快捷鍵 F5)來啟動應用程序,此時程序會在運行到斷點處的時候暫停,你可以使用“Debug”工具欄上的“Setp Over”(

14、快捷鍵 F10)“Step Into”“Stop Debugging”來分別進行單步運行、進入函數(shù)內(nèi)部單步運行和停止調(diào)試,如果你希望直接運行到下一個斷點處,則再次點擊“Go”即可。單步運行時,當前代碼所在函數(shù)內(nèi)部的變量的值變化情況會在底部的“Auto”標簽中顯示,用戶也可以直接把鼠標放到想要查看值的變量名上來查看當前值。9圖2-10(8)生成可執(zhí)行文件并發(fā)布在編碼、調(diào)試程序的功能完成之后,接下來進入程序的發(fā)布過程,以 DEBUG 模式編譯的程序附加了很多調(diào)試信息,而且沒有經(jīng)過優(yōu)化,所以速度慢體積大,當程序功能完備在交給實際用戶使用之前,應該以 RELEASE 模式重新編譯。點選“Build”菜

15、單中的“Batch Build”即可選擇編譯模式。Debug和Release模式編譯生成的文件默認會分別放置在工程目錄的 Debug和Release文件夾下,只需要將生成的 exe 文件及程序操作需要的附屬文件交給用戶即可,C+ 代碼及工程無需交付。10圖2-112.1.3 ucgui在vc6.0中的使用(1)打開vc6.0選著【文件】【打開工作空間】圖2-12(2)打開工作空間后找到【ucgui324】【文件類型】選著所有文件然后選著待.dsw的文件打開11圖2-13(3)選著.dsw后會在工作區(qū)間出現(xiàn)ucgui的目錄選著fileview圖2-14(4)必要時可以把application中三

16、個文件刪掉,即可在main.c中編寫代碼圖2-152.2 仿真器C/GUI的PC仿真器允許你在Windows下編譯相同的“C”源程序。PC使用一個本地編譯器(一般是微軟所提供的)并建立一個用于你自己應用的可執(zhí)行文件。這樣做可能完成: 在你的PC上進行用戶接口設計(不需要硬件支持)12 調(diào)試你的用戶接口程序 建立你的應用的演示,可以用于描述用戶接口在Visual C+ 環(huán)境下模擬演示 :根目錄包括微軟Visual C+工作區(qū)(Simulation-Trial.dsw)及項目文件(Simulation-Trial.dsp)。雙擊工作區(qū)文件可以打開微軟IDE。 Visual C+工作區(qū)的目錄結構如下

17、圖所示。圖2-16編譯演示程序:位于應用目錄下的演示程序源文件是一個“ready-to-go”仿真,意思是你僅僅需要建立和啟動它。請注意,如果需要建立可執(zhí)行文件,你必須先安裝微軟Visual C+(6.0或以上的版本)。 第一步:雙擊Simulation-Trial.dsw 文件打開Visual C+工作區(qū)。 第二步:在菜單中選擇“Build/Rebuild All” (或按“F7”鍵)重建項目。 第三步:在菜單中選擇“Build/Start Debug/Go” (或按“ F5”鍵)開始仿真。 演示項目開始運行,在任意時候可能通過單擊右鍵并選擇“Exit”退出。編譯范例程序:目錄“Sample

18、”包括“ready-to-go”范例程序,可以示范µ C/GUI的不同特性及提供它們的典型應用的例子。為了建立這些可執(zhí)行文件,它們的C源代碼必須加入項目中。通過下面的步驟很容易做到: 13 第一步:雙擊Visual C+工作區(qū)的“Application”文件夾。演示文件會出現(xiàn)在它下面。 第二步:選擇“Application”文件夾下的所有文件,按下“Delete”鍵將它們刪除。這些文件并不是真是被刪除了,只是從項目中移走。 第三步:現(xiàn)在你有了一個空的“Application”文件夾。在其上面單擊右鍵,選擇需加入的文件加入到文件夾,出現(xiàn)一個對話框。 第四步:雙擊“Sample”文件夾,

19、選擇里面的一個范例文件。你的工作區(qū)目錄應該如下圖所示。當然,文件名可以不一樣;在這里,很重要的一件事是“Application”文件夾只能包含你所想編譯的范例的C文件,而不能是其它種類的文件。圖2-17 第五步:在菜單下選擇“Build/Rebuild All”(或按“F7”鍵)重建范例文件。 第六步:在菜單中選擇“Build/Start Debug/Go” (或按“F5”鍵)開始仿真。上面所選擇范例的仿真結果如下圖所示:圖2-1814第三章 編寫前的知識儲備3.1 初始化和轉(zhuǎn)義字符初始化C/GUI程序GUI_Init()初始化LCD 和C/GUI 的內(nèi)部數(shù)據(jù)結構,在其它C/GUI 函數(shù)運行之

20、前必須被調(diào)用。這通過將下面一行放入你的程序序列的開始來做到:GUI_Init();如果忽略了這個調(diào)用,整個圖形系統(tǒng)將不會得到初始化,從而無法準備下一步的動作。轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線""開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。 轉(zhuǎn)義字符中小于32的字符代碼稱為控制字符??刂谱址欢x為ASCII碼的一部分。字符代碼10 表示n 換行,改變當前文本坐標到下一行 反斜線符""' 單引號符ddd 13位八進制數(shù)所代表的字符xhh 12位十六進制數(shù)所代表的字符3.2 其他的必

21、要顯示函數(shù)和畫圖函數(shù)1. void GUI_Clear(void);含義:清除當前視窗。備注:如果沒有定義視窗,當前視窗為整個顯示區(qū)。這樣的話,整個顯示區(qū)15都會被清除。2.void GUI_DispChar(U16 c);含義:在當前視窗使用當前字體在當前文本坐標處顯示單個字符。參 數(shù):C : 顯示的字符備注:字符是否有效取決于所選擇的字體,如果在當前字體中該字符無效,則不會有任何顯示。3void GUI_DispCharAt(U16 c, I16P x, I16P y);含義:在當前視窗使用當前字體在指定坐標處顯示單個字符。參數(shù): C::顯示的字符 X: 寫到客戶窗口經(jīng)X軸坐標(以像素為單

22、位) Y: 寫到客戶窗口經(jīng)Y軸坐標(以像素為單位)備注:字符是否有效取決于所選擇的字體,如果在當前字體中該字符無效,則不會有任何顯示。4void GUI_DispString(const char GUI_FAR *s);含義:在當前視窗的當前坐標,使用當前字體顯示作為參數(shù)的字符串。參數(shù):s 顯示的字符串備注:字符串包括控制字符“n”。該控制字符把當前文本坐標移到下一行的開始處。5void GUI_DispStringAt(const char GUI_FAR *s, int x, int y);含義:在當前視窗,使用當前字體在指定坐標顯示作為參數(shù)的字符串。參數(shù):s 顯示的字符串x 寫到客戶視

23、窗的X軸坐標(以像素為單位)y 寫到客戶視窗的Y軸坐標(以像素為單位)6.char GUI_GotoXY(int x, int y);含義:對當前視窗文本坐標的X坐標和Y坐標兩部分同時設置。7.char GUI_GotoX(int x);含義:只對當前視窗文本坐標的X坐標部分進行設置,Y坐標保持不變。8char GUI_GotoY(int y);含義:只對當前視窗文本坐標的Y坐標部分進行設置,X坐標保持不變。參數(shù):x 新的X軸坐標(以像素為單位,0為視窗左邊界)16y 新的Y軸坐標(以像素為單位,0為視窗頂部邊界)返回值:通常為0。如果返回數(shù)值非0,則當前文本坐標超出視窗范圍(到了右邊或下邊)

24、,這樣緊接著的寫操作可能被忽略。9.int GUI_SetTextMode(int TextMode);含義:按照指定的參數(shù)設置文本模式。參 數(shù) TextMode 設置的文本模式,可以是文本模式標識的任意組合參數(shù)TextMode允許的數(shù)值(可以用“OR(或|)”進行組合)GUI_TEXTMODE_NORMAL 設置正常文本,這是默認的設置,該數(shù)值等同于0GUI_TEXTMODE_REVERSE 設置反轉(zhuǎn)文本GUI_TEXTMODE_TRANSPARENT 設置透明文本GUI_TEXTMODE_XOR 反相顯示的文本10void GUI_DispDec(I32 v, U8 Len); 含義:在當

25、前視窗的當前文本坐標,使用當前字體顯示一個十進制數(shù)值,指定顯示字符的數(shù)量。參數(shù): v 用于顯示的數(shù)值。最小值為:-2147483648(-231)最大值為:2147483647(231-1)Len 顯示的數(shù)字的數(shù)量(最大為9)備注:如果數(shù)值為負,則會顯示一個減號。11void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len);含義:在當前視窗的當前文本坐標,使用當前字體顯示十進制數(shù)值,指定顯示字符的數(shù)量。參數(shù): v 用于顯示的數(shù)值。最小值為:-2147483648(-231),最大值為:2147483647(231-1)x 寫入客戶視窗的X坐標(以像素為

26、單位) y 寫入客戶視窗的Y坐標(以像素為單位) Len 顯示的數(shù)字的數(shù)量(最大為9)備注:如果數(shù)值為負,則會顯示一個減號。12.選擇字體C/GUI 提供不同的字體,總會有其中的一種被選中。可以通過調(diào)用函數(shù) GUI_SetFont()17 圖3-113const GUI_FONT * GUI_SetFont(const GUI_FONT * pNewFont)圖3-2含義:設置用于文字輸出的字體參數(shù):pFont 所選擇及使用字體的指針返回值 返回先前所選擇字體的指針,這樣你可以在稍后一點恢復原先使用的字體 圖3-318圖3-414GUI COLOR GUI GetBkColor(void);含

27、義:返回當前背景顏色15. GUI COLOR GUI_SetBkColor(GUI COLOR Color);含義:設置當前背景顏色。16void GUI_ClearRect(int x0, int y0, int x1, int y1);含義:在當前視窗的指定位置通過向一個矩形區(qū)域填充背景色來清除它。參數(shù): x0 左上角X坐標 y0 左上角Y坐標 x1 右下角X坐標 y1 右下角Y坐標17void GUI_DrawPoint(int x, int y);含義:在當前視窗使用當前尺寸筆尖繪一個點。參數(shù): x 點的X坐標 y 點的Y坐標18void GUI_DrawLine(int x0, i

28、nt y0, int x1, int y1);含義:在當前視窗的指定始點到指定終點繪一條直線。參 數(shù):x0 X軸開始坐標 y0 Y軸開始坐標 x1 X軸結束坐標 y1 Y軸結束坐標備注:如果線的一部分是不可見的,因為它不在當前視窗內(nèi),或者如果當前視窗的一部分是不可見的,由于裁剪的原因,這些部分將不會繪出。19void GUI_DrawCircle(int x0, int y0, int r);含義:在當前視窗指定坐標以指定的尺寸繪制一個圓。參數(shù): x0 在客戶視窗中圓心的X軸坐標(以像素為單位) y0 在客戶視窗中圓心的Y軸坐標(以像素為單位) r 圓的半徑(直徑的一半),最小值:0(結果是一

29、個點),最大值:18019備注:該函數(shù)不能處理超過180的半徑,因為那樣將使用到導致溢出錯誤的整數(shù)運算。20void GUI_DrawArc (int xCenter, int yCenter, int rx, int ry, int a0, int a1);含義:在當前視窗的指定坐標按指定尺寸繪一段圓弧,一段圓弧就是一個圓的一部分輪廓。參數(shù): xCenter 客戶視窗中圓弧中心的水平方向坐標(以像素為單位)yCenter 客戶視窗中圓弧中心的垂直方向坐標(以像素為單位)rx X軸半徑(像素)。ry Y軸半徑(像素) a0 起始角度(度)a1 終止角度(度)備注:現(xiàn)在不使用參數(shù)ry,取而代之的

30、是參數(shù)rx,處理的參數(shù)rx/ry不能超過180,因為那樣將使用到導致溢出錯誤的整數(shù)運算。20第四章 機械時鐘的實現(xiàn)4.1 機械時鐘的原理圖時鐘表設計思想:第一步,確定秒鐘的走時。將圓等分成60份每過一 秒,秒鐘要轉(zhuǎn)1/60個圓,亦即一等份。第二步,確定分鐘的走時。將圓等分成60份每過一 分,分鐘要轉(zhuǎn)1/60個圓,亦即一等份。分鐘自己走的再加秒鐘的,才是分鐘此時 的位置。第三步,確定時鐘的走時。將圓等分成12等分.每過一時,時鐘走一等份。得加上分鐘,秒鐘的走時,才是此刻時鐘的位置。時鐘走動與系統(tǒng)時間聯(lián)系:每過一秒畫出秒針,并除去前一秒的秒針,分針秒針同樣可用。畫線函數(shù)與時間聯(lián)系使用變量4.2 機

31、械時鐘的算法流程圖和代碼。圖4-1 21#include "GUI.H"#include "math.h" void DrawArcScale(void)int x0 = 150;int y0 = 120; int i,j=0;int Hour=00,Sec=00, Min=00; unsigned num="12","11","10","9","8","7","6","5","4&qu

32、ot;,"3","2","1"GUI_Init();GUI_SetBkColor(GUI_LIGHTBLUE);GUI_Clear();/繪畫表盤GUI_SetColor(GUI_LIGHTRED);GUI_SetPenSize(5);GUI_DrawArc( x0,y0,100, 100,0, 360 );GUI_SetFont(&GUI_Font8x16);for (i=0; i<= 59; i+)int x,y,x4,y4;float a,e;a= (i*6)*3.1415926/180;e= (90+i*6)*3

33、.1415926/180;x =90*cos(a)+x0;y =-90*sin(a)+y0;x4 =80*cos(e)+x0-5;y4 =-80*sin(e)+y0-8;GUI_SetColor(GUI_BLUE);if (i%5 = 0)22GUI_SetPenSize( 5);GUI_DrawPoint(x,y); GUI_DispStringAt(const char *)numj,x4,y4); j+;elseGUI_SetPenSize( 3 );GUI_DrawPoint(x,y);while(1)int j=0,x1,y1,x2,y2,x3,y3;float b,c,d;for(

34、i=0;i<60*60*12,Sec<59;i+)b= (90-i*6)*3.1415926/180;c= (90-i*6/60)*3.1415926/180;d= (90-i*6/60/12)*3.1415926/180;x1 =80*cos(b)+x0;y1 =-80*sin(b)+y0; x2 =75*cos(c)+x0;y2 =-75*sin(c)+y0;x3 =50*cos(d)+x0;y3 =-50*sin(d)+y0;23GUI_SetPenSize(3);GUI_SetColor(GUI_YELLOW);GUI_DrawLine( x0, y0, x2, y2);G

35、UI_SetPenSize(5);GUI_SetColor(GUI_LIGHTMAGENTA);GUI_DrawLine( x0, y0, x3, y3);/秒針+Sec;GUI_Delay(1);GUI_SetColor(GUI_GREEN);GUI_DispDecAt(Sec,165,55,2);GUI_SetPenSize(2);GUI_DrawLine( x0, y0, x1, y1);GUI_SetColor(GUI_LIGHTBLUE);GUI_DrawLine( x0, y0, x1, y1);GUI_SetPenSize(3);GUI_DrawLine( x0, y0, x2,

36、 y2);GUI_SetPenSize(5);GUI_DrawLine( x0, y0, x3, y3);if(j=60*12,Min=60) /時針j=0;Min=0;+Hour;GUI_SetColor(GUI_GREEN);GUI_DispDecAt(Hour,117,55,2);24if(Hour=24)Hour=0,Min=0;GUI_SetColor(GUI_GREEN);GUI_DispDecAt(Hour,117,55,2);GUI_DispDecAt(Min,142,55,2);if(Sec%2=0)GUI_SetColor(GUI_RED);GUI_DispCharAt(&

37、#39;:',157,55);elseif(Sec%2=0)GUI_SetColor(GUI_RED);/設置顏色為紅色GUI_DispCharAt(':',133,57);elseGUI_DispCharAt(' ',132,55);/在固定的坐標中顯示字符GUI_DispCharAt(' ',157,55);/在固定的坐標中顯示字符void main(void)/main函數(shù)GUI_Init();/初始化DrawArcScale();/DrawArcScale()的調(diào)用while(1)GUI_Delay(100);/延時函數(shù)25264

38、.3 運行結果圖圖4-227第五章 總結遇到的問題及解決方法1.在編譯文件時沒有把application中多余的文件刪去,導致文件編譯出現(xiàn)錯誤。解決辦法:把文件中 多余的文件刪除2.在畫表盤的數(shù)字是定義出錯:unsigned int num="12","11","10","9","8","7","6","5","4","3","2","1"解決辦法:定義un

39、signed num="12","11","10","9","8","7","6","5","4","3","2","1"即可3.時針,分針以及秒針的換算在語法上出現(xiàn)錯誤4. main函數(shù)中while()錯誤:使指針無法顯示出來void main(void)GUI_Init();DrawArcScale(); GUI_Delay(10000);while(1

40、)GUI_Delay(10000);解決辦法:修改成一下內(nèi)容即可void main(void)GUI_Init();DrawArcScale(); GUI_Delay(10000);while(1)GUI_Delay(10000);致謝衷心感謝我的導師。她嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵勵著我。導師學識淵博,品德高尚,平易近人,在我學習期間不僅傳授了做學問的秘訣,還傳授了做人的準則,這些都將使我終生受益。在我畢業(yè)論文的寫作過程中老師始終給予我精心的指導和不懈的支持。她循循善誘的教導和不拘一格的思路給予我無盡的啟迪。在此謹向老師致以誠摯的謝意和祟高的敬意。同時

41、,我也要向身邊的同學表示感謝,因為論文中某些觀點提出和他們的討論是分不開的。路漫漫其修遠兮,吾將上下而求索。我愿在未來的學習和研究過程中,以更加豐厚的成果來答謝曾經(jīng)關心、幫助和支持過我的老師和同學。參考文獻1 嵌入式C/GUI圖形系統(tǒng)校本教材2C/GUI中文手冊校本教材3嵌入式系統(tǒng)概述4嵌入式系統(tǒng)軟件設計與實現(xiàn)5ucgui開源設計文檔28指導教師評語:簽 名: 日 期: 年 月 日畢業(yè)論文成績評定: 蓋 章: 日 期: 年 月 日為你提供優(yōu)秀的畢業(yè)論文參考資料,請您刪除以下內(nèi)容,O(_)O謝謝!2 Many people have the same mixed feelings when pl

42、anning a trip during Golden Week. With heaps of time, the seven-day Chinese為你提供優(yōu)秀的畢業(yè)論文設計參考資料,請您刪除一下內(nèi)容,O(_)O謝謝!National Day holiday could be the best occasion to enjoy a destination. However, it can also be the easiest way to ruin how you feel about a place and you may become more fatigued after the

43、holiday, due to battling the large crowds. During peak season, a dream about a place can turn to nightmare without careful planning, especially if you travel with children and older people. As most Chinese people will take the holiday to visit domestic tourist destinations, crowds and busy traffic a

44、re inevitable at most places. Also to be expected are increasing transport and accommodation prices, with the possibility that there will be no rooms available. It is also common that you' ll wait in the line for one hour to get a ticket, and another two hours at the site, to only see

45、a tiny bit of the place due to the crowds. Last year, 428 million tourists traveled in China over the week-long holiday in October. Traveling during this period is a matter that needs thorough preparation. If you are short on time to plan the upcoming "Golden Week" it may not be a bad idea

46、 to avoid some of the most crowded places for now. There is always a place so fascinating that everyone yearns for. Arxan is a place like this. The beauty of Arxan is everlasting regardless of the changing of four seasons. Bestowed by nature, its spectacular seasonal landscape and mountains are just

47、 beyond word. Arxan is a crucial destination for the recommended travelling route, "China Inner Mongolia Arxan Hailar Manzhouli". It is also the joint of the four prairies across the Sino-Mongolian border, where people gravitate towards the exotic atmosphere mixed with Chinese, Russian, an

48、d Mongolia elements. As a historic site for the Yitian Battle, Arxan still embodies the spirit of Genghis Khan. Walking into Arxan, you will be amazed by a kaleidoscope of gorgeous colors all the year round - the Spring azaleas blooming red in the snow, the Summer sea wavering blue in the breeze, th

49、e Autumn leaves painted in yellow covering volcanic traces, and the Winter woods shining white on the vast alpine snowscape. Hinggan League Arxan city is situated in the far eastern area of Inner Mongolia Autonomous Region. Its full name "Haren Arxan" means "hot holy water" in th

50、e Mongolian language. Arxan is a tourism city in the northern frontier with a blend of large forest, grand prairies, vast snowfield, heaven lake cluster, thermium, as well as volcanic cluster. It is a rare and unique ecotourism base filled with healthy sunshine, clean air and unspoiled green.  

51、Nestled close to the country's largest virgin forest, and known for its spring and ecological environment, Arxan is marveled at by many tourists as the purest land on earth.  You cannot miss out the Autumn of Arxan. It is definitely the best with brightly-colored scenery full of emotions. &

52、#160;Autumn in the northern part of the country comes earlier than the South. A September rain followed by the footprints of Autumn brings more colors to the once emerald green mountain and blooming grassland.  Shutterbugs flock to see for themselves the marvel of splendid colors around the mou

53、ntains and waters, many of whom have travel a long distance and even camp here only to capture a moment of the nature wonder.  The silver birch turns golden, while the larch is still proudly green. You will find yourself drowned in the intoxicating red of the wild fruits as well as the glamour

54、of flowers in full blown. And your heart will be lingering on the woods as it's time for the wild fruits to ripe. The picturesque Arxan in Autumn is indeed a fairyland only exists in a dream that satisfies all your fantasies. If it rains heavily on Saturday night, some elderly Chinese will

55、say it is because Zhinu, or the Weaving Maid, is crying on the day she met her husband Niulang, or the Cowherd, on the Milky Way. Most Chinese remember being told this romantic tragedy when they were children on Qixi, or the Seventh Night Festival, which falls on the seventh day of the seventh lunar month, which is usua

溫馨提示

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

評論

0/150

提交評論