嵌入式課程設計--應用試驗箱開發(fā)電子密碼鎖系統(tǒng)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  嵌入式系統(tǒng)課程設計報告</p><p><b>  摘要</b></p><p>  嵌入式系統(tǒng)應用廣泛,涉及通信、網絡消費電子產品、醫(yī)療儀器、汽車電子、工業(yè)控制、儀器儀表、航天軍事等各個行業(yè)和領域。通信領域大量使用嵌入式系統(tǒng),主要包括程控交換機,路由器,IP交換機,傳輸設備等。在消費電子產品領域,隨著技術的發(fā)展,消費電子產品正向數(shù)字化和網絡化方

2、向發(fā)展。在醫(yī)療儀器,汽車電子,工業(yè)控制,儀器儀表等領域,隨著醫(yī)療衛(wèi)生,汽車,工業(yè)等各部門對智能控制需求的不斷增長,需要對設備進行智能化,數(shù)字化改造,位嵌入式系統(tǒng)提供了很大的市場。就汽車電子系統(tǒng)而言,目前的大多數(shù)高檔轎車每兩擁有約50個嵌入式微處理器。嵌入式系統(tǒng)在應用數(shù)量上已經遠遠超過了各種通用計算機??梢哉f嵌入式產品“無處不在”。本次課程設計,使用基于華邦W90P710處理器的實驗教學系統(tǒng)設計了一個電子密碼鎖。</p>&

3、lt;p>  關鍵字:華邦W90P710微處理器、UART、USI、FLASH、LCD,鍵盤</p><p><b>  目 錄</b></p><p>  1.緒論…………………………………………………………………………………………4</p><p>  1.1 課程設計的目的………………………………………………………………………4&

4、lt;/p><p>  1.2 課程設計的要求………………………………………………………………………4</p><p>  1.3 課程設計的任務………………………………………………………………………4</p><p>  1.4 課程設計的意義………………………………………………………………………4</p><p>  2.應用試驗箱開發(fā)

5、電子密碼鎖系統(tǒng) ……………………………………………5</p><p>  2.1 電子密碼鎖系統(tǒng)概述…………………………………………………………………5</p><p>  2.2 題目意義………………………………………………………………………………5</p><p>  2.2.1 系統(tǒng)的主要功能……………………………………………………………………5<

6、/p><p>  2.2.2 密碼鎖系統(tǒng)功能框圖………………………………………………………………7</p><p>  2.2.3 LCD液晶顯示模塊…………………………………………………………………7</p><p>  2.3 軟件設計流程及主要函數(shù)描述 ………………………………………………………8</p><p>  2.3.1 程

7、序流程圖…………………………………………………………………………8</p><p>  2.3.2 主要函數(shù)……………………………………………………………………………11</p><p>  3.程序設計中遇見的問題及解決的方法………………………………………………12</p><p>  4.課程設計體會………………………………………………………………………………

8、12</p><p>  5.參考文獻……………………………………………………………………………………13</p><p><b>  緒論</b></p><p><b>  課程設計目的</b></p><p> ?。?)通過設計加深對書本知識的理解;</p><p> 

9、 (2)增強實踐動手能力;</p><p>  (3)培養(yǎng)綜合設計能力。</p><p><b>  課程設計要求</b></p><p>  (1)根據(jù)教師布置的題目自行選題;</p><p> ?。?)根據(jù)實驗板提供的功能,自行設計功能模塊,畫出硬件原理圖;</p><p> ?。?)畫出軟件

10、流程圖;</p><p> ?。?)采用C語言進行編程;</p><p>  (5)編寫完整的軟件程序;</p><p>  (6)調試、修改、完善;</p><p> ?。?)寫出課程設計報告。</p><p><b>  課程設計任務</b></p><p>  用華邦

11、W90P710開發(fā)板實現(xiàn)電子密碼鎖。要求:</p><p>  1、設置密碼:從鍵盤輸入任意6位數(shù)字作為密碼,將這六位數(shù)字經過USI總線存儲到Flash芯片中,設置密碼完成。</p><p>  2、通過密碼登陸系統(tǒng):</p><p>  (1)、從鍵盤輸入密碼,比較鍵盤輸入的密碼與Flash中存儲的密碼是否相同。</p><p>  (2)

