找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9475|回复: 0
打印 上一主题 下一主题
收起左侧

L298N引脚图及点击驱动单片机代码与资料

[复制链接]
跳转到指定楼层
楼主
初识电机驱动


L298N引脚图:


Drive_car.ino
L298N引脚说明图.jpg
L298N英文数据手册.pdf
MT-1电机驱动说明文档.pdf
Speed_change.ino
定时器生成PWM调节小车速度.C
控制小车方向.c

定时器生成PWM调节小车速度单片机源程序如下:
  1. /******************************************************************************************
  2. 程序名:定时器生成PWM调节小车速度
  3. 编写人:Yayi
  4. 论坛:rtrobot.org                                                   
  5. /******************************************************************************************/

  6. #include <STC12C5A60S2.H>//头文件

  7. sbit IN1=P1^0;
  8. sbit IN2=P1^1;
  9. sbit IN3=P1^2;
  10. sbit IN4=P1^3;
  11. sbit ENA=P1^4;
  12. sbit ENB=P1^5;

  13. unsigned int k=0;
  14. unsigned int HZENA;
  15. unsigned int HZENB;

  16. /********************************************************************************************
  17. 延迟函数
  18. /********************************************************************************************/
  19. void DELAY_MS (unsigned int a)
  20. {
  21.         unsigned int i;
  22.         while( a-- != 0)
  23.         {
  24.                 for(i = 0; i < 600; i++);
  25.         }
  26. }

  27. void Forward(void)
  28. {
  29.         IN1=1;
  30.         IN2=0;
  31.         IN3=0;
  32.         IN4=1;
  33. }

  34. /********************************************************************************************
  35. 定时器0初始化
  36. /********************************************************************************************/
  37. void T_init (void)
  38. {
  39.         TMOD = 0x11;         //高4位控制T1,低4位控制T0
  40.         EA = 1;                //中断总开关
  41.         TH0 = 0;         //16位计数寄存器T0高8位
  42.         TL0 = 0;        //16位计数寄存器T0低8位
  43.         ET0 = 1;         //T0中断开关
  44.         TR0 = 1;         //T0启动开关
  45.         TH1 = 0;         //16位计数寄存器T0高8位
  46.         TL1 = 0;        //16位计数寄存器T0低8位
  47.         ET1 = 1;         //T0中断开关
  48.         TR1 = 1;         //T0启动开关
  49. }

  50. /*********************************************************************************************
  51. 主程序
  52. /********************************************************************************************/
  53. void main(void)
  54. {               
  55.         T_init();
  56.         Forward();
  57.         while (1)
  58.         {
  59.                 HZENA=60000;
  60.                 HZENB=60000;
  61.                 DELAY_MS(5000);
  62.                 HZENA=2000;
  63.                 HZENB=2000;
  64.                 DELAY_MS(5000);
  65.         }
  66. }

  67. /********************************************************************************************
  68. 定时器0中断函数
  69. /********************************************************************************************/
  70. void T0 (void) interrupt 1  using 1
  71. {
  72.         TH0=(65536-HZENA)/256;        //16位计数寄存器T0高8位,尝试修改1000成其他值
  73.         TL0=(65536-HZENA)%256;        //16位计数寄存器T0低8位,尝试修改1000成其他值
  74.         ENA=!ENA;       
  75. }

  76. /********************************************************************************************
  77. 定时器1中断函数
  78. /********************************************************************************************/
  79. void T1 (void) interrupt 3  using 2
  80. {
  81.         TH1=(65536-HZENB)/256;        //16位计数寄存器T0高8位,尝试修改1000成其他值
  82.         TL1=(65536-HZENB)%256;        //16位计数寄存器T0低8位,尝试修改1000成其他值
  83.         ENB=!ENB;       
  84. }
复制代码

所有资料51hei提供下载:
L298N 电机驱动 双直流电机驱动模块.zip (920.06 KB, 下载次数: 77)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表