久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

STC單片機(jī)+2個(gè)L298N模塊+3個(gè)直流電機(jī)(演示一個(gè)電機(jī)的PWM調(diào)速過程)

  [復(fù)制鏈接]
ID:179677 發(fā)表于 2017-5-17 15:22 | 顯示全部樓層 |閱讀模式
STC12單片機(jī)+2個(gè)L298N模塊+3個(gè)直流電機(jī)(演示其中一個(gè)電機(jī)的PWM調(diào)速過程)

0.png

L298模塊電路原理圖如下:
0.png
L298N電機(jī)驅(qū)動(dòng)模塊pdf資料:
0.png

L298模塊

L298模塊




stc單片機(jī)源程序如下:
  1. //周期為7毫秒,100微秒一調(diào),脈寬范圍是0~70
  2. //當(dāng)脈寬小于15,電機(jī)不轉(zhuǎn)(不知道是不是跟電機(jī)有關(guān),電壓達(dá)不到最低要求)
  3. //用的STC10F08,外接兩個(gè)L298模塊,控制3個(gè)直流電機(jī)
  4. #include <STC10.h>  
  5. #include <math.h>
  6. #include <intrins.h>       
  7. #define uchar unsigned char  
  8. #define uint unsigned int  
  9. sbit en1=P0^0;  /* L298Enable A */  
  10. sbit en2=P0^3;  /* L298Enable B */
  11. sbit en3=P0^6;


  12. sbit s1=P0^1;  /* L298Input 1 */  
  13. sbit s2=P0^2;  /* L298Input 2 */  
  14. sbit s3=P0^4;  /* L298Input 3 */  
  15. sbit s4=P0^5;  /* L298Input 4 */
  16. sbit s5=P2^0;  /* L298-2Input 1 */  
  17. sbit s6=P2^1;  /* L298-2Input 2 */


  18. sbit k1=P2^2;     //演示3個(gè)電機(jī)正轉(zhuǎn)
  19. sbit k2=P2^3;     //演示反轉(zhuǎn)
  20. sbit k3=P2^4;     //通過按鍵次數(shù),電機(jī)速度加快
  21. sbit k4=P2^5;     //自轉(zhuǎn)
  22. sbit k5=P2^6;     //stop

  23. bit  fangx=0;//0正轉(zhuǎn),1反轉(zhuǎn)
  24. uchar keynum=0;   //按鍵次數(shù)


  25. uchar idata t=0;   /* 中斷計(jì)數(shù) */  
  26. uchar idata mk1=0;   /* 電機(jī)1速度對(duì)應(yīng)脈寬 */  
  27. uchar idata mk2=0;   /* 電機(jī)2速度*/  
  28. uchar idata mk3=0;   /* 電機(jī)3速度*/

  29. uchar idata tmp1,tmp2,tmp3; /* 電機(jī)當(dāng)前速度 */  



  30. ////////////////
  31. void delay1ms()                //@22.1184MHz
  32. {
  33.         unsigned char i, j;

  34.         _nop_();
  35.         i = 4;
  36.         j = 146;
  37.         do
  38.         {
  39.                 while (--j);
  40.         } while (--i);
  41. }
  42. ////////////////
  43. void delay50ms()                //@22.1184MHz
  44. {
  45.         unsigned char i, j, k;

  46.         i = 5;
  47.         j = 52;
  48.         k = 195;
  49.         do
  50.         {
  51.                 do
  52.                 {
  53.                         while (--k);
  54.                 } while (--j);
  55.         } while (--i);
  56. }


  57. /////////////////////////////////////////
  58. /*  index-電機(jī)號(hào)(1,2,3); 脈寬(0~70) ,方向 0=正轉(zhuǎn)*/  
  59. void motor(uchar index, char speed,bit a)  
  60. {
  61.        
  62. fangx=a;
  63.        
  64. if(a==0)     //正轉(zhuǎn)
  65. {  
  66.         switch(index)
  67.          {
  68.    case 1 :        s1=1; s2=0;mk1=speed;break;               
  69.    case 2 : s3=1; s4=0;mk2=speed;break;
  70.    case 3 : s5=1; s6=0;mk3=speed;break;
  71.                 default: break;
  72.    }
  73. }         
  74. else         //反轉(zhuǎn)
  75.    {  
  76.         switch(index)
  77.          {
  78.    case 1 :        s1=0;s2=1;   mk1=speed;break;               
  79.    case 2 : s3=0; s4=1 ; mk2=speed;break;
  80.    case 3 : s5=0; s6=1 ; mk3=speed;break;
  81.                 default: break;
  82.    }       
  83.   }
  84. }
  85. /////////////////////////////
  86. /*  index-電機(jī)號(hào)(1,2,3);*/  
  87. void motorstop(uchar index )  
  88. {   
  89.         switch(index)
  90.          {
  91.    case 1 :s1=0;s2=0; mk1=0;break;
  92.    case 2 :s3=0;s4=0; mk2=0;break;
  93.    case 3 :s5=0;s6=0; mk3=0;break;
  94.                 default: break;
  95.    }

  96. }  
  97. ///////////////
  98. void Timer0Init(void)                //100US,22.1184MHz
  99. {
  100.         AUXR |= 0x80;                //1T
  101.         TMOD &= 0xF0;               
  102.         TMOD |= 0x01;                //16位工作方式1
  103.         TL0 = 0x5C;               
  104.         TH0 = 0xF7;       
  105.         TF0 = 0;               
  106.         TR0 = 1;       
  107.         EA=1;   
  108.         ET0=1;
  109. }



  110. ///////////////////////////
  111. void main()  
  112. {  
  113.         uchar i;
  114.        
  115.   P0=P1=P2=P3=0XFF;
  116.        
  117.         Timer0Init();

  118.   while(1) /* 電機(jī)控制演示 */  
  119.    {
  120.         /////////////////
  121.    if(k1==0)           //3個(gè)電機(jī)正轉(zhuǎn)
  122.             {
  123.        motor(1,50,0);
  124.                    motor(2,30,0);
  125.                    motor(3,10,0);  
  126.        }
  127.          //////////////////////
  128.          else if(k2==0)      //3個(gè)電機(jī)反轉(zhuǎn)
  129.             {  
  130.         motor(1,20,1);
  131.                           motor(2,40,1);
  132.                     motor(3,60,1);
  133.       }
  134.          ////////////////////
  135.   else  if(k3==0)
  136.          {
  137.                  delay1ms();
  138.                  while(!k3); //等待按鍵放開
  139.                  if(keynum>=70)
  140.                  {keynum=0;}
  141.                         keynum++;            //加速                               
  142.                         motor(1,keynum,fangx);                                      
  143.          }
  144.    
  145.         /////////////////////
  146.   else  if(k4==0)
  147.          {
  148.                   delay1ms();
  149.                  while(!k4);     //等待按鍵放開
  150.                  for(i=0;i<=70;i++)
  151.                  {  
  152.                         motor(1,i,fangx);
  153.                          delay50ms();
  154.                          delay50ms();
  155.                          delay50ms();
  156.                          delay50ms();
  157.                          delay50ms();
  158.                          delay50ms();
  159.                          delay50ms();
  160.                          delay50ms();
  161.                          delay50ms();  //延時(shí),通過示波器可以看見脈寬的變化
  162.                  }         
  163.                   
  164.          }
  165.         /////////////////////
  166.         else  if(k5==0)
  167.                 {
  168. ……………………

  169. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

0.png

所有資料51hei提供下載:
pwm l298.rar (277.29 KB, 下載次數(shù): 190)


評(píng)分

參與人數(shù) 3黑幣 +65 收起 理由
莫德爾 + 10 贊一個(gè)!
LQL-LQL + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2017-5-17 19:13 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:252511 發(fā)表于 2017-11-22 23:40 | 顯示全部樓層
不錯(cuò)的資料,正在學(xué)習(xí)這方面。
回復(fù)

使用道具 舉報(bào)

ID:336657 發(fā)表于 2018-6-5 22:38 | 顯示全部樓層
好東西 支持
回復(fù)

使用道具 舉報(bào)

ID:350637 發(fā)表于 2018-6-12 21:01 | 顯示全部樓層
可以,正是我需要的
回復(fù)

使用道具 舉報(bào)

ID:354749 發(fā)表于 2018-6-19 23:03 | 顯示全部樓層
正是需要的   怎么樣才能下載啊!!!啊啊啊
回復(fù)

使用道具 舉報(bào)

ID:342294 發(fā)表于 2018-8-21 14:25 | 顯示全部樓層
這個(gè)我看你用的是STC10 這個(gè)沒有用過   不過程序確實(shí)寫的不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:252511 發(fā)表于 2018-12-18 00:40 | 顯示全部樓層
不錯(cuò)的資料,正需要!
回復(fù)

使用道具 舉報(bào)

ID:593054 發(fā)表于 2019-8-5 19:38 | 顯示全部樓層
l298n怎么接線
回復(fù)

使用道具 舉報(bào)

ID:421536 發(fā)表于 2019-8-14 12:08 | 顯示全部樓層
好資料,幫忙頂
回復(fù)

使用道具 舉報(bào)

ID:585455 發(fā)表于 2020-9-2 09:09 | 顯示全部樓層
你的資料很完整,正需要L298N控制碼,太好了。
回復(fù)

使用道具 舉報(bào)

12#
無效樓層,該帖已經(jīng)被刪除
13#
無效樓層,該帖已經(jīng)被刪除

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品一区 | 人人射人人 | 免费视频久久 | 91丨九色丨国产在线 | 欧美日韩中文字幕 | 欧美精 | 日韩美av | 成年人免费网站 | 国产精品免费福利 | 日韩在线精品 | 欧美日韩三级视频 | 老牛嫩草一区二区三区av | 51ⅴ精品国产91久久久久久 | av一区二区三区四区 | 国产一级免费视频 | 日韩欧美一区二区三区免费看 | 日本成人免费观看 | 中文字幕一级毛片视频 | 中文字幕视频三区 | 亚洲成av人影片在线观看 | 综合激情av| 91精品久久久 | 欧洲亚洲精品久久久久 | 在线免费小视频 | 中文字幕第90页 | 欧美在线一区二区三区四区 | 天天看天天操 | 超碰在线国产 | yiren22 亚洲综合 | www.4虎影院| 国产精品一区二区av | 精品国产精品国产偷麻豆 | 午夜91 | 天天操天天舔 | 999久久久久久久久6666 | 欧美精品一区二区免费视频 | 亚洲一区二区三区在线 | 国产欧美一区二区三区在线看 | 中文字幕在线一区二区三区 | 久久久久久亚洲精品 | 91久久国产综合久久 |