新聞中心

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

        51單片機(jī)頻率計(jì)程序(4位不帶小數(shù)點(diǎn))

        作者: 時(shí)間:2012-12-05 來(lái)源:網(wǎng)絡(luò) 收藏
        ****************************************************************
        設(shè)計(jì)的4位不帶c語(yǔ)言程序
        ***************************************************/

        #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í)器計(jì)數(shù)器初始化
        {
        IE=0x8b;
        TCON=0x01;
        TMOD=0x11;
        TH0=0xD8;//T0作為定時(shí)器初始化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 //定時(shí)器每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單片機(jī)相關(guān)文章:51單片機(jī)教程


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




        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 信阳市| 青州市| 油尖旺区| 济阳县| 平安县| 寻乌县| 贡觉县| 修武县| 绵阳市| 科技| 南通市| 莱阳市| 罗源县| 潍坊市| 永兴县| 泰安市| 内乡县| 浙江省| 万荣县| 修水县| 阜平县| 石景山区| 博湖县| 汉寿县| 卓资县| 蒙自县| 兖州市| 肥乡县| 西华县| 乡宁县| 资兴市| 吐鲁番市| 通城县| 达孜县| 沂源县| 临沭县| 连州市| 陆良县| 凉山| 凌源市| 临泉县|