完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
3个回答
|
|
[C] 纯文本查看 复制代码
#include "reg52.h"***it Moto_RA=P1^6;***it Moto_RB=P1^5;***it Moto_LA=P1^4;***it Moto_LB=P1^3;//左右电机驱动/************************************函数名称:void Delay(unsigned char num)*函数功能:延时*参数说明:num 延时时间 数值最大255*返回说明:无*其它说明:不精准延时***********************************/void Delay(unsigned char num){unsigned int temp=0;while(num--){temp=2000;while(temp--);}}/************************************函数名称:void Car_Run(unsigned char dire)*函数功能:行进方向控制*参数说明:dire 方向 0:停止 1:前 2:后 3:左 4:右*返回说明:无*其它说明:左右方向为原地转弯 【若想前进中和后退中转弯 需要与调速函数配合 使两个车轮转速不同】***********************************/void Car_Run(unsigned char dire){switch (dire){case 0: //停止{Moto_RA=0;Moto_RB=0;Moto_LA=0;Moto_LB=0;}break;case 1://前进{Moto_RA=1;Moto_RB=0;Moto_LA=1;Moto_LB=0;}break;case 2://后退{Moto_RA=0;Moto_RB=1;Moto_LA=0;Moto_LB=1;}break;case 3://左转{Moto_RA=1;Moto_RB=0;Moto_LA=0;Moto_LB=1;}break;case 4://右转{Moto_RA=0;Moto_RB=1;Moto_LA=1;Moto_LB=0;}break;default:break;}}/************************************函数名称:void main(void)*函数功能:程序入口*参数说明:无*返回说明:无*其它说明:main函数有且只有一个***********************************/void main(void){while(1){Car_Run(1);//前进Delay(20);Car_Run(2);//后退Delay(20);Car_Run(3);//左转Delay(20);Car_Run(4);//右转Delay(20);Car_Run(0);//停止Delay(20);}} 补充内容 (2016-5-15 13:38): #include ***it IN1=P1^0; ***it IN2=P1^1; ***it ENA=P1^3; void delay(unsigned int z); void delay_us(unsigned int aa); void main() { while(1) { unsigned int i,cycle=0,T=2048; IN1=1; /... 补充内容 (2016-5-15 13:40): IN2=0; for(i=0;i<1000;i++) { delay(10); //PWM占空比为50%,修改延时调整PWM脉冲 ENA=~ENA; } IN1=0; //反转 IN2=1; for(i=0;i<1000;i++) { delay(20); //PWM占空比为50%,修改延时调... 补充内容 (2016-5-15 13:40): ENA=~ENA; } IN1=1; //自动加速正转 IN2=0; while(cycle!=T); { ENA=1; delay_us(cycle++); ENA=0; delay_us(T-cycle); } IN1=0; //自动减速反转 IN2=1; while... 补充内容 (2016-5-15 13:41): while(cycle!=T); { ENA=1; delay_us(cycle++); ENA=0; delay_us(T-cycle); } } } 补充内容 (2016-5-15 13:42): void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay_us(unsigned int aa) { while(aa--); } |
|
|
|
百度上一大把吧,多数都是红外对管做的
|
|
|
|
确实红外对管做的经典,一般是黑线吧?
|
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9005 浏览 16 评论
4052 浏览 18 评论
1118浏览 3评论
575浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2304浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1860浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 20:05 , Processed in 1.360836 second(s), Total 86, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号