标题:
51蓝牙驱动程序
[打印本页]
作者:
xuning0000
时间:
2018-7-29 09:03
标题:
51蓝牙驱动程序
#include<reg52.h>
unsigned char r_buf;
typedef unsigned char u16;
unsigned char PWM_COUNT;
unsigned char PWM_VLAUE;
bit direc_flag;
sbit IN1=P0^0;
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit IN5=P1^0;
sbit IN6=P1^1;
sbit IN7=P1^2;
sbit IN8=P1^3;
void Timer0Init()
{
TMOD=0X01;
TL0=(65536-1000)%256;
TH0=(65536-1000)/256;
ET0=1;
EA=1;
TR0=1;
PWM_COUNT=0;
}
void BlueteethInit()
{
SCON=0X50;
TMOD=0X20;
PCON=0X00;
TH1=0Xfd;
TL1=0Xfd;
EA=1;
ES=1;
TR1=1;
}
void qian()
{
PWM_VLAUE=5;
IN1=0;IN2=1;
IN3=0;IN4=1;
IN5=0;IN6=1;
IN7=0;IN8=1;
}
void ma()
{
IN1=0;IN2=0;
IN3=0;IN4=0;
IN5=0;IN6=0;
IN7=0;IN8=0;
}
void left()
{
PWM_VLAUE=4;
IN1=0;IN2=0;
IN3=0;IN4=1;
IN5=0;IN6=1;
IN7=0;IN8=0;
}
void right()
{
PWM_VLAUE=4;
IN1=0;IN2=1;
IN3=0;IN4=0;
IN5=0;IN6=0;
IN7=0;IN8=1;
}
void back()
{
PWM_VLAUE=5;
IN1=1;IN2=0;
IN3=1;IN4=0;
IN5=1;IN6=0;
IN7=1;IN8=0;
}
void backleft()
{
PWM_VLAUE=4;
IN1=0;IN2=0;
IN3=1;IN4=0;
IN5=1;IN6=0;
IN7=0;IN8=0;
}
void backright()
{
PWM_VLAUE=4;
IN1=1;IN2=0;
IN3=0;IN4=0;
IN5=0;IN6=0;
IN7=1;IN8=0;
}
void Blueteeth()interrupt 4
{
if(RI)
{
RI=0;
r_buf=SBUF;
}
else
TI=0;
}
void Timer0() interrupt 1
{
PWM_COUNT++;
TL0=(65536-1000)%256;
TH0=(65536-1000)/256;
if (PWM_COUNT== PWM_VLAUE)
{
IN1=0;IN2=0;
IN3=0;IN4=0;
IN5=0;IN6=0;
IN7=0;IN8=0;
}
if (PWM_COUNT==20)
{
IN1=0;IN2=1;
IN3=0;IN4=1;
IN5=0;IN6=1;
IN7=0;IN8=1;
PWM_COUNT=0;
}
}
void main()
{
PWM_COUNT=0;
PWM_VLAUE=5;
direc_flag=0;
IN1=0;IN2=0;
IN3=0;IN4=0;
IN5=0;IN6=0;
IN7=0;IN8=0;
Timer0Init();
BlueteethInit();
while(1)
{
switch (r_buf)
{
case '1': qian();break;
case '4': ma();break;
case '2': left();break;
case '7': right();break;
case '3': back();break;
case '5': backleft();break;
case '6': backright();break;
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1