華電ARM嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁
華電ARM嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁
華電ARM嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁
華電ARM嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁
華電ARM嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

將AD的采樣結(jié)果放置到片外FLASH中顯示一、實(shí)驗(yàn)?zāi)康牧私釧RM匯編語言的基本框架,學(xué)會使用ARM的匯編語言編程。掌握ARM啟動的基本知識和流程。掌握運(yùn)用AD采集信號并在片外顯示。二、實(shí)驗(yàn)設(shè)備ARM7電路板,Pentiumll以上的PC機(jī),仿真器電纜。PC操作系統(tǒng)WINXP,ARMSDT2.5集成開發(fā)環(huán)境。三、實(shí)驗(yàn)步驟本實(shí)驗(yàn)使用實(shí)驗(yàn)教學(xué)系統(tǒng)的CPU板顯示讀出的數(shù)據(jù)。在PC機(jī)并口和實(shí)驗(yàn)箱的CPU板上的JTAG接口之間,連接SDT調(diào)試電纜。接入電源線纜,給系統(tǒng)上電。打開SDT開發(fā)環(huán)境,對代碼進(jìn)行編譯調(diào)試,編譯通過后,首先啟動JTAG驅(qū)動程序,之后運(yùn)行SDT的調(diào)試環(huán)境,裝載實(shí)驗(yàn)程序。四、實(shí)驗(yàn)內(nèi)容1.將十次的AD采樣結(jié)果,放置到片外FLASH當(dāng)中。主程序如下:***************************************************************************文件名:I2CTEST.C*功能:使用硬件I2C對ZLG7290進(jìn)行操作,利用中斷方式操作。*說明:將跳線器JP5短接。"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/"config.h”ZLG7290"config.h”ZLG7290Glitter_COMBAUD9600ADC_Data;0x70/*0x70/*定義器件地址*/0x70//波特率設(shè)置值#define#defineuint32uint8count=0;0x81000000#defineFLASH_ADDR0x81000000//轉(zhuǎn)換地址。將要發(fā)送給SST39VF160的地址值進(jìn)行轉(zhuǎn)換,以便于LPC2210輸出。//由于SST39VF160的A0是與LPC2210的A1相連,所以addr要左移1位。#defineGetAddr(addr)(volatileuint16*)(FLASH_ADDR|(addr<<1))#defineUART_BPS115200/*定義通訊波特率*/個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:WordProgram()功能:半字(16位)數(shù)據(jù)編程。*入口參數(shù):Addr編程地址(SST39VF160內(nèi)部地址)Data編程數(shù)據(jù)*出口參數(shù):返回TRUE表示操作成功,返回FALSE表示操作失敗"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/uint8WordProgram(uint32Addr,uint16Data)

