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

📄 main.lst

📁 倒车雷达源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 159      =1   sbit P47oe=padmodc^7;   
 160      =1   sbit P46oe=padmodc^6;   
 161      =1   sbit P45oe=padmodc^5;   
 162      =1   sbit P44oe=padmodc^4;   
 163      =1   sbit P43oe=padmodc^3;   
 164      =1   sbit P42oe=padmodc^2;   
 165      =1   sbit P41oe=padmodc^1;   
 166      =1   sbit P40oe=padmodc^0;
 167      =1   
 168      =1   sbit P57oe=padmodd^7;   
 169      =1   sbit P56oe=padmodd^6;   
 170      =1   sbit P55oe=padmodd^5;   
 171      =1   sbit P54oe=padmodd^4;   
 172      =1   sbit P53oe=padmodd^3;   
 173      =1   sbit P52oe=padmodd^2;   
 174      =1   sbit P51oe=padmodd^1;   
 175      =1   sbit P50oe=padmodd^0;   
 176      =1   
 177      =1   sbit PWMF=optiona^7;   
 178      =1   sbit DIV253=optiona^6;   
 179      =1   sbit SivAbs1=optiona^5;   
 180      =1   sbit SivAbs0=optiona^4;   
 181      =1   sbit ENSCL=optiona^3;   
 182      =1   sbit Msel=optiona^2;   
 183      =1   sbit MIICF1=optiona^1;   
 184      =1   sbit MIICF0=optiona^0;   
 185      =1  
 186      =1  */
   4          #include <intrins.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  INTRINS.H
   3      =1  
   4      =1  Intrinsic functions for C51.
   5      =1  Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  extern void          _nop_     (void);
  10      =1  extern bit           _testbit_ (bit);
  11      =1  extern unsigned char _cror_    (unsigned char, unsigned char);
  12      =1  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  13      =1  extern unsigned long _lror_    (unsigned long, unsigned char);
  14      =1  extern unsigned char _crol_    (unsigned char, unsigned char);
  15      =1  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  16      =1  extern unsigned long _lrol_    (unsigned long, unsigned char);
  17      =1  extern unsigned char _chkfloat_(float);
   5          
   6           unsigned char fskd;//发射脉冲宽度
   7          sbit dcport= P1^0;
   8          sbit clk1=P1^7;
   9          sbit clk2=P3^5;
  10          sbit power_sw=P1^2; 
  11          extern bit key1();//音量/+
  12          extern bit key2();//音量/-
  13          extern bit key3();//菜单
  14          extern bit key4();//开关机
