欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      0837嵌入式體系結(jié)構(gòu)綜合實驗報告

      時間:2019-05-12 04:36:31下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《0837嵌入式體系結(jié)構(gòu)綜合實驗報告》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《0837嵌入式體系結(jié)構(gòu)綜合實驗報告》。

      第一篇:0837嵌入式體系結(jié)構(gòu)綜合實驗報告

      重慶理工大學(xué)

      嵌入式體系結(jié)構(gòu)綜合實驗報告

      題目:基于LPC2114的定時數(shù)據(jù)采集與通訊程序設(shè)計

      二級學(xué)院 計算機科學(xué)與工程學(xué)院 專 業(yè) 計算機科學(xué)與技術(shù)

      班 級 0837-1 學(xué)生姓名 冉晨 學(xué)號 10803070119 教 師 劉政 時 間 2010/11/14 成 績

      目錄

      一、實驗名稱-------------3

      二、實驗?zāi)康?------------3

      三、實驗設(shè)備與環(huán)境----3

      四、實驗基本原理-------3

      五、實驗內(nèi)容(包括主要算法分析與流程圖)--4

      六、實驗源程序及分析-5

      七、實驗運行結(jié)果及分析-----------------------------7

      八、實驗心得體會-------8

      一、實驗名稱

      基于LPC2114的定時數(shù)據(jù)采集與通訊程序設(shè)計

      二、實驗?zāi)康?/p>

      使用EasyARM2114板上AIN0和AIN1輸入模擬量, 定時1mS中斷采樣,然后采樣的電壓每秒通過UART串口傳送到PC機串口助手顯示.三、實驗設(shè)備與環(huán)境

      EasyARM2114實驗板,PC機,Windows XP操作系統(tǒng), H-JTAG串口,實驗相關(guān)數(shù)據(jù)線, ARM Developer Suite相關(guān)軟件,串口調(diào)試助手.四、實驗基本原理

      本設(shè)計任務(wù)選用了Philips的LPC2114微處理器作為現(xiàn)場控制的核心。設(shè)計采用定時中斷方式,要求每1ms采集一點,LPC2114將采集所轉(zhuǎn)換的數(shù)據(jù)存儲在ADDR(A/D數(shù)據(jù)存儲器)中, A/D采樣結(jié)果也采用中斷讀取.然后程序通過SPI實現(xiàn)UART通訊, 傳送到PC機串口助手顯示, 其中的電壓值為實際采樣值,每秒顯示完后換行,同時要求串口發(fā)送采用中斷.五、實驗內(nèi)容(包括主要算法分析與流程圖)

      設(shè)置P0,P1,P0.27,P0.28連接定時器初始化初始化串口模式A/D初始化數(shù)據(jù)采集并傳送顯示(每秒換行)中斷 該實驗最主要的算法實現(xiàn)在于中斷的實現(xiàn)(包括實現(xiàn)UART的中斷和數(shù)據(jù)采集后的A/D采樣結(jié)果),結(jié)合代碼分析: void __irq IRQ_ADC(){

      count++;

      if(count%2==1)

      {

      ADC_Data=ADDR;//存入寄存器數(shù)據(jù)

      ADC_Data=(ADC_Data>>6)&0x3FF;

      ADC_Data=ADC_Data*3300;

      ADC_Data=ADC_Data/1024;//換算

      sum1+=ADC_Data;//存入電壓AIN0總值

      }

      else

      {

      ADC_Data=ADDR;

      ADC_Data=(ADC_Data>>6)&0x3FF;

      ADC_Data=ADC_Data*3300;

      ADC_Data=ADC_Data/1024;//換算

      sum2+=ADC_Data;// 存入電壓AIN1總值

      }

      VICVectAddr=0x00;//通知VIC中斷處理結(jié)束 } 關(guān)于ADC的初始化: void ADC_Init(){

      ADCR=

      (3)

      //選擇通道

      ((Fpclk/1000000-1)<<8)

      (0<<16)

      (0<<17)

      (1<<21)

      //PDN=1模式為正常工作

      (0<<22)

      (1<<26)

      (1<<27)

      //EDGE=1

      VICVectCntl2=0x32;

      VICVectAddr=(uint32)IRQ_ADC;

      VICVIntEnable |=0x00040000;

      }

      六、實驗源程序及分析

      #include“config.h” #include“stdio.h” #define UART_BPS 115200 uint8 comERR;int count=0;uint32 ADC_Data;long sun1=0,sum2=0;int v1=0,v2=0;int pSd=0,pRd=0;char SdBuff[100],RdBuff[20];void Time0Init()//定時器初始化 {

      T0PR=9;

      T0MCR=0x03;

      T0MR1=1106/2;

      T0TCR=0x03;

      T0TCR=0x01;

      T0EMR=0xC0;

      } void __irq IRQ_UART_Exception()//通訊發(fā)送中斷 {

      switch(U0IIR&0x0f)

      {

      case 0x06:

      comERR=U0LSR;

      break;

      case 0x04:

      while((U0LSR & 0x01)==1)

      {

      RdBuff[pRd++]=U0RBR;

      if(pRd>=100)pRd=0;

      }

      break;

      case 0x0c:

      while((U0LSR&0x01)==1)

      {

      RdBuff[pRd++]=U0RBR;

      if(pRd>=100)pRd=0;

      }

      break;

      case 0x02:

      if(SdBuff[pSd]!='