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

📄 dts_task.lst

📁 本源程序使用C51控制的PLL(SANYO LC72131)收音,可以通过HT1621驱动LCD显示,有完整的按键控制程序模块,能通过KEY进行各种功能操作,整个程序采用模块化设计,移植方便,可以初学
💻 LST
📖 第 1 页 / 共 5 页
字号:
 373   1              DTS_buffer[0] = bByte&0x0ff;
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 14  

 374   1              DTS_buffer[1] = bByte>>=8&0x0ff;
 375   1              I2c_WriteByte (address, DTS_buffer[0]);
 376   1              I2c_WriteByte (address, DTS_buffer[1]);
 377   1      }
 378          /*F**************************************************************************
 379          * NAME: AutoScan
 380          *----------------------------------------------------------------------------
 381          * PARAMS:
 382          *
 383          * return:
 384          *----------------------------------------------------------------------------
 385          * PURPOSE: 
 386          *   Display task initialization
 387          *----------------------------------------------------------------------------
 388          * EXAMPLE:
 389          *----------------------------------------------------------------------------
 390          * NOTE:
 391          *----------------------------------------------------------------------------
 392          * REQUIREMENTS:
 393          *****************************************************************************/
 394          void dts_AutoScan (void)
 395          {
 396   1      
 397   1              dts_divider();
 398   1              DTS_buffer[2] = 0x16;//0x12//0x16
 399   1              DTS_buffer[3] = 0xa3;//0xa3//0x83
 400   1              DTS_buffer[4] = 0xf4;//0xf4//0xf2
 401   1              DTS_buffer[5] = 0x10;//0x10//0x18(IFS)
 402   1      
 403   1              dts_In1mode();
 404   1              dts_In2mode();
 405   1              
 406   1              //DTS_CE = 0;
 407   1              //getByteLSB(0x2a);
 408   1              //DTS_CE = 1;
 409   1              DelayX1ms(20);
 410   1              //for(i=0;i<2;i++){
 411   1              DTS_CE = 1;
 412   1              //DelayX1ms(20);
 413   1              //DTS_CE = 1;
 414   1              //DTS_DIN = 1;
 415   1              //while(!DTS_DIN){;}
 416   1      
 417   1              //DTS_CLK = High;
 418   1              //DTS_CE = 0;
 419   1              getByteLSB(0x2a);
 420   1              //DTS_CE = 1;
 421   1              DTS_DIN = 1;
 422   1              DTS_buffer[3] = dts_scanByte();
 423   1              DTS_buffer[4] = dts_scanByte();
 424   1              DTS_buffer[5] = dts_scanByte();
 425   1              DTS_CE = 0;
 426   1              //DTS_DIN = 1;
 427   1              //}
 428   1              dts_GetFer();
 429   1              //temp0 >>= 3;
 430   1              DTS_buffer[3] &= 0x0f; 
 431   1              //ht1621disp_Buffer[1] = ht1621disp_Map[DTS_buffer[3]/10];
 432   1              //ht1621disp_Buffer[2] = ht1621disp_Map[DTS_buffer[3]%10];
 433   1              //HT1621_getdata(HT1621SEC_ADDH,ht1621disp_Buffer[1]);
 434   1              //HT1621_getdata(HT1621SEC_ADDL,ht1621disp_Buffer[2]);
 435   1              HT1621_getdata(HT1621SEC_ADDH,ht1621disp_Map[DTS_buffer[3]/10]);
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 15  

 436   1              HT1621_getdata(HT1621SEC_ADDL,ht1621disp_Map[DTS_buffer[3]%10]);
 437   1      }
 438                                            
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 16  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION dts_task_init (BEGIN)
                                           ; SOURCE LINE # 114
                                           ; SOURCE LINE # 115
                                           ; SOURCE LINE # 116
0000 D2B4              SETB    P3_4
                                           ; SOURCE LINE # 117
0002 D2B6              SETB    P3_6
                                           ; SOURCE LINE # 118
0004 D2B5              SETB    P3_5
                                           ; SOURCE LINE # 119
0006 C2B7              CLR     P3_7
                                           ; SOURCE LINE # 120
0008 750010      E     MOV     Mem_add,#010H
                                           ; SOURCE LINE # 121
000B C200        E     CLR     DtsMen_flag
                                           ; SOURCE LINE # 122
000D 7800        E     MOV     R0,#LOW dts_frequency
000F 7603              MOV     @R0,#03H
0011 08                INC     R0
0012 766E              MOV     @R0,#06EH
                                           ; SOURCE LINE # 123
0014 120000      R     LCALL   dts_MemInit
                                           ; SOURCE LINE # 124
0017 020000      R     LJMP    dts_GetFer
             ; FUNCTION dts_task_init (END)

             ; FUNCTION dts_task (BEGIN)
                                           ; SOURCE LINE # 144
                                           ; SOURCE LINE # 145
                                           ; SOURCE LINE # 147
0000 22                RET     
             ; FUNCTION dts_task (END)

             ; FUNCTION dts_divider (BEGIN)
                                           ; SOURCE LINE # 165
;---- Variable 'temp' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 166
                                           ; SOURCE LINE # 169
0000 200004      E     JB      DtsMen_flag,?C0003
0003 7800        E     MOV     R0,#LOW dts_frequency+01H
0005 8002              SJMP    ?C0027
0007         ?C0003:
                                           ; SOURCE LINE # 170
0007 7800        E     MOV     R0,#LOW Mem_frequency+01H
0009         ?C0027:
0009 E6                MOV     A,@R0
000A 246B              ADD     A,#06BH
000C FF                MOV     R7,A
000D 18                DEC     R0
000E E4                CLR     A
000F 36                ADDC    A,@R0
0010 FE                MOV     R6,A
0011         ?C0004:
                                           ; SOURCE LINE # 171
