東北大學(xué)嵌入式課程設(shè)計(jì)報(bào)告_第1頁
東北大學(xué)嵌入式課程設(shè)計(jì)報(bào)告_第2頁
東北大學(xué)嵌入式課程設(shè)計(jì)報(bào)告_第3頁
東北大學(xué)嵌入式課程設(shè)計(jì)報(bào)告_第4頁
東北大學(xué)嵌入式課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告:陽學(xué)號(hào): 20082723班級(jí):電子 0803摘要嵌入式系統(tǒng)應(yīng)用廣泛,涉及通信、網(wǎng)絡(luò)消費(fèi)電子產(chǎn)品、醫(yī)療儀器、汽車電子、工業(yè)控制、儀器儀表、航天軍事等各個(gè)行業(yè)和領(lǐng)域。通信領(lǐng)域大量使用嵌入式系統(tǒng),主要包括程控交換機(jī),路由器, IP 交換機(jī),傳輸設(shè)備等。在消費(fèi)電子產(chǎn)品領(lǐng)域,隨著技術(shù)的發(fā)展,消費(fèi)電子產(chǎn)品正向數(shù)字化和網(wǎng)絡(luò)化方向發(fā)展。在醫(yī)療儀器,汽車電子,工業(yè)控制,儀器儀表等領(lǐng)域,隨著醫(yī)療衛(wèi)生,汽車,工業(yè)等各部門對智能控制需求的不斷增長,需要對設(shè)備進(jìn)行智能化,數(shù)字化改造,位嵌入式系統(tǒng)提供了很大的市場。就汽車電子系統(tǒng)而言,目前的大多數(shù)高檔轎車每兩擁有約 50 個(gè)嵌入式微處理器。嵌入式

2、系統(tǒng)在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過了各種通用計(jì)算機(jī)??梢哉f嵌入式產(chǎn)品“無處不在”。本次課程設(shè)計(jì),使用基于華邦 W90P710處理器的實(shí)驗(yàn)教學(xué)系統(tǒng)設(shè)計(jì)了一個(gè)電子密碼鎖。關(guān)鍵字:華邦W90P710微處理器、 UART、USI、FLASH、 LCD,鍵盤目 錄1.緒論41.141.241.341.442.應(yīng)用試驗(yàn)箱開發(fā)電子密碼鎖系統(tǒng)52.152.252.2.152.2.272.2.3LCD72.382.3.182.3.2113.程序設(shè)計(jì)中遇見的問題及解決的方法124.課程設(shè)計(jì)體會(huì)125.參考文獻(xiàn)131. 緒論1.1課程設(shè)計(jì)目的( 1)通過設(shè)計(jì)加深對書本知識(shí)的理解;( 2)增強(qiáng)實(shí)踐動(dòng)手能力;( 3)培養(yǎng)綜合

3、設(shè)計(jì)能力。1.2課程設(shè)計(jì)要求( 1)根據(jù)教師布置的題目自行選題;( 2)根據(jù)實(shí)驗(yàn)板提供的功能,自行設(shè)計(jì)功能模塊,畫出硬件原理圖;( 3)畫出軟件流程圖;( 4)采用 C語言進(jìn)行編程;( 5)編寫完整的軟件程序;( 6)調(diào)試、修改、完善;( 7)寫出課程設(shè)計(jì)報(bào)告。1.3課程設(shè)計(jì)任務(wù)用華邦 W90P710開發(fā)板實(shí)現(xiàn)電子密碼鎖。要求:1、設(shè)置密碼:從鍵盤輸入任意6 位數(shù)字作為密碼,將這六位數(shù)字經(jīng)過USI總線存儲(chǔ)到Flash 芯片中,設(shè)置密碼完成。2、通過密碼登陸系統(tǒng):(1)、從鍵盤輸入密碼,比較鍵盤輸入的密碼與Flash 中存儲(chǔ)的密碼是否相同。(2)、如果密碼正確,則 LED 燈點(diǎn)亮;如果密碼不正確

