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

📄 f334.lst

📁 使用单片机C8050F330对无线发射接受模块进行配置与控制,使组件成为一个无线通讯中的基站.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 268   3      
 269   3             Measure();
 270   3                 AdR[4]=TL_Adresult;
 271   3      
 272   3             S_AdResult0[0]=((AdR[0]/1000)+0X30);       //hundred
 273   3             S_AdResult0[1]=((AdR[0]%1000)/100+0X30);       //hundred
 274   3             S_AdResult0[2]=(((AdR[0]%1000) % 100)/10+0X30);  //ten
 275   3             S_AdResult0[3]=((((AdR[0]%1000) % 100) % 10)+0X30);     //one    
 276   3      
 277   3             S_AdResult1[0]=((AdR[1]/1000)+0X30);       //hundred
 278   3             S_AdResult1[1]=((AdR[1]%1000)/100+0X30);       //hundred
 279   3             S_AdResult1[2]=(((AdR[1]%1000) % 100)/10+0X30);  //ten
 280   3             S_AdResult1[3]=((((AdR[1]%1000) % 100) % 10)+0X30);     //one     
 281   3            
 282   3             S_AdResult2[0]=((AdR[2]/1000)+0X30);       //hundred
 283   3             S_AdResult2[1]=((AdR[2]%1000)/100+0X30);       //hundred
 284   3             S_AdResult2[2]=(((AdR[2]%1000) % 100)/10+0X30);  //ten
 285   3             S_AdResult2[3]=((((AdR[2]%1000) % 100) % 10)+0X30);     //one    
 286   3          
 287   3             S_AdResult3[0]=((AdR[3]/1000)+0X30);       //hundred
 288   3             S_AdResult3[1]=((AdR[3]%1000)/100+0X30);       //hundred
 289   3             S_AdResult3[2]=(((AdR[3]%1000) % 100)/10+0X30);  //ten
 290   3             S_AdResult3[3]=((((AdR[3]%1000) % 100) % 10)+0X30);     //one    
 291   3      
 292   3             S_AdResult4[0]=((AdR[4]/1000)+0X30);       //hundred
 293   3             S_AdResult4[1]=((AdR[4]%1000)/100+0X30);       //hundred
 294   3             S_AdResult4[2]=(((AdR[4]%1000) % 100)/10+0X30);  //ten
 295   3             S_AdResult4[3]=((((AdR[4]%1000) % 100) % 10)+0X30);     //one   
 296   3      
 297   3                 //S_AdResult4[0]=((key_press_time/1000)+0X30);       //hundred
 298   3             //S_AdResult4[1]=((key_press_time%1000)/100+0X30);       //hundred
 299   3             //S_AdResult4[2]=(((key_press_time%1000) % 100)/10+0X30);  //ten
 300   3             //S_AdResult4[3]=((((key_press_time%1000) % 100) % 10)+0X30);     //one    
 301   3       
 302   3             count_time=0;
