|
紅外的數據是不連續的,所以試著用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++);
}
}
|
|