4、,則 LED 燈閃爍,而且如果連續(xù)三次輸入密碼錯(cuò)誤則系統(tǒng)鎖定,不允許再次輸入密碼。1.4課程設(shè)計(jì)的意義本次實(shí)訓(xùn),在實(shí)驗(yàn)指導(dǎo)書中已經(jīng)給出一些實(shí)例程序,其中包括已有實(shí)驗(yàn)程序:(1)啟動(dòng)代碼程序;( 2)流水燈程序;( 3)鍵盤程序;( 4)外部中斷程序;( 5)定時(shí)計(jì)數(shù)器程序;( 6)串口通信程序;( 7)實(shí)時(shí)時(shí)鐘程序;( 8) USI 程序;( 9) LCD顯示程序;通過對已有程序的理解,之后進(jìn)行修改拼湊,在由華邦 W90P710 為核心器件的硬件系統(tǒng)上實(shí)現(xiàn)了具有一定功能的系統(tǒng)。通過設(shè)計(jì),熟悉了 ARM 開發(fā)系統(tǒng),及開發(fā)流程,并深入了解了嵌入式系統(tǒng)的實(shí)際應(yīng)用,能更深地理解課堂上所學(xué)的容,使得單調(diào)

5、的理論知識(shí)與實(shí)際聯(lián)系起來,幫助我們更好的理解。2. 應(yīng)用實(shí)驗(yàn)箱開發(fā)電子密碼鎖系統(tǒng)2.1電子密碼鎖系統(tǒng)概述2.2題目意義生活中,安全一直都是人們關(guān)心的話題。隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,電子鎖由于其性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的親呢。本次課程設(shè)計(jì),我實(shí)現(xiàn)一款電子密碼鎖,既簡單又適用。系統(tǒng)的主要功能本系統(tǒng)的基本功能就是密碼鎖,如果用戶是第一次使用則提示其先設(shè)定密碼,要求輸入兩次以確認(rèn)。成功設(shè)定密碼后將密碼通過USI 寫到 FLASH 中保存,并寫入密碼已設(shè)定的標(biāo)志。 如果用戶不是是第一次使用則提

6、示其輸入密碼,系統(tǒng)將比對設(shè)定好的密碼及用戶輸入的密碼,如果密碼正確,則屏幕顯示“密碼正確”;若不正確則提示錯(cuò)誤,同時(shí)LED 閃爍,若連續(xù)三次錯(cuò)誤,系統(tǒng)就自動(dòng)鎖定。創(chuàng)新特點(diǎn)本設(shè)計(jì)添加了退格鍵,以便用戶輸入錯(cuò)誤密碼時(shí)可以退格清除。 在設(shè)定密碼階段加上了重輸密碼以確認(rèn)的功能, 防止用戶不小心設(shè)定了錯(cuò)誤的密碼。界面和操作更友好,更人性化。2.2硬件電路設(shè)計(jì)及描述實(shí)驗(yàn)箱硬件電路及原理框圖開發(fā)系統(tǒng)功能框圖GPIO Ext.ConnectorEBI Ext.ConnectorSDRAMW986416SDRAMW986416BOOTFLASH3.3V/1.8VPower ModuleEBIMulti-Func

7、tionExt.pinsExt.pinsRTCEBIW90P710INT3TAPUSBUSBUART0interface DeviceHostPowerSwitch3.3V BAT- >1.8VPushButtonTrans-ceiverJTAGUSB DeviceUSB HostConnectorCon.Con.DB9Con.密碼鎖系統(tǒng)功能框圖LED 錯(cuò)誤嵌入式處理器LCD 液晶顯華邦 W90P710示器提示KPI 接口鍵盤輸入系統(tǒng)各個(gè)功能模塊的概述:1) 嵌入式處理器模塊:此模塊為本系統(tǒng)的重心, 是程序運(yùn)行的載體, 同時(shí)這個(gè)模塊也是我們這次課程設(shè)計(jì)的運(yùn)行平臺(tái),我們所做的便是通過編寫程

8、序應(yīng)用其自身的外設(shè)和資源。2)按鍵輸入模塊:通過鍵盤調(diào)實(shí)現(xiàn)密碼輸入。3)LCD模塊:密碼鎖界面顯示。液晶顯示模塊LCD 控制器的主要目的是用于將 video/OSD 的原始圖像數(shù)據(jù)顯示到外部顯示設(shè)備。它支持一般的小包 RGB 和小包 YUV 格式的原始數(shù)據(jù),并且能夠連接到一般的TFT LCD, STN LCD 和電視編碼器??梢灾С諰G 的 TFT 屏, CASIO 的 TFT 屏,以及 STN LCD ,支持 VIDEO 和 OSD 模式,這兩種模式的設(shè)定有不同的寄存器控制,通過設(shè)定寄存器的設(shè)置可以實(shí)現(xiàn)不同的模式及功能。W90P710 試驗(yàn)板,使用的是 AUO 3.0" TFT A