12、、如果密碼正確,則LED燈點亮;如果密碼不正確,則LED燈閃爍,而且如果連續(xù)三次輸入密碼錯誤則系統(tǒng)鎖定,不允許再次輸入密碼。</p><p><b>  課程設計的意義</b></p><p>  本次實訓,在實驗指導書中已經給出一些實例程序,其中包括已有實驗程序:(1)啟動代碼程序;</p><p><b>  (2)流水燈程序;

13、</b></p><p><b> ?。?)鍵盤程序;</b></p><p>  (4)外部中斷程序;(5)定時計數(shù)器程序;</p><p> ?。?)串口通信程序;</p><p> ?。?)實時時鐘程序;</p><p><b> ?。?)USI程序;</b&g

14、t;</p><p> ?。?)LCD顯示程序;</p><p>  通過對已有程序的理解,之后進行修改拼湊,在由華邦W90P710為核心器件的硬件系統(tǒng)上實現(xiàn)了具有一定功能的系統(tǒng)。通過設計,熟悉了ARM 開發(fā)系統(tǒng),及開發(fā)流程,并深入了解了嵌入式系統(tǒng)的實際應用,能更深地理解課堂上所學的內容,使得單調的理論知識與實際聯(lián)系起來,幫助我們更好的理解。</p><p>  應

15、用實驗箱開發(fā)電子密碼鎖系統(tǒng)</p><p><b>  電子密碼鎖系統(tǒng)概述</b></p><p><b>  題目意義</b></p><p>  生活中,安全一直都是人們關心的話題。隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,

16、使用靈活性好,安全系數(shù)高,受到了廣大用戶的親呢。本次課程設計,我實現(xiàn)一款電子密碼鎖,既簡單又適用。</p><p><b>  系統(tǒng)的主要功能</b></p><p>  本系統(tǒng)的基本功能就是密碼鎖,如果用戶是第一次使用則提示其先設定密碼,要求輸入兩次以確認。成功設定密碼后將密碼通過USI寫到FLASH中保存,并寫入密碼已設定的標志。如果用戶不是是第一次使用則提示其輸

17、入密碼,系統(tǒng)將比對設定好的密碼及用戶輸入的密碼,如果密碼正確,則屏幕顯示“密碼正確”;若不正確則提示錯誤,同時LED閃爍,若連續(xù)三次錯誤,系統(tǒng)就自動鎖定。</p><p>  2.1.3 創(chuàng)新特點</p><p>  本設計添加了退格鍵,以便用戶輸入錯誤密碼時可以退格清除。在設定密碼階段加上了重輸密碼以確認的功能,防止用戶不小心設定了錯誤的密碼。界面和操作更友好,更人性化。</p&g

18、t;<p>  2.2 硬件電路設計及描述</p><p>  2.2.1實驗箱硬件電路及原理框圖</p><p><b>  密碼鎖系統(tǒng)功能框圖</b></p><p>  系統(tǒng)各個功能模塊的概述:</p><p>  1) 嵌入式處理器模塊:</p><p>  此模塊為本系統(tǒng)的

19、重心,是程序運行的載體,同時這個模塊也是我們這次課程設計的運行平臺,我們所做的便是通過編寫程序應用其自身的外設和資源。</p><p><b>  按鍵輸入模塊:</b></p><p>  通過鍵盤調實現(xiàn)密碼輸入。</p><p><b>  LCD模塊:</b></p><p><b>

20、;  密碼鎖界面顯示。</b></p><p><b>  LCD液晶顯示模塊</b></p><p>  LCD控制器的主要目的是用于將video/OSD的原始圖像數(shù)據(jù)顯示到外部顯示設備。它支持一般的小包RGB和小包YUV格式的原始數(shù)據(jù),并且能夠連接到一般的TFT LCD, STN LCD和電視編碼器。可以支持LG的 TFT屏,CASIO的TFT屏,以及

21、STN LCD,支持VIDEO和OSD 模式,這兩種模式的設定有不同的寄存器控制,通過設定寄存器的設置可以實現(xiàn)不同的模式及功能。</p><p>  W90P710試驗板,使用的是AUO 3.0" TFT A030DL01(960x240, 8 位數(shù)據(jù)總線) 數(shù)字式TFT 液晶屏,可以將video/OSD的原始圖像數(shù)據(jù)顯示到外部顯示設備。TFT液晶屏的顯示是對屏上每個像素點進行操作,通過向這些像素點配置

