版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 計(jì)算機(jī)及信息工程學(xué)院(常州)</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目 嵌入式課程設(shè)計(jì) </p><p> 專業(yè)學(xué)號(hào) </p><p> 學(xué)生姓名
2、</p><p> 授課班號(hào) </p><p> 指導(dǎo)教師 </p><p> 完成時(shí)間 2011.7.5 </p><p><b> 目 錄</b></p><p>
3、 摘 要 ………………………………………………………………………………………………2 </p><p> 第一章 時(shí)鐘設(shè)計(jì) …………………………………………………………………………………3</p><p> 第一節(jié) 課題目標(biāo) …………………………………………………………………..3</p><p> 第二節(jié) 程序和芯片的初始化………
4、…………………………………………………………..4</p><p> 第三節(jié) 構(gòu)建功能模塊…………………………………………………………………………..5 第四節(jié) 實(shí)現(xiàn)信息的傳遞…………………………………………………………………..…… 5 </p><p> 第二章 實(shí)驗(yàn)結(jié)果討論 ……….……………………………………………………….6</p>
5、<p> 第一節(jié) 軟件的編譯,連接和運(yùn)行 …………………………………………………….6</p><p> 第二節(jié) protues 7.4仿真軟件調(diào)試 ……………………………………………………..7</p><p> 第三章 結(jié)論………………………………………………………………………………………8</p><p> 心得體會(huì)
6、……………………………………………………………………………………………9</p><p> 參考文獻(xiàn) …………………………………………………………………………………………10</p><p> 附 錄 …………………………………………………………………………………………11</p><p> 源程序…………………………………………………………………………
7、……………11</p><p><b> 摘要</b></p><p> 實(shí)時(shí)時(shí)鐘(RTC)器件是一種能提供日歷/時(shí)鐘、數(shù)據(jù)存儲(chǔ)等功能的專用集成電路,常用作各種計(jì)算機(jī)系統(tǒng)的時(shí)鐘信號(hào)源和參數(shù)設(shè)置存儲(chǔ)電路。RTC具有計(jì)時(shí)準(zhǔn)確、耗電低和體積小等特點(diǎn),特別適用于在各種嵌入式系統(tǒng)忠記錄事件發(fā)生的時(shí)間和相關(guān)信息,尤其是在通信工程、電力自動(dòng)化、工業(yè)控制等自動(dòng)化程度較高領(lǐng)域的無人
8、職守環(huán)境。隨著集成電路技術(shù)的不斷發(fā)展,RTC器件的新品也不斷推出。這些新品不僅具有準(zhǔn)確的RTC,還有大容量的存儲(chǔ)器、溫度傳感器和A/D數(shù)據(jù)采集通道等,已成為集RTC、數(shù)據(jù)采集和存儲(chǔ)于一體的綜合功能器件,特別適用于以微控制器為核心的嵌入式系統(tǒng)。</p><p> Summary Real Time Clock (RTC) device can provide a calendar / clock, d
9、ata storage and other features specific integrated circuit, commonly used for various computer systems, the clock source and the parameter settings stored in the circuit.RTC has a timing accuracy, low power consumption a
10、nd small size and other characteristics, especially for embedded systems Zhong recorded in the event of time and information, especially in communication engineering, electric power automation, industrial</p><
11、p><b> 第一章 時(shí)鐘設(shè)計(jì)</b></p><p><b> 第一節(jié) 課題目標(biāo)</b></p><p> 利用ARM 7芯片和LCD顯示器,通過C語言編譯,完成實(shí)時(shí)時(shí)鐘(RTC)的顯示。</p><p> 第二節(jié) 程序和芯片初始化</p><p> 程序中包括:Lcd的初始
12、化:</p><p><b> 中斷向量的初始化:</b></p><p><b> RTC的初始化:</b></p><p> 第三節(jié) 構(gòu)建功能模塊</p><p> Lcd顯示的時(shí)鐘界面包括:靜止不動(dòng)的圓形鐘面和一直在走動(dòng)的時(shí)鐘指針。</p><p> 所以需
13、要構(gòu)建兩個(gè)重要的函數(shù)實(shí)現(xiàn)畫圓和畫直線。</p><p><b> 以下為畫圓函數(shù):</b></p><p> 該算法是通過X變量的自增,補(bǔ)償1 修正正方形控制Y變量自減,找到距中心恒定距離的點(diǎn),其中rs=45,X自0加1增至45。和原點(diǎn)坐標(biāo)運(yùn)算,可以在第一象限找到一點(diǎn),再通過折疊對(duì)稱找到其他象限的三個(gè)點(diǎn),通過畫點(diǎn)函數(shù)描繪出。再畫他的45度鏡像就好了。</p&
14、gt;<p> 畫線函數(shù):void line(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2,unsigned char draw)</p><p> 以中心的坐標(biāo)為起點(diǎn),使用while函數(shù)與指針最外圈的點(diǎn)比較,不斷延長(zhǎng)直至相等,所以事先計(jì)算出時(shí)針,分針和秒針三個(gè)同心圓最外圈點(diǎn)的坐標(biāo),以便帶入函數(shù)。也同圓類似,要考慮
15、不同象限點(diǎn)的情況,根據(jù)不同的位置帶參數(shù)到畫點(diǎn)函數(shù)中描繪。</p><p> 第四節(jié) 實(shí)現(xiàn)信息的傳遞</p><p><b> 畫點(diǎn)函數(shù):</b></p><p><b> 數(shù)據(jù)傳遞函數(shù):</b></p><p> 與通用可編程輸入輸出口(General Programable Input
16、 Output)相連,把計(jì)算的數(shù)據(jù)傳遞給Lcd顯示。</p><p> 第二章 實(shí)驗(yàn)結(jié)果討論</p><p> 第一節(jié) 軟件的編譯,連接和運(yùn)行</p><p><b> 構(gòu)建完整的程序:</b></p><p> 添加頭文件,中斷處理匯編程序段,初始化函數(shù)和主函數(shù):</p><p>
17、 編譯器提示:成功生成所需Hex文件,將得到的Hex文件導(dǎo)入仿真芯片</p><p><b> 中,觀察實(shí)時(shí)時(shí)鐘。</b></p><p><b> 第三章 結(jié) 論</b></p><p><b> 綜合效果圖:</b></p><p> 以上為protues部分設(shè)
18、計(jì)的,ads程序見附錄。</p><p><b> 心得體會(huì)</b></p><p> 回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,我學(xué)到很多很多的東西,不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的內(nèi)容。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論
19、,才是真正的知識(shí),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程遇到了各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計(jì),把以前所學(xué)過的知識(shí)重新溫故,鞏固了所學(xué)的知識(shí)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 謝自美,電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試,華中理工大
20、學(xué)出版社,2003。</p><p> [2] 宋春榮,通用集成電路速查手冊(cè),山東科學(xué)技術(shù)出版社,1995。</p><p> [3] Arnold Berger,嵌入式系統(tǒng)設(shè)計(jì),呂駿 譯, 北京:電子工業(yè)出版社, 2002</p><p> [4] 桑楠. 嵌入式系統(tǒng)原理及應(yīng)用開發(fā)技術(shù),北京:北京航空航天大學(xué)出版社, 2002 </p>&l
21、t;p><b> 附 錄</b></p><p><b> 一、源程序:</b></p><p> #include "..\inc\config.h"</p><p> #defineSTACKSIZE256</p><p> #define x_line
22、 160</p><p> #define y_line 80</p><p> OS_STK_DATA stk;</p><p> extern GUI_FONT CHINESE_FONT12;</p><p> extern GUI_FONT CHINESE_FONT16;</p><p> ext
23、ern GUI_FONT GUI_Font8x16;</p><p> OS_EVENT * Send_LCD_Sem;</p><p> OS_EVENT *Key_Mbox;</p><p> I8 Hour[3],Min[3],Sec[3];</p><p> I8 hour = 0, min = 0, sec = 0,ms;
24、</p><p> I8 YEA1[3],YEA2[3],MON[3],DAY[3];</p><p> int yea1 = 20,yea2=11, mon = 6, day = 23;</p><p> I8 XH0[3],XH1[3],XH2[3],XH3[3];</p><p> I8 XH4[3],XH5[3],XH6[3]
25、,XH7[3];</p><p> char xh0=01,xh1=62,xh2=31,xh3=03;</p><p> char xh4=32,xh5=36,xh6=02,xh7=12;</p><p> //int TimeCount = 0;</p><p> int SpaceXS[61]={160,165,170,175,1
26、80,185,</p><p> 189,193,197,201,205,</p><p> 206,207,208,209,210,</p><p> 209,208,207,206,205,</p><p> 201,197,193,189,185,</p><p> 180,175,170,165,16
27、0,</p><p> 155,150,145,140,135,</p><p> 131,127,123,119,115,</p><p> 114,113,112,111,110,</p><p> 111,112,113,114,115,</p><p> 119,123,127,131,135,<
28、;/p><p> 140,145,150,155,160, </p><p><b> },</b></p><p> SpaceYS[61]={30,31,32,33,34,</p><p> 35,39,43,47,51,</p><p> 55,60,65,70,
29、75,</p><p> 80,85,90,95,100,</p><p> 105,109,113,117,121,</p><p> 125,126,127,128,129,</p><p> 130,129,128,127,126,</p><p> 125,121,117,113,109,</p
30、><p> 105,100,95,90,85,</p><p> 80,75,70,65,60,</p><p> 55,51,47,43,39,</p><p> 35,34,33,32,31,30},</p><p> SpaceXM[61]={160,164,168,172,176,180,183,186,
31、189,192,</p><p> 195,196,197,198,199,200,199,198,197,196,</p><p> 195,192,189,186,183,180,176,172,168,164,</p><p> 160,156,152,148,144,140,137,134,131,128,</p><p>
32、125,124,123,122,121,120,121,122,123,124,</p><p> 125,128,131,134,137,140,144,148,152,156,</p><p> 160 </p><p><b> },</b></p><p> SpaceYM[61]={
33、40,41,42,43,44,45,48,51,54,57,</p><p> 60,64,68,72,76,80,84,88,92,96,</p><p> 100,103,106,109,112,115,116,117,118,119,</p><p> 120,119,118,117,116,115,112,109,106,103,</p>
34、<p> 100,96,92,88,84,80,76,72,68,64,</p><p> 60,57,54,51,48,45,44,43,42,41,</p><p><b> 40</b></p><p><b> },</b></p><p> SpaceXH[13]={
35、160,175,185,190,185,175,160,145,135,130,135,145,160},</p><p> SpaceYH[13]={50,55,65,80,95,105,110,105,95,80,65,55,50},</p><p> *Placex=&SpaceXS[0],*Placey=&SpaceYS[0],*Placexm=&Spa
36、ceXM[0],*Placeym=&SpaceYM[0],</p><p> *Placexh=&SpaceXH[0],*Placeyh=&SpaceYH[0];</p><p> void Display_xh1(char xx1,char yy1);</p><p> void Display_xh2(char xx2,char y
37、y2);</p><p> void Display_xh3(char xx3,char yy3);</p><p> void show(I8 s)</p><p><b> {</b></p><p> if(s%4==0)</p><p><b> {</b>
38、</p><p> Set_Color(GUI_BLUE);</p><p> Set_Font (&CHINESE_FONT16);</p><p> Disp_String (CN_start"CN_end,48,210);</p><p> Set_Font(&GUI_Font8x16); <
39、;/p><p> Display_xh3(250,210);</p><p> Display_xh2(250,190);</p><p> Display_xh1(250,170);</p><p> Set_Color(GUI_RED);</p><p> Set_Font (&CHINE
40、SE_FONT16);</p><p> Display_xh1(250,210); </p><p><b> }</b></p><p> else if(s%4==1)</p><p><b> {</b></p><p> Set_Color(GUI_YEL
41、LOW);</p><p> Set_Font (&CHINESE_FONT16);</p><p> Disp_String (CN_start""CN_end,48,210);</p><p> Set_Color(GUI_YELLOW);</p><p> Fill_Circle (288,50
42、,25);</p><p> Display_xh1(250,210); </p><p><b> }</b></p><p> else if(s%4==2)</p><p><b> {</b></p><p> Set_Color(GUI_BLUE);<
43、;/p><p> Set_Font (&CHINESE_FONT16);</p><p> Disp_String (CN_start""CN_end,48,210);</p><p> Set_Color(GUI_WHITE);</p><p> Set_Font (&CHINESE_FO
44、NT16);</p><p> Disp_String (CN_start""CN_end,48,210);</p><p> Set_Color(GUI_WHITE);</p><p> Set_Font(&GUI_Font8x16); </p><p> Display_xh2(250,210); &
45、lt;/p><p><b> }</b></p><p> else if(s%4==3)</p><p><b> {</b></p><p> Set_Color(GUI_BLUE);</p><p> Set_Font(&GUI_Font8x16);
46、</p><p> Disp_String ("CLOCK",10,10);</p><p> Set_Font (&CHINESE_FONT16);</p><p> Disp_String (CN_start""CN_end,48,210);</p><p> Set_Col
47、or(GUI_LIGHTMAGENTA);</p><p> Set_Font (&CHINESE_FONT16);</p><p> Disp_String (CN_start""CN_end,48,210);</p><p> Set_Color(GUI_LIGHTMAGENTA); </p><p&g
48、t;<b> }</b></p><p><b> }</b></p><p> void Shows()</p><p><b> {</b></p><p> show(sec);</p><p> Set_Color(GUI_GRAY
49、); //擦除上一秒的</p><p> Draw_Line(x_line,y_line,*Placex,*Placey);</p><p> Placex=Placex+1;</p><p> Placey=Placey+1;</p><p> Set_Color(GUI_YELLOW); //顯示下一秒的 <
50、/p><p> Draw_Line(x_line,y_line,*Placex,*Placey);</p><p> Set_Color(GUI_RED); //顯示下一分的</p><p> Draw_Line(x_line,y_line,*Placexm,*Placeym);</p><p> Set_Color(GUI_G
51、REEN); //顯示下一時(shí)的 </p><p> Draw_Line(x_line,y_line,*Placexh,*Placeyh);</p><p> if(Placex==&SpaceXS[60]&&Placey==&SpaceYS[60])</p><p><b> {</b></p&
52、gt;<p> Placex=&SpaceXS[0];</p><p> Placey=&SpaceYS[0];</p><p><b> } </b></p><p><b> }</b></p><p> void Showm()</p>
53、<p><b> {</b></p><p> Set_Color(GUI_GREEN);</p><p> Fill_Circle (288, 50, 25);</p><p> Set_Color(GUI_RED);</p><p> Fill_Circle (280, 50, 10);<
54、;/p><p> Fill_Circle (296, 50, 10);</p><p> Fill_Circle (288, 40, 10);</p><p> Fill_Circle (288, 60, 10);</p><p> Set_Color(GUI_YELLOW);</p><p> Fill_Ci
55、rcle (288, 50, 5);</p><p> Set_Color(GUI_GRAY); //擦除上一分的</p><p> Draw_Line(x_line,y_line,*Placexm,*Placeym);</p><p> Placexm=Placexm+1;</p><p> Placeym=Placeym
56、+1;</p><p> Set_Color(GUI_RED); //顯示下一分的</p><p> Draw_Line(x_line,y_line,*Placexm,*Placeym);</p><p> Set_Color(GUI_GREEN); //顯示下一時(shí)的 </p><p> Draw_Line(x_lin
57、e,y_line,*Placexh,*Placeyh);</p><p> if(Placexm==&SpaceXM[60]&&Placeym==&SpaceYM[60])</p><p><b> {</b></p><p> Placexm=&SpaceXM[0];</p><
58、;p> Placeym=&SpaceYM[0];</p><p><b> }</b></p><p><b> }</b></p><p> void Showh()</p><p><b> {</b></p><p>
59、Set_Color(GUI_YELLOW);</p><p> Fill_Circle (288, 50, 25);</p><p> Set_Color(GUI_GREEN);</p><p> Fill_Circle (280, 50, 10);</p><p> Fill_Circle (296, 50, 10);</p
60、><p> Fill_Circle (288, 40, 10);</p><p> Fill_Circle (288, 60, 10);</p><p> Set_Color(GUI_RED);</p><p> Fill_Circle (288, 50, 5);</p><p> Set_Color(GUI_G
61、RAY); //擦除上一時(shí)的</p><p> Draw_Line(x_line,y_line,*Placexh,*Placeyh);</p><p> Placexh=Placexh+1;</p><p> Placeyh=Placeyh+1;</p><p> Set_Color(GUI_GREEN); //顯示下一
62、時(shí)的 </p><p> Draw_Line(x_line,y_line,*Placexh,*Placeyh);</p><p> if(Placexh==&SpaceXH[12]&&Placeyh==&SpaceYH[12])</p><p><b> {</b></p><p>
63、; Placexh=&SpaceXH[0];</p><p> Placeyh=&SpaceYH[0];</p><p><b> }</b></p><p><b> }</b></p><p> void Shouw_Cricle() // 整 點(diǎn)</p&g
64、t;<p><b> {</b></p><p> Set_Color(GUI_YELLOW);</p><p> Fill_Circle (160, 30,2); // 12點(diǎn)(x,y,r)</p><p> Fill_Circle (135, 35,2); // 11 點(diǎn)(x,y,r)</p>
65、;<p> Fill_Circle (115, 55,2); // 10 點(diǎn)(x,y,r)</p><p> Fill_Circle (110, 80,2); // 9 點(diǎn)(x,y,r)</p><p> Fill_Circle (115, 105,2); // 8 點(diǎn)(x,y,r)</p><p> Fill_Circ
66、le (135, 125,2); // 7 點(diǎn)(x,y,r)</p><p> Fill_Circle (160, 130,2); // 6 點(diǎn)(x,y,r)</p><p> Fill_Circle (185, 125,2); // 5 點(diǎn)(x,y,r)</p><p> Fill_Circle (205, 105,2); /
67、/ 4 點(diǎn)(x,y,r)</p><p> Fill_Circle (210, 80,2); // 3 點(diǎn)(x,y,r)</p><p> Fill_Circle (205, 55,2); // 2點(diǎn)(x,y,r)</p><p> Fill_Circle (185, 35,2); // 1點(diǎn)(x,y,r)</p><
68、;p> Set_Color(GUI_WHITE);</p><p> Fill_Circle (165, 31,1); </p><p> Fill_Circle (170, 32,1);</p><p> Fill_Circle (175, 33,1);</p><p> Fill_Circle (180, 34,1);
69、 </p><p> Fill_Circle (189, 39,1); </p><p> Fill_Circle (193, 43,1); </p><p> Fill_Circle (197, 47,1); </p><p> Fill_Circle (201, 51,1); </p>&l
70、t;p> Fill_Circle (206, 60,1); </p><p> Fill_Circle (207, 65,1); </p><p> Fill_Circle (208, 70,1); </p><p> Fill_Circle (209, 75,1); </p><p> Fill_Cir
71、cle (209, 85,1); </p><p> Fill_Circle (208, 90,1); </p><p> Fill_Circle (207, 95,1); </p><p> Fill_Circle (206, 100,1); </p><p> Fill_Circle (201, 10
72、9,1); </p><p> Fill_Circle (197, 113,1); </p><p> Fill_Circle (193, 117,1); </p><p> Fill_Circle (189, 121,1); </p><p> Fill_Circle (180, 126,1); &
73、lt;/p><p> Fill_Circle (175, 127,1); </p><p> Fill_Circle (170, 128,1); </p><p> Fill_Circle (165, 129,1); </p><p> Fill_Circle (155, 129,1); </p>
74、<p> Fill_Circle (150, 128,1); </p><p> Fill_Circle (145, 127,1); </p><p> Fill_Circle (140, 126,1); </p><p> Fill_Circle (131, 121,1); </p><p>
75、 Fill_Circle (127, 117,1); </p><p> Fill_Circle (123, 113,1); </p><p> Fill_Circle (119, 109,1); </p><p> Fill_Circle (114, 100,1); </p><p> Fill_Circle
76、 (113, 95,1); </p><p> Fill_Circle (112, 90,1); </p><p> Fill_Circle (111, 85,1); </p><p> Fill_Circle (111, 75,1); </p><p> Fill_Circle (112, 70,1); &
77、lt;/p><p> Fill_Circle (113, 65,1); </p><p> Fill_Circle (114, 60,1); </p><p> Fill_Circle (119, 51,1); </p><p> Fill_Circle (123, 47,1); </p><
78、;p> Fill_Circle (127, 43,1); </p><p> Fill_Circle (131, 39,1); </p><p> Fill_Circle (140, 34,1); </p><p> Fill_Circle (145, 33,1); </p><p> Fill_Circle
79、 (150, 32,1); </p><p> Fill_Circle (155, 31,1); </p><p><b> }</b></p><p> void Delay(int time);</p><p> void ChangeForm(char Time[],char time)<
80、;/p><p><b> {</b></p><p> Time[0] = time / 10 + 48;</p><p> Time[1] = time % 10 + 48;</p><p> Time[2] = '\0';</p><p><b> }</
81、b></p><p> void Display_Time(char x,char y) </p><p><b> {</b></p><p> ChangeForm(Hour, hour);</p><p> ChangeForm(Min, min);</p><p> C
82、hangeForm(Sec, sec);</p><p> ChangeForm(MON, mon);</p><p> ChangeForm(DAY, day);</p><p> ChangeForm(YEA1, yea1);</p><p> ChangeForm(YEA2, yea2);</p><
83、;p> Disp_String (Hour,x,160); </p><p> Disp_String (":",x + 16,160); </p><p> Disp_String (Min,x + 24,160); </p><p> Disp_String (":",x + 40,160); </p&
84、gt;<p> Disp_String (Sec,x + 48,160);</p><p> Disp_String (YEA1,x , 180); </p><p> Disp_String (YEA2,x +16,180); </p><p> Disp_String (",",x + 32,180);</p
85、><p> Disp_String (MON,x + 40,180); </p><p> Disp_String (",",x + 56,180); </p><p> Disp_String (DAY,x + 64,180); </p><p><b> }</b></p>
86、<p> void Display_xh1(char xx1,char yy1)//</p><p><b> {</b></p><p> ChangeForm(XH0, xh0);</p><p> ChangeForm(XH1, xh1);</p><p> ChangeForm(XH2, x
87、h2);</p><p> ChangeForm(XH3, xh3);</p><p> ChangeForm(XH4, xh4);</p><p> Disp_String (XH0,xx1,yy1); </p><p> Disp_String (XH1,xx1+16,yy1); </p><p> Di
88、sp_String (XH2,xx1+32,yy1); </p><p> Disp_String (XH3,xx1+48,yy1); </p><p> Disp_String (XH4,xx1+48,yy1); </p><p><b> }</b></p><p> void Display_xh2(cha
89、r xx2,char yy2)//</p><p><b> {</b></p><p> ChangeForm(XH0, xh0);</p><p> ChangeForm(XH1, xh1);</p><p> ChangeForm(XH2, xh2);</p><p> Chang
90、eForm(XH3, xh3);</p><p> ChangeForm(XH5, xh5);</p><p> Disp_String (XH0,xx2,yy2); </p><p> Disp_String (XH1,xx2+16,yy2); </p><p> Disp_String (XH2,xx2+32,yy2); <
91、/p><p> Disp_String (XH3,xx2+32,yy2); </p><p> Disp_String (XH5,xx2+48,yy2); </p><p><b> }</b></p><p> void Display_xh3(char xx3,char yy3)//</p><
92、;p><b> {</b></p><p> ChangeForm(XH0, xh0);</p><p> ChangeForm(XH1, xh1);</p><p> ChangeForm(XH2, xh2);</p><p> ChangeForm(XH6, xh6);</p><
93、p> ChangeForm(XH7, xh7);</p><p> Disp_String (XH0,xx3,yy3); </p><p> Disp_String (XH1,xx3+16,yy3); </p><p> Disp_String (XH2,xx3+32,yy3); </p><p> Disp_String (
94、XH6,xx3+48,yy3); </p><p> Disp_String (XH7,xx3+48,yy3); </p><p><b> }</b></p><p> void Show_Color()</p><p><b> {</b></p><p> S
95、et_Color( GUI_BLUE );</p><p> Fill_Rect(0,0,319,239);</p><p> Set_Color(GUI_RED);</p><p> Set_BkColor (GUI_BLUE);</p><p> Fill_Rect(0,0,319,2);</p><p>
96、 Fill_Rect(0,0,2,239);</p><p> Fill_Rect(0,237,319,239);</p><p> Fill_Rect(317,0,319,239);</p><p> Set_Color(GUI_RED); </p><p> Set_Font (&CHINESE_FONT16);&
97、lt;/p><p> Disp_String (CN_start"姓名:"CN_end,5,210);</p><p> Disp_String (CN_start"學(xué)號(hào):"CN_end,210,210);</p><p> Set_Color(GUI_WHITE ); </p><p> Fi
98、ll_Rect (79,17,242,20); //上線(x0,y0,x1,y1)</p><p> Fill_Rect (79,20,82,202); //左線(x0,y0,x1,y1)</p><p> Fill_Rect (238,20,242,202); //右線(x0,y0,x1,y1)</p><p> Fill_Rect (7
99、9,199,242,202); //下線(x0,y0,x1,y1)</p><p> Set_Color(GUI_LIGHTRED); </p><p> Fill_Rect (83,21,237,198); </p><p><b> }</b></p><p> /*分配各任務(wù)的堆棧容量 </p
100、><p><b> */</b></p><p> OS_STK Stack_Task_1[STACKSIZE];</p><p> OS_STK Stack_Task_2[STACKSIZE*3];</p><p><b> /*</b></p><p> void
101、Task_3(I8 s)</p><p><b> {</b></p><p> I8 display;</p><p><b> for(;;)</b></p><p><b> {</b></p><p> Delay(100);</
102、p><p> display++;</p><p> Set_Color(GUI_RED);</p><p> Display_xh1(5,180);</p><p> if(display==1000)</p><p><b> {</b></p><p> d
103、isplay=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> /*</b></p><p> - 函數(shù)名稱 : Task_2
104、(void *pdata)</p><p> - 函數(shù)說明 : GUI任務(wù),優(yōu)先級(jí)為9</p><p> - 輸入?yún)?shù) : pdata</p><p> - 輸出參數(shù) : 無</p><p><b> */</b></p><p> void Task_2(void *pdata)<
105、;/p><p><b> {</b></p><p><b> for(;;) </b></p><p><b> {</b></p><p> Show_Color();</p><p> Shouw_Cricle(); </p
106、><p> Set_Color(GUI_RED);</p><p><b> sec = 0;</b></p><p> Set_Color(GUI_YELLOW); //顯示</p><p> Draw_Line(x_line,y_line,*Placex,*Placey);</p><p
107、> Display_Time(130, 160);//時(shí)間 </p><p><b> do</b></p><p><b> {</b></p><p> Delay(1200);</p><p><b> sec++;</b></p><
108、p><b> Shows();</b></p><p> if (sec >= 60)</p><p><b> { </b></p><p><b> sec = 0;</b></p><p><b> min++;</b><
109、/p><p><b> Showm();</b></p><p> if (min >= 60)</p><p><b> {</b></p><p><b> min = 0;</b></p><p><b> hour++;&l
110、t;/b></p><p><b> Showh();</b></p><p> if (hour >= 23)</p><p><b> {</b></p><p> hour = 0; </p><p><b> day++;</b
111、></p><p> if(day >=32)</p><p><b> {</b></p><p><b> day = 1;</b></p><p><b> mon++;</b></p><p> if(mon >= 1
112、3)</p><p><b> {</b></p><p><b> mon = 1;</b></p><p><b> yea1++;</b></p><p><b> }</b></p><p> }
113、</p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p> Display_Time(130, 160);//時(shí)間 日期</p><p> }while(1);&l
114、t;/p><p><b> }</b></p><p><b> }</b></p><p> void Task_1(void *pdata)</p><p><b> {</b></p><p> Rtc_Tick_Init();
115、//打開時(shí)鐘節(jié)拍,讓操作系統(tǒng)跑起來</p><p> OSTaskCreate(Task_2, (void *)0, (OS_STK *)&Stack_Task_2[(STACKSIZE*3) - 1], 9); </p><p><b> for(;;)</b></p><p><b> {</b
116、></p><p> OSTimeDly(50); //時(shí)鐘屏幕顯示</p><p><b> }</b></p><p><b> }</b></p><p> void Main(void) </p><p
117、><b> { </b></p><p> Target_Init(); // ARMII實(shí)驗(yàn)系統(tǒng)的初始化,包括CPU板</p><p> GUI_Init();</p><p> OSInit();</p><p> OSTaskCreate(Task_1, (void *)0, (OS_ST
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式課程設(shè)計(jì)報(bào)告---基于lcd的電子時(shí)鐘
- 嵌入式課程設(shè)計(jì)--基于lcd的電子時(shí)鐘
- 嵌入式課程設(shè)計(jì)報(bào)告--具有日歷功能的電子時(shí)鐘
- 嵌入式課程設(shè)計(jì)--基于lcd的電子時(shí)鐘實(shí)驗(yàn)
- 嵌入式課程設(shè)計(jì)-- 基于lcd的電子時(shí)鐘實(shí)驗(yàn)
- 基于arm7的uclinux移植嵌入式課程設(shè)計(jì)
- 電子時(shí)鐘系統(tǒng)設(shè)計(jì)-《嵌入式系統(tǒng)》課程設(shè)計(jì)說明書
- 電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 電子時(shí)鐘課程設(shè)計(jì)--數(shù)字電子時(shí)鐘焊接調(diào)試報(bào)告
- 嵌入式系統(tǒng)原理及應(yīng)用課程設(shè)計(jì)--電子時(shí)鐘的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)字電子時(shí)鐘 課程設(shè)計(jì)報(bào)告
- 倒計(jì)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 電子時(shí)鐘課程設(shè)計(jì)
- 電子時(shí)鐘eda課程設(shè)計(jì)報(bào)告
- 電子時(shí)鐘 課程設(shè)計(jì)
- 電子時(shí)鐘課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論