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

📄 data_disposal.lst

📁 此程序位单片机应用程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 194   1                       if (add>=9)
 195   1                              add++;
 196   1                       else if (add==0)
 197   1                          add=9;      
 198   1                       else if (add<=4)
 199   1                                if (add>0)
 200   1                          add--;
 201   1                  z=add;
 202   1                              return z;
 203   1              }
 204          
 205                  uch tone_dec(add)       //音调减
 206              {
 207   1                      if (add>=0)
 208   1                      if (add<4)
 209   1                      add++;
 210   1                      if (add==9)
 211   1                      add=0;
 212   1                      if (add>9)
 213   1                      add--;
 214   1                      z=add;
 215   1                      return z;
 216   1              }
 217          
 218          /*      uch series_m4094_send()  //主板4094串行数据发送程序
 219                  {
 220                  
 221                  }*/
 222                  
 223                  uch series_p4094_send()  //功放板4094串行数据发送程序
 224                  {
 225   1           uch d,i;
 226   1               for (i=0;i<8;i++)
 227   1                       {
 228   2                    
 229   2                                d=power_4094_data<<i;
 230   2                                if (d&0x80==0)
 231   2                                DATA=0;
 232   2                                else 
 233   2                                DATA=1;
 234   2                                CLOCK=1;
 235   2                      //        delay(5);
 236   2                                CLOCK=0;
 237   2                       }
 238   1      //       store(room);
 239   1                              return z;
 240   1              }
