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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7721|回復: 4
打印 上一主題 下一主題
收起左側

基于51單片機的直流電機驅動(L298)

[復制鏈接]
跳轉到指定樓層
樓主
ID:114642 發表于 2016-4-18 00:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
L298SGS公司的產品,L298N15個管角的單塊集成電路,高電壓,高電流,四通道驅動,設計用L298N來接收DTL或者TTL邏輯電平,驅動感性負載(比如繼電器,直流和步進馬達)和開關電源晶體管。內部包含4通道邏輯驅動電路,其額定工作電流為 1 A,最大可達 1.5 AVss 電壓最小 4.5 V,最大可達 36 VVs 電壓最大值也是 36 VL298N可直接對電機進行控制,無須隔離電路,可以驅動雙電機。
1,L298內部的原理圖


2,L298 引腳符號及功能


3,L298的邏輯功能


當使能端為高電平時,輸入端IN1為PWM信號,IN2為低電平信號時,電機正轉;輸入端IN1為低電平信號,IN2為PWM信號時,電機反轉;;IN1與IN2相 同時,電機快速停止。當使能端為低電平時,電動機停止轉動。
在對直流電動機電壓的控制和驅動中,半導體功率器件(L298)在使用上可以分為兩種方式:線性放大驅動方式和開關驅動方式在線性放大驅動方式。
半導體功率器件工作在線性區優點是控制原理簡單,輸出波動小,線性好,對鄰近電路干擾小,缺點為功率器件工作在線性區,功率低和散熱問題嚴重。開關驅動方式是使半導體功率器件工作在開關狀態,通過脈調制(PWM)來控制電動機的電壓,從而實現電動機轉速的控制。


  1. #include<reg51.h>   
  2. #include<intrins.h>
  3. #define uchar unsigned char

  4. #define uint unsigned int


  5. sbit MOTOR_A_1=P3^6;

  6. sbit MOTOR_A_2=P3^7;   

  7. sbit k1=P1^0; //定義k1為p1.0口

  8. sbit k2=P1^1;   //定義k2為p1.1口

  9. sbit k3=P1^2;   //定義k3為p1.2口

  10. sbit k4=P1^3;   //定義k4為p1.3口

  11. uchar T=0;   //定時標記

  12. uchar W=0;   //脈寬值 0~100

  13. uchar A=0;   //方向標記 0,1

  14. uchar k=0;   //按鍵標記

  15. uchar i=0;     //計數變量


  16. uchar code table1[]={

  17. 0x3f,0x06,0x5b,0x4f,

  18. 0x66,0x6d,0x7d,0x07,

  19. 0x7f,0x6f,0x77,0x7c,

  20. 0x39,0x5e,0x79,0x71};


  21. uchar code table2[]={0xfe,0xfb,0xfd,0xf7};



  22. void delayms(uint t);  



  23. void disp(void)

  24. {

  25. P2=table2[3];

  26. P0=table1[W]; //顯示占空比個位

  27. delayms(1); //延時1ms

  28. P2=0xff; //P0清1


  29. P2=table2[2];

  30. P0=table1[W/100]; //顯示占空比百位

  31. delayms(1); //延時1ms

  32. P2=0xff; //P0清1

  33.   

  34. P2=table2[1];

  35. P0=table1[W/10];  //顯示占空比十位

  36. delayms(1); //延時1ms

  37. P2=0xff;   //P0清1


  38. P2=table2[0];

  39. P0=table1[A];   //顯示方向

  40. delayms(1); //延時1ms

  41. P2=0xff; //P0清1

  42. }






  43. void init(void)

  44. {

  45. //啟動中斷

  46. TMOD=0x01;

  47. EA=1;

  48. ET0=1;

  49. TR0=1;

  50. //設置定時時間

  51. TH0=0xff;

  52. TL0=0xf6;

  53. }


  54. void timer0() interrupt 1

  55. {     

  56. //重置定時器時間

  57. TH0=0xff;

  58. TL0=0xf6;

  59. T++; //定時標記加1

  60. disp(); //數碼管顯示

  61. if(k==0)

  62. {

  63. if(T>W)

  64. MOTOR_A_1 =0;

  65. else

  66. MOTOR_A_1 =1;

  67. }

  68. else

  69. {

  70. if(T>W)

  71. MOTOR_A_2 =0;

  72. else

  73. MOTOR_A_2 =1;

  74. }



  75. if(T==100)

  76. T=0;

  77. }



  78. void delayms(uint t)

  79. {

  80. uchar j;

  81. while(t--)

  82. {

  83. for(j=0;j<250;j++) //循環250次

  84. {

  85.   _nop_();             //系統延時         

  86.       _nop_(); //系統延時

  87.       _nop_(); //系統延時

  88.       _nop_(); //系統延時

  89. }

  90. }

  91. }



  92. void key(void)           //按鍵判斷程序

  93. {

  94. if(k1==0) //按鍵1按下

  95. {

  96. while(k1==0); //按鍵1抬起

  97. if(W==100) //如果脈寬為100

  98. W=0; //脈寬置0

  99. else

  100. W+=1; //否則加1

  101. }

  102. else if(k2==0) //按鍵2按下

  103. {  

  104. while(k2==0); //按鍵2抬起

  105. if(W==0) //如果脈寬為0

  106. W=100; //脈寬設置成100

  107. else

  108. W-=1; //否則減1

  109. }

  110. else if(k3==0) //按鍵3按下

  111. {   

  112. while(k3==0); //按鍵3抬起

  113. A=!A; //方向標記取反

  114. k=!k; //按鍵標記取反

  115. }

  116. else if(k4==0) //按鍵4按下

  117. {   

  118. while(k4==0); //按鍵4抬起

  119. W=0; //脈寬清0

  120. }

  121. }


  122. void main(void)

  123. {


  124. init(); /////////系統初始化

  125. while(1)  

  126. {

  127. if(k==0)

  128.    MOTOR_A_2=0;

  129. else

  130. MOTOR_A_1=0;

  131. key(); ////////查詢按鍵

  132. }

  133. }