9、030DL01 ( 960x240, 8 位數(shù)據(jù)總線)數(shù)字式 TFT 液晶屏,可以將 video/OSD 的原始圖像數(shù)據(jù)顯示到外部顯示設(shè)備。 TFT 液晶屏的顯示是對屏上每個(gè)像素點(diǎn)進(jìn)行操作, 通過向這些像素點(diǎn)配置不同的值, 以顯示不同的顏色, 由于其部沒有緩存, 所要顯示的數(shù)據(jù)要隨著時(shí)鐘脈沖一點(diǎn)一點(diǎn)的傳送過來。因此,它需要在中開辟出一片緩沖區(qū),將要顯示的數(shù)據(jù)先存放到的緩沖區(qū)中,即存在 SDRAM 中,一般按照一維數(shù)組的形式進(jìn)行存儲(chǔ), 然后把存儲(chǔ)數(shù)據(jù)的 SDRAM 的地址送給 FIFO,然后送給顏色生成器,進(jìn)而實(shí)現(xiàn)在屏幕上的顯示;如果在屏上的定位顯示,算出所要顯示的容在屏幕上的位置, 然后在相應(yīng)

10、的 SDRAM 的地址存入要顯示的數(shù)據(jù)即可。硬件圖如下:該模塊由 40 個(gè)引腳與外界電路相連, 由于本身沒有寄存器, 需要由 W90P710 提供的 LCD 控制寄存器來控制選擇對應(yīng)的液晶類型及顯示形式,F(xiàn)IFO 的使用、顏色的顯示模式和時(shí)序的設(shè)置,并通過配置相應(yīng)的的寄存器即可實(shí)現(xiàn)。模塊可以選擇并行或串行方式與微控制器相連,通過配置寄存器、 送入指令和數(shù)據(jù),可對顯示方式和顯示容作出選擇。2.3軟件設(shè)計(jì)流程及主要函數(shù)描述程序流程圖主函數(shù)流程圖:開始LCD 、 LED、USI、鍵盤等初始化從 FLASH 中讀取密碼設(shè)定標(biāo)志是是否已設(shè)定密碼否調(diào)用設(shè)定密碼函數(shù)調(diào)用輸入密碼函數(shù)結(jié)束LED工作流程開始LE

11、D 初始化從 FLASH 中讀取密碼設(shè)定標(biāo)志是是否誤操作否正確 LED 亮系統(tǒng)鎖定結(jié)束LED工作的代碼:for(i=0;i<5;i+)EBILedSet(0xF0);Delay(1000000);EBILedSet(0x0f);Delay(1000000);if(+ti=3)for(i=0;i<10;i+)EBILedSet(0xFF);Delay(1000000)EBILedSet(0x81);Delay(1000000);主要函數(shù)int main(void)LCD_IMAGE_T LCD_Size;LCD_LOCATION_T LCD_Location;LCD_Size.wid

12、th = 480;LCD_Size.height = 240;LCD_Location.StartX = 0;LCD_Location.StartY = 0;LCD_Location.EndX = 960;LCD_Location.EndY = 240;LCDInit();/LCD 初始化LCDShow(LCD_Size, LCD_Location); LCDFIFOBufferSet(gImage_login); /裝入背景圖片LCDDisplayOn();/開顯示KPIInit();/鍵盤初始化EBILedInit();/LED 初始化USIInit();/USI 初始化/ USIRead

13、_ID();USIRead(0x0,2,pswSign); /從 FLASH 中讀取 0x0 開始的/兩個(gè)“已設(shè)定密碼”標(biāo)志if(pswSign0=0x00&& pswSign1=0x01) setFlg=1;/如果兩位分別是0x20,0x09 則表示已經(jīng)設(shè)定好密碼,置setFlg 為1if(!setFlg) setPsw();/如果未設(shè)定密碼,則先調(diào)用設(shè)定密碼函數(shù)USIRead(0x10,6,psw2);/從FLASH中讀取6 位密碼inpPsw();/調(diào)用輸入密碼函數(shù)return 0;3. 調(diào)試設(shè)計(jì)中遇見的問題及解決的方法首先我實(shí)現(xiàn)了密碼鎖最基本的功能:設(shè)置密碼,輸入正確密

