|
遙控器可以用來控制各種家電設備,玩具模型,工業(yè)設備等。遙控器很小容易給弄丟了,一個設備一個遙控器很費事,本人DIY了一個可以用手機遙控家電等設備的遙控器。
制作中要在手機上安裝一個叫藍牙串口的應用軟件,手機必須是智能手機。在網(wǎng)上買來藍牙無線串口模塊,這個藍牙模塊分為主機和從機,主機能與從機配對,主機與主機以及從機與從機不能配對,手機的藍牙可以與從機配對,這里我們只有從機模塊不需要主機模塊。模塊上的VCC GND 引腳就上5v電源,TXD RXD引腳接單片機上的P3.0和P3.1引腳。硬件完成后可以編程了。
IMG_20130301_155254.jpg (419.98 KB, 下載次數(shù): 85)
下載附件
保存到相冊
藍牙模塊
2013-3-1 20:31 上傳
IMG_20130301_155540.jpg (729.03 KB, 下載次數(shù): 79)
下載附件
保存到相冊
單片機控制板
2013-3-1 20:31 上傳
程序中定義了變量,主函數(shù)開始執(zhí)行初始化函數(shù),初始化函數(shù)設置了串口波特率,然后循環(huán)執(zhí)行顯示函數(shù),當手機發(fā)送命令時,單片機串口中斷服務函數(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];
}
}
|
|