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

📄 main.lst

📁 一个倒车雷达程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 196          {
 197   1      uchar ucTemp;
 198   1              
 199   1      if(RI)   //JIE SHOU ZHONG DUAN ;
 200   1      {  
 201   2      
 202   2         ucTemp=SBUF;
 203   2              if((ucTemp&0xF0)==0x50)      //kai shi jie shou san zi jie shu ju;
 204   2                      { 
 205   3                  byte_wei=0;
 206   3                  databyte[byte_wei++]=ucTemp;
 207   3                      }
 208   2              else
 209   2              if(byte_wei>0)
 210   2              databyte[byte_wei++]=ucTemp;
 211   2              if(byte_wei==3)              //fang zhi cheng xu fa sheng cuo wu;
 212   2              {
 213   3                              show_flag=1;
 214   3                  byte_wei=0; 
 215   3                  ChuLi_Disp_Data();
 216   3              }
 217   2              RI=0; 
 218   2       }   
 219   1      }              
 220          
 221           
 222          // pei zhi t0 ding shi;
 223          void t0_init()
 224          {
 225   1              EA=0;
 226   1          TMOD|=0X01;    //T0 GONG ZUO ZAI MO SHI 1,16 WEI DING SHI QI
 227   1              TMOD&=0XF1;
 228   1          TAMOD&=0XFE;  //T0M2=0;
 229   1          TH0=0XFA;     //DING SHI YAN SHI 1ms;(2/FOSC)*2*(-T0)=1ms,fosc=7.3728MHz,
 230   1          TL0=0X35;       //yi tiao zhi ling XU 2 ge ji qi zhou qi;T0=-1843.2
 231   1          TF0=0;
 232   1          ET0=1;
 233   1          TR0=1;          //kai shi ding shi qi T0;
 234   1          EA=1;                          
 235   1      }
 236          
 237          
 238          //ding shi xian shi cheng xu
 239          void t0_interrupt() interrupt 1