14、碼允許進(jìn)入,輸入錯(cuò)誤密碼禁止進(jìn)入, 三次錯(cuò)誤后密碼鎖鎖定, 以及相應(yīng)的屏幕文字顯示和 LED燈相應(yīng)變化。接下來我打算擴(kuò)展密碼鎖的功能:(1)當(dāng)輸入密碼正確時(shí)顯示圖片。(2)操作密碼鎖是可以作為電子相冊。1 )問題:把多個(gè)工程的相關(guān)文件組合成一個(gè)工程時(shí)出現(xiàn)編譯錯(cuò)誤。解決方法:分析各變量、函數(shù)所依賴的頭文件,把缺失的加入到工程,把相同的定義去除。2 )問題: LCD無法顯示漢字和顯示圖片失真。解決方法:在調(diào)試運(yùn)行時(shí)把漢字字庫文件加載到存即可顯示漢字。把圖片轉(zhuǎn)換成字模時(shí)色彩選擇“真彩” ,字模數(shù)組大小為 960*240。4. 課程設(shè)計(jì)體會(huì)在大學(xué)時(shí)候的第一次在書本之外, 自己設(shè)計(jì)實(shí)現(xiàn)的小系統(tǒng)讓我初步的

15、了解嵌入式的前景。這次小系統(tǒng)設(shè)計(jì)讓我體會(huì)了一種學(xué)習(xí)方式,那就是實(shí)踐和書本上的理論很不同,卻又緊密相關(guān),激發(fā)了我積極參與到實(shí)踐中的熱情,收獲了實(shí)踐的經(jīng)驗(yàn)。5. 參考文獻(xiàn)1 石,佘黎煌等 . 嵌入式系統(tǒng)技術(shù)教程 . :人民郵電, 2009.32 嵌入式實(shí)驗(yàn)指導(dǎo)書程序的主要代碼: MAIN .Cint main(void)U8 np=0,ti=0,i;U8 pswSign2,setFlg=0,reFlg=0;U8 psw6,psw26;U8 ast=""U8 prmpt1= "請?jiān)O(shè)定密碼:"U8 prmpt2= "U8 prmpt3= "請

16、重輸確認(rèn): "兩次密碼不符!請重新輸入:"U8 prmpt4= "密碼設(shè)定成功!"U8 prmpt5= "請輸入密碼:"U8 prmpt6= "密碼錯(cuò)誤!請重新輸入:"U8 prmpt7= "密碼正確!"U8 prmpt8= "對不起,您已經(jīng)連續(xù)三次輸入密碼錯(cuò)誤,系統(tǒng)鎖定!"LCD_IMAGE_T LCD_Size;LCD_LOCATION_T LCD_Location;LCDShowParameter LSP,LSP0,LSP1,LSP2,LSP3,LSP4,LSP5,LS

17、P6,LSP7,LSP8LCD_Size.width = 480;LCD_Size.height = 240;LCD_Location.StartX = 0;LCD_Location.StartY = 0;LCD_Location.EndX = 960;LCD_Location.EndY = 240;LSP.StartX = 12;LSP.StartY = 4;LSP.LibPlace = 0x400000;LSP.Color = 0x0;LSP.LetterChar = ast;LSP.LCDBuffer = BlackBoard;LSP0.StartX = 12;LSP0.StartY =

18、 4;LSP0.LibPlace = 0x400000;LSP0.Color = 0x07ff;LSP0.LetterChar = ast;LSP0.LCDBuffer = BlackBoard;LSP1.StartX = 5;LSP1.StartY = 4;LSP1.LibPlace = 0x400000;LSP1.Color = 0x07ff;LSP1.LetterChar = prmpt1;LSP1.LCDBuffer = BlackBoard;LSP2.StartX = 5;LSP2.StartY = 6;LSP2.LibPlace = 0x400000;LSP2.Color = 0x

