• 大小: 484KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: 其他
  • 标签: 测速程序  

资源简介

小车测速程序,51代码,有屏显示,有超声波测距等功能。

资源截图

代码片段和文件信息

//超声波模块显示程序
#include      //包括一个52标准内核的头文件
#include  //包含_nop_()函数定义的头文件
#define uchar unsigned char //定义一下方便使用
#define uint  unsigned int
#define ulong unsigned long
#define DataPort P2
sbit Tx  = P3^4; //产生脉冲引脚
sbit Rx  = P3^2; //回波引脚
sbit left1=P0^0;
sbit left2=P0^1;
sbit right1=P0^2;
sbit right2=P0^3;
sbit E=P3^5;
sbit RS=P3^7;
sbit RW=P3^6;
sbit RST=P3^0;
sbit PSB=P3^1;

unsigned char code string[ ]= {“右电机转速“};
unsigned char code unit[]={“CM/S“};
unsigned char code digit[ ]={“0123456789.“}; //定义字符数组显示数字
uint distance[4]speed_dat[4];  //测距接收缓冲区
uchar geshibaitempoutcomeHflagoutcomeLiCOUT_2COUT_3;
  //自定义寄存器
bit succeed_flag;  //测量成功标志
//********函数声明
void conversion(uint temp_data);
void delay_20us();
void pai_xu();
void LMotRun(uchar speed1 uchar speed2);
void LMotBack(uchar speed1 uchar speed2);
void RMotRun(uchar speed1uchar speed2);
void RMotBack(uchar speed1 uchar speed2);
void LMotStop();
void RMotStop();
void AMotRun(uchar speed1 uchar speed2);
void Tracking();
void conversion_1(uint temp_data);
void LCD_Init(void);
void Check_Busy();
void Write_char(bit start uchar temp_data);
void Clr_Scr(void);
void LCD_set_xy( uchar x uchar y );
void LCD_Write_string(uchar Xuchar Yuchar *s);
void LCD_Write_number(uchar s);
void Lcd_Mark2(void);
void Conut(void);
void delay_1(uint i)
{
int j;
for(;i>0;i--)
{
for(j=120;j>0;j--);
}
}

/*****************************************************
函数功能:延时1ms
(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒
***************************************************/
void delay1ms()
{
   unsigned char ij;
 for(i=0;i<10;i++)
  for(j=0;j<33;j++)
   ;  
 }

/*****************************************************
函数功能:延时若干毫秒
入口参数:n
***************************************************/
 void delay(unsigned char n)
 {
   unsigned char i;
for(i=0;i    delay1ms();
 }




void main(void)   // 主程序
{  uint distance_dataab;
    uint total;
   uchar CONT_1;    
  P0=0x7a; //定义变量i指向字符串数组元素
   i=0;
   flag=0;
   EA=1;
Tx=0;       //首先拉低脉冲输入引脚
TMOD=0x11;    //定时器0,定时器1,16位工作方式
   IT0=0;
   IT1=1;
   EX1=1;        //由高电平变低电平,触发外部中断
ET1=1;
TR1=1;
TH1=0;
TL1=0;        //打开定时器0中断
EX0=0;        //关闭外部中断
   Tracking();
LCD_Init();       //设置液晶显示器
Clr_Scr();        //清屏
                   //从图形显示状态下返回
    Lcd_Mark2();
while(1)         //程序循环
{
   Conut();
EX0=0;
TR0=0;
     Tx=1;
        delay_20us();
        Tx=0;         //产生一个20us的脉冲,在Tx引脚  
        while(Rx==0);  //等待Rx回波引脚变高电平
     succeed_flag=0; //清测量成功标志
     EX0=1;          //打开外部中断
    TH0=0;          //定时器0清零
        TL0=0;          //定时器0清零
     TF0=0;          //
        TR0=1;          //启动定时器0


      while(TH0 < 30);//等待测量的结果,周期65.535毫秒(可用中断实现)  
  TR0=0;          //关闭定时器0
        EX0=0;          //关闭外部中断

    if(succeed_flag==1)
     { 
   distance_data=outcomeH;            

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     445056  2011-06-15 21:13  测速小车\小车循迹+避障+显示测速\HY-SRF05 使用手册明书.pdf

     文件       6376  2009-05-07 14:37  测速小车\小车循迹+避障+显示测速\STARTUP.A51

     文件      14071  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\STARTUP.LST

     文件        758  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\STARTUP.OBJ

     文件      21454  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速

     文件      10047  2011-11-22 11:43  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.c

     文件         92  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.lnp

     文件      19559  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.LST

     文件      31667  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.M51

     文件      25633  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.OBJ

     文件        230  2012-08-25 02:34  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.plg

     文件      10047  2011-11-22 17:16  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.txt

    .......     71405  2012-08-25 02:34  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.uvgui.Administrator

    .......      5683  2012-08-25 02:34  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.uvopt

    .......     13508  2012-08-25 02:34  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速.uvproj

    .......     55739  2011-11-22 11:43  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速_uvopt.bak

    .......     13478  2011-11-14 20:45  测速小车\小车循迹+避障+显示测速\小车循迹+避障+显示测速_uvproj.bak

     目录          0  2012-08-25 02:34  测速小车\小车循迹+避障+显示测速

     目录          0  2012-08-25 02:33  测速小车

----------- ---------  ---------- -----  ----

               744803                    19


评论

共有 条评论