C51 COMPILER V8.02   F334                                                                  07/13/2006 10:09:54 PAGE 6   

 303   3             sample_time=0;
 304   3            
 305   3             Send_GPS();
 306   3                 IsGpsFrame=0; 
 307   3      
 308   3                 GPS_time=700;
 309   3           }
 310   2           
 311   2           if (GPS_time<100) IsGpsFrame=1;
 312   2      
 313   2               if (GPS_Alarm_js==0) 
 314   2               {
 315   3                  GPS_Alarm_js=200;
 316   3                      if ((GPS_Current_pre>500) && (GPS_Current>500))
 317   3                      {
 318   4                        GPS_Alarm[0]=8+0x30;GPS_Alarm[1]=5+0x30;
 319   4                        GPS_SW=1;
 320   4                        GPS_Alarm_js=2000;
 321   4              }
 322   3                      else 
 323   3                      {
 324   4                GPS_Alarm[0]=0+0x30;GPS_Alarm[1]=0+0x30;
 325   4                        GPS_SW=0;
 326   4                      }
 327   3                      GPS_Current_pre=GPS_Current;
 328   3               }
 329   2      
 330   2           if (SRI==1)
 331   2               {
 332   3                 SRI=0;
 333   3             fmbak=RDR;
 334   3                 if (fmbak==245) surt_js=1;
 335   3                 if ((fmbak==240) && (surt_js==1)) surt_js=2;
 336   3                 else if ((fmbak==204) && (surt_js==1)) surt_js=6;
 337   3                 if ((surt_js==2) && (fmbak<201))
 338   3                 {
 339   4                       surt_js=3;
 340   4               fmbak3=fmbak;
 341   4               he=229+fmbak;
 342   4                 }
 343   3                 if ((surt_js==2) && (fmbak==250))
 344   3                 {
 345   4                       surt_js=3;
 346   4               fmbak3=fmbak;
 347   4                       he=229+fmbak;
 348   4                 }
 349   3                 if ((surt_js==6) && (fmbak<10))
 350   3                 {
 351   4                       surt_js=7;
 352   4               fmbak3=fmbak;
 353   4                       he=193+fmbak;
 354   4                 }
 355   3      
 356   3                 if ((surt_js==7) && (he==fmbak))    
 357   3                 {
 358   4                       surt_js=0;
 359   4                       if (fmbak3<10) b_light=fmbak3+0x30;
 360   4                       if (fmbak3>4) DAC0=(fmbak3-5)*15000;
 361   4                       else DAC0=0;
 362   4                 }
 363   3                 if ((surt_js==3) && (he==fmbak))
 364   3                 {
C51 COMPILER V8.02   F334                                                                  07/13/2006 10:09:54 PAGE 7   

 365   4                       surt_js=0;
 366   4                       if (fmbak3==250)
 367   4                       {
 368   5                         fm[0]=(2+0x30);       //hundred
 369   5                 fm[1]=(5+0x30);  //ten
 370   5                 fm[2]=(0+0x30);     //one   
 371   5                 Control_inf(fmbak1,fmbak2,0);
 372   5                       }
 373   4                       else
 374   4                       {
 375   5                 fm[0]=(fmbak3/100+0x30);       //hundred
 376   5                 fm[1]=((fmbak3 % 100)/10+0x30);  //ten
 377   5                 fm[2]=(((fmbak3 % 100) % 10)+0x30);     //one   
 378   5                     fmbak1=fmbak3/10+88;
 379   5                     fmbak2=fm[2]-0x30;
 380   5                     Control_inf(fmbak1,fmbak2,1);
 381   5               }
 382   4                 }
 383   3                 
 384   3             RDR=0;
 385   3               }
 386   2      
 387   2          
 388   2               if (test>500)
 389   2               {
 390   3                test=0;
 391   3            //LED_EN=~LED_EN;
 392   3            //DAC0=0x0; 
 393   3                //Control_inf(88,0,1);
 394   3           }
 395   2               /*else if (test>3000)
 396   2               {
 397   2            DAC0=0xffc0; 
 398   2               }
 399   2      */
 400   2      
 401   2      
 402   2         }
 403   1      }
 404          
 405          /////////////////////////////////////
 406          // Config2 Code Configuration File //
 407          /////////////////////////////////////
 408          //----------------------------------------------------------------------------
 409          // P0.0---VREF;  SW_TX0(由于目前在该程序中ADC和DAC尚未初始化,所以SW_TX0暂被
 410          //                       分配在P0.0口上面;否则一切正常初始化完成后,已被分配
 411          //                       在P0.2脚上)
 412          // P0.1---IDA;
 413          // P0.2---GPIO;  待一切初始化正常后,将作为SW_TX0使用。
 414          // P0.3---CEX0;  SW_RX0
 415          // P0.4---TX0;
 416          // P0.5---RX0;
 417          // P0.6---T0
 418          // P0.7---GPIO;  SW_SPI
 419          // P1.0---GPIO;  SW_SPI
 420          // P1.1---GPIO;  SW_SPI
 421          // P1.2---AIN0
 422          // P1.3---GPIO
 423          // P1.4---GPIO
 424          // P1.5---GPIO;  
 425          // P1.6---GPIO;  
 426          // P1.7---GPIO;  
