文档详情

蓝牙遥控小车程序..doc

发布:2017-01-28约5.34千字共10页下载文档
文本预览下载声明
多功能小车程序 ——成旺荣 2015-4-6 //main.c #includeallhead.h #define uchar unsigned char #define uint unsigned int float dis=0; //原始距离 int distance=0; //距离整数 char changeint[4]={0,1,2,3}; void main() { maininit(); //全部初始化 while(1) { // beer=0; dis=MeasureDistance(); //测量距离 distance=(int)(dis*1); //单位mm disapple(distance); //数码管显示 change_int_to_char(distance); //把距离变成四位字符 send_and_control(); //发送距离的四位字符 Car(s1,s2);delayms(10); } } //mainint.c初始化 #includeallhead.h void maininit() { s1=0; s2=0; SCON=0X50; //设置串口工作方式 为工作方式1 包含SM0 SM1 SM2 REN 0101 0000 // SM0=0; // SM1=1; //REN=1; PCON=0X80; //波特率加倍 TMOD=0X21; //计时器0工作1,计时器1工作2 TH0=0; //计数器0 TL0=0; TH1=0XFA; //计数器1初始值设置,注意波特率是9600的 TL1=0XFA; IT0=1; //下降沿触发 EX0=1; //开外部中断 ET0=1; //开定时器0中断 TR0=0; //未打开计数器 ES=1; //打开接收中断 EA=1; //开总中断 TR1=1; //打开计数器 } //hc04.c蓝牙模块 #includeallhead.h #includemain.h unsigned char flag; char receiveData; //蓝牙接收数据 void sendout() { int i; for(i=0;i4;i++) { SBUF=changeint[i]; while(!TI); //等待发送数据完成 TI=0; //清除发送完成标志位 } for(i=0;i2;i++) { SBUF=m; while(!TI); //等待发送数据完成 TI=0; } SBUF=\n; while(!TI); //等待发送数据完成 TI=0; } /******************************************************************************* * 函 数 名 :Usart() interrupt 4 * 函数功能 : 中断输入函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void Usart() interrupt 4 { int i; // char receiveData; //蓝牙接收数据 receiveData=SBUF; //出去接收到的数据 RI = 0; //清除接收中断标志位 flag=1; } //eat.c超声波模块 #includeallhead.h float i=0.0; float MeasureDistance() { TH0=0; TL0=0; Echo=0; Trig=1; //延时 Delay10us();
显示全部
相似文档