<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 數字頻率計中C語(yǔ)言編程的研究

數字頻率計中C語(yǔ)言編程的研究

作者: 時(shí)間:2012-07-04 來(lái)源:網(wǎng)絡(luò ) 收藏


  在使用C51語(yǔ)言中,absacc.h和reg51.h是不可缺少的。這兩個(gè)文件定義了單片機的所有和端口。上述程序中還定義8155的各個(gè)口地址,便于C51編譯器按8155的實(shí)際硬件結構,建立I/O變量名與其實(shí)際地址的對應關(guān)系。下面程序是函數說(shuō)明和初始化:

   void main(void)
   (uint k=0;    /*給循環(huán)變量賦初值*/
   void show(void); /*顯示函數說(shuō)明*/
   TMOD=0x10;    /*定時(shí)器1方式1,
            GATE=0*/
   COM8155=0xof; /*8155的工作方式控制字*/
   PB8155=fen1;   /*分頻初值賦予8155的PB口*/
   PC8155=0x06p   /*點(diǎn)亮啟動(dòng)標志燈*/
   PA8155=0x80;
   EA=1;IT1=1;ET1=1;PX1=1;/*開(kāi)中斷,

4 顯示程序設計

  在顯示程序中,要設定字型數碼數組,判斷頻率值的單位,并將其分為Hz,KHz,MHz。判斷頻率值的整數部分和小數部分的位數,顯示頻率值和單位數量級標志燈。小數點(diǎn)處理顯示程序如下:

   PC8155=0x07; PA8155=table[s[6]];
   c=0;while(c〈10000)(++c;);PA8155=0x00;
   PC8155=0x065
   if(n==O)(PA8155=0x005;PA8155=0x01;);
   c=0;while(c1000)(++c;);
   if(n==1)(PA8155=0x00;PA8155=0x02;);
   c=0;while(c1000)(++c;);
   if(n==2)(PA8155=0x00;PA8155=0x04;);
   c=0;while(c1000)(++c;);
   i++;

  小數點(diǎn)處理程序中由高位到低位,逐位顯示頻率值。每顯示一位數,要有一個(gè)C循環(huán)語(yǔ)句進(jìn)行適當的延時(shí),并將8155的PA口清零,保證下一次的顯示。顯示的方法是數組s[8]的每個(gè)值作為字形碼數組table[]的下標,在table[]數組中找到自己對應的字形碼,送至8155的PA口。最后根據n的值,確定所顯示的頻率值的單位數量級。

5 結論

  本文的工作基礎是應用單片機設計的。利用C語(yǔ)言進(jìn)行單片機應用系統的設計,不僅編程簡(jiǎn)單,精度高,而且避免了匯編語(yǔ)言在進(jìn)行乘除法運算時(shí)要考慮采用浮點(diǎn)運算的要求。與匯編語(yǔ)言相比編程語(yǔ)句大大減少。數字頻率計的全部軟件均經(jīng)過(guò)了調試。并進(jìn)行了誤差分析。頻率的測量范圍從1Hz到1MHz,具有一定的實(shí)用價(jià)值。

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>