新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機頻率計程序(4位不帶小數(shù)點)

        51單片機頻率計程序(4位不帶小數(shù)點)

        作者: 時間:2012-12-05 來源:網(wǎng)絡 收藏
        ****************************************************************
        設計的4位不帶c語言程序
        ***************************************************/

        #include AT89X51.H>
        #include stdio.h>
        int value=0,n=0;
        int n,n1,n2,n3,n4;
        int LEDData [] = { 0xC0, //"0"
        0xF9, //"1"
        0xA4, //"2"
        0xB0, //"3"
        0x99, //"4"
        0x92, //"5"
        0x82, //"6"
        0xF8, //"7"
        0x80, //"8"
        0x90, //"9"
        };
        void delay(short i);
        void initial(void);
        void display(void);

        //******************************************************
        main ()
        {
        initial();
        while(1)
        {
        if(n==100)
        {
        display();
        n=0;
        value=0;
        }
        }

        }

        //**********************************************************
        void initial(void)//定時器計數(shù)器初始化
        {
        IE=0x8b;
        TCON=0x01;
        TMOD=0x11;
        TH0=0xD8;//T0作為定時器初始化0.01秒中一次斷
        TL0=0xF0;
        TH1=0XFF;//T1產(chǎn)生625HZ
        TL1=0X60;
        TR0=1;
        TR1=1;
        }

        //***********************************************************
        void delay(short i)
        {
        int j=0;
        int k=0;
        k=i*2;
        while(jk) j++;

        }

        //**************************************************************
        void extern0_ISR () interrupt 0 //INT0外部脈沖中斷
        {
        EX0=0;
        value++;
        EX0=1;
        }

        //************************************************************
        void timer0_ISR () interrupt 1 //定時器每0.01秒中斷一次T0
        {
        n++;
        TH0=0xD8;
        TL0=0xF0;

        }

        //**********************************************************
        void timer1_ISR () interrupt 3//T1625hz
        {
        P1=P1^0xc0;
        TH1=0XFF;//T1產(chǎn)生3125HZ
        TL1=0X60;
        }

        //*************************************************
        void display(void)
        {

        n4=value/1000;
        n3=(value-n4*1000)/100;
        n2=(value-n4*1000-100*n3)/10;
        n1=value-n4*1000-100*n3-10*n2;
        while(1)
        {
        P2=0x3f;
        P0=LEDData [n1];
        delay(50);
        P2=0x5f;
        P0=LEDData [n2];
        delay(50);
        P2=0x6f;
        P0=LEDData [n3];
        delay(50);
        P2=0xf7;
        P0=LEDData [n4];
        delay(50);
        P2=0xff;
        }
        }

        51單片機相關(guān)文章:51單片機教程


        c語言相關(guān)文章:c語言教程




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 济源市| 交城县| 双桥区| 泗阳县| 常州市| 视频| 云阳县| 句容市| 长汀县| 光山县| 温宿县| 阜阳市| 江山市| 洱源县| 达州市| 白朗县| 龙山县| 巫山县| 恩施市| 宁海县| 芮城县| 五家渠市| 从江县| 商城县| 南通市| 平凉市| 枣阳市| 吉林省| 永善县| 固阳县| 瑞昌市| 昆明市| 徐州市| 攀枝花市| 文安县| 五华县| 金昌市| 安新县| 嘉祥县| 旌德县| 桐城市|