资源简介
51单片机只能小车花式,寻迹,红外,超声波,避障,遥控实验
总共包含12个实验代码一起打包放送
每一个运行方式都有一个实验进行演示,包含详细注释
为小白量身定做,引导一条光明之路,佛光普照,大杀四方
毕业设计,应付老师必备良药。
奋斗吧骚年。
代码片段和文件信息
/**********************亚博智能小车例程************************
* 平台:BST-V51 + Keil uVision3 + STC89C52
* 名称:智能小车例程
* 公司:深圳市亚博软件开发有限公司
* 淘宝:http://bstmcu.taobao.com
* 编写:罗工
* 日期:2014-9-11
* 晶振:11.0592MHZ
* 说明:免费开源,不提供源代码分析,有问题直接到交流群交流
* QQ交流群:217588580
* 硬件设置:要有自己动手能力,进行组装接线和传感器灵敏度的调试,才能完成实验
* 使用说明:根据下面IO口自己用杜邦线连接各种模块,可以自己修改各种模块IO口
* 本实验需要使用LCD1602液晶屏 注意调节开发板上SW1对比度,用电脑USB供电时调大一点,用电池供电时调小一点对比度。
* 学习建议:进行智能小车程序学习前,可先看51单片机开发板配套28课视频教程
******************************************************************/
//上电后程序运行,LCD1602液晶屏上显示探测到的距离,实时更新。
//此实验为智能小车超声波避障实验的铺垫实验,小车不会启动
//注意程序只做参考之用,要达到最理想的效果,还需要同学们细心调试。
#include //器件配置文件
#include
#define LCM_Data P0
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
sbit DU = P2^6;
sbit WE = P2^7;
sbit RX=P2^0 ;//Echo
sbit TX=P2^1 ;//Trig
sbit LCM_RW=P1^1 ;//定义LCD引脚
sbit LCM_RS=P1^0 ;
sbit LCM_E=P2^5 ;
void cmg88()//关数码管
{
DU=1;
P0=0X00;
DU=0;
}
void LCMInit(void);//LCD初始化函数
void DisplayOneChar(unsigned char X unsigned char Y unsigned char DData);//LCD显示一个字符函数
void DisplayListChar(unsigned char X unsigned char Y unsigned char code *DData);//LCD显示一个字符串函数
void Delay5Ms(void);//延时5毫秒函数
void Delay400Ms(void);//延时400毫秒函数
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);//LCD1602写数据函数
void WriteCommandLCM(unsigned char WCLCMBuysC);//LCD写命令函数
//unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char code Range[] =“==Range Finder==“;//LCD1602显示格式
unsigned char code ASCII[13] = “0123456789.-M“;
unsigned char code table[]=“Distance:000.0cm“;
unsigned char code table1[]=“!!! Out of range“;
//static unsigned char DisNum = 0; //显示用指针
unsigned int time=0;
unsigned long S=0;
bit flag =0;
unsigned char disbuff[4]={ 0000};
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 0; //延时
LCM_E = 1;
}
//写指令
void WriteCommandLCM(unsigned char WCLCMBuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//读数据
/*unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}*/
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //检测忙信号
return(LCM_Data);
}
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x380); //三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x380);
Delay5Ms();
WriteCommandLCM(0x380);
Delay5Ms();
WriteCommandLCM(0x381); //显示模式设置开始要求每次检测忙信号
WriteCommandLCM(0x081); //关闭显示
WriteCommandLCM(0x011); //显示清屏
WriteCommandLCM(0x061); // 显示光标移动设置
WriteCommandLCM(0x0c1); // 显示开及光标设置
}
//按指定位置显示一个字符
void Displ
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\0、常用函数库\
文件 1020 2014-09-21 23:19 4、智能小车参考实验例程\0、常用函数库\bst_car.h
文件 17773 2009-06-02 08:29 4、智能小车参考实验例程\0、常用函数库\stc.h
文件 2084 2014-09-14 03:53 4、智能小车参考实验例程\0、常用函数库\全速前后左右函数.txt
文件 336 2014-09-11 18:04 4、智能小车参考实验例程\0、常用函数库\延时函数.txt
文件 538 2014-09-12 14:13 4、智能小车参考实验例程\0、常用函数库\按键启动函数.txt
文件 183 2014-09-12 14:11 4、智能小车参考实验例程\0、常用函数库\蜂鸣器短响函数.txt
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\10、智能小车超声波测距实验\
文件 6918 2014-09-18 05:59 4、智能小车参考实验例程\10、智能小车超声波测距实验\main.c
文件 13989 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\main.LST
文件 13844 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\main.OBJ
文件 13119 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic
文件 5873 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.hex
文件 46 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.lnp
文件 17026 2014-09-18 06:14 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.M51
文件 1326 2014-09-21 03:22 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.Opt
文件 247 2014-09-21 03:22 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.plg
文件 2137 2014-09-18 02:10 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic.Uv2
文件 1326 2014-09-18 16:28 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic_Opt.Bak
文件 0 2014-09-17 19:03 4、智能小车参考实验例程\10、智能小车超声波测距实验\ultrasonic_Uv2.Bak
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\10、智能小车超声波测距实验\关于超声波测距程序编译不成功的说明\
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\10、智能小车超声波测距实验\关于超声波测距程序编译不成功的说明\C51FPS\
文件 50348 2002-03-28 16:21 4、智能小车参考实验例程\10、智能小车超声波测距实验\关于超声波测距程序编译不成功的说明\C51FPS\C51FPS.LIB
文件 61 2014-09-18 03:33 4、智能小车参考实验例程\10、智能小车超声波测距实验\关于超声波测距程序编译不成功的说明\关于超声波测距程序编译不成功的说明.txt
目录 0 2017-04-24 08:28 4、智能小车参考实验例程\11、智能小车超声波避障实验\
文件 1019 2014-09-18 16:27 4、智能小车参考实验例程\11、智能小车超声波避障实验\bst_car.h
文件 16326 2014-09-21 04:37 4、智能小车参考实验例程\11、智能小车超声波避障实验\CSB_avoid
文件 6055 2014-09-21 04:37 4、智能小车参考实验例程\11、智能小车超声波避障实验\CSB_avoid.hex
文件 45 2014-09-21 04:37 4、智能小车参考实验例程\11、智能小车超声波避障实验\CSB_avoid.lnp
文件 23000 2014-09-21 04:37 4、智能小车参考实验例程\11、智能小车超声波避障实验\CSB_avoid.M51
............此处省略149个文件信息
评论
共有 条评论