|
遙控器可以用來控制各種家電設(shè)備,,玩具模型,,工業(yè)設(shè)備等。遙控器很小容易給弄丟了,,一個設(shè)備一個遙控器很費事,,本人DIY了一個可以用手機遙控家電等設(shè)備的遙控器。
制作中要在手機上安裝一個叫藍(lán)牙串口的應(yīng)用軟件,,手機必須是智能手機,。在網(wǎng)上買來藍(lán)牙無線串口模塊,這個藍(lán)牙模塊分為主機和從機,,主機能與從機配對,主機與主機以及從機與從機不能配對,,手機的藍(lán)牙可以與從機配對,,這里我們只有從機模塊不需要主機模塊。模塊上的VCC GND 引腳就上5v電源,,TXD RXD引腳接單片機上的P3.0和P3.1引腳,。硬件完成后可以編程了。
IMG_20130301_155254.jpg (419.98 KB, 下載次數(shù): 84)
下載附件
藍(lán)牙模塊
2013-3-1 20:31 上傳
IMG_20130301_155540.jpg (729.03 KB, 下載次數(shù): 79)
下載附件
單片機控制板
2013-3-1 20:31 上傳
程序中定義了變量,,主函數(shù)開始執(zhí)行初始化函數(shù),,初始化函數(shù)設(shè)置了串口波特率,然后循環(huán)執(zhí)行顯示函數(shù),,當(dāng)手機發(fā)送命令時,,單片機串口中斷服務(wù)函數(shù)將數(shù)據(jù)寫入dat變量,通過顯示函數(shù)顯示命令數(shù),,根據(jù)控制要求我們可以自由編寫程序,。
#include<reg51.h>
#define uchar unsigned char
uchar displaycode[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F};
uchar dat=0;
void Com_init()
{TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
PCON=0x00;
}
void Com_int() interrupt 4
{
ES=0;
RI=0;
dat=SBUF;
ES=1;
}
void main()
{
Com_init();
while(1)
{
P0=displaycode[dat%10];
P1=displaycode[dat%100/10];
P2=displaycode[dat/100];
}
}
|
|