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

📄 autosearchhandle.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00DC  0E62              LD      C,98
   \   00DE  11B801            LD      DE,440
   \   00E1  CD3602            CALL    LWRD ?0189
   \   00E4  F1                POP     AF
   \   00E5            ?0010:
    101              }
    102              //k=GetBattery();
    103          
    104              //ui_show_batt(GetBattery());            //电池电量显示
    105              ui_show_batt(GetBattery(), F_comval.BatteryType); //电池电量显示
   \   00E5  ED4B0F00          LD      BC,(g_comval+15)
   \   00E9  CD0000            CALL    LWRD GetBattery
   \   00EC  5F                LD      E,A
   \   00ED  1600              LD      D,0
   \   00EF  3E00              LD      A,BYTE3 ui_show_batt
   \   00F1  210000            LD      HL,LWRD ui_show_batt
   \   00F4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    106              strcpy(Freqtab, "<");
   \   00F7  110700            LD      DE,?0011
   \   00FA  210000            LD      HL,Freqtab
   \   00FD  CD0000            CALL    LWRD ?STRCPY_L11
    107              strcat(Freqtab, "FM");
   \   0100  110900            LD      DE,?0012
   \   0103  210000            LD      HL,Freqtab
   \   0106  CD0000            CALL    LWRD ?STRCAT_L11
    108              //频率换算及转换成ASCII码
    109              k = FMStatus.freq;
   \   0109  FD2A0100          LD      IY,(FMStatus+1)
    110              if(FMStatus.mode==0)
   \   010D  3A0500            LD      A,(FMStatus+5)
   \   0110  B7                OR      A
   \   0111  010A00            LD      BC,10
   \   0114  FDE5              PUSH    IY
   \   0116  D1                POP     DE
   \   0117  CD0000            CALL    LWRD ?SS_DIV_L02
   \   011A  2018              JR      NZ,?0014
   \   011C            ?0013:
    111                  i=k/10 + 87; 
   \   011C  215700            LD      HL,87
   \   011F  1816              JR      ?0158
   \   0121  7C                LD      A,H
   \   0122  1815              JR      ?0160
   \   0124  9F                SBC     A,A
   \   0125  1814              JR      ?0162
   \   0127  41                LD      B,C
   \   0128  1813              JR      ?0163
   \   012A  DD74FB            LD      (IX-5),H
   \   012D  1814              JR      ?0164
   \   012F  DD70FD            LD      (IX-3),B
    112              else
   \   0132  1815              JR      ?0015
   \   0134            ?0014:
    113                  i=k/10 + 76;
   \   0134  214C00            LD      HL,76
   \   0137            ?0158:
   \   0137  19                ADD     HL,DE
   \   0138  7C                LD      A,H
   \   0139            ?0160:
   \   0139  07                RLCA
   \   013A  9F                SBC     A,A
   \   013B            ?0162:
   \   013B  4F                LD      C,A
   \   013C  41                LD      B,C
   \   013D            ?0163:
   \   013D  DD75FA            LD      (IX-6),L
   \   0140  DD74FB            LD      (IX-5),H
   \   0143            ?0164:
   \   0143  DD71FC            LD      (IX-4),C
   \   0146  DD70FD            LD      (IX-3),B
   \   0149            ?0015:
    114          
    115              h=k%10;
   \   0149  010A00            LD      BC,10
   \   014C  FDE5              PUSH    IY
   \   014E  D1                POP     DE
   \   014F  CD0000            CALL    LWRD ?SS_MOD_L02
   \   0152  DD73FE            LD      (IX-2),E
    116              
    117           
    118              if (i < 100)
   \   0155  68                LD      L,B
   \   0156  60                LD      H,B
   \   0157  E5                PUSH    HL
   \   0158  2E64              LD      L,100
   \   015A  E5                PUSH    HL
   \   015B  DD4EFC            LD      C,(IX-4)
   \   015E  DD46FD            LD      B,(IX-3)
   \   0161  DD6EFA            LD      L,(IX-6)
   \   0164  DD66FB            LD      H,(IX-5)
   \   0167  CD0000            CALL    LWRD ?SL_CMP_L03
   \   016A  210000            LD      HL,0
   \   016D  3010              JR      NC,?0017
   \   016F            ?0016:
    119                  *itoa_2(i, buf);
   \   016F  39                ADD     HL,SP
   \   0170  4D                LD      C,L
   \   0171  44                LD      B,H
   \   0172  DD5EFA            LD      E,(IX-6)
   \   0175  3E00              LD      A,BYTE3 itoa_2
   \   0177  210000            LD      HL,LWRD itoa_2
   \   017A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    120              else
   \   017D  1811              JR      ?0018
   \   017F            ?0017:
    121                  *itoa_3(i, buf);
   \   017F  39                ADD     HL,SP
   \   0180  4D                LD      C,L
   \   0181  44                LD      B,H
   \   0182  DD5EFA            LD      E,(IX-6)
   \   0185  DD56FB            LD      D,(IX-5)
   \   0188  3E00              LD      A,BYTE3 itoa_3
   \   018A  210000            LD      HL,LWRD itoa_3
   \   018D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0190            ?0018:
    122              strcat(Freqtab, buf);
   \   0190  210000            LD      HL,0
   \   0193  39                ADD     HL,SP
   \   0194  EB                EX      DE,HL
   \   0195  210000            LD      HL,Freqtab
   \   0198  CD0000            CALL    LWRD ?STRCAT_L11
    123              strcat(Freqtab, ".");
   \   019B  110C00            LD      DE,?0019
   \   019E  210000            LD      HL,Freqtab
   \   01A1  CD0000            CALL    LWRD ?STRCAT_L11
    124              *itoa_1(h, buf);
   \   01A4  210000            LD      HL,0
   \   01A7  39                ADD     HL,SP
   \   01A8  4D                LD      C,L
   \   01A9  44                LD      B,H
   \   01AA  DD5EFE            LD      E,(IX-2)
   \   01AD  3E00              LD      A,BYTE3 itoa_1
   \   01AF  210000            LD      HL,LWRD itoa_1
   \   01B2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    125              //buf[1] = 0;
    126              //buf[2] = 0;
    127              strcat(Freqtab, buf);
   \   01B5  210000            LD      HL,0
   \   01B8  39                ADD     HL,SP
   \   01B9  EB                EX      DE,HL
   \   01BA  210000            LD      HL,Freqtab
   \   01BD  CD0000            CALL    LWRD ?STRCAT_L11
    128              strcat(Freqtab, ">");
   \   01C0  110E00            LD      DE,?0020
   \   01C3  210000            LD      HL,Freqtab
   \   01C6  CD0000            CALL    LWRD ?STRCAT_L11
    129              SetTextPos(40, 8); //SetTextPos((128-6*8)/2,8);
   \   01C9  0E08              LD      C,8
   \   01CB  1E28              LD      E,40
   \   01CD  CD0000            CALL    LWRD SetTextPos
    130              PutS(Freqtab, -1); //显示电台频率
   \   01D0  0EFF              LD      C,255
   \   01D2  110000            LD      DE,Freqtab
   \   01D5  CD0000            CALL    LWRD PutS
    131              if (FMStatus.mode == 0)
   \   01D8  3A0500            LD      A,(FMStatus+5)
   \   01DB  B7                OR      A
   \   01DC  ED4B0100          LD      BC,(FMStatus+1)
   \   01E0  116400            LD      DE,100
   \   01E3  CD0000            CALL    LWRD ?S_MUL_L02
   \   01E6  01C800            LD      BC,200
   \   01E9  CD0000            CALL    LWRD ?US_DIV_L02
   \   01EC  0E10              LD      C,16
   \   01EE  C5                PUSH    BC
   \   01EF  7B                LD      A,E
   \   01F0  2018              JR      NZ,?0022
   \   01F2            ?0021:
    132              {
    133                  k = (FMStatus.freq )*100/200;
    134                  
    135                  ResShowPic(DWNARROW, 6 + k, 16); //显示箭头ResShowPic(DWNARROW,11-5+k,16);
   \   01F2  C606              ADD     A,6
   \   01F4  CD3202            CALL    LWRD ?0190
   \   01F7  F1                POP     AF
    136                  ResShowPic(FQBAR, 0, 24); //显示US频率条
   \   01F8  0E18              LD      C,24
   \   01FA  C5                PUSH    BC
   \   01FB  0E00              LD      C,0
   \   01FD  11A700            LD      DE,167
   \   0200  1816              JR      ?0159
   \   0202  210000            LD      HL,LWRD ResShowPic
   \   0205  1816              JR      ?0161
   \   0207  F1                POP     AF
    137              }
    138              else
   \   0208  1817              JR      ?0023
   \   020A            ?0022:
    139              {
    140                  k = (FMStatus.freq )*100/200;
    141                  ResShowPic(DWNARROW, 24 + k, 16); //显示箭头 ResShowPic(DWNARROW,30-6+k,16);
   \   020A  C618              ADD     A,24
   \   020C  CD3202            CALL    LWRD ?0190
   \   020F  F1                POP     AF
    142                  ResShowPic(FQBAR2, 0, 24); //显示JP频率条
   \   0210  0E18              LD      C,24
   \   0212  C5                PUSH    BC
   \   0213  0E00              LD      C,0
   \   0215  11A800            LD      DE,168
   \   0218            ?0159:
   \   0218  3E00              LD      A,BYTE3 ResShowPic
   \   021A  210000            LD      HL,LWRD ResShowPic
   \   021D            ?0161:
   \   021D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0220  F1                POP     AF
   \   0221            ?0023:
    143              }
    144              UpdateScreen(NULL); //刷新
   \   0221  110000            LD      DE,0
   \   0224  CD0000            CALL    LWRD UpdateScreen
    145          }
   \   0227  DDF9              LD      SP,IX
   \   0229  DDE1              POP     IX
   \   022B  FDE1              POP     IY
   \   022D  D1                POP     DE
   \   022E  C1                POP     BC
   \   022F  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0232            ?0190:
   \   0232  4F                LD      C,A
   \   0233  115E00            LD      DE,94
   \   0236            ?0189:
   \   0236  3E00              LD      A,BYTE3 ResShowPic
   \   0238  210000            LD      HL,LWRD ResShowPic
   \   023B  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   023E            Search_Show2:
    146          /*
    147           ********************************************************************************
    148           * Description : 搜索下一个在电台表中没有的新电台.
    149           *
    150           * Arguments   : Direct,Next或Last搜索.
    151           *
    152           * Returns     : TRUE:搜到下一个新电台,FALSE:没有搜到.
    153           *
    154           * Notes       :
    155           *
    156           ********************************************************************************
    157           */
    158          bool Search_Show2(FM_direct_t Direct)
    159          {
   \   023E  C5                PUSH    BC
   \   023F  FDE5              PUSH    IY
   \   0241  DDE5              PUSH    IX
   \   0243  DD210000          LD      IX,0
   \   0247  DD39              ADD     IX,SP
   \   0249  D5                PUSH    DE
   \   024A  F5                PUSH    AF
   \   024B  F5                PUSH    AF
    160              bool Search_Flag;
    161              int i;
    162              WORD temp;
    163          
    164              FMStatus.stereo_status = 1;
   \   024C  3E01              LD      A,1
   \   024E  320700            LD      (FMStatus+7),A
    165              FMStatus.station = 0;
   \   0251  AF                XOR     A
   \   0252  320300            LD      (FMStatus+3),A
    166              fmSendCommand(MC_MUTE, SetMUTE);
   \   0255  010100            LD      BC,1
   \   0258  1E0C              LD      E,12
   \   025A  CD0C03            CALL    LWRD ?0191
    167              fmSendCommand(MC_SETVOLUME, FMStatus.volume);
   \   025D  CD0403            CALL    LWRD ?0192
    168              fmSendCommand(MC_RESTORE, (int) &radio_param);
   \   0260  010000            LD      BC,radio_param
   \   0263  1E45              LD      E,69
   \   0265  CD0C03            CALL    LWRD ?0191
    169              Search_Flag = fmSendCommand(MC_SEARCH, Direct);
   \   0268  DD4EFE            LD      C,(IX-2)
   \   026B  0600              LD      B,0
   \   026D  1E0A              LD      E,10
   \   026F  CD0C03            CALL    LWRD ?0191
   \   0272  DD75FA            LD      (IX-6),L
    170              if (Search_Flag) //搜台成功后,MUTE释放
   \   0275  2C                INC     L
   \   0276  2D                DEC     L
   \   0277  2860              JR      Z,?0033
   \   0279            ?0024:
    171              {
    172                  fmSendCommand(MC_GETFREQ, (int) &temp);
   \   0279  210200            LD      HL,2
   \   027C  39                ADD     HL,SP
   \   027D  4D                LD      C,L
   \   027E  44                LD      B,H
   \   027F  1E11              LD      E,17
   \   0281  CD0C03            CALL    LWRD ?0191

⌨️ 快捷键说明

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