19、07ff;LSP2.LetterChar = prmpt2;LSP2.LCDBuffer = BlackBoard;LSP3.StartX = 8;LSP3.StartY = 8;LSP3.LibPlace = 0x400000;LSP3.Color = 0x07ff;LSP3.LetterChar = prmpt3;LSP3.LCDBuffer = BlackBoard;LSP4.StartX = 8;LSP4.StartY = 8;LSP4.LibPlace = 0x400000;LSP4.Color = 0x07ff;LSP4.LetterChar = prmpt4;LSP4.LCDBu

20、ffer = BlackBoard;LSP5.StartX = 5;LSP5.StartY = 4;LSP5.LibPlace = 0x400000;LSP5.Color = 0x07ff;LSP5.LetterChar = prmpt5;LSP5.LCDBuffer = BlackBoard;LSP6.StartX = 8;LSP6.StartY = 8;LSP6.LibPlace = 0x400000;LSP6.Color = 0x07ff;LSP6.LetterChar = prmpt6;LSP6.LCDBuffer = BlackBoard;LSP7.StartX = 8;LSP7.S

21、tartY = 8;LSP7.LibPlace = 0x400000;LSP7.Color = 0x07ff;LSP7.LetterChar = prmpt7;LSP7.LCDBuffer = BlackBoard;LSP8.StartX = 4;LSP8.StartY = 8;LSP8.LibPlace = 0x400000;LSP8.Color = 0x07ff;LSP8.LetterChar = prmpt8;LSP8.LCDBuffer = BlackBoard;/*/USIInit();USIRead_ID();USIRead(0x0,2,pswSign);if(pswSign0=0

22、x20 && pswSign1=0x07) setFlg=1;LCDInit();LCDShow(LCD_Size, LCD_Location);LCDFIFOBufferSet(BlackBoard);LCDDisplayOn();KPIInit();EBILedInit();EBILedSet(0x00);if(!setFlg)LCDOutputShow(LSP1,6);LCDOutputShow(LSP2,6);while(!setFlg)if(keyFlg)keyFlg=0;if(keyValue=0x0e)if(np=6)if(reFlg)for(i=0;i<6

23、;i+)if(pswi!=psw2i) break;if(i<6)LCDOutputShow(LSP3,13);np=0;reFlg=0;LSP0.StartX = 12;LSP0.StartY = 4;LSP.StartX = 12;LSP.StartY = 6;LCDOutputShow(LSP,6);LSP.StartY = 4;LCDOutputShow(LSP,6);elseLSP.StartX = 5;LSP.StartY = 4;LCDOutputShow(LSP,14);LSP.StartX = 5;LSP.StartY = 6;LCDOutputShow(LSP,14)

24、;LSP.StartX = 8;LSP.StartY = 8;LCDOutputShow(LSP,14);LCDOutputShow(LSP4,7);Delay(1000000);USIWriteEnable();while(USICheckBusy();USISectorErease(0x10);USIWriteEnable();USIWrite(0x10,6,psw);Delay(100000);pswSign0=0x20;pswSign1=0x07;USIWriteEnable();USIWrite(0x0,2,pswSign);Delay(100000);setFlg=1;elsenp

25、=0;reFlg=1;LSP0.StartX = 12;LSP0.StartY = 6;LSP.StartY = 6;else if(keyValue=0x0f)if(np>0)np-;LSP0.StartX-;LSP.StartX=LSP0.StartX;LCDOutputShow(LSP,1);elseif(np=6) continue;if(reFlg) psw2np+=keyValue;else pswnp+=keyValue;LCDOutputShow(LSP0,1);LSP0.StartX +;USIRead(0x10,6,psw2);LSP.StartX = 8;LSP.StartY = 8;LCDOutputShow(LSP,14);LCDOutputShow(LSP5,6);np=0;LSP0.StartX = 12;LSP0.StartY = 4;LSP.StartY = 4;while(1)if(keyFlg)keyFlg=0;if(keyValue=0x0e)if(np=6)for(i=0;i<6;i+)if(pswi!=psw2i) break;if(i<6)LCDOutputShow(LSP6,11);np=0;LSP0.StartX = 12;LSP0.StartY = 4;L

溫馨提示

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

評論

0/150

提交評論