ARM課程設(shè)計報告_第1頁
ARM課程設(shè)計報告_第2頁
ARM課程設(shè)計報告_第3頁
ARM課程設(shè)計報告_第4頁
ARM課程設(shè)計報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

k字節(jié)片內(nèi)Flash程序存儲器,具有ISP和IAP功能。Flash編程時間:1ms可編程512字節(jié),扇區(qū)擦除或整片擦除只需400ms。64/32/16K字節(jié)靜態(tài)RAM(LPC2106)向量中斷控制器仿真跟蹤模塊,支持實時跟蹤RealMonitor模塊支持實時調(diào)試標準ARM測試/調(diào)試接口,兼容現(xiàn)有工具極小封裝:TQFP48(7×7mm2)雙UART,其中一個帶有完全的調(diào)制解調(diào)器接口I2C串行接口SPI串行接口兩個定時器,分別具有4路捕獲/比較通道多達6路輸出的PWM單元實時時鐘看門狗定時器通用I/O口CPU操作頻率可達60MHz雙電源-CPU操作電壓范圍:1.65V~1.95V(1.8V±8.3%)-I/O電壓范圍:3.0V~3.6V(3.3V±10%)兩個低功耗模式:空閑和掉電通過外部中斷將處理器從掉電模式中喚醒外設(shè)功能可單獨使能/禁止,實現(xiàn)功耗最優(yōu)化片內(nèi)晶振的操作頻率范圍:10MHz~25MHz片內(nèi)PLL允許CPU以最大速度運行,可以在超過整個晶振操作頻率范圍的情況下使用。由于擁有以上特性,LPC2106適用于internet網(wǎng)關(guān)、串行通信協(xié)議轉(zhuǎn)換器、訪問控制、工業(yè)控制、醫(yī)療設(shè)備及其它各種類型的應用。1.2.2芯片LM016L簡介LM016LLCD的指令說明及時序LM016L液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示:表2控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容LM016L液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標復位到地址00H位置。指令2:光標復位,光標返回到地址00H。指令3:光標和顯示模式設(shè)置。I/D:光標移動方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光標。指令6:功能設(shè)置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標地址。BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。1.2.3ProteusVersion7.5簡介雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。在Proteus繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.hex(或者*.axf),可以在Proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。Proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能。1.2.4RealViewMDK簡介RealViewMDK(RealViewMicrocontrollerDevelopmentKit)開發(fā)套件源自德國Keil公司,被全球超過10萬的嵌入式開發(fā)工程師驗證和使用,是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具。RealViewMDK集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),融合了中國多數(shù)軟件開發(fā)工程師所需的特點和功能。RealViewMDK的特點:自動生成啟動代碼:RealViewMDK開發(fā)工具可以幫您自動生成完善的啟動代碼,并提供圖形化的窗口,隨您輕松修改。無論對于初學者還是有經(jīng)驗的開發(fā)工程師,都能大大節(jié)省時間,提高開發(fā)效率。提供軟件模擬器:RealViewMDK的設(shè)備模擬器可以仿真整個目標硬件,包括快速指令集仿真、外部信號和I/O仿真、中斷過程仿真、片內(nèi)所有外圍設(shè)備仿真等。開發(fā)工程師在無硬件的情況下即可開始軟件開發(fā)和調(diào)試,使軟硬件開發(fā)同步進行,大大縮短開發(fā)周期。而一般的ARM開發(fā)工具僅提供指令集模擬器,只能支持ARM內(nèi)核模擬調(diào)試。提供性能分析器:RealViewMDK的性能分析器可以讓工程師看得更遠和更準,它輔助您查看代碼覆蓋情況,程序運行時間,函數(shù)調(diào)用次數(shù)等高端控制功能,指導您輕松的進行代碼優(yōu)化,成為嵌入式開發(fā)高手。通常這些功能只有價值數(shù)千美元的昂貴的Trace工具才能提供。第二章電路設(shè)計2.1proteus創(chuàng)建工程過程圖2.1創(chuàng)建工程打開ProteusVersion7.5點擊工具欄下面一行第一個圖標創(chuàng)建一張電路板,保存在選定好的路徑上。2.2元件的選擇圖2.3添加LM016L液晶顯示模塊在左側(cè)元件列表中元件添加到右側(cè)電路圖上,同樣操作添加另一個元件,調(diào)整好對應位置,效果如下圖。圖2.4添加元件到電路圖上2.3電路連線及對應參數(shù) 選擇左側(cè)工具欄中的終端模式,將地線和電源添加進電路圖,本設(shè)計采用了兩種電源設(shè)計,所以要添加兩個電源在后續(xù)的配置中配置電源屬性。圖2.5添加電源和地線到電路圖上圖2.6連接芯片電源線和地線2.4電路效果圖圖2.7最終效果圖第三章程序設(shè)計3.1RealViewMDK創(chuàng)建工程過程 打開軟件,在工具欄上選擇project菜單項,選擇第一個新建一個工程,填好工程名字lcd_dw,然后點擊確認創(chuàng)建,選擇目標設(shè)備,以便添加啟動代碼,根據(jù)之前的設(shè)計,我們選擇NXP,在里面選擇LPC2106,然后在隨后彈出的對話框中選確認創(chuàng)建啟動代碼。創(chuàng)建成功后,在左側(cè)項目管理樹形圖中選擇一個文件夾右鍵,點managecomponents,在這個菜單中創(chuàng)建src和inc文件夾,然后點擊targetoptions按鈕,在output選項條中點擊selectFolderforobjects選擇之前在項目文件夾中創(chuàng)建好的目錄。同樣的設(shè)置listing選項卡中的selectFolderforobjects選項。這樣RealViewMDK的工程就創(chuàng)建完成了。之后就可以導入開發(fā)好的頭文件和住函數(shù)文件進行開發(fā)了。圖3.1新建工程圖3.2選擇仿真硬件圖3.3修改options屬性3.2編譯結(jié)果圖3.2編譯結(jié)果第四章設(shè)計結(jié)果圖4.1從左向右移動圖4.2從右向左移動心得體會:在這兩周內(nèi),我們拿到的題目看似簡單但要完成比我們想象的要難的多。實踐出真知,課程設(shè)計要親手做過,才能明白其中的各種滋味,無論成功或失敗,每一次嘗試都是一種收獲。此ARM嵌入式課程設(shè)計是我們實踐程序編寫與調(diào)試的又一新的起點,我們堅信在老師的指導之下,通過我們的努力,我們定會在計算機組成原理之路走得更高、更遠。最后還是要感謝老師耐心的指導,使我們學得更多。通過學習和應用,對于ARM有了一定的了解。經(jīng)過我和組員的努力,還有老師的幫助下終于完成了這次課設(shè)。