復制代碼



評分

參與人數 1黑幣 +5 收起 理由
單單單片機就好 + 5 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123712 發表于 2016-7-7 20:08 | 只看該作者
謝謝樓主分享資料,學習中
回復

使用道具 舉報

板凳
ID:57149 發表于 2016-7-11 16:03 | 只看該作者
謝謝樓主分享資料!
回復

使用道具 舉報

地板
ID:161494 發表于 2017-1-12 17:44 | 只看該作者
O(∩_∩)O謝謝,樓主分享。
回復

使用道具 舉報

5#
ID:238367 發表于 2017-10-10 18:25 | 只看該作者
PWM的EN A接單片機哪個借口?你的程序里看不出啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区一区 | 欧美一区二区在线播放 | 欧美a在线 | av片免费| 午夜久草 | 高清免费av | 国产小视频在线观看 | 一区二区三区不卡视频 | 国产亚韩 | 欧美日韩国产精品激情在线播放 | 在线国产一区二区 | 久久综合一区 | 国产一区二区美女 | 欧美精品tv| 亚洲福利在线观看 | 欧美日韩在线一区二区 | 欧美一区二区三区的 | 欧美性一区二区三区 | 热久久性 | 欧美一级视频 | 精品一区久久 | 久久99久久99| 久久99成人 | 日韩和的一区二在线 | 午夜精品久久久久久不卡欧美一级 | 亚洲视频在线免费观看 | 成人精品一区亚洲午夜久久久 | 午夜小视频在线播放 | 亚洲国产精品一区二区久久 | 国产精品99久久久久久宅男 | 欧美八区 | 中文成人在线 | 色爱综合网| 国产精品一区二区免费 | 亚洲一区二区精品视频在线观看 | 欧美黄色免费网站 | 97国产精品视频人人做人人爱 | 日韩在线中文字幕 | 日韩欧美一区二区三区免费观看 | av大片| 久久久久久免费毛片精品 |