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

📄 key.lst

📁 用TEA7567做的调频收音机,本人经测试通过的
💻 LST
📖 第 1 页 / 共 2 页
字号:
 178   3                                                      Band_Data=0;//切换回默认状态
 179   3                                              Band_Change(Band_Data);//波段数据转换
C51 COMPILER V7.06   KEY                                                                   03/16/2009 19:12:49 PAGE 4   

 180   3                                      }
 181   2                                      while(Band==0)                  //判断是否有松键
 182   2                                      {
 183   3                                              WatchDog;                       //喂狗  
 184   3                                      }
 185   2                                      Data_Change=1;//有关键数据改变标志
 186   2                                      return 0;
 187   2                              }
 188   1                              
 189   1                              return 0;
 190   1              }
 191          
 192                          //加键程序
 193                    void Dec_Process(void)
 194                    {
 195   1                      switch(Mode)//显示切换
 196   1                      { 
 197   2                              case 0: {
 198   3                                              gdwPresetVCO=gdwPresetVCO-STEP;
 199   3                                              if(Band_Data==0)//是高高波段了
 200   3                                              {       
 201   4                                                      if(gdwPresetVCO<Min_FreqH) 
 202   4                                                              gdwPresetVCO=Max_FreqH;
 203   4                                                      
 204   4                                              }
 205   3                                              else   //是低波段了
 206   3                                              {
 207   4                                                      if(gdwPresetVCO<Min_FreqL) 
 208   4                                                                      gdwPresetVCO=Max_FreqL;
 209   4                                              }
 210   3                                              Frequency_Change(gdwPresetVCO);
 211   3                                              WatchDog;
 212   3                                              Tuner_Preset (False,True,Low,gdwPresetVCO);//向5767发码
 213   3      //                                      Radio_Mode=1;//使能手动搜频功能
 214   3                                              }
 215   2                                              break;
 216   2                              case 1: {
 217   3                                              if(Volume)
 218   3                                              {
 219   4                                                      Volume--;                                               
 220   4                                                      VolSet(Volume+19);
 221   4                                              }
 222   3                                              else
 223   3                                                      VolSet(0);//不出声音了
 224   3                                              Volume_Change(Volume);
 225   3                                              }
 226   2                                              break;
 227   2                              case 2:{
 228   3                                              Delay_s=Delay_s-1;
 229   3                                              if(Delay_s<10) Delay_s=250;
 230   3                                              Delays_change(Delay_s);
 231   3                                              }
 232   2                                              break;
 233   2                              case 3: {
 234   3                                              District=District-1;
 235   3                                              if(District<1)District=128;
 236   3                                              District_Change(District);
 237   3                                              }
 238   2                                              break;
 239   2                              case 4: {
 240   3                                              Node=Node-1;
 241   3                                              if(Node<1) Node=255;
C51 COMPILER V7.06   KEY                                                                   03/16/2009 19:12:49 PAGE 5   

 242   3                                              Node_Change(Node);
 243   3                                              }
 244   2                                              break;
 245   2                              default:   break;
 246   2                      }
 247   1              }
 248                  
 249                  //减键程序
 250                  void Add_Process(void)
 251                  {
 252   1              switch(Mode)//显示切换
 253   1                      { 
 254   2                         case 0: {
 255   3                                              gdwPresetVCO=gdwPresetVCO+STEP;
 256   3                                              if(Band_Data==0)//是高波段了
 257   3                                                      {       
 258   4                                                      if(gdwPresetVCO>Max_FreqH) 
 259   4                                                              gdwPresetVCO=Min_FreqH;
 260   4                                                      }
 261   3                                              else   //是低波段了
 262   3                                                      {
 263   4                                                      if(gdwPresetVCO>Max_FreqL) 
 264   4                                                              gdwPresetVCO=Min_FreqL;
 265   4                                                      }
 266   3                                              //gdwPresetVCO+=STEP;
 267   3                                              Frequency_Change(gdwPresetVCO);
 268   3                                              WatchDog;
 269   3                                              Tuner_Preset (False,True,Low,gdwPresetVCO);//向5767发码
 270   3      //                                      Radio_Mode=1;//使能手动搜频功能
 271   3                                              }
 272   2                                              break;
 273   2                              case 1: {
 274   3                                              //Volume=Volume+1;
 275   3                                              if(Volume<68) Volume++;
 276   3                                              Volume_Change(Volume);
 277   3                                              VolSet(Volume+19);
 278   3                                              }
 279   2                                              break;
 280   2                              case 2: {
 281   3                                              Delay_s=Delay_s+1;
 282   3                                              if(Delay_s>250) Delay_s=10;
 283   3                                              Delays_change(Delay_s);
 284   3                                              }
 285   2                                              break;
 286   2                              case 3:{
 287   3                                              District=District+1;
 288   3                                              if(District>128) 
 289   3                                                      District=1;
 290   3                                              District_Change(District);
 291   3                                              }
 292   2                                              break;
 293   2                              case 4:{
 294   3                                              Node=Node+1;
 295   3                                              if(Node==0) Node=1;
 296   3                                              Node_Change(Node);
 297   3                                              }
 298   2                                              break;
 299   2                              default:   break;
 300   2                      }
 301   1              }
 302          
 303                  /*
C51 COMPILER V7.06   KEY                                                                   03/16/2009 19:12:49 PAGE 6   

 304                  void Radio_Process(void)
 305                  {
 306                          //uchar vol;
 307                          //vol=(uchar)Volume/2;
 308                          switch(Radio_Mode)
 309                          {
 310                                  case 1:{
 311                                                  Tuner_Preset(False,False,High,gdwPresetVCO);
 312                                                  
 313                                             }
 314                                                  break; //手动搜台
 315                                  case 2:break;                            
 316                                  case 3:break;
 317                                  default: break;
 318                          }
 319                          Radio_Mode=0;//清搜台功能
 320                  }
 321                  */
 322          
 323                  bit SearchDelayMs(unsigned int Time)
 324                {
 325   1                    unsigned char i;
 326   1                    
 327   1                    while( --Time != 0)
 328   1                    {
 329   2                            for(i = 0; i < 125; i++); //i 从0加到125,CPU大概就耗时1 毫秒 。
 330   2                                                WatchDog;
 331   2                    
 332   2                                                      if((Time%20)==0)//大约20ms检测一次
 333   2                                                      {
 334   3                                                              if((Up_Key!=1)||(Down_Key!=1))//如果有按下时,表示有人为的停下要求了
 335   3      //                                                      {
 336   3      //                                                              WatchDog;
 337   3      //                                                              
 338   3      //                                                      }
 339   3                                                                      return 1;//表示有键按下了
 340   3                                                      }
 341   2                                }
 342   1                                return 0;//无键按下了
 343   1            }
 344          
 345          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    836    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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