找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4138|回復(fù): 3
收起左側(cè)

Proteus仿真PWM控制直流電機(jī)( 脈沖頻率應(yīng)控制在25HZ~35HZ之間)附源碼

[復(fù)制鏈接]
ID:409168 發(fā)表于 2018-11-9 16:18 | 顯示全部樓層 |閱讀模式
PWM控制直流電機(jī)仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png

單片機(jī)源碼:

  /*用PWM控制電機(jī)脈沖頻率應(yīng)控制在25HZ~35HZ之間*/
  /*定時(shí)1ms,1個(gè)周期30ms,脈沖頻率為33HZ                   */                        
  /*                                                                                   */

#include   <reg51.h>   
  typedef   unsigned   char   uchar;   
  sbit   P0_0=P0^0;
  sbit   P0_1=P0^1;
  sbit   P0_2=P0^2;
  sbit   P0_3=P0^3;
  sbit   P0_4=P0^4;
  sbit   P2_0=P2^0;
  sbit   P2_1=P2^1;
  sbit   P2_2=P2^2;
  sbit   P2_3=P2^3;
  sbit   P2_4=P2^4;
  sbit   P3_4=P3^4;   

  uchar   time=0;   
  uchar   period=30;   
  uchar   high=10;
  uchar   th0=0;
  uchar   tl0=1;
  bit    dir;


  void dealy()
  {
   uchar i;
   for(i=0;i<100;i++);

  }



  void   timer0()   interrupt   1   using   1   
  {   
            TH0=0xfc;     /*定時(shí)器初值重裝載*/   
            TL0=0x18;

            time++;
                        P3_4=~P3_4;  
      if(dir==1)
          {
                        
                        if(time==high)   /*高電平持續(xù)時(shí)間結(jié)束,變低*/   
               P2_0=th0;                 /*經(jīng)過反相器反相*/
                           
                           
            else   if(time==period)     /*周期時(shí)間到,變高*/   
                      {   time=0;   
                          P2_0=tl0;                /*經(jīng)過反相器反相*/
                                                  
                                                   
                      }   
                     
                }
                 else          if(time==high)   /*高電平持續(xù)時(shí)間結(jié)束,變低*/   

                           P2_1=th0;                 /*經(jīng)過反相器反相*/
                           
                           
                  else   if(time==period)     /*周期時(shí)間到,變高*/   
                      {   time=0;   
                          P2_1=tl0;                /*經(jīng)過反相器反相*/
                                                  
                      }

               
}



void   main()   
  {   

                P0=0x00;
                P2=0x00;

        TMOD=0x01;   /*定時(shí)器0方式1*/   
        TH0=0xfc;     /*定時(shí)器裝載初值,設(shè)置脈沖信號(hào)的占空比為1/5*/   
        TL0=0x18;
               

        ET0=1;   /*開定時(shí)器0中斷*/   
        TR0=1;    /*啟動(dòng)定時(shí)器0*/
        
        
        

        while(1)   
        {
                        if(P0_0==1)
                EA=1;     /*開CPU中斷*/

                         if(P0_1==1)
                        EA=0;         /*關(guān)CPU中斷*/

                        if(P0_2==1)
                        {
                        dir=~dir;  /*轉(zhuǎn)向控制*/
                        while(P0_2!=0)
                        {};

                        }

                        if(P0_3==1)
                        {

                         high++;
                         if(high==30)
                         high=0;
                        while(P0_3!=0)
                        {};
                         }
                 }   


}        


全部資料51hei下載地址:
PWM控制直流電機(jī).zip (69.26 KB, 下載次數(shù): 62)

回復(fù)

使用道具 舉報(bào)

ID:456627 發(fā)表于 2018-12-27 17:29 | 顯示全部樓層
PWM基于51單片機(jī)的pwm直流電機(jī)調(diào)速proteus仿真
回復(fù)

使用道具 舉報(bào)

ID:396689 發(fā)表于 2018-12-30 09:28 | 顯示全部樓層
PWM的程序呢?憑空造?
回復(fù)

使用道具 舉報(bào)

ID:620780 發(fā)表于 2019-12-6 11:10 | 顯示全部樓層
程序跟原理圖根本搭不上,大兄嘚
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表