新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stc12c5a60s2單片機(jī)驅(qū)動(dòng)舵機(jī)程序

        stc12c5a60s2單片機(jī)驅(qū)動(dòng)舵機(jī)程序

        作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
        #include <stc12c5a60s2.H> //STC12C5A系列單片機(jī)

        #define uchar unsigned char
        #define uint unsigned int //宏定義
        #define ulint unsigned long int //宏定義

        本文引用地址:http://www.104case.com/article/201611/323822.htm


        void delay(uint time);
        void Timer_init();
        void Timer0(unsignedlongint us);

        uint pwm_valu=500;
        sbit dj=P1^0;

        void main()
        {
        Timer_init();//定時(shí)器初始化
        Timer0(31);//通過一個(gè)定時(shí)值進(jìn)入定時(shí)循環(huán)
        while(1)
        {
        pwm_valu=550; //
        delay(2000);
        pwm_valu=2500; //
        delay(2000); //
        pwm_valu=1000; //
        delay(2000); //
        pwm_valu=2000; //
        delay(2000); //
        pwm_valu=1500; //
        delay(2000);
        }
        }
        //軟件延時(shí)
        void delay(uint time)
        {
        uint i,j;
        for(i=0;i<1000;i++)
        for(j=0;j}
        //定時(shí)器0初始化
        void Timer_init()
        {
        P1M1=0;
        P1M0=0XFF;
        EA=1; //開總中斷
        AUXR|=0xC0;//T0,T1工作在1T
        TMOD|= 0x11;//T0工作在方式1,16位
        ET0 = 1;//開定時(shí)器0中斷
        }
        //定時(shí)器0定時(shí)函數(shù)
        void Timer0(unsigned long int us) //定時(shí)器定時(shí)函數(shù)
        {
        unsignedlongint valu;
        valu=us*12;//工作在1T
        valu=valu;
        valu=0xffff-valu;//

        TH0=valu>>8;
        TL0=(valu<<8)>>8;
        TR0 = 1;//T0開始工作
        }

        /*************************************
        t0 中斷 中斷

        *************************************/
        void T0zd() interrupt 1
        {
        static uchar num=1;
        switch(num) //
        {
        case 1:
        {
        dj=1;
        Timer0(pwm_valu);//
        } break;
        case 2:
        {
        dj=0;//pwm1變低
        Timer0(2500-pwm_valu);//
        } break;
        case 3:
        {
        Timer0(2500);//
        } break;
        case 4:
        {
        Timer0(2500);//
        } break;
        case 5:
        {
        Timer0(2500);//
        } break;
        case 6:
        {
        Timer0(2500);//
        } break;
        case 7:
        {
        Timer0(2500);//
        } break;
        case 8:
        {
        Timer0(2500);//
        }break;
        case 9:
        {
        Timer0(2500);//
        num=0;
        }break;
        default:break;
        }
        num++;
        }
        本程序完整源碼的下載地址:http://www.51hei.com/bbs/dpj-20521-1.html



        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 阜南县| 桐乡市| 乡宁县| 建平县| 常德市| 瑞丽市| 康定县| 湖南省| 滦平县| 柞水县| 溧阳市| 武邑县| 皋兰县| 淮南市| 钟山县| 永年县| 闽清县| 邵东县| 台中市| 蒙城县| 景宁| 泗洪县| 滁州市| 茌平县| 仁寿县| 涟源市| 美姑县| 开平市| 邻水| 石屏县| 邵阳市| 衡南县| 北宁市| 扎赉特旗| 灯塔市| 丹棱县| 富阳市| 威信县| 连州市| 托克逊县| 浦县|