C51 COMPILER V7.50   DATA_DISPOSAL                                                         10/02/2007 16:52:26 PAGE 5   

 241                  
 242          /*      uch series_p61510_send() //主板61510串行数据发送程序
 243                  {
 244                  
 245                  }*/
 246            
 247          
 248          
 249                  //*****************************
 250                  /*易犯错误:将case后冒号写成分号*/
 251                  //*****************************
 252                  //本函数旨在为发送准备格式满足的数据
 253                  uch data_disp()     //数据处理
 254                  {
 255   1               uch k;
 256   1               for (k=0;k<100;k++)
 257   1               {
 258   2                       switch(command)
 259   2                               {
 260   3      
 261   3                      /***************** 电源开操作************************/
 262   3                               case 1:                                       
 263   3                               power_state[0]=power_state[0]|0x01<<(power-1);   // 既保持原有状态不变又增添新的路数
 264   3                               series_sign_type=1;
 265   3      
 266   3                               break ;
 267   3      
 268   3                      /***************** 电源关操作************************/
 269   3                               case 2:                                                           
 270   3                               power_state[0]=power_state[0]^0x01<<(power-1);
 271   3                               series_sign_type=1;
 272   3                               break;
 273   3      
 274   3                  /*****************L通道第一进程音量增*****************/
 275   3                       case 3:                                                           //L通道第一进程音量增
 276   3                                      if (first_volume>0)
 277   3                                      {
 278   4                                              first_volume--;
 279   4                                              volume_data_L[room][0]=(first_volume<<3)|(second_volume>>4);
 280   4                                              series_sign_type=3;
 281   4                                      }
 282   3                               break;
 283   3              
 284   3                   /*****************L通道第一进程音量减******************/
 285   3                               case 4:                                                           //L通道第一进程音量减
 286   3                                      if (first_volume<16)
 287   3                                      {
 288   4                                              first_volume++;
 289   4                                              volume_data_L[room][0]=(first_volume<<3)|(second_volume>>4);
 290   4                                              series_sign_type=3;
 291   4                                      }
 292   3                               break;
 293   3      
 294   3                   /*******************R通道第一进程音量增****************/
 295   3                               case 5:                                                           //R通道第一进程音量增
 296   3                                      if (first_volume>0)
 297   3                                      {
 298   4                                              first_volume--;
 299   4                                              volume_data_R[room][0]=(first_volume<<3)|(second_volume>>4);
 300   4                                              series_sign_type=3;
 301   4                                      }
 302   3                               break; 
C51 COMPILER V7.50   DATA_DISPOSAL                                                         10/02/2007 16:52:26 PAGE 6   

 303   3      
 304   3                   /********************R通道第一进程音量减*****************/
 305   3                               case 6:                                                           //R通道第一进程音量减
 306   3                                      if (first_volume<16)
 307   3                                      {
 308   4                                              first_volume++;
 309   4                                              volume_data_R[room][0]=(first_volume<<3)|(second_volume>>4);
 310   4                                              series_sign_type=3;
 311   4                                      }
 312   3                               break;
 313   3      
 314   3      //////////////////////第二进程音量调节//////////////////////////////////
 315   3      /////音量数据数组中的元素由first_volume与second_volume构成first_volume
 316   3      /////5位,second_volume7位.为保证数组中每个元素8位,将first_volume左移3位
 317   3      /////空暇的地方给second_volume的高三位.作为数组的第一成员,数组的第二成员
 318   3      /////由second_volume的后四位加固定码0x0D组成.
 319   3                   /******************L通道第二进程音量增********************/
 320   3                               case 7:                                                           //L通道第二进程音量增
 321   3                                      if (second_volume>0)
 322   3                                      {
 323   4                                              second_volume--;
 324   4                                              volume_data_L[room][0]=(first_volume<<3)|(second_volume>>4);
 325   4                                              volume_data_L[room][1]=(second_volume>>3)|0x0D;
 326   4                                              series_sign_type=3;
 327   4                                      }
 328   3                               break;
 329   3      
 330   3                   /********************L通道第二进程音量减*******************/
 331   3                               case 8:                                                           //L通道第二进程音量减
 332   3                                      if (first_volume<64)
 333   3                                      {
 334   4                                              second_volume++;
 335   4                                              volume_data_L[room][0]=(first_volume<<3)|(second_volume>>4);
 336   4                                              volume_data_L[room][1]=(second_volume>>3)|0x0D;
 337   4                                              series_sign_type=3;
 338   4                                      }
 339   3                               break;
 340   3      
 341   3                    /********************R通道第二进程音量增*****************/
 342   3                               case 9:                                                           //R通道第二进程音量增
 343   3                                      if (first_volume>0)
 344   3                                      {
 345   4                                              second_volume--;
 346   4                                              volume_data_R[room][0]=(first_volume<<3)|(second_volume>>4);
 347   4                                              volume_data_R[room][1]=(second_volume>>3)|0x0D;
 348   4                                              series_sign_type=3;
 349   4                                      }
 350   3                               break;
 351   3      
 352   3                   /***********************R通道第二进程音量减****************/
 353   3                               case 10:                                                          //R通道第二进程音量减
 354   3                                      if (first_volume<64)
 355   3                                      {
 356   4                                              second_volume++;
 357   4                                              volume_data_R[room][0]=(first_volume<<3)|(second_volume>>4);
 358   4                                              volume_data_R[room][1]=(second_volume>>3)|0x0D;
 359   4                                              series_sign_type=3;
 360   4                                      }
 361   3                               break;
 362   3      
 363   3      ////////本系统有8路音源,每路又可进行内部(前六路mp3或后两路fm)或外部选择。
 364   3      ////////M61510有5个音源输入,第5
C51 COMPILER V7.50   DATA_DISPOSAL                                                         10/02/2007 16:52:26 PAGE 7   

 365   3      ////////假设音源选择采用搜索,先搜内部音源
 366   3      
 367   3      //      uch power_configure;  //功放板配置(1-16)
 368   3      //      uch source_configure[3]={0x06,0x02,0x08}; 
 369   3              //音源配置第一字节表示内置mp3音源数,
 370   3              //第二字节表示内部FM音源数
 371   3              //第三字节表示外部音源数
 372   3              //约定:对硬件而言内外音源配置都从头开始,中间不许有间隔        
 373   3      //source_repertoire[8]音源节目选择表 
 374   3      //外部音源节目数量,例:电视节目100个台;约定:至于何种音源本机不管。
 375   3      //音源选择分两种情况。1:外部音源最多8类,每类最多占8个通道,最大组合为8 
 376   3      //例:第一类DVD占两个通道,其他占3个,空闲3个
 377   3      //2:内部音源按顺序选择 
 378   3      /*
 379   3      音源处理程序包含两个参数。
 380   3      1.source_old,表示房间适用的音源号
 381   3      2.source_state,表示音源占用情况
 382   3      */ 
 383   3      
 384   3      //source_state[2]={0x00,0x00};      //音源占用状态。source_state[0]内部音源,source_state[1]外部音源
 385   3      
 386   3                   /**************************外部音源1********************/
 387   3                               case 11:                               //外部音源1
 388   3                                       {
 389   4                                               if (source_old[0]!=0)
 390   4                                               {
 391   5                                                   
 392   5                                                       source_state[1]=(source_state[1]&(~(0x01<<(source_old[0]-1))));//清除原先占用状态记录                                   
 393   5                                               
 394   5                                               }                                                                                                                  //
 395   4      
 396   4                                               if ((source_state[1]|0x01)-source_state[1]>0)                      //若音源占用状态表明没被占用&-与

⌨️ 快捷键说明

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