標(biāo)題: 關(guān)于PWM脈沖輸出的問題,困擾我很久了 [打印本頁]

作者: 495155703    時(shí)間: 2014-9-20 19:51
標(biāo)題: 關(guān)于PWM脈沖輸出的問題,困擾我很久了
#include<reg51.h>        // 本程序是要輸出脈沖周期為20ms高電平1ms的脈沖用來控制舵機(jī),用兩個(gè)定時(shí)器,每次中斷時(shí)間都是0。1ms,中斷10次就是1ms。
sbit P1_0=P1^0;          //          用兩個(gè)定時(shí)器,每次中斷時(shí)間都是0。1ms,中斷10次就是1ms。         
int n,m,np=0,mp=0;
void init()          //初始化設(shè)置
{
   TMOD=0X22;
   EA=1;
   ET0=1;
   ET1=1;
}
main()
{  

   init();
   P1_0=0;
   while(1)
   {
   n=10;m=200-10;                           // n m確定中斷的次數(shù)
   TH0=156;                                  //定時(shí)器方式2的初值設(shè)置晶振是12mhz,每0.1ms一個(gè)中斷TH0=256-100;
   TL0=156;
   TH1=156;
   TH1=156;
   P1_0=1;TR0=1;
   while(np<n){P2=np;}         //等待定時(shí)器1的中斷,中斷10次后就是1ms
   TR0=0;P1_0=0;TR1=1;          
   while(mp<m){P3=mp;}
    TR1=0;
        }
}
void pwm0() interrupt 1
{                                                                 
   np++;   P1_0=1;                   //np用來判別中斷了幾次,與n比較中斷10后就執(zhí)行下面程序
    TH0=156;
    TL0=156;
}
void pwm1() interrupt 3
{
  mp++;          P1_0=0;
   TH1=156;
   TL1=156;
}
求大神解答已經(jīng)困擾我很久了


作者: 249449417@qq.co    時(shí)間: 2020-5-30 14:56
為啥不用一個(gè)定時(shí)中斷呢




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1