分享
分享赚钱 收藏 举报 版权申诉 / 5

类型两轮智能车pwm电机调速程序.doc

  • 上传人:j35w19
  • 文档编号:7860161
  • 上传时间:2019-05-27
  • 格式:DOC
  • 页数:5
  • 大小:41.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    两轮智能车pwm电机调速程序.doc
    资源描述:

    1、/*晶振:11.0592,输出的 PWM 直接给 L298N 以驱动电机,通过调节(percent_l = 90;)等号后的数值,与(Sum 100)的比值,为占空比,如上取 90 比 100 则输出 PWM 波占空比为 9/10 的高电平,1/10 的低电平,低电平时间越长则速度越慢。要注意的是调节#define Sum 100 的值可以调节 PWM 的总周期,调节#define tim 200 的值可以调节定时器的定时周期。*/#include#define uchar unsigned char#define uint unsigned int#define MOTOR_C P1 /P1

    2、 口作为电机的控制口。#define BACK 0xfa /后退,0b1111 1010#define FORWARD 0xf5 /前进,0b1111 0101#define Sum 100 /总周期,为 100 倍的定时器时间大约 27ms#define tim 200 /初值数 200 约 270ussbit PWM_L = P10; /左电机前进sbit PWM_R = P12; /右电机前进sbit PWM_HL = P11; /左电机后退sbit PWM_HR = P13; /右电机后退void timer0_init( void ); /定时器 0 初始化函数。void timer

    3、1_init( void ); /定时器 1 初始化函数。void right( void ); /前进右转弯函数。void left( void ); /前进左转弯函数。void forward( void ); /前进函数。void hright(void); /后退右转函数。void hleft(void); /后退左转函数。void back(void); /后退函数。void stop(void); /停止void Delayms(); /延时 1msvoid Delay100ms(unsigned int d); /延时 100msuchar percent_l = 0; /(前进

    4、)左轮占空比。uchar percent_r = 0; /(前进)右轮占空比。uchar percent_hl = 0; /(后退)左轮占空比。uchar percent_hr = 0; /(后退)右轮占空比。uchar run_time = 0; /车轮运行一步的时间。void main( void )timer0_init();timer1_init();MOTOR_C=0x00;while(1)left();Delay100ms(10);right();Delay100ms(10);back();Delay100ms(10);forward();Delay100ms(10);stop()

    5、;void timer0_init( void )TMOD = 0X11;TH0 = (65536 - tim) / 256;TL0 = (65536 - tim) % 256;EA = 1; /开总中断。ET0 = 1; /开定时器 0 中断。TR0 = 1; /启动定时器 0。void timer1_init( void )TH1 = (65536 - tim) / 256;TL1 = (65536 - tim) % 256;ET1=1;TR1=1;/*前进方向*/void right( void )percent_l = 90; /左轮速度快,最好去 50 以上percent_r = 0

    6、; /右轮速度慢。percent_hl = 0; percent_hr = 0;void left( void )percent_l =0; /左轮速度慢。percent_r = 90; /右轮速度快。percent_hl = 0; percent_hr = 0;void forward( void )percent_l = 99; /左轮同速度。 percent_r = 99; /右轮同速度。percent_hl = 0; percent_hr = 0;/*后退方向*/void hright(void )/ percent_hr = 90;/ percent_hl = 0;/ percent

    7、_r = 0;/ percent_l = 0;/void hleft( void )/ percent_hr = 0;/ percent_hl = 90;/ percent_r = 0;/ percent_l = 0;/void back( void )percent_hl = 99; percent_hr = 99;percent_l = 0;percent_r = 0;void stop( void )percent_l = 0; /左轮零速度。percent_r = 0; /右轮零速度。percent_hl = 0; percent_hr = 0;/*中断服务*/void timer_0 ( void ) interrupt 1 using 1 static uchar temp = 0; /中断次数计数 。TR0 = 0; if(temp 0;c-)for(b=23;b0;b-)for(a=13;a0;a-);*/void Delay100ms(unsigned int d) unsigned int a,b,c;for(c=d;c0;c-)for(b=60;b0;b-)for(a=130;a0;a-);

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:两轮智能车pwm电机调速程序.doc
    链接地址:https://www.docduoduo.com/p-7860161.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开