。參考文獻[1]申晉,朱維申,趙陽升.三峽永久船閘高邊坡巖體裂隙分布的分形研究[J].巖土力學學報,1998,20(5):35-39.[2]谷鈺,李輝,牛汝良,等.推動實習基地建設(shè)提高實踐教學水平[J].實驗室科學,2010(1):170-172.[3]趙沁平.DVENET分布式虛擬環(huán)境[M].北京:科學出版社,2002:68-73.[4]Tanzi,Vito.Theoryandpolicy:AcommentonDixieandoncurrenttaxtheory[J].InternationalMonetaryandFundStaffPaper(IMF),Vol.39,No.4,1992:957-966.[5]RudigerDorbusch.PolicymakingintheOpenEconomy[M].OxfordUniversityPressInc.,1993:149.[6]AlaoMartina.SomeEconomicModelofFertilityinDevelopingCountriesandChina’sRecentComparativeDemographicExperience[C].InternationalSymposiumonPopulationandSustainableDevelopment,Beijing,China,1995:27—29.附錄/*********************************************************************File:main.c*功能:向LCD輸出nihaolaoshi*******************************************************************/#include"config.h"#definers(1<<8)#definerw(1<<9)#defineen(1<<10)#definebusy(1<<7)/*********************************************************************名稱:ChkBusy()*功能:檢查總線是否忙*******************************************************************/voidChkBusy(){IODIR=0x700; while(1) { IOCLR=rs; IOSET=rw; IOSET=en; if(!(IOPIN&busy))break; IOCLR=en; } IODIR=0x7ff;}/*********************************************************************名稱:WrOp()*功能:寫指令函數(shù)********************************************************************/voidWrOp(uint8dat){ ChkBusy(); IOCLR=rs; //全部清零 IOCLR=rw; IOCLR=0xff; //先清零 IOSET=dat; //再送數(shù) IOSET=en; IOCLR=en;}/*********************************************************************名稱:WrDat()*功能:寫數(shù)據(jù)函數(shù)*******************************************************************/voidWrDat(uint8dat) { ChkBusy(); IOSET=rs; IOCLR=rw; IOCLR=0xff; //先清零 IOSET=dat; //再送數(shù) IOSET=en; IOCLR=en;}/*********************************************************************名稱:lcd_init()*功能:lcd初始化函數(shù)*******************************************************************/voidlcd_init(void){ WrOp(0x38); WrOp(0x06); //光標加1 WrOp(0x0c); //開顯示}/*********************************************************************名稱:DisText()*功能:顯示文本函數(shù)*******************************************************************/voidDisText(uint8addr,uint8*p){ WrOp(addr); while(*p!='\0')WrDat(*(p++));}/*********************************************************************名稱:main()*功能:顯示文本*******************************************************************/intmain(void){inti; uint8*p[]={"n","ni","nih","niha","nihao","nihaol","nihaola","nihaolao","nihaolaos","nihaolaosh","nihaolaoshi", "l","la","lao","laos","laosh","laoshi","laoshin","laoshini","laoshinih","laoshiniha","laoshinihao"}; lcd_init(); IODIR=0x7ff; //設(shè)置為輸出 IOCLR=0x7ff; while(1) { DisText(0x80,p[0]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[1]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[2]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[3]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[4]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[5]); for(i=0;i<0x1ffff;i++); DisText(0x80,p[6]); for(i=0;i

溫馨提示

  • 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

提交評論