欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STC15F2K60S2做數字頻率計,單片機的定時器和外部中斷不會用 [打印本頁]

作者: renlei97    時間: 2018-5-30 15:11
標題: STC15F2K60S2做數字頻率計,單片機的定時器和外部中斷不會用
用STC15F2K60S2做一款數字頻率計,頻率0-20MHZ,電路已經設計完了,單片機的定時器和外部中斷不會用,求大神給個實例程序或者加QQ1240073943分享下經驗,謝謝。

作者: 大玉米    時間: 2018-6-13 14:52
謝謝,謝謝
作者: jzzgb    時間: 2020-5-11 22:18
你好!STC官網有詳細的例程可以下載,參考。另外STC單片機燒寫軟件中有各個功能的標準源碼和各個寄存器設置值,很有用的!
作者: adject    時間: 2020-5-12 00:26
unsigned int  cnt =  0,Meter_cnt=0,Meter_f =0;

   

void EXT0_INIT()
{
INT0 = 1;                    //外部診斷允許
    IT0 = 1;                    //設置INT0的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
    EX0 = 1;                    //使能INT0中斷
    EA = 1;
}

//中斷服務程序
void exint0() interrupt 0       //INT0中斷入口
{
    cnt++;
}

void Timer0Init(void)                //10毫秒@12.000MHz
{
          AUXR &= 0x7F;                //定時器時鐘12T模式
        TMOD &= 0xF0;                  //設置定時器為模式16位自動重裝載
        TL0 = 0xF0;                //設置定時初值
        TH0 = 0xD8;                //設置定時初值
        TF0 = 0;                //清除TF0標志
        ET0 = 1;                //使能定時器0中斷
        TR0 = 1;                //定時器0開始計時
}

void tm0_isr() interrupt 1 //定時器 10ms 溢出中斷
{
static char t=0;
  t++;cnt++;
if(t==200)   //每2秒讀取外部中斷的次數
{
    Meter_cnt = cnt;
   cnt = 0;
   Meter_f = Meter_cnt/2; //計算1秒的次數,就是頻率
}
}
main()
{
EXT0_INIT();
Timer0Init();
while(1);
}

大概思路就是讀取單位時間內外部中斷的個數,在求出頻率




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1