新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機pwm調速程序

        51單片機pwm調速程序

        作者: 時間:2016-11-29 來源:網絡 收藏
        此程序是一個用51單片機來調直流電機轉速的程序。當然也可以用來調整led燈的亮度,用定時器2來實現.

        本文引用地址:http://www.104case.com/article/201611/323371.htm
        #include  //包括一個52標準內核的頭文件#define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit PWM = P3^3; //要控制的風扇sbit K= P3^7; //按鍵控制轉速uchar scale;//用于保存占空比的輸出0的時間份額,總共10份//延時程序void delay10ms(void){unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}// 主程序void main(void){RCAP2H =0xF3; //賦T2的預置值,溢出1次是1/1200秒鐘RCAP2L =0x98;scale=10;TR2=1; //啟動定時器ET2=1; //打開定時器2中斷EA=1; //打開總中斷while(1) //程序循環{while(K==0){scale++;while(K==0);if(scale==11)scale=0;}}}//1/1200秒定時器2中斷timer2() interrupt 5{static uchar tt=0; //tt用來保存當前時間在一秒中的比例位置TF2=0;tt++;if(tt==10) //每1/120秒整開始輸出低電平{tt=0;if(scale!=0) //這里加這一句是為了消除滅燈狀態產生的鬼影PWM=0;}if(scale==tt) //按照當前占空比切換輸出高電平PWM=1;}


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 香港| 内黄县| 江源县| 道孚县| 浠水县| 大荔县| 濉溪县| 治县。| 两当县| 馆陶县| 江阴市| 确山县| 枝江市| 商洛市| 大名县| 天祝| 金寨县| 长泰县| 临泉县| 岗巴县| 黔西县| 丰都县| 延寿县| 平乡县| 稻城县| 金华市| 榆中县| 都昌县| 额敏县| 兴义市| 天津市| 禹城市| 西和县| 淮南市| 宝丰县| 襄樊市| 桂阳县| 三门峡市| 西乡县| 太原市| 宝清县|