文章目录
前言
提示:这里可以添加本文要记录的大概内容:
项目需要:为了启发大家兴趣,开启自己的电子创意人生,特意加了小车篇,希望大家都能做一辆属于自己的小车,追逐自己的梦想。
提示:以下是本篇文章正文内容,下面案例可供参考
一、控制小车的思维?
1.让小车动起来?就是让直流电机转起来,电机连接红线 和黑线
2.红线 5v 和黑线0v 正转 红线 0v 和黑线5v
3.电机1 红线 P10 黑线 P11
4.如何让电机正转 P10=1 P11 =0
5.如何让电机反转 P10=0 P11 =1
6.电机2 红线 P12 黑线 P13
7.如何让电机正转 P12=1 P13 =0
8.如何让电机反转 P12=0 P13 =1
如何让电机停止?红线 5v 和黑线5v 红线 0v 和黑线0v P10=0 P11 =0 P12=0 P13 =0
小车如何实现左转? P10=1 P11 =0 P12=0 P13 =0
小车如何实现右转? P10=0 P11 =0 P12=1 P13 =0
如何用按键去控制它的运动?
我想要 前进、后退、停止、左转、右转
If(keynum1) 前进
If(keynum2) 后退
P33
If(key0){
Delay(10)
If(key0){
Keynum++;
If(Keynum==6) Keynum=0;
}
}
二、参考程序
1.引入库
代码如下(示例):
c
#include <reg52.h>
sbit P00=P0^0;//电机1
sbit P01=P0^1;//电机1
sbit P02=P0^2;//电机2
sbit P03=P0^3;//电机2
sbit key=P3^3;
void qianjin();
void houtui();
void zuozhuan();
void youzhuan();
void stop();
void delay(unsigned int ms);
unsigned char keynum=0;
/////////////////////////////////////////////////////////////////////
void main()
{
key=1;
while(1)
{
if(key==0)
{
delay(1000);
if(key==0)
{
keynum++;
if(keynum==6) keynum=0;
}
while(key==0);
}
if(keynum==1) {qianjin();}
if(keynum==2) {houtui();}
if(keynum==3) {zuozhuan();}
if(keynum==4) {youzhuan();}
if(keynum==5) {stop();}
}
}
// 功能是延时
//无返回值
//ms的范围 0-65535 测试过1代表2us
void delay(unsigned int ms)
{
while(ms--);
}
void qianjin()
{
P00=1; P01 =0;
P02=1; P03 =0;
}
void houtui()
{
P00=0; P01 =1;
P02=0; P03 =1;
}
void zuozhuan()
{
P00=0; P01 =1;
P02=0; P03 =0;
}
void youzhuan()
{
P00=0; P01 =0;
P02=0; P03 =1;
}
void stop()
{
P00=0; P01 =0;
P02=0; P03 =0;
}
# 三、思考和改进
如何实现小车调速?
# 四、手把手教程
[video(video-dPsHDV9X-1775220779434)(type-csdn)(url-https://live.csdn.net/v/embed/520217)(image-https://v-blog.csdnimg.cn/asset/b7587ddb9dcdd198047cd33df701bed0/cover/Cover0.jpg)(title-20260403_193227小车)]
[video(video-UZIVDfOv-1775220785655)(type-csdn)(url-https://live.csdn.net/v/embed/520219)(image-https://v-blog.csdnimg.cn/asset/e1ea84d98ae595d7a38acf3ac9ded7f1/cover/Cover0.jpg)(title-20260403_201512小车2)]
---
# 总结
学习使人快乐!
音乐使人愉悦!
日积月累使人充实和自信!