標(biāo)題:
藍(lán)牙遙控小車 基于hc-05和hc-31的單片機(jī)程序
[打印本頁(yè)]
作者:
趙博zb
時(shí)間:
2017-12-19 18:30
標(biāo)題:
藍(lán)牙遙控小車 基于hc-05和hc-31的單片機(jī)程序
基于hc-05和hc-31的程序
單片機(jī)源程序如下:
#include<reg51.h>
#include <intrins.h>
sbit Sound=P0^0;//嘀嘀嘀
sbit car1=P0^1;
sbit car2=P0^2;
sbit car3=P0^3;
sbit car4=P0^4;
sbit LEDARRAY_CLK = P0^5;
sbit LEDARRAY_LE = P0^6;
sbit LEDARRAY_DI = P0^7;//點(diǎn)陣
bit flag;
unsigned char led_8;
unsigned char js;
unsigned char code xin[]={0x0C,0x1E,0x3E,0x7C,0x7C,0x3E,0x1E,0x0C};
unsigned char code jin[]={0x00,0x00,0x42,0x82,0x7e,0x02,0x02,0x00};
unsigned char code xiao[]={0x84,0x42,0x24,0x18,0x18,0x24,0x42,0x80};
unsigned char code qian[]={0x00,0x1e,0x21,0x21,0x31,0x21,0x5e,0x40};
unsigned char code black[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void delay(unsigned char t)
{
unsigned int m;
for(;t>0;t--)
for(m=5000;m>0;m--);
}
/*-------------函數(shù)聲明-----------*/
void sport(unsigned char sport);
void Send_Byte( unsigned char dat);
void disply(unsigned char code *p);
/*=*=*=*=*=*=*=*=*=*=*主--函--數(shù)=*=*=*=*=*=*=*=*=*=*=*/
void main ()
{
unsigned char LED;
TMOD=0X20; //設(shè)置定時(shí)器1工作方式2,八位自動(dòng)重裝
TH1=0Xfd;
TL1=0Xfd; //設(shè)定9600波特率
TR1=1; //啟動(dòng)定時(shí)器
REN=1; //允許串行口接收控制位
SM0=0;
SM1=1; //設(shè)定串行口工作方式1
EA=1; //總中斷控制位打開(kāi)
ES=1; //串行口中斷控制位打開(kāi)
Sound=1;
car1=0;
car2=0;
car3=0;
car4=0;
led_8=0x1f;
flag=0;LED=1;
while(1)
{
L:
if(flag==1)
{
LED=~LED;
disply(black);
P1=0Xff;
flag=0;
}
if(LED==1)
{
disply(xin);if(flag==1) goto L;
disply(jin);if(flag==1) goto L;
disply(xiao);if(flag==1) goto L;
disply(qian);
}
}//while
}//main
/*=================串口中斷程序=================*/
void serial() interrupt 4
{
RI=0; //清零,準(zhǔn)備接收數(shù)據(jù)
js=SBUF; //接收數(shù)據(jù)
sport(js); //運(yùn)動(dòng)控制
}
/*=====================================================
---------運(yùn)動(dòng)調(diào)節(jié)函數(shù)---------
=====================================================*/
void sport(unsigned char sport)
{
switch(sport)
{
case 0x41: car1=1;car2=0;car3=0;car4=1; break;/////////////方向鍵 A
case 0x42: car1=0;car2=1;car3=1;car4=0; break;/////////////方向鍵 B
case 0x43: car1=1;car2=1;car3=1;car4=1; break;/////////////暫停鍵 C
case 0x44: car1=0;car2=1;car3=0;car4=1; break;/////////////后退鍵 D
case 0x45: car1=1;car2=0;car3=1;car4=0; break;/////////////前進(jìn)鍵 E
case 0x46: Sound=1; break;/////////////喇叭響 F
case 0x47: Sound=0; break;/////////////喇叭靜 G
case 0x48: flag=1; break;/////////////開(kāi)燈 H
default: break;
}
}
/*=====================================================
---------點(diǎn)陣發(fā)送一個(gè)字節(jié)---------
=====================================================*/
void Send_Byte( unsigned char dat)
{
unsigned char i;
LEDARRAY_LE = 0;
_nop_();
LEDARRAY_LE = 0;
_nop_();
for( i = 0 ; i < 8 ; i++ )
{
if( dat&0x01 )
{
LEDARRAY_DI = 1;
}
else
{
LEDARRAY_DI = 0;
}
LEDARRAY_CLK = 1; //上升沿發(fā)送數(shù)據(jù)
_nop_();
LEDARRAY_CLK = 0;
_nop_();
dat >>= 1;
}
}
void disply(unsigned char code *p)
{
unsigned char *led;
unsigned char temp;
unsigned int i;
unsigned char j;
temp = 0x7f;
for(i=1800;i>0;i--)
{
led=p;
for(j=0;j<8;j++)
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
QQ_小車.zip
(57.91 KB, 下載次數(shù): 16)
2017-12-19 18:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
水表
時(shí)間:
2017-12-24 12:03
樓主 只求手機(jī)app
1032942191@qq.com
作者:
ihei
時(shí)間:
2017-12-25 14:45
能否提供下app?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1