C51单片机实现蓝牙小车 适合初学者 有详细解析

C51单片机实现蓝牙小车 适合初学者 有详细解析,第1张

概述#include<reg52.h>typedefunsignedcharu8;typedefunsignedintu16;sbitX1=P2^0;//前两轮sbitX2=P2^1;//2021为前右2223为前左sbitX3=P2^2;sbitX4=P2^3;sbitX5=P1^0;//后两轮sbitX6=P1^1;//1011为后右1213为后左sbitX7=P1^2;sbitX8=P1^3;#defin

#include<reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;

sbit X1=P2^0;//前两轮
sbit X2=P2^1;//20 21为前右 22 23为前左
sbit X3=P2^2;
sbit X4=P2^3;

sbit X5=P1^0;//后两轮
sbit X6=P1^1;//10 11为后右 12 13为后左
sbit X7=P1^2;
sbit X8=P1^3;

#define qian_go {X1=0,X2=1,X3=0,X4=1;}
#define qian_hui {X1=1,X2=0,X3=1,X4=0;}
#define qian_tin {X1=0,X2=0,X3=0,X4=0;}
#define qian_zuo {X1=1,X2=0,X3=1,X4=0;}
#define qian_you {X1=0,X2=0,X3=1,X4=0;}
#define hou_go {X5=0,X6=1,X7=0,X8=1;}
#define hou_hui {X5=1,X6=0,X7=1,X8=0;}
#define hou_tin {X5=0,X6=0,X7=0,X8=0;}
#define hou_zuo {X5=0,X6=1,X7=1,X8=0;}
#define hou_you {X5=1,X6=0,X7=0,X8=1;}

voID go( );
voID hui( );
voID tin( );
voID zuo( );
voID you( );
voID delay(u16 i);
voID init( );
u8 flag,X;

voID main( )
{
init( );
while(1)
{
if(flag==1)//确认flag为1 开始执行
{
switch(X)//这里的x代表下面的字符 与下面的中断函数X无关
{
case ‘1’:
go( );
//delay(100);
break;
case ‘2’:
hui( );

					break;			case '3':					zuo( );										break;			case '4':					you( );										break;			case '5':					tin( );										break;			default:					break;		}	}	RI=1;//串行口中断请求标志每次循环都将它置1.同意串行口请求 (一行串行数据被接收)}

}

voID init( )
{
TMOD=0x20;//0010 0000 TMOD中的gate为0 或门中为1 直接让TR1为1便可接通。ct中也选择了0即为定时模式 10是8位自动重装(与上者符合都用8位便于转换)
TH1=0xfd;//定时器重装初值
TL1=0xfd;//计数器重装
TR1=1;//开定时器1(若想开定时器0则将TR后数字换为0同时TH,TL后也换为0)
REN=1;//允许串行接收位(只能通过软件置1,启动串行接收位)
SM0=0;//10位异步是较为常用的方法
SM1=1;//01对应的是10位异步收发器
EA=1;//cpu开中断(总中断开关)
ES=1;//串行口中断允许位
flag=0;//先置为0 后中断函数中判断是否执行。
}

voID go( )
{
qian_go;
hou_go;
}

voID hui( )
{
qian_hui;
hou_hui;
}

voID tin( )
{
qian_tin;
hou_tin;
}

voID zuo( )
{
qian_zuo;
hou_zuo;
}

voID you( )
{
qian_you;
hou_you;
}

voID ser( )interrupt 4//4为串行口中断并进入程序中断函数
{
RI=0;//串行口不中断将接受的数据存入SBUF寄存器中
X=SBUF;//开始接受数据(将接收到的数据放入SBUF)定义的x是8位字节 恰好能够使用
flag=1;//重新置1
}

总结

以上是内存溢出为你收集整理的C51单片机实现蓝牙小车 适合初学者 有详细解析全部内容,希望文章能够帮你解决C51单片机实现蓝牙小车 适合初学者 有详细解析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1212195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存