C51 COMPILER V7.01  MAIN                                                                   06/10/2003 09:42:39 PAGE 7   

  15          extern bit key7();//AV1/AV2/AV3/TV
  16          extern void vol_char();
  17          
  18          void qdfs();
  19          extern void time_asd();
  20          extern void read_24c02();
  21          extern void osd_pz();
  22          extern void key_menu();
  23          extern void jintu(char r);//进度条
  24          extern bit key4();//开关机
  25          extern bit jsf;
  26          extern bit jsfa;//接收到回波标志
  27          extern void osd_start();//OSD初始化
  28          extern void osd_start1();//OSD初始化
  29          extern void osd_clr();
  30          extern void osd_char_a(unsigned char row,unsigned  char column,//单字符-格式(a)
  31                                     unsigned int char_rom_address, unsigned char color,
  32                                     unsigned char background,unsigned char blink);//字符颜色,背景颜色,是否闪烁
  33          
  34          extern unsigned int data juli;//回波距离
  35          extern unsigned int pu;//平均距离
  36          extern char fbr;
  37          bit st;
  38          bit tiao;
  39          unsigned char urb;
  40          extern unsigned int xdata bojina;//近距离报警区
  41          extern unsigned int xdata bojinb;//中距离报警
  42          extern unsigned int xdata bojinc;//远距离
  43          
  44          extern unsigned char vol;
  45          
  46          main()
  47          {
  48   1       int i;
  49   1       int e;
  50   1      osd_pz();//配置芯片功能
  51   1      time_asd();
  52   1      fskd=0x10;
  53   1       osd_start1();
  54   1       read_24c02();//读取设置参数
  55   1      while(1)
  56   1      { 
  57   2       WDT=0x47; 
  58   2        key_menu();//进入菜单 
  59   2        if(key1())//音量+
  60   2          {
  61   3           e=30000;
  62   3           vol=vol+3;
  63   3           if(vol>=253)
  64   3              vol=253;
  65   3           DA3=vol;   
  66   3           if(!tiao)
  67   3           osd_start();
  68   3           vol_char();
  69   3           jintu(vol);
  70   3          }
  71   2        if(key2())//音量-
  72   2          {
  73   3          e=30000;
  74   3           vol=vol-3;
  75   3           if((vol<=0)|(vol>253))
  76   3              vol=0;
C51 COMPILER V7.01  MAIN                                                                   06/10/2003 09:42:39 PAGE 8   

  77   3           DA3=vol;   
  78   3           if(!tiao)
  79   3           osd_start();
  80   3            vol_char();
  81   3           jintu(vol);
  82   3           tiao=1;
  83   3          }
  84   2          if(key4())
  85   2           power_sw=~power_sw;
  86   2       e--;
  87   2        if(e<=0)
  88   2        {
  89   3         i=0;
  90   3         tiao=0;
  91   3        }
  92   2         if((!dcport)&(!tiao))
  93   2      {
  94   3       i=i-1;
  95   3       if(i<=0)
  96   3          {
  97   4          osd_start1();
  98   4          i=3000;
  99   4          }
 100   3      qdfs();//准备启动1次发射  
 101   3      
 102   3      }
 103   2      else {i=0;P42=~P42;
 104   3             osd_clr();
 105   3      
 106   3      }
 107   2      
 108   2      }
 109   1      }
 110          
 111          
 112          void qdfs()
 113          {
 114   1      unsigned char csu;
 115   1      unsigned char i;
 116   1      bit bt;
 117   1      jsf=0;
 118   1      jsfa=0;
 119   1      juli=0;
 120   1      csu=fskd;
 121   1      P43=1;
 122   1      EX0=0; 
 123   1      IE0=0;
 124   1      for(clk1=0,clk2=0,i=csu;i!=0;i--)
 125   1      {  if(bt)
 126   2           {  clk1=0;
 127   3               clk2=1;
 128   3              _nop_();
 129   3              _nop_();
 130   3              _nop_();
 131   3              _nop_();
 132   3             bt=!bt;
 133   3            }
 134   2      else{     
 135   3             clk1=1;
 136   3             clk2=0;
 137   3             _nop_();
 138   3              _nop_();
C51 COMPILER V7.01  MAIN                                                                   06/10/2003 09:42:39 PAGE 9   

 139   3              _nop_();
 140   3              _nop_();
 141   3             bt=!bt;}
 142   2         
 143   2      }       
 144   1      clk1=0;clk2=0;
 145   1      TH1=0x8b;   //s-1厘米单位分辨率
 146   1      TL1=0x8b;
 147   1      ET1=1;
 148   1      TR1=1;
 149   1      for(i=0;i<100;i++)
 150   1          _nop_();
 151   1      P43=0;
 152   1      EX0=1; 
 153   1      while(!(jsf|jsfa));
 154   1      
 155   1      if(jsfa)
 156   1      {
 157   2      urb=urb+1;
 158   2      if(urb>=6)
 159   2      {
 160   3            urb=0;
 161   3           if((fbr==10)&(pu<bojina))
 162   3                {           if(st)
 163   4                  osd_start1(); 
 164   4                  st=0;
 165   4                 osd_char_a(4, 8, 28, 0x06, 0, 0);
 166   4                 osd_char_a(4, 10, 29, 0x06, 0, 0);
 167   4                 osd_char_a(4, 12, 1, 0x06, 0, 0);
 168   4                 osd_char_a(4, 14, 25, 0x06, 0, 0);
 169   4                 }
 170   3             else if((fbr==-10)&(pu>bojinc)){ if(st)
 171   4                   osd_start1(); 
 172   4                  st=0;
 173   4                 osd_char_a(4,10, 1, 0x06, 0, 0);
 174   4                 osd_char_a(4, 12, 21, 0x06, 0, 0);
 175   4                  
 176   4                   }
 177   3              else ;
 178   3      }
 179   2      }
 180   1      else{
 181   2           if(!st)
 182   2                osd_start1();
 183   2            st=1;
 184   2            if(pu>2000)
 185   2             osd_start1();
 186   2            else{
 187   3               i=pu/1000;
 188   3               if(i!=0)
 189   3               osd_char_a(4, 8,i+1 , 0x06, 0, 0);    
 190   3               osd_char_a(4, 10, (pu%1000)/100+1, 0x06, 0, 0);
 191   3               osd_char_a(4, 12, 118, 0x06, 0, 0);
 192   3               osd_char_a(4, 14, (pu%100)/10+1, 0x06, 0, 0);
 193   3               osd_char_a(4, 16, pu%10+1, 0x06, 0, 0);
 194   3               osd_char_a(4, 18, 23, 0x06, 0, 0);
 195   3              }
 196   2      /*    us=us+1;
 197   2          if(pu<=bojinc)
 198   2              {
 199   2               if(pu<=bojinb)
 200   2                  {
C51 COMPILER V7.01  MAIN                                                                   06/10/2003 09:42:39 PAGE 10  

 201   2                   if(pu<=bojina)
 202   2                      p53=0;
 203   2                   else {if(us>=10){p35=~p35;us=0;}}
 204   2               else {if(us<=20)p35=1;
 205   2                         else p35=0;
 206   2                         if(pu>=30)
 207   2                          us=0;}
 208   2                  }
 209   2              }
 210   2          */
 211   2           } 
 212   1      }                                                             
 213                                                                            
C51 COMPILER V7.01  MAIN                                                                   06/10/2003 09:42:39 PAGE 11  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


key4 . . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
osd_start1 . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_jintu . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
dcport . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
osd_pz . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
jsfa . . . . . . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  INT      0000H  2
  e. . . . . . . . . . . . . . . . . .  AUTO     XDATA  INT      0002H  2
fskd . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0000H  1
read_24c02 . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
tiao . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
qdfs . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  csu. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0000H  1
  bt . . . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
juli . . . . . . . . . . . . . . . . .  EXTERN   DATA   U_INT    -----  2
fbr. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  CHAR     -----  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
jsf. . . . . . . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
urb. . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0001H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
time_asd . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
vol. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
vol_char . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
osd_start. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
key_menu . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
pu . . . . . . . . . . . . . . . . . .  EXTERN   XDATA  U_INT    -----  2
st . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
_osd_char_a. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
osd_clr. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
clk1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
clk2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
bojina . . . . . . . . . . . . . . . .  EXTERN   XDATA  U_INT    -----  2
bojinc . . . . . . . . . . . . . . . .  EXTERN   XDATA  U_INT    -----  2
key1 . . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
power_sw . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
key2 . . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    907    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      2       5
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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