C51 COMPILER V7.09   MAIN                                                                  07/23/2005 16:37:43 PAGE 5   

 240          {
 241   1          //TF0=1;       // YING JIAN ZI DONG QING LING;
 242   1              //TH0=0XA0;
 243   1              //TL0=0X35;
 244   1              uchar_disp_wei++;
 245   1              switch(uchar_disp_wei)
 246   1              {
 247   2                      case 0x1:
 248   2                      //if(nearest_juli>=0&&nearest_juli<=3.15)
 249   2                      if(nearest_juli>=0&&nearest_juli<=3.15)                         //ju li da yu huo deng yu 0.3m
 250   2              {
 251   3              //      P0=0XFF;
 252   3              P0=nearest_juli<0.3?0xfd:disp_data[first_suzi]&0xFE;                     //xian shi di yi wei shu 
             -zi,ling jia shang dot xian shi
 253   3              }
 254   2                      P1&=0X7F;                                           //P1.7 ZHI LING
 255   2              P1|=0X50;
 256   2                      break;
 257   2                      case 0x2:
 258   2              //      if(nearest_juli<0.3) 
 259   2              //{
 260   2             //     P0=0X31;                                    //di er wei xian shi 'p'
 261   2             // }
 262   2              //      else
 263   2              if(nearest_juli>=0&&nearest_juli<=3.15) 
 264   2              {
 265   3                  P0=nearest_juli<0.3?0x31:disp_data[sec_suzi];                       // xian shi di er wei shu 
             -zi
 266   3              } 
 267   2              P1&=0XBF;                                           //P1.6 ZI LING
 268   2              P1|=0X90;
 269   2                      break;
 270   2                      case 0x3:
 271   2              //      if(nearest_juli<0.3) 
 272   2             // {
 273   2             //     P0=0XFD;                                    //di san wei xian shi '-'
 274   2            //  }
 275   2              if(nearest_juli>=0&&nearest_juli<=3.15) 
 276   2              {
 277   3                  P0=nearest_juli<0.3?0xfd:disp_data[thir_suzi];                      //xian shi de san wei shu 
             -zi   
 278   3              } 
 279   2              P1&=0XEF;                                           //P1.4 ZI LING
 280   2              P1|=0XC0;
 281   2              uchar_disp_wei=0x00;
 282   2                      break;
 283   2                      default:
 284   2                      uchar_disp_wei=0x00;
 285   2                      break;
 286   2              }
 287   1              if(nearest_juli>3.15)
 288   1              P0=0XFF;
 289   1              unSoundSpace++;
 290   1                      if(unSoundSpace<SOUNDHIGH)
 291   1                      {
 292   2                      SPK=ON;
 293   2                      RED_LED=ON;
 294   2                      }
 295   1                      //else
 296   1                      if(unSoundSpace>SOUNDHIGH&&unSoundSpace<=(SOUNDLOW*sound_flag+SOUNDHIGH))
 297   1                      {
 298   2                      SPK=OFF;
C51 COMPILER V7.09   MAIN                                                                  07/23/2005 16:37:43 PAGE 6   

 299   2                      RED_LED=OFF;
 300   2                      
 301   2                      }
 302   1                      if(unSoundSpace>SOUNDLOW*sound_flag+SOUNDHIGH)
 303   1                      {unSoundSpace=0;}
 304   1              TF0=0;
 305   1              TH0=0XFA;     //DING SHI YAN SHI 1ms;(2/FOSC)*2*(-T0)=1ms,fosc=7.3728MHz,
 306   1          TL0=0X35;       //yi tiao zhi ling XU 2 ge ji qi zhou qi;T0=-1843.2 
 307   1      }
 308          //CHU LI  JIE SHOU DE SHU JU ,DE CHU YING XIAN SHI DE XIN XI;
 309          void ChuLi_Disp_Data()
 310          {   
 311   1              //chu li di yi wei shu ju;
 312   1              switch(databyte[0]&0x0c)
 313   1              {
 314   2              case 0x00:first_char=0x6f;sec_char=0x3f;thir_char=0x3f;forth_char=0x3f; break;
 315   2              case 0x04:first_char=0x3f;sec_char=0x6f;thir_char=0x3f;forth_char=0x3f; break;
 316   2              case 0x08:first_char=0x3f;sec_char=0x3f;thir_char=0x6f;forth_char=0x3f; break;
 317   2              case 0x0c:first_char=0x3f;sec_char=0x3f;thir_char=0x3f;forth_char=0x6f; break;
 318   2              }
 319   1              switch(databyte[0]&0x03)
 320   1              {
 321   2              case 0x00:first_detector=0xff;forth_detector=0xff;break;
 322   2              case 0x01:first_detector=0xfe;forth_detector=0xff;break;
 323   2              case 0x20:first_detector=0xff;forth_detector=0xfd;break;
 324   2              case 0x03:first_detector=0xfe;forth_detector=0xfd;break;
 325   2      
 326   2              }
 327   1              //chu li di er  wei shu ju;
 328   1          first_suzi=toint(((databyte[2]&0x60)>>5)+'0');
 329   1          sec_suzi=toint(((databyte[2]&0x1E)>>1)+'0');
 330   1          thir_suzi=toint((databyte[2]&0x01)+'0')*5;
 331   1          nearest_juli=first_suzi+0.1*sec_suzi+0.01*thir_suzi;                 
 332   1              if(nearest_juli<0.25)
 333   1              nearest_juli=0.0;
 334   1          if(nearest_juli<0.3)
 335   1          {sound_flag=tingche; GREEN_LED=OFF;}
 336   1          if(nearest_juli>=0.3&&nearest_juli<0.6)
 337   1          sound_flag=weixian;
 338   1          if(nearest_juli>=0.6&&nearest_juli<=1.2)
 339   1          sound_flag=jingshi;
 340   1          if(nearest_juli>1.2&&nearest_juli<=3.15)
 341   1          {sound_flag=anquan;GREEN_LED=ON;}
 342   1      }
 343          
 344          //gao jing fa sheng chengxu
 345          
 346          /***********************************************
 347             CS:This Pin use to select a device for enable SPI transfer
 348             SCK:use as SPI  Pin of timming clock
 349             DIN:use as SPI  PIN of data output 
 350          ***********************************************/
 351          void DelayNus(int n)
 352          {
 353   1              int i=0;
 354   1              for(i=n; i>0; i--)                                          
 355   1              {
 356   2                      _nop_();        //a machine cycle 
 357   2              }
 358   1       }
 359          
 360          void Transfer16Bit(int sendData)  //send 16 bit data function
C51 COMPILER V7.09   MAIN                                                                  07/23/2005 16:37:43 PAGE 7   

 361          {
 362   1              unsigned int i=0;
 363   1              unsigned int  sendValue =sendData;
 364   1      
 365   1              int shift_bit=0x0001; 
 366   1              to_m35055_no++;//to_m35055实时xian shi xia yi wei di zhi;
 367   1              //nCS=0;
 368   1              //DelayNus(2);
 369   1              for( i=16; i>0; i--)
 370   1              {
 371   2                      SCK=0;
 372   2                      SIN=(sendValue&shift_bit)?1:0;
 373   2                      
 374   2                      //SIN=sendValue>>(i-1);
 375   2      
 376   2                      DelayNus(2);
 377   2                      SCK=1;
 378   2                  shift_bit<<=1;
 379   2                      DelayNus(5);            
 380   2              }       
 381   1      }
 382          
 383          


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


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

⌨️ 快捷键说明

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