22、不同的值,以顯示不同的顏色,由于其內部沒有緩存,所要顯示的數(shù)據(jù)要隨著時鐘脈沖一點一點的傳送過來。因此,它需要在中開辟出一片緩沖區(qū),將要顯示的數(shù)據(jù)先存放到的緩沖區(qū)中,即存在SDRAM 中,一般按照一維數(shù)組的形式進行存儲,然后把存儲數(shù)據(jù)的SDRAM的地址送給FIFO,然后送給顏色生成器,進而實現(xiàn)在屏幕上的顯示;如果在屏上的定位顯示,算出所要顯示的內容在屏幕上的位置,然后在相應的SDRAM的地址內存入要顯示的數(shù)據(jù)即可。</p>

23、<p><b>  硬件圖如下:</b></p><p>  該模塊由40個引腳與外界電路相連,由于本身沒有寄存器,需要由W90P710提供的LCD控制寄存器來控制選擇對應的液晶類型及顯示形式,F(xiàn)IFO的使用、顏色的顯示模式和時序的設置,并通過配置相應的的寄存器即可實現(xiàn)。</p><p>  模塊可以選擇并行或串行方式與微控制器相連,通過配置寄存器、送入指令

24、和數(shù)據(jù),可對顯示方式和顯示內容作出選擇。</p><p>  軟件設計流程及主要函數(shù)描述</p><p><b>  程序流程圖</b></p><p><b>  主函數(shù)流程圖:</b></p><p><b>  LED工作流程</b></p><p&g

25、t;<b>  LED工作的代碼:</b></p><p>  for(i=0;i<5;i++)</p><p><b>  {</b></p><p>  EBILedSet(0xF0);</p><p>  Delay(1000000);</p><p>  EBI

26、LedSet(0x0f);</p><p>  Delay(1000000);</p><p><b>  }</b></p><p>  if(++ti==3)</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b></p

27、><p>  EBILedSet(0xFF);</p><p>  Delay(1000000)</p><p>  EBILedSet(0x81);</p><p>  Delay(1000000);</p><p><b>  }</b></p><p><b>

28、  主要函數(shù)</b></p><p>  int main(void)</p><p><b>  { </b></p><p>  LCD_IMAGE_T LCD_Size;</p><p>  LCD_LOCATION_T LCD_Location;</p><p>  

29、LCD_Size.width = 480;</p><p>  LCD_Size.height = 240;</p><p>  LCD_Location.StartX = 0;</p><p>  LCD_Location.StartY = 0;</p><p>  LCD_Location.EndX = 960;</p>&

30、lt;p>  LCD_Location.EndY = 240;</p><p>  LCDInit(); //LCD初始化</p><p>  LCDShow(LCD_Size, LCD_Location);</p><p>  LCDFIFOBufferSet(gImage_login); //裝入背景圖片</p><p>

31、;  LCDDisplayOn(); //開顯示</p><p>  KPIInit(); //鍵盤初始化</p><p>  EBILedInit(); //LED初始化</p><p>  USIInit(); //USI初始化</p><p>  //USIRead_ID();</p>

32、<p>  USIRead(0x0,2,pswSign); //從FLASH中讀取0x0開始的</p><p>  //兩個“已設定密碼”標志</p><p>  if(pswSign[0]==0x00&& pswSign[1]==0x01) setFlg=1;</p><p>  //如果兩位分別是0x20,0x09則表示已經設定好

33、密碼,置setFlg為1</p><p>  if(!setFlg) setPsw(); //如果未設定密碼,則先調用設定密碼函數(shù)</p><p>  USIRead(0x10,6,psw2); //從FLASH中讀取6位密碼</p><p>  inpPsw(); //調用輸入密碼函數(shù)</p><p><b>

34、  return 0;</b></p><p><b>  }</b></p><p>  調試設計中遇見的問題及解決的方法</p><p>  首先我實現(xiàn)了密碼鎖最基本的功能:設置密碼,輸入正確密碼允許進入,輸入錯誤密碼禁止進入,三次錯誤后密碼鎖鎖定,以及相應的屏幕文字顯示和LED燈相應變化。接下來我打算擴展密碼鎖的功能:<

35、/p><p> ?。?)當輸入密碼正確時顯示圖片。</p><p> ?。?)操作密碼鎖是可以作為電子相冊。</p><p>  1)問題:把多個工程的相關文件組合成一個工程時出現(xiàn)編譯錯誤。</p><p>  解決方法:分析各變量、函數(shù)所依賴的頭文件,把缺失的加入到工程,把相同的定義去除。</p><p>  2)問題:

