|
智能小车程序分享,有红外遥控,蓝牙 避障 寻迹 12864显示 多个功能组合 欢迎大家参考
单片机源程序:
- #include<AT89x52.H>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit p33=P3^3;
- uchar temp=0;
- uint temp1=0; //时间变量
- uchar wei1=8,wei=0; //功能标志位
- bit wei3=0; //启动与关闭
- unsigned long ss=0; //计算出超声波距离值
- unsigned long s1=0; //超声波距离值
- unsigned long s2=0; //超声波距离值
- bit wei8;
- long int sss=0; //距离变量
- uchar count;
- uchar push_duoji; //舵机PWM固定变量
- uchar pwm_duoji; //舵机PWM变量
- uint temp3; //延迟变量
- uchar juli[2]; //显示数组
- bit ok=1; //舵机开关PWM标志位
- uchar daima[1]; //蓝牙用到的变量
- bit fala; //蓝牙接收标志位
- #include "yanchi.h" //【延迟】头文件
- #include "9012.h" //【远红外遥控】头文件
- #include "dianji.h" //【驱动电机】头文件
- #include "led.h" //【LED灯】头文件
- #include "xunji.h" //【寻迹】头文件
- #include "zimo.h" //【图片字膜】头文件
- #include "12864.h" //【12864液晶】头文件
- #include "bizhang.h" //【超声波与避障】头文件
- #include "lanya.h" //【蓝牙驱动与设置】头文件
- #include "aduoji.h" //【舵机】头文件
- #include "maina.h" //【主函数 】头文件
- void timeroinit1(void) //定时器初始化 1
- {
- EA=1;
- ET1=1;
- TMOD|=0X20;
- TH1=0x9c; // 初值
- TL1=0x9c; //重装值 计算就是100us
- TR1=1;
- }
- void timer1() interrupt 3 //定时器1
- {
- kes(); //按键函数
- temp++;
- temp3++;
- if(temp3>8010)
- temp3=0;
- if(temp==10) //检测10次(1ms)下面的pwm累加
- {
- pwm_val++; //轮子PWM++
- temp=0;
- if(pwm_val>=10)
- pwm_val=0;
- }
- pwm_val_duoji(); //舵机转动角度PWM
- pwm_out_right_moto(); //轮PWM调子函数
- led_shezhi1(); //LED灯执行函数
- }
- void main()
- {
- xianshi12864(); //12864初始化显示的函数
- timeroinit(); //定时1初始化
- intoinit(); //中断0
- timeroinit1(); //定时2初始化
- T2int(); //T2定时器初始化
- duojichu(); //舵机居中初始化
- while(1)
- {
-
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
下载:
【6】遥控 速度 LED功能 寻迹 12864 超声波避障 蓝牙.zip
(107.38 KB, 下载次数: 167)
|
|