在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式汽車發(fā)動機檢測裝置設計

            嵌入式汽車發(fā)動機檢測裝置設計

            作者: 時間:2011-09-02 來源:網絡 收藏
            速度脈沖計算的子程序及解釋如下:

            本文引用地址:http://www.biyoush.com/article/150271.htm

              uint32 speed(void)

              {

              uint32 Time;

              uint32 SpeedValue;

              PINSEL0 = 0x00050005;

              PINSEL1 = 0x14000000;

              IO0DIR = 0x02000000;

              IO1DIR = 0x003f0000;

              // 硬件輸入輸出接口初始化

              T0TC = 0;

              //定時器設置為0

              T0PR = 0;

              //時鐘不分頻

              while((IOPIN0x00000004) != 0); //等待p0.4低電平脈沖信號

              T0TCR = 0x01;

              //啟動定時器0

              while((IOPIN0x00000004) == 0)

              while((IOPIN0x00000004) != 0);

              //等待p0.4下一個低電平脈沖信號

              T0TCR = 0x00;

              Time = T0TC;

              Time = Time/Fpclk;

              //記錄脈沖寬度

              SpeedValue = 1/Time*60;

              //計算速度每分鐘多少轉

              return SpeedValue;

              }

              顯示部分子程序及解釋如下:

              /*-顯示器初始化-*/

              void init_lcd (void)

              {

              IO1CLR = rst;//rst=0;

              delay(50);

              IO1SET = rst;//rst=1;

              IO1SET = cs1;//cs1=1;

              IO1SET = cs2;//cs2=1;

              wr_lcd (comm,disp_off); //#define comm 0 關顯示

              //#define disp_off 0x3e

              wr_lcd (comm,disp_on);

              //#define disp_on 0x3f 開顯示

              }

              /*-寫數(shù)據(jù)或命令到LCD-*/

              void wr_lcd (uint8dat_comm, uint8 content)

              {

              chk_busy ();

              if(dat_comm){ IO1SET = di; }

              else{ IO1CLR = di; } //di=dat_comm;

              IO1CLR = rw;//rw=0;

              IO0DIR = IO0DIR | IO16_23;

              // 設置P0.0-P0.7為GPIO輸出模式

              data_ora=( ( data_ora !(IO16_23) ) | content16 );

              IO1SET = e;//e=1;

              IO1CLR = e;//e=0;

              IO0DIR=IO0DIR !(IO16_23);// 設置P0.16-P0.23為GPIO輸入模式

              }

              /*-讀LCD數(shù)據(jù)-*/

              uint8 rd_lcd (void)

              {

              uint8 rddata;

              chk_busy ();

              IO1SET = di;//di=1;

              IO1SET = rw;//rw=1;

              IO1SET = e;//e=1;

              rddata= data_ora>>16;

              IO1CLR = e;//e=0;

              return rddata;

              }

              /*-寫點陣-*/

              void lat_disp (uint8 data1,uint8 data2)

              {

              uint8 i,j;

              IO1SET = cs1;//cs1=1; //兩屏同時寫數(shù)據(jù)

              IO1SET = cs2;

              //cs2=1;

              wr_lcd (comm,disp_on);

              for(j=0;j8;j++) //共8頁

              {

              wr_lcd (comm,disp_x+j);

              wr_lcd (comm,disp_z);

              wr_lcd (comm,disp_y);

              for(i=0;i32;i++)

              {

              wr_lcd (dat,data1);

              wr_lcd (dat,data2); //每頁64個數(shù)

              }

              }

              }

              /*---指定位置(x,y)顯示row_xl行(每行row_yl個)漢字(大小8xl*yl)---*/

              void chn_disp (uint8 x,uint8 y,uint8 xl,uint8 yl,uint8 row_xl,uint8 row_yl,const uint8 *chn)

              {

              uint8 i,j,k,l,a;

              //row_xl:顯示row_xl行

              wr_lcd (comm,disp_on);

              //每行row_yl個漢字

              for(l=0;l

              //xl:頁大小,一頁八個點

              {

              //yl: 列大小,一列一個點

              for(k=0;k

              //x,y:起始位置

              {

              for(j=0;j

              {

              wr_lcd (comm,disp_x+x+l *xl+j);

              wr_lcd (comm,disp_z);

              wr_lcd (comm,disp_y+y+k*yl);

              a=l*xl*yl*row_yl+k*xl*yl+j*yl; //a:數(shù)組chn[]中第a個字符

              for(i=0;i

              wr_lcd (dat,chn[a+i]);

              }

              }

              }

              }

              結語

              本系統(tǒng)以目前廣泛應用的LPC2134 ARM為控制處理核心,以感應高壓線圈和低壓線圈作為ARM的輸入信號,用OCM12864的點陣作為儀器的顯示,使該可以有效完成對的的精確測量。它可以將動態(tài)運行的各種參數(shù)和故障診斷出來,然后通過維修、調整以達到修復的目的。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