智能小车电控基础部分_第1页
智能小车电控基础部分_第2页
智能小车电控基础部分_第3页
智能小车电控基础部分_第4页
智能小车电控基础部分_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C7104Vin1GND2Vout3U378L055V5VR81KR91KR101KR111KIN1IN2IN3R41KR51KR61KR71KVDDEAP04P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17X218X119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE30EA31P0.732P0.633P0.534P0.4

2、35P0.336P0.237P0.138P0.039VCC40U0STC89C52-DIP40123456789JP2PAIZU12345678JP3VDDR11K+C310UR21KS1SW-PBY111.0592MC130PC230PVDDP00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07123456JP4DGND123456JP5VDDVDDR31KVDD12JP10R181KVCC123456JP11MOTORD7IN4007D8IN4007D5IN4007D6IN4007D3IN4007D4IN4007D1IN4007D2IN4007VC

3、CVCCOUT4OUT3OUT2OUT1IN4EBIN3IN2EAIN1OUT2OUT1VCC5VC4104C5104OUT4OUT3IN4R131KVDDR121K5VR151KR161KEB123456789101112131415U2L298D9LEDD10LEDP00P01P02P03VCC1IN12VCC3IN24VCC5IN36VCC7IN48GND9OUT410GND11OUT312GND13OUT214GND15OUT116JP7TLP521-412JP6123JP9VCC1IN12VCC3IN24VCC5IN36VCC7IN48GND9OUT410GND11OUT312GND

4、13OUT214GND15OUT116JP8TLP521-4R141KR171KP06P05duojiduoji12345678JP1212JP1412JP13R191KR201K1234JP18SGND1234JP199V9V1234JP2012V12VD11IN4007D12 IN4007C6104+C8220u+C9220uabcdefgCOM1COM2COM3COM4dp2E1L11GND10VCC20D02D13D24D35D46D57D68D79Q712Q613Q514Q415Q316Q217Q118Q019U474HC573E1L11GND10VCC20D02D13D24D35D

5、46D57D68D79Q712Q613Q514Q415Q316Q217Q118Q019U174HC573A1A2DB1DB3DB4DB5DB7DB6DB8DB2DB1DB2DB3DB4DB5DB6DB7DB8B1B2B3B4B5B6B7B8C1C2C3C4VDDVDDDB7DB6A2A1B1B2B3B4B5B6B7B8VCCC1C2C3C4DB5DB4DB3DB2DB1电路原理图程序流程图 首先是主函数的确立,主函数从子函数init0_time和子函数drive子函数,子函数motor_run 中调子运行 控制字函数motor_run和子函数time0_pwm 。然后根据定时器溢出中断程序,判

6、断是否中断,否则继续执行子函数time0_pwm ,是则进行drive部分,drive部分调子进行判断,是则继续进行子函数drive 否则程序结束。/*主函数*/void main()init_time0();/调用初始化函数 drive(1,0,0);delay_flag=1000;/较精确延时100MS,以定时器0中定义的100US为单位while(delay_flag);while(1)drive(1,0,0);delay_flag=50000;/直走5Swhile(delay_flag); motor_run(1,0,0);/车停while(1);/保持void time0_pwm()

7、 interrupt 1/定时器0中断服务程序/*舵机部分*/tt+;if(tt=duoji_pwm)/duoji_pwm=626,大约0.5ms2.5msduoji=0;/舵机控制线置低电平else if(tt=200)/大约20ms。tt=0;duoji=1;/舵机控制线置高电平/*直流电机PWM调速部分*/pwm+;if(pwm=10)/设置PWM调速周期为1ms。pwm=0;P0|=0X30;/P0口进行或运算。if(pwm=PWM_L)/PWM_L=010;motor_l_en=0;if(pwm=PWM_R)/PWM_R=010;motor_r_en=0;/*较精确延时部分*/if(

8、delay_flag)delay_flag-;void init_time0()/定时器0初始化函数TMOD=0X02;/采用定时器模式2,8位精确定时TH0=164;/定时器赋初值;100US中断一次,这里的晶振是11.0592M;若晶振为12M,则选用156;TL0=164;EA=1;/开总中断ET0=1;/开定时器中断TR0=1;/定时器0开始运行duoji_pwm=11;/舵机初始位置(保证小车前轮摆正)void motor_run(uchar direct,uchar speed_l,uchar speed_r)/直流电机控制函数,direct代表方向;speed分别控制两个电机速度if(direct)/direct=1代表向前P0=(P0&0 x30)|0 x05;/(P0&0 x30)的作用是停止电机,目的是为了避免切换时产生不规则脉冲。else/direct=0代表向后P0=(P0&0 x30)|0 x0A;PWM_L=speed_l;PWM_R=speed_r;void drive(uchar direct,uchar angle,uchar side)/小车状态控制函数。direct代表方向,angle代表转弯角度,side代表转弯方向if(angle6)/起保护作用(相对机械结构而言),angle的范围

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论