{volatileuint16*ip;ip=GetAddr(0x5555);ip=GetAddr(0x5555);ip[0]=0xaaaa;ip=GetAddr(0x2aaa);ip[0]=0x5555;ip=GetAddr(0x5555);ip[0]=0xa0a0;ip=GetAddr(Addr);*ip=Data;//轉(zhuǎn)換地址0x5555//第一個(gè)寫周期,地址0x5555,數(shù)據(jù)0xAA//第二個(gè)寫周期,地址0x2aaa,數(shù)據(jù)0x55//第三個(gè)寫周期,地址0x5555,數(shù)據(jù)0xA0//第四個(gè)寫周期,地址Addr,數(shù)據(jù)Datawhile(1)//等待操作完成(若編程操作沒有完成,每次讀操作DQ6會跳變){temp1=*ip;temp2=*ip;if(temp1==temp2){if(temp1!=Data){return(FALSE);else{return(TRUE);}}}return(TRUE);}個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:IRQ_Time0()功能:定時(shí)器0中斷服務(wù)程序,取反BEEPCON控制口。*入口參數(shù):無出口參數(shù):無""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""************************************************************************void__irqIRQ_AD(void){VICVectAddr=0x00;//通知VIC中斷處理結(jié)束}個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:ChipErase()*功能:芯片全片擦除。*入口參數(shù):無*出口參數(shù):返回TRUE表示操作成功,返回FALSE表示操作失敗"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""***********************************************************************uint8ChipErase(void){volatileuint16*ip;uint16temp1,temp2;ip=GetAddr(0x5555);ip[0]=0xaaaa;//第一個(gè)寫周期,地址0x5555,數(shù)據(jù)0xAAip=GetAddr(0x2aaa);

ip[0]=0x5555;ip=GetAddr(0x5555);ip[0]=0x5555;ip=GetAddr(0x5555);ip[0]=0x8080;ip=GetAddr(0x5555);ip[0]=0xaaaa;ip=GetAddr(0x2aaa);ip[0]=0x5555;ip=GetAddr(0x5555);ip[0]=0x1010;//第三個(gè)寫周期,地址0x5555,數(shù)據(jù)0x80//第四個(gè)寫周期,地址0x5555,數(shù)據(jù)0xAA//第五個(gè)寫周期,地址0x2aaa,數(shù)據(jù)0x55//第六個(gè)寫周期,地址0x5555,數(shù)據(jù)0x10while(1)//等待操作完成(若擦除操作沒有完成,每次讀操作DQ6會跳變){temp1=*ip;temp2=*ip;if(temp1==temp2){if(temp1!=0xffff){return(FALSE);else{return(TRUE);}}}return(TRUE);}個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:DelayNS()功能:長軟件延時(shí)入口參數(shù)dly延時(shí)參數(shù),值越大,延時(shí)越久*出口參數(shù):無"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/voidDelayNS(uint32dly){uint32i;for(;dly>0;dly—)for(i=0;i<5000;i++);}個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:AD初始化功能:初始化AD。入口參數(shù):無出口參數(shù):無""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/voidADInit(void){PINSEL1=0x01040000;//設(shè)置P0.27P0.28為AIN0功能ADCR=(1<<0)|(1<<1)|((Fpclk/1000000-1)<<8)|(1<<16)|(1<<21)|(0<<22)|(0<<23);/*設(shè)置AD中斷IRQ*/VICIntSelect=0x00;//所有中斷通道設(shè)置為IRQ中斷

VICVectCntll=0x32;//AD0中斷通道分配最高優(yōu)先級(向量控制器0)VICVectAddrl=(uint32)IRQ_AD;//設(shè)置中斷服務(wù)程序地址向量VICIntEnable=0x00000000|(1<<18);//使能定時(shí)器0中斷}個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*名稱:I2C_Init()功能:主模式I2C初始化,包括初始化其中斷為向量IRQ中斷。*入口參數(shù):fi2c初始化I2C總線速率,最大值為400K出口參數(shù):無"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*************************************************************************voidI2C_Init(uint32fi2c){if(fi2c>400000)fi2c=400000;PINSEL0=(PINSEL0&0xFFFFFF0F)|0x50;//設(shè)置I2C控制口有效I2SCLH=(Fpclk/fi2c+1)/2;//設(shè)置I2C時(shí)鐘為fi2cI2SCLL=(Fpclk/fi2c)/2;I2CONCLR=0x2C;I2CONSET=0x40;//使能主I2C/*設(shè)置I2C中斷允許*/VICIntSelect=0x00000000;//設(shè)置所有通道為IRQ中斷VICVectCntl0=0x29;//I2C通道分配到IRQslot0,即優(yōu)先級最高VICVectAddr0=(int)IRQ_I2C;//設(shè)置I2C中斷向量地址VICIntEnable=0x0200;//使能I2C中斷}**************************************************************************名稱:main()"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)/intmain(void){uint8disp_buf[8];uint8key;uint8i;uint8j=0;uint32zshuzu[10];uint8Delay=0;volatileuint16*addr;uint32ADC_Data;//設(shè)置管腳連接,使用I2C口//設(shè)置管腳連接,使用I2C口//設(shè)置P0.27、P0.28連接到AIN0、AIN1//I2C配置及端口初始化=0;//PINSEL1=0x00000000;PINSEL1=0x01400000;DelayNS(10);I2C_Init(30000);/*進(jìn)行測試*/for(i=0;i<8;i++)disp_buf[i]ZLG7290_SendBuf(disp_buf,8);DelayNS(4000);/*進(jìn)行ADC模塊設(shè)置,其中x<<n表示第n位設(shè)置為x(若x超過一位,則向高位順延)*/

ADCR=(1<<0)((Fpclk/1000000-1)<<8)|時(shí)鐘為1MHz(0<<16)操作(0<<17)轉(zhuǎn)換(1<<21)掉電轉(zhuǎn)換模式)(0<<22)式(非測試模式)(1<<24)轉(zhuǎn)換(0<<27);降沿觸發(fā)ADC轉(zhuǎn)換)DelayNS(10);ADC_Data=ADDR;標(biāo)志位ChipErase();//ADInit();//Uart0Init();|//SEL=1,選擇通道0//CLKDIV=Fpclk/1000000-1,即轉(zhuǎn)換|//BURST=0,軟件控制轉(zhuǎn)換|//CLKS=0,使用11clock|//PDN=1,正常工作模式(非ADCR=(1<<0)((Fpclk/1000000-1)<<8)|時(shí)鐘為1MHz(0<<16)操作(0<<17)轉(zhuǎn)換(1<<21)掉電轉(zhuǎn)換模式)(0<<22)式(非測試模式)(1<<24)轉(zhuǎn)換(0<<27);降沿觸發(fā)ADC轉(zhuǎn)換)DelayNS(10);ADC_Data=ADDR;標(biāo)志位ChipErase();//ADInit();//Uart0Init();|//SEL=1,選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論