新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 直流電機調速程序

        直流電機調速程序

        作者: 時間:2012-09-04 來源:網絡 收藏
        #includereg52.h>



        sbit KEY1 = P3^1; //定義調速按鍵
        sbit = P1^5; //定義調速端口
        unsigned char CYCLE; //定義周期T=x*0.1ms
        unsigned char _ON ; //定義高電平時間

        void delay(unsigned int cnt)
        {
        while(--cnt);
        }

        main()
        {
        unsigned char _Num;
        TMOD |=0x01;
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        IE= 0x82;
        TR0=1;

        CYCLE = 10;
        while(1)
        {
        if(!KEY1)
        {
        delay(10000);
        if(!KEY1)
        {
        PWM_Num++;
        if(PWM_Num==4)

        PWM_Num=0;
        switch(PWM_Num)

        {
        case 0:P0=0x06;PWM_ON=0;break;
        case 1:P0=0x5B;PWM_ON=4;break;
        case 2:P0=0x4F;PWM_ON=6;break;
        case 3:P0=0x66;PWM_ON=8;break;
        default:break;
        }
        }
        }
        }

        }

        void tim(void) interrupt 1 using 1
        {
        static unsigned char count;
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;

        if (count==PWM_ON)
        {
        PWM = 1;
        }
        count++;
        if(count == CYCLE)
        {
        count=0;
        if(PWM_ON!=0)
        PWM = 0;

        }

        }


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜新市| 丰城市| 合川市| 丹寨县| 沐川县| 合水县| 淮安市| 株洲县| 隆化县| 和平区| 娄烦县| 科技| 南城县| 莒南县| 金山区| 长治县| 白银市| 伽师县| 且末县| 临邑县| 三都| 昌都县| 长沙县| 霍州市| 县级市| 交城县| 郑州市| 敦煌市| 平陆县| 韶山市| 伊宁县| 射阳县| 上林县| 弥渡县| 大同县| 临漳县| 阿巴嘎旗| 招远市| 来安县| 旌德县| 东平县|