• 大小: 458KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: 其他
  • 标签:

资源简介

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个文件信息

评论

共有 条评论