版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加工生熟砧板分开的科学依据课件
- 2026年工业产品设计工业产品设计开发工程师资格认证考试试题及答案
- 初中八年级生物上册期末考试卷及参考答案
- 2026年事业单位教育岗学科专业知识模拟题及答案
- 2026年消毒供应中心专科护理试题库及答案
- 2026 河南事业编社会工作岗 面试专项练习试卷 含答案
- 事业编水利岗 历年真题试卷 含答案解析
- 湖北事业编水利岗 2026 高频考题试卷 含解析
- 2026 山东事业编后勤保障岗 模拟预测试卷 含答案
- 初中信息技术教资面试编程题库
- 高级教师职称面试讲课答辩题目及答案
- ASTM D2240-24 中文版(详细解读)橡胶邵氏硬度测试标准
- 肝癌介入治疗术后护理
- GB/Z 194-2026实习活动医疗卫生专业学习环境质量护理场所医疗卫生教育提供者要求
- 2026年云南省直机关遴选公务员笔试真题及答案解析
- 2026-2030中国婴儿车行业深度调研及投资前景预测研究报告
- 幼儿园安全教育防滑教案详解
- 2026年护理信息化技术操作规范考核试卷答案及解析
- AQ3072-2026《危险化学品重大危险源安全包保责任管理要求》解读
- (正式版)DB45∕T 2962-2025 《中小河流生态治理设计导则》
- 身边好人好事宣传课件
评论
0/150
提交评论