⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 倒车雷达源代码
💻 C
字号:
#include "main.h"
#include <reg51.h>
#include "mtv230m.h"
#include <intrins.h>

 unsigned char fskd;//发射脉冲宽度
sbit dcport= P1^0;
sbit clk1=P1^7;
sbit clk2=P3^5;
sbit power_sw=P1^2; 
extern bit key1();//音量/+
extern bit key2();//音量/-
extern bit key3();//菜单
extern bit key4();//开关机
extern bit key7();//AV1/AV2/AV3/TV
extern void vol_char();

void qdfs();
extern void time_asd();
extern void read_24c02();
extern void osd_pz();
extern void key_menu();
extern void jintu(char r);//进度条
extern bit key4();//开关机
extern bit jsf;
extern bit jsfa;//接收到回波标志
extern void osd_start();//OSD初始化
extern void osd_start1();//OSD初始化
extern void osd_clr();
extern void osd_char_a(unsigned char row,unsigned  char column,//单字符-格式(a)
                           unsigned int char_rom_address, unsigned char color,
                           unsigned char background,unsigned char blink);//字符颜色,背景颜色,是否闪烁

extern unsigned int data juli;//回波距离
extern unsigned int pu;//平均距离
extern char fbr;
bit st;
bit tiao;
unsigned char urb;
extern unsigned int xdata bojina;//近距离报警区
extern unsigned int xdata bojinb;//中距离报警
extern unsigned int xdata bojinc;//远距离

extern unsigned char vol;

main()
{
 int i;
 int e;
osd_pz();//配置芯片功能
time_asd();
fskd=0x10;
 osd_start1();
 read_24c02();//读取设置参数
while(1)
{ 
 WDT=0x47; 
  key_menu();//进入菜单 
  if(key1())//音量+
    {
     e=30000;
     vol=vol+3;
     if(vol>=253)
        vol=253;
     DA3=vol;   
     if(!tiao)
     osd_start();
     vol_char();
     jintu(vol);
    }
  if(key2())//音量-
    {
    e=30000;
     vol=vol-3;
     if((vol<=0)|(vol>253))
        vol=0;
     DA3=vol;   
     if(!tiao)
     osd_start();
      vol_char();
     jintu(vol);
     tiao=1;
    }
    if(key4())
     power_sw=~power_sw;
 e--;
  if(e<=0)
  {
   i=0;
   tiao=0;
  }
   if((!dcport)&(!tiao))
{
 i=i-1;
 if(i<=0)
    {
    osd_start1();
    i=3000;
    }
qdfs();//准备启动1次发射  

}
else {i=0;P42=~P42;
       osd_clr();

}

}
}


void qdfs()
{
unsigned char csu;
unsigned char i;
bit bt;
jsf=0;
jsfa=0;
juli=0;
csu=fskd;
P43=1;
EX0=0; 
IE0=0;
for(clk1=0,clk2=0,i=csu;i!=0;i--)
{  if(bt)
     {  clk1=0;
         clk2=1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
       bt=!bt;
      }
else{     
       clk1=1;
       clk2=0;
       _nop_();
        _nop_();
        _nop_();
        _nop_();
       bt=!bt;}
   
}       
clk1=0;clk2=0;
TH1=0x8b;   //s-1厘米单位分辨率
TL1=0x8b;
ET1=1;
TR1=1;
for(i=0;i<100;i++)
    _nop_();
P43=0;
EX0=1; 
while(!(jsf|jsfa));

if(jsfa)
{
urb=urb+1;
if(urb>=6)
{
      urb=0;
     if((fbr==10)&(pu<bojina))
          {           if(st)
            osd_start1(); 
            st=0;
           osd_char_a(4, 8, 28, 0x06, 0, 0);
           osd_char_a(4, 10, 29, 0x06, 0, 0);
           osd_char_a(4, 12, 1, 0x06, 0, 0);
           osd_char_a(4, 14, 25, 0x06, 0, 0);
           }
       else if((fbr==-10)&(pu>bojinc)){ if(st)
             osd_start1(); 
            st=0;
           osd_char_a(4,10, 1, 0x06, 0, 0);
           osd_char_a(4, 12, 21, 0x06, 0, 0);
            
             }
        else ;
}
}
else{
     if(!st)
          osd_start1();
      st=1;
      if(pu>2000)
       osd_start1();
      else{
         i=pu/1000;
         if(i!=0)
         osd_char_a(4, 8,i+1 , 0x06, 0, 0);    
         osd_char_a(4, 10, (pu%1000)/100+1, 0x06, 0, 0);
         osd_char_a(4, 12, 118, 0x06, 0, 0);
         osd_char_a(4, 14, (pu%100)/10+1, 0x06, 0, 0);
         osd_char_a(4, 16, pu%10+1, 0x06, 0, 0);
         osd_char_a(4, 18, 23, 0x06, 0, 0);
        }
/*    us=us+1;
    if(pu<=bojinc)
        {
         if(pu<=bojinb)
            {
             if(pu<=bojina)
                p53=0;
             else {if(us>=10){p35=~p35;us=0;}}
         else {if(us<=20)p35=1;
                   else p35=0;
                   if(pu>=30)
                    us=0;}
            }
        }
    */
     } 
}                                                             
                                                                  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -