登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 智能小车的电机运动函数(stc89c52)

[复制链接]
发表于 2019-2-3 22:38:05 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 智能小车的电机运动函数(stc89c52)
后继会使用stc12c5a60s2单片机
学习安排: 今天刚把程序调试好
达到使小车简单的前进 后退,左转,右转
开始时间: 2019-02-02
结束时间: 2019-02-03
直接上代码吧,这一部分不需要看原理图的,有玩智能车的可以参考一下哈,本程序的功能是 小车 前进停止,后退停止,左转停止,右转停止。
下面请看注释。

#include<reg52.h>//包含头文件

sbit IN0=P1^0;//定义4个电机的引脚(四驱的小车) 一个电机对应2个引脚 共8个          
sbit IN1=P1^1;          
sbit IN2=P1^2;          
sbit IN3=P1^3;          
sbit IN4=P1^4;          
sbit IN5=P1^5;          
sbit IN6=P1^6;          
sbit IN7=P1^7;          

#define Leftgo {IN4=1,IN5=0,IN7=1,IN6=0;}//左侧2个车轮前进
#define Leftback {IN4=0,IN5=1,IN7=0,IN6=1;}//左侧2个车轮后退
#define Leftstop {IN4=0,IN5=0,IN7=0,IN6=0;}//左侧2个车轮停止
#define Rightgo {IN0=1,IN1=0,IN3=1,IN2=0;}//右侧2个车轮前进
#define Rightback {IN0=0,IN1=1,IN3=0,IN2=1;}//右侧2个车轮后退
#define Rightstop {IN0=0,IN1=0,IN3=0,IN2=0;}//右侧2个车轮停止

void delay(unsigned int k);//自定义延时函数
void run();//自定义前进函数
void back();//自定义后退函数
void turnleft();//自定义左转函数
void turnright();//自定义右转函数
void stop();//自定义停止函数

void main()//主函数部分
{
        run();//前进
        delay(300);
        stop();;//停止
        delay(200);
        back();//后退
        delay(300);
        stop();停止
        delay(200);
        turnleft();//左转
        delay(300);
        stop();//停止
        delay(200);
        turnright();//右转
        delay(300);
        stop();//停止
        delay(200);
       
}       
void run()
{
        Leftgo;
        Rightgo;
}       
void back()
{
        Leftback;
        Rightback;
}
void turnleft()
{
        Leftback;
        Rightgo;
}       
void turnright()
{
        Leftgo;
        Rightback;
}       
void stop()
{
        Leftstop;
        Rightstop;
}       
void delay(unsigned int k)
{   
     unsigned int x,y;
         for(x=0;x<k;x++)
           for(y=0;y<2000;y++);
}
欢迎感兴趣的一起交流哈  还请各位斧正。



好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表