• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 用51單片機的外部中斷來測頻率

    用51單片機的外部中斷來測頻率

    作者: 時間:2012-09-19 來源:網絡 收藏

    //晶振:12M
    //實驗方法:首先要把51hei開發板上的ne555的方波輸出信號J7的第一腳用杜邦線
    //引入P3.2口,數碼管即可顯示ne555震蕩電路當前的值,旋動PR1電位器可
    //發現數字有變化.
    //原理:1秒鐘內計數脈沖個數,如計數1000次,則表示為1000Hz
    //1秒鐘定時采用51定時器0實現,脈沖由0引腳接入
    #includereg51.h>
    #include51hei.h
    #define uchar unsigned char
    uchar counter1;
    sbit duan=P2^6; //74HC573的LE端 U5 LED的段選端
    sbit wei=P2^7; //74HC573的LE端 U4 LED的位選端
    unsigned int counter2,tmp;
    uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 共陽型數碼管0—9顯示
    unsigned int dis[6];
    uchar con[]={0xfe,0xfd,0xfb,0xf7,0xef}; //共陽型數碼管控制端
    init();
    delay(uchar);
    display();
    jishu();

    本文引用地址:http://www.czjhyjcfj.com/article/170843.htm


    void main()
    {guandz();
    init();
    while(1)
    {
    jishu();
    }
    }
    //定時器0和外部0的初始化
    init()
    {
    EA=1;
    EX0=1;
    ET0=1;
    IT0=1;
    TMOD=0x01;
    TH0=0x3c;
    TL0=0xaf;
    TR0=1;
    }

    //延時程序
    delay(uchar x)
    {
    uchar a,b;
    for(a=x;a>0;a--)
    for(b=20;b>0;b--);
    }
    //外部0中斷程序
    void external0() interrupt 0
    {
    tmp++;

    }

    //定時器0中斷程序
    void timer0() interrupt 1
    {
    TH0=0x3c;
    TL0=0xaf;
    counter1++;
    }

    //顯示程序
    display()
    {
    uchar i;
    dis[0]=counter2/10000; //獲取計數值的萬位
    dis[5]=counter2%10000;
    dis[1]=dis[5]/1000; // 獲取計數值的千位
    dis[5]=dis[5]%1000;
    dis[2]=dis[5]/100; // 獲取計數值的百位
    dis[5]=dis[5]%100;
    dis[3]=dis[5]/10; // 獲取計數值的十位
    dis[4]=dis[5]%10; // 獲取計數值的個位
    for(i=0;i5;i++) //依次顯示萬、千、百、十、個位,動態顯示
    {
    // P0=0xff;
    P0=con[i];
    wei=1;
    wei=0;
    P0=table[dis[i]];
    duan=1;
    duan=0;
    delay(1);
    P0=0;
    duan=1;
    duan=0;
    }
    }

    jishu()
    {
    if(counter1==20) //定時器定時50ms,故20次中斷就表示1秒鐘到達
    {
    counter2=tmp;
    display();
    tmp=0;
    counter1=0;
    }
    else
    display();
    }

    51單片機相關文章:51單片機教程


    晶振相關文章:晶振原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 夹江县| 扎鲁特旗| 德格县| 利津县| 榕江县| 鄂托克前旗| 平罗县| 福清市| 太和县| 丁青县| 黄浦区| 孝昌县| 永顺县| 百色市| 平远县| 若羌县| 吉林市| 金湖县| 铁岭县| 华宁县| 迭部县| 建阳市| 镇雄县| 洞头县| 九台市| 巴南区| 望城县| 益阳市| 鄂温| 安福县| 五原县| 中西区| 砀山县| 抚远县| 绥棱县| 依安县| 昭觉县| 宜丰县| 文昌市| 攀枝花市| 精河县|