36、LCD無法顯示漢字和顯示圖片失真。</p><p>  解決方法:在調試運行時把漢字字庫文件加載到內存即可顯示漢字。把圖片轉換成字模時色彩選擇“真彩”,字模數(shù)組大小為480*240。</p><p><b>  課程設計體會 </b></p><p>  在大學時候的第一次在書本之外,自己設計實現(xiàn)的小系統(tǒng)讓我初步的了解嵌入式的前景。</

37、p><p>  這次小系統(tǒng)設計讓我體會了一種學習方式,那就是實踐和書本上的理論很不同,卻又緊密相關,激發(fā)了我積極參與到實踐中的熱情,收獲了實踐的經驗。</p><p><b>  參考文獻</b></p><p>  [1]張石,佘黎煌等.【嵌入式系統(tǒng)技術教程】.北京:人民郵電出版社,2009.3</p><p>  [2]

38、【嵌入式實驗指導書】</p><p>  程序的主要代碼:MAIN .C</p><p>  int main(void)</p><p><b>  { </b></p><p>  U8 np=0,ti=0,i;</p><p>  U8 pswSign[2],setFlg=0,reFl

39、g=0;</p><p>  U8 psw[6],psw2[6];</p><p>  U8 ast[]="********************";</p><p>  U8 prmpt1[]= "請設定密碼:";</p><p>  U8 prmpt2[]= "請重輸確認:";

40、</p><p>  U8 prmpt3[]= "兩次密碼不符!請重新輸入:";</p><p>  U8 prmpt4[]= "密碼設定成功!";</p><p>  U8 prmpt5[]= "請輸入密碼:";</p><p>  U8 prmpt6[]= "密碼錯誤!

41、請重新輸入:";</p><p>  U8 prmpt7[]= "密碼正確!";</p><p>  U8 prmpt8[]= "對不起,您已經連續(xù)三次輸入密碼錯誤,系統(tǒng)鎖定!";</p><p>  LCD_IMAGE_T LCD_Size;</p><p>  LCD_LOCATION_T

42、 LCD_Location;</p><p>  LCDShowParameter LSP,LSP0,LSP1,LSP2,LSP3,LSP4,LSP5,LSP6,LSP7,LSP8</p><p>  LCD_Size.width = 480;</p><p>  LCD_Size.height = 240;</p><p>  LCD_Lo

43、cation.StartX = 0;</p><p>  LCD_Location.StartY = 0;</p><p>  LCD_Location.EndX = 960;</p><p>  LCD_Location.EndY = 240;</p><p>  LSP.StartX = 12;</p><p> 

44、 LSP.StartY = 4;</p><p>  LSP.LibPlace = 0x400000;</p><p>  LSP.Color = 0x0;</p><p>  LSP.LetterChar = ast;</p><p>  LSP.LCDBuffer = BlackBoard;</p><p>  L

45、SP0.StartX = 12;</p><p>  LSP0.StartY = 4;</p><p>  LSP0.LibPlace = 0x400000;</p><p>  LSP0.Color = 0x07ff;</p><p>  LSP0.LetterChar = ast;</p><p>  LSP0.L

46、CDBuffer = BlackBoard;</p><p>  LSP1.StartX = 5;</p><p>  LSP1.StartY = 4;</p><p>  LSP1.LibPlace = 0x400000;</p><p>  LSP1.Color = 0x07ff;</p><p>  LSP1.L

47、etterChar = prmpt1;</p><p>  LSP1.LCDBuffer = BlackBoard;</p><p>  LSP2.StartX = 5;</p><p>  LSP2.StartY = 6;</p><p>  LSP2.LibPlace = 0x400000;</p><p>  L

48、SP2.Color = 0x07ff;</p><p>  LSP2.LetterChar = prmpt2;</p><p>  LSP2.LCDBuffer = BlackBoard;</p><p>  LSP3.StartX = 8;</p><p>  LSP3.StartY = 8;</p><p>  L

49、SP3.LibPlace = 0x400000;</p><p>  LSP3.Color = 0x07ff;</p><p>  LSP3.LetterChar = prmpt3;</p><p>  LSP3.LCDBuffer = BlackBoard;</p><p>  LSP4.StartX = 8;</p><

50、;p>  LSP4.StartY = 8;</p><p>  LSP4.LibPlace = 0x400000;</p><p>  LSP4.Color = 0x07ff;</p><p>  LSP4.LetterChar = prmpt4;</p><p>  LSP4.LCDBuffer = BlackBoard;</p

51、><p>  LSP5.StartX = 5;</p><p>  LSP5.StartY = 4;</p><p>  LSP5.LibPlace = 0x400000;</p><p>  LSP5.Color = 0x07ff;</p><p>  LSP5.LetterChar = prmpt5;</p>

52、;<p>  LSP5.LCDBuffer = BlackBoard;</p><p>  LSP6.StartX = 8;</p><p>  LSP6.StartY = 8;</p><p>  LSP6.LibPlace = 0x400000;</p><p>  LSP6.Color = 0x07ff;</p>

53、;<p>  LSP6.LetterChar = prmpt6;</p><p>  LSP6.LCDBuffer = BlackBoard;</p><p>  LSP7.StartX = 8;</p><p>  LSP7.StartY = 8;</p><p>  LSP7.LibPlace = 0x400000;<

54、/p><p>  LSP7.Color = 0x07ff;</p><p>  LSP7.LetterChar = prmpt7;</p><p>  LSP7.LCDBuffer = BlackBoard;</p><p>  LSP8.StartX = 4;</p><p>  LSP8.StartY = 8;<

55、/p><p>  LSP8.LibPlace = 0x400000;</p><p>  LSP8.Color = 0x07ff;</p><p>  LSP8.LetterChar = prmpt8;</p><p>  LSP8.LCDBuffer = BlackBoard;</p><p>  /**********

56、********************************************************/</p><p>  USIInit();</p><p>  USIRead_ID();</p><p>  USIRead(0x0,2,pswSign);</p><p>  if(pswSign[0]==0x20 &

57、& pswSign[1]==0x07) setFlg=1;</p><p>  LCDInit();</p><p>  LCDShow(LCD_Size, LCD_Location);</p><p>  LCDFIFOBufferSet(BlackBoard);</p><p>  LCDDisplayOn();</p>

58、;<p>  KPIInit();</p><p>  EBILedInit();</p><p>  EBILedSet(0x00);</p><p>  if(!setFlg)</p><p><b>  {</b></p><p>  LCDOutputShow(LSP1,6)

59、;</p><p>  LCDOutputShow(LSP2,6);</p><p><b>  }</b></p><p>  while(!setFlg)</p><p><b>  {</b></p><p>  if(keyFlg)</p><p&

60、gt;<b>  {</b></p><p><b>  keyFlg=0;</b></p><p>  if(keyValue==0x0e)</p><p><b>  {</b></p><p><b>  if(np==6)</b></p>

61、;<p><b>  {</b></p><p><b>  if(reFlg)</b></p><p><b>  {</b></p><p>  for(i=0;i<6;i++)</p><p>  if(psw[i]!=psw2[i]) break;&

62、lt;/p><p><b>  if(i<6)</b></p><p><b>  {</b></p><p>  LCDOutputShow(LSP3,13);</p><p><b>  np=0;</b></p><p><b>  r

63、eFlg=0;</b></p><p>  LSP0.StartX = 12;</p><p>  LSP0.StartY = 4;</p><p>  LSP.StartX = 12;</p><p>  LSP.StartY = 6;</p><p>  LCDOutputShow(LSP,6);<

64、;/p><p>  LSP.StartY = 4;</p><p>  LCDOutputShow(LSP,6); </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {<

65、;/b></p><p>  LSP.StartX = 5;</p><p>  LSP.StartY = 4;</p><p>  LCDOutputShow(LSP,14);</p><p>  LSP.StartX = 5;</p><p>  LSP.StartY = 6;</p><

66、p>  LCDOutputShow(LSP,14);</p><p>  LSP.StartX = 8;</p><p>  LSP.StartY = 8;</p><p>  LCDOutputShow(LSP,14);</p><p>  LCDOutputShow(LSP4,7);</p><p>  De

67、lay(1000000);</p><p>  USIWriteEnable();</p><p>  while(USICheckBusy());</p><p>  USISectorErease(0x10);</p><p>  USIWriteEnable(); </p><p>  

68、USIWrite(0x10,6,psw);</p><p>  Delay(100000);</p><p>  pswSign[0]=0x20;</p><p>  pswSign[1]=0x07;</p><p>  USIWriteEnable();</p><p>  USIWrite(0x0,2,pswSig

69、n);</p><p>  Delay(100000);</p><p><b>  setFlg=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b&

70、gt;</p><p><b>  {</b></p><p><b>  np=0;</b></p><p><b>  reFlg=1;</b></p><p>  LSP0.StartX = 12;</p><p>  LSP0.StartY =

71、6;</p><p>  LSP.StartY = 6;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(keyValue==0x0f)</

72、p><p><b>  {</b></p><p><b>  if(np>0)</b></p><p><b>  {</b></p><p><b>  np--;</b></p><p>  LSP0.StartX--;&l

73、t;/p><p>  LSP.StartX=LSP0.StartX;</p><p>  LCDOutputShow(LSP,1);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b>

74、</p><p><b>  {</b></p><p>  if(np==6) continue;</p><p>  if(reFlg) psw2[np++]=keyValue;</p><p>  else psw[np++]=keyValue;</p><p>  LCDOutputSho

75、w(LSP0,1);</p><p>  LSP0.StartX ++;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  USIRead(0x10,6,psw2)

76、;</p><p>  LSP.StartX = 8;</p><p>  LSP.StartY = 8;</p><p>  LCDOutputShow(LSP,14);</p><p>  LCDOutputShow(LSP5,6);</p><p><b>  np=0;</b></p

77、><p>  LSP0.StartX = 12;</p><p>  LSP0.StartY = 4;</p><p>  LSP.StartY = 4;</p><p><b>  while(1)</b></p><p><b>  {</b></p><

78、p>  if(keyFlg)</p><p><b>  {</b></p><p><b>  keyFlg=0;</b></p><p>  if(keyValue==0x0e)</p><p><b>  {</b></p><p><

79、b>  if(np==6)</b></p><p><b>  {</b></p><p>  for(i=0;i<6;i++)</p><p>  if(psw[i]!=psw2[i]) break;</p><p><b>  if(i<6)</b></p&g

80、t;<p><b>  {</b></p><p>  LCDOutputShow(LSP6,11);</p><p><b>  np=0;</b></p><p>  LSP0.StartX = 12;</p><p>  LSP0.StartY = 4;</p>&

81、lt;p>  LSP.StartX = 12;</p><p>  LSP.StartY = 4;</p><p>  LCDOutputShow(LSP,6);</p><p>  for(i=0;i<5;i++)</p><p><b>  {</b></p><p>  EBIL

82、edSet(0xF0);</p><p>  Delay(1000000);</p><p>  EBILedSet(0x0f);</p><p>  Delay(1000000);</p><p>  if(++ti==3)</p><p><b>  {</b></p><

83、p>  for(i=0;i<10;i++)</p><p><b>  {</b></p><p>  EBILedSet(0xFF);</p><p>  Delay(1000000);</p><p>  EBILedSet(0x81);</p><p>  Delay(10000

84、00);</p><p><b>  }</b></p><p>  LSP.StartX = 8;</p><p>  LSP.StartY = 8;</p><p>  LCDOutputShow(LSP,14);</p><p>  LCDOutputShow(LSP8,23);</p

85、><p><b>  while(1)</b></p><p>  for(i=0;i<5;i++)</p><p><b>  {</b></p><p>  EBILedSet(00000001);</p><p>  Delay(100000);</p>

86、<p>  EBILedSet(00000010);</p><p>  Delay(100000);</p><p>  EBILedSet(00000100);</p><p>  Delay(100000);</p><p>  EBILedSet(00001000);</p><p>  Delay

87、(100000);</p><p>  EBILedSet(00010000);</p><p>  Delay(100000);</p><p>  EBILedSet(00100000);</p><p>  Delay(100000);</p><p>  EBILedSet(01000000);</p&g

88、t;<p>  Delay(100000);</p><p>  EBILedSet(10000000);</p><p>  Delay(100000);</p><p><b>  }</b></p><p><b>  }</b></p><p><

89、b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  LSP.StartX = 8;</p><p>  LSP.StartY = 8;</p><p>  LCDOutputShow(

90、LSP,14);</p><p>  LCDOutputShow(LSP7,5);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }

91、</b></p><p>  else if(keyValue==0x0f)</p><p><b>  {</b></p><p><b>  if(np>0)</b></p><p><b>  {</b></p><p><

92、b>  np--;</b></p><p>  LSP0.StartX--;</p><p>  LSP.StartX=LSP0.StartX;</p><p>  LCDOutputShow(LSP,1);</p><p><b>  }</b></p><p><b&g

93、t;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(np==6) continue;</p><p>  psw[np++]=keyValue;</p><p>  LCDOutput

94、Show(LSP0,1);</p><p>  LSP0.StartX ++;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  while(1)

溫馨提示

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

評論

0/150

提交評論