0011 EF                MOV     A,R7
0012 7800        E     MOV     R0,#LOW DTS_buffer
0014 F6                MOV     @R0,A
                                           ; SOURCE LINE # 172
0015 7808              MOV     R0,#08H
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 17  

0017 08                INC     R0
0018 8006              SJMP    ?C0020
001A         ?C0019:
001A CE                XCH     A,R6
001B A2E7              MOV     C,ACC.7
001D 13                RRC     A
001E CE                XCH     A,R6
001F 13                RRC     A
0020         ?C0020:
0020 D8F8              DJNZ    R0,?C0019
0022 7800        E     MOV     R0,#LOW DTS_buffer+01H
0024 F6                MOV     @R0,A
                                           ; SOURCE LINE # 173
0025 22                RET     
             ; FUNCTION dts_divider (END)

             ; FUNCTION dts_FerInc (BEGIN)
                                           ; SOURCE LINE # 191
                                           ; SOURCE LINE # 192
                                           ; SOURCE LINE # 193
0000 C3                CLR     C
0001 7800        E     MOV     R0,#LOW dts_frequency+01H
0003 E6                MOV     A,@R0
0004 9438              SUBB    A,#038H
0006 18                DEC     R0
0007 E6                MOV     A,@R0
0008 6480              XRL     A,#080H
000A 9484              SUBB    A,#084H
000C 5007              JNC     ?C0007
                                           ; SOURCE LINE # 194
000E 08                INC     R0
000F 06                INC     @R0
0010 E6                MOV     A,@R0
0011 18                DEC     R0
0012 7001              JNZ     ?C0021
0014 06                INC     @R0
0015         ?C0021:
                                           ; SOURCE LINE # 195
                                           ; SOURCE LINE # 196
0015         ?C0007:
0015 22                RET     
             ; FUNCTION dts_FerInc (END)

             ; FUNCTION dts_FerDec (BEGIN)
                                           ; SOURCE LINE # 214
                                           ; SOURCE LINE # 215
                                           ; SOURCE LINE # 216
0000 D3                SETB    C
0001 7800        E     MOV     R0,#LOW dts_frequency+01H
0003 E6                MOV     A,@R0
0004 946E              SUBB    A,#06EH
0006 18                DEC     R0
0007 E6                MOV     A,@R0
0008 6480              XRL     A,#080H
000A 9483              SUBB    A,#083H
000C 4007              JC      ?C0009
                                           ; SOURCE LINE # 217
000E 08                INC     R0
000F E6                MOV     A,@R0
0010 16                DEC     @R0
0011 18                DEC     R0
0012 7001              JNZ     ?C0022
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 18  

0014 16                DEC     @R0
0015         ?C0022:
                                           ; SOURCE LINE # 218
                                           ; SOURCE LINE # 219
0015         ?C0009:
0015 22                RET     
             ; FUNCTION dts_FerDec (END)

             ; FUNCTION dts_GetFer (BEGIN)
                                           ; SOURCE LINE # 236
                                           ; SOURCE LINE # 237
                                           ; SOURCE LINE # 238
0000 120000      R     LCALL   dts_divider
                                           ; SOURCE LINE # 239
0003 7800        E     MOV     R0,#LOW DTS_buffer+02H
0005 7612              MOV     @R0,#012H
                                           ; SOURCE LINE # 240
0007 08                INC     R0
0008 76A3              MOV     @R0,#0A3H
                                           ; SOURCE LINE # 241
000A 08                INC     R0
000B 76F4              MOV     @R0,#0F4H
                                           ; SOURCE LINE # 242
000D 08                INC     R0
000E 7610              MOV     @R0,#010H
                                           ; SOURCE LINE # 244
0010 120000      E     LCALL   dts_In1mode
                                           ; SOURCE LINE # 245
0013 020000      E     LJMP    dts_In2mode
             ; FUNCTION dts_GetFer (END)

             ; FUNCTION dts_MemWriteFer (BEGIN)
                                           ; SOURCE LINE # 267
                                           ; SOURCE LINE # 268
                                           ; SOURCE LINE # 271
0000 E500        E     MOV     A,Mem_add
0002 C3                CLR     C
0003 941F              SUBB    A,#01FH
0005 502A              JNC     ?C0012
                                           ; SOURCE LINE # 272
0007 7800        E     MOV     R0,#LOW dts_frequency
0009 08                INC     R0
000A E6                MOV     A,@R0
;---- Variable 'temp' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 273
000B 7E00              MOV     R6,#00H
                                           ; SOURCE LINE # 274
000D 0500        E     INC     Mem_add
                                           ; SOURCE LINE # 275
000F FD                MOV     R5,A
0010 AF00        E     MOV     R7,Mem_add
0012 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 276
0015 7800        E     MOV     R0,#LOW dts_frequency
0017 E6                MOV     A,@R0
0018 FE                MOV     R6,A
0019 08                INC     R0
001A E6                MOV     A,@R0
001B FF                MOV     R7,A
                                           ; SOURCE LINE # 277
001C 7808              MOV     R0,#08H
001E 08                INC     R0
C51 COMPILER V8.01   DTS_TASK                                                              08/07/2006 11:16:10 PAGE 19  

001F 8006              SJMP    ?C0024
0021         ?C0023:
0021 CE                XCH     A,R6
0022 A2E7              MOV     C,ACC.7
0024 13                RRC     A
0025 CE                XCH     A,R6
0026 13                RRC     A
0027         ?C0024:
0027 D8F8              DJNZ    R0,?C0023
                                           ; SOURCE LINE # 278
0029 0500        E     INC     Mem_add
                                           ; SOURCE LINE # 279
002B FD                MOV     R5,A

⌨️ 快捷键说明

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