C51 COMPILER V8.02   F334                                                                  07/13/2006 10:09:54 PAGE 8   

 427          // Peripheral specific initialization functions,
 428          // Called from the Init_Device() function
 429          void Port_Init()
 430          {
 431   1              P0MDIN    =0xFC;
 432   1          P0SKIP    = 0x07;
 433   1              P0MDOUT   |= 0x94;
 434   1      
 435   1              P1MDIN    = 0xFB;
 436   1          P1SKIP    = 0x04;
 437   1              P1MDOUT   |= 0x0B;
 438   1      
 439   1          XBR0      = 0x01;
 440   1          XBR1      = 0x51;
 441   1      }
 442          
 443          //-----------------------------------------------------------------------------
 444          // SYSCLK_Init
 445          //-----------------------------------------------------------------------------
 446          //
 447          // This routine initializes the system clock to use the internal oscillator
 448          // at its maximum frequency.
 449          // Also enables the Missing Clock Detector.
 450          //
 451          
 452          void SYSCLK_Init (void)
 453          {
 454   1         OSCICN |= 0x03;                     // Configure internal oscillator for
 455   1                                             // its maximum frequency
 456   1         RSTSRC  = 0x04;                     // Enable missing clock detector
 457   1      
 458   1      }
 459          
 460          //-----------------------------------------------------------------------------
 461          // UART0_Init
 462          //-----------------------------------------------------------------------------
 463          //
 464          // Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
 465          //
 466          void UART0_Init (void)
 467          {
 468   1         SCON0 = 0x10;                       // SCON0: 8-bit variable bit rate
 469   1                                             //        level of STOP bit is ignored
 470   1                                             //        RX enabled
 471   1                                             //        ninth bits are zeros
 472   1                                             //        clear RI0 and TI0 bits
 473   1         if (SYSCLK/BAUDRATE/2/256 < 1) {
 474   2            TH1 = -(SYSCLK/BAUDRATE/2);
 475   2            CKCON &= ~0x0B;                  // T1M = 1; SCA1:0 = xx
 476   2            CKCON |=  0x08;
 477   2         } else if (SYSCLK/BAUDRATE/2/256 < 4) {
 478   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
 479   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 01                  
 480   2            CKCON |=  0x09;
 481   2         } else if (SYSCLK/BAUDRATE/2/256 < 12) {
 482   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
 483   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
 484   2         } else {
 485   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
 486   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
 487   2            CKCON |=  0x02;
 488   2         }
C51 COMPILER V8.02   F334                                                                  07/13/2006 10:09:54 PAGE 9   

 489   1      
 490   1         TL1 = TH1;                          // init Timer1
 491   1         TMOD &= ~0xf0;                      // TMOD: timer 1 in 8-bit autoreload
 492   1         TMOD |=  0x20;                       
 493   1         TR1 = 1;                            // START Timer1
 494   1         TI0 = 1;                            // Indicate TX0 ready
 495   1      }
 496          
 497          void SW_UART_Init (void)
 498          {  
 499   1          PCA0MD    = 0x02;                   //PCA counter use SYSCLK/4 as timebase
 500   1              PCA0CPM1  = 0x49;                   //PCA0CPM1:capture triggered by
 501   1                                                  //negative edge on P0.3,enable module1
 502   1                                                                                      //interrupt
 503   1          PCA0CPM0  = 0x11;                   //PCA0CPM0:software timer mode,enable 
 504   1                                                  //module 0 interrupt
 505   1          
 506   1          PCA0CN    |= 0x40;                  //enables the PCA Counter/Timer.
 507   1      
 508   1              CCF0      = 0;
 509   1              CCF1      = 0;
 510   1              SRI       = 0;                      //????????
 511   1              STI       = 0;                      // ????????
 512   1          SW_TX     = 1;                      // TX????????
 513   1          STXBSY    = 0;                      // ??SW_UART???
 514   1              SREN      = 1;                      //????
 515   1      }
 516          
 517          //-----------------------------------------------------------------------------
 518          // ???0???
 519          //-----------------------------------------------------------------------------
 520          
 521          void Timer0_Init (void)
 522          {
 523   1        TMOD|=0X06;         //COUNT0
 524   1        TL0=0X0FF;    //interrupt when every pulse come
 525   1        TH0=0X0FF;
 526   1        EA=1;
 527   1        ET0=1;                      //COUNT0 INT ENABLE
 528   1        TR0=1;                      //COUNT0 START
 529   1      }
 530          
 531          void Timer0_ISR (void) interrupt 1
 532          {
 533   1        Pulse_s++;
 534   1      }
 535          
 536          //-----------------------------------------------------------------------------
 537          // ADC0_Init ADBUSY, LP tracking, no Interrupt, ADC disabled
 538          //-----------------------------------------------------------------------------
 539          //
 540          // Configure ADC0 to use ADBUSY as conversion source, and to sense the output 
 541          // of the temp sensor.  Disables ADC end of conversion interrupt. Leaves ADC 
 542          // disabled.
 543          //
 544          void AD_Init (void)

⌨️ 快捷键说明

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