标题: 51单片机无线小车 [打印本页]

作者: hutians    时间: 2015-2-10 20:18
标题: 51单片机无线小车
       红外的数据是不连续的,所以试着用315M无线模块做遥控。在有了红外小车的基础上,无线就很简单了,循环判断按键是否按下就行了。我买的这个遥控套件好像有点问题,有一个按键没反应。。。而且我这个套件还有另外一个问题,有时候突然没信号,要把天线对准它用力按,然后又有信号了。。。 囧


/*
电机控制板接P1
IN1 > P10
IN2 > P11
IN3 > P12
IN4 > P13
*/

/*预处理命令*/
#include<reg52.h>    //包含单片机寄存器的头文件
#include<intrins.h> //包含_nop_()函数定义的头文件
#define uchar unsigned char
#define uint unsigned int
#define motor P1

/* 函数申明 -----------------------------------------------*/
void delay(uchar x);

/* 变量定义 -----------------------------------------------*/
/*无线数据线接P2*/
sbit key1=P2^4;
sbit key2=P2^5;
sbit key3=P2^6;
sbit key4=P2^7;

/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
main()
{
motor=0;

while(1){
if(key1==1 && key3==1){
motor=0xf5;
}else if(key1==1){
motor=0xfd;
}else if(key3==1){
motor=0xf7;
}else if(key2==1){
motor=0xfa;
}else{
motor=0;
}
//delay(200);
}
}

/*
********************************************************************************
** 函数名称 : delay(uchar x)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay(uchar x)    //x*0.14MS
{
uchar i;
while(x--)
{
for(i=0;i<13;i++);
}
}




作者: 202305415    时间: 2015-2-28 14:28
不错  值得学习

作者: yyxtj    时间: 2015-4-16 20:19
好东西,学习一下,谢谢!
作者: KK咯了了    时间: 2015-5-5 22:23
谢谢分享
作者: lza001    时间: 2018-1-20 21:38
不错,学习下
作者: 都市郎    时间: 2018-1-25 00:11
楼主说的问题是模块频率偏差造成的,我碰到过

作者: wangxiaoming123    时间: 2018-4-1 13:05
有没有仿真图啊,展示出来看一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1