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

📄 key.ls1

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 LS1
📖 第 1 页 / 共 4 页
字号:
001B FC              259             MOV     R4,A
001C 120000   F      260             LCALL   ?C?SLDIV
001F 8F00     F      261             MOV     count_POWER,R7
0021 200005   F      262             JB      key_on,?C0010
0024 750004   F      263             MOV     key_last,#04H
0027 D200     F      264             SETB    key_on
0029                 265     ?C0010:
                     266     ;       CHK_KEY(MENU);
                     267                             ; SOURCE LINE # 44
0029 308105          268             JNB     PIN_KEY_MENU,?C0011
002C 750005   F      269             MOV     count_MENU,#05H
002F 8021            270             SJMP    ?C0017
0031                 271     ?C0011:
0031 E500     F      272             MOV     A,count_MENU
0033 601D            273             JZ      ?C0017
0035 D5001A   F      274             DJNZ    count_MENU,?C0017
0038 AF00     F      275             MOV     R7,rephz_MENU
003A AB07            276             MOV     R3,AR7
003C E4              277             CLR     A
003D FA              278             MOV     R2,A
003E F9              279             MOV     R1,A
003F F8              280             MOV     R0,A
0040 7F64            281             MOV     R7,#064H
0042 FE              282             MOV     R6,A
0043 FD              283             MOV     R5,A
0044 FC              284             MOV     R4,A
0045 120000   F      285             LCALL   ?C?SLDIV
0048 8F00     F      286             MOV     count_MENU,R7
004A 200005   F      287             JB      key_on,?C0017
004D 750003   F      288             MOV     key_last,#03H
0050 D200     F      289             SETB    key_on
0052                 290     ?C0017:
                     291     ;       CHK_KEY(INC);
                     292                             ; SOURCE LINE # 45
0052 308305          293             JNB     PIN_KEY_INC,?C0018
0055 750005   F      294             MOV     count_INC,#05H
0058 8021            295             SJMP    ?C0024
005A                 296     ?C0018:
005A E500     F      297             MOV     A,count_INC
005C 601D            298             JZ      ?C0024
005E D5001A   F      299             DJNZ    count_INC,?C0024
0061 AF00     F      300             MOV     R7,rephz_INC
0063 AB07            301             MOV     R3,AR7
0065 E4              302             CLR     A
0066 FA              303             MOV     R2,A
0067 F9              304             MOV     R1,A
0068 F8              305             MOV     R0,A
0069 7F64            306             MOV     R7,#064H
006B FE              307             MOV     R6,A
006C FD              308             MOV     R5,A
006D FC              309             MOV     R4,A
006E 120000   F      310             LCALL   ?C?SLDIV
0071 8F00     F      311             MOV     count_INC,R7
0073 200005   F      312             JB      key_on,?C0024
0076 750001   F      313             MOV     key_last,#01H
0079 D200     F      314             SETB    key_on
007B                 315     ?C0024:
                     316     ;       CHK_KEY(DEC);
                     317                             ; SOURCE LINE # 46
007B 308205          318             JNB     PIN_KEY_DEC,?C0025
007E 750005   F      319             MOV     count_DEC,#05H
0081 8021            320             SJMP    ?C0031
0083                 321     ?C0025:
0083 E500     F      322             MOV     A,count_DEC
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     6

0085 601D            323             JZ      ?C0031
0087 D5001A   F      324             DJNZ    count_DEC,?C0031
008A AF00     F      325             MOV     R7,rephz_DEC
008C AB07            326             MOV     R3,AR7
008E E4              327             CLR     A
008F FA              328             MOV     R2,A
0090 F9              329             MOV     R1,A
0091 F8              330             MOV     R0,A
0092 7F64            331             MOV     R7,#064H
0094 FE              332             MOV     R6,A
0095 FD              333             MOV     R5,A
0096 FC              334             MOV     R4,A
0097 120000   F      335             LCALL   ?C?SLDIV
009A 8F00     F      336             MOV     count_DEC,R7
009C 200005   F      337             JB      key_on,?C0031
009F 750002   F      338             MOV     key_last,#02H
00A2 D200     F      339             SETB    key_on
00A4                 340     ?C0031:
                     341     ;       CHK_KEY(MUTE);
                     342                             ; SOURCE LINE # 47
00A4 308404          343             JNB     PIN_KEY_MUTE,?C0032
00A7 750005   F      344             MOV     count_MUTE,#05H
00AA 22              345             RET     
00AB                 346     ?C0032:
00AB E500     F      347             MOV     A,count_MUTE
00AD 601D            348             JZ      ?C0036
00AF D5001A   F      349             DJNZ    count_MUTE,?C0036
00B2 AF00     F      350             MOV     R7,rephz_MUTE
00B4 AB07            351             MOV     R3,AR7
00B6 E4              352             CLR     A
00B7 FA              353             MOV     R2,A
00B8 F9              354             MOV     R1,A
00B9 F8              355             MOV     R0,A
00BA 7F64            356             MOV     R7,#064H
00BC FE              357             MOV     R6,A
00BD FD              358             MOV     R5,A
00BE FC              359             MOV     R4,A
00BF 120000   F      360             LCALL   ?C?SLDIV
00C2 8F00     F      361             MOV     count_MUTE,R7
00C4 200005   F      362             JB      key_on,?C0036
00C7 75000C   F      363             MOV     key_last,#0CH
00CA D200     F      364             SETB    key_on
                     365     ; 
                     366     ; //    timer.expires = get_jiffies()+HZ/100;
                     367     ; //    add_timer(&timer);
                     368     ; }
                     369                             ; SOURCE LINE # 51
00CC                 370     ?C0036:
00CC 22              371             RET     
                     372     ; END OF _?check_key
                     373     
                     374     ; 
                     375     ; sbit IRDA_DAT = P3 ^ 2;
                     376     ; bit keybh_pending = 0;
                     377     ; 
                     378     ; #pragma asm
                     379       
                     380             EXTRN   CODE (soft_interrupt)
----                 381       CSEG  AT      00003H
0003 120000   F      382             LCALL   int0_interrupt
0006 020000   F      383             LJMP    soft_interrupt
                     384       
                     385       ?PR?int0_interrupt?KEY   SEGMENT CODE 
                     386       
----                 387             RSEG  ?PR?int0_interrupt?KEY
                     388             USING   0
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     7

0000                 389       int0_interrupt:
0000 C2A8            390             CLR     EX0
0002 D200     F      391             SETB    keybh_pending
0004 32              392             RETI    
                     393       
                     394     ; #pragma endasm
                     395     ; 
                     396     ; #define INIT_T0               (65536L - (F_OSC/12)/HZ)
                     397     ; #define LEAD_LOW_MIN  ( 40*((F_OSC/12)/10000))
                     398     ; #define LEAD_LOW_MAX  (120*((F_OSC/12)/10000))
                     399     ; #define REP_HIGH_MIN  ( 20*((F_OSC/12)/10000))
                     400     ; #define REP_HIGH_MAX  ( 35*((F_OSC/12)/10000))
                     401     ; #define LEAD_HIGH_MIN REP_HIGH_MIN
                     402     ; #define LEAD_HIGH_MAX ( 60*((F_OSC/12)/10000))
                     403     ; #define DAT_LOW_MIN   (  4*((F_OSC/12)/10000))
                     404     ; #define DAT_LOW_MAX   ( 10*((F_OSC/12)/10000))
                     405     ; #define ONE_HIGH_MIN  ( 12*((F_OSC/12)/10000))
                     406     ; #define ONE_HIGH_MAX  ( 20*((F_OSC/12)/10000))
                     407     ; #define ZERO_HIGH_MIN (  3*((F_OSC/12)/10000))
                     408     ; #define ZERO_HIGH_MAX (  8*((F_OSC/12)/10000))
                     409     ; #define DAT_HIGH_MIN  ZERO_HIGH_MIN
                     410     ; #define DAT_HIGH_MAX  ONE_HIGH_MAX
                     411     ; 
                     412     ; static bit wait_for_pin(bit level, unsigned char min, unsigned char max)
                     413     
----                 414             RSEG  ?PR?wait_for_pin?KEY
0000                 415     wait_for_pin:
                     416                             ; SOURCE LINE # 90
                     417     ; {
                     418                             ; SOURCE LINE # 91
                     419     ;       TR1 = 0;
                     420                             ; SOURCE LINE # 92
0000 C28E            421             CLR     TR1
                     422     ;       TH1 = TL1 = TF1 = 0;
                     423                             ; SOURCE LINE # 93
0002 C28F            424             CLR     TF1
0004 E4              425             CLR     A
0005 F58B            426             MOV     TL1,A
0007 F58D            427             MOV     TH1,A
                     428     ;       TR1 = 1;
                     429                             ; SOURCE LINE # 94
0009 D28E            430             SETB    TR1
000B                 431     ?C0037:
                     432     ;       while (IRDA_DAT != level && TF1 == 0);
                     433                             ; SOURCE LINE # 95
000B A2B2            434             MOV     C,IRDA_DAT
000D 300001   F      435             JNB     level?140,?C0075
0010 B3              436             CPL     C
0011                 437     ?C0075:
0011 5003            438             JNC     ?C0038
0013 308FF5          439             JNB     TF1,?C0037
0016                 440     ?C0038:
                     441     ;       TR1 = 0;
                     442                             ; SOURCE LINE # 96
0016 C28E            443             CLR     TR1
                     444     ;       if (IRDA_DAT == level) {
                     445                             ; SOURCE LINE # 97
0018 A2B2            446             MOV     C,IRDA_DAT
001A 300001   F      447             JNB     level?140,?C0076
001D B3              448             CPL     C
001E                 449     ?C0076:
001E 400E            450             JC      ?C0039
                     451     ;               if (TH1 >= min && TH1 <= max) {
                     452                             ; SOURCE LINE # 98
0020 E58D            453             MOV     A,TH1
0022 9500     F      454             SUBB    A,min?141
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     8

0024 4008            455             JC      ?C0039
0026 E58D            456             MOV     A,TH1
0028 D3              457             SETB    C
0029 9500     F      458             SUBB    A,max?142
002B 5001            459             JNC     ?C0039
                     460     ;                       return 1;
                     461                             ; SOURCE LINE # 99
002D 22              462             RET     
                     463     ;               }
                     464                             ; SOURCE LINE # 100
                     465     ;       }
                     466                             ; SOURCE LINE # 101
002E                 467     ?C0039:
                     468     ;       return 0;
                     469                             ; SOURCE LINE # 102
002E C3              470             CLR     C
                     471     ; }
                     472                             ; SOURCE LINE # 103
002F                 473     ?C0041:
002F 22              474             RET     
                     475     ; END OF wait_for_pin
                     476     
                     477     ; 
                     478     ; bit decode_lead(void)
                     479     
----                 480             RSEG  ?PR?decode_lead?KEY
0000                 481     decode_lead:
                     482                             ; SOURCE LINE # 105
                     483     ; {
                     484                             ; SOURCE LINE # 106
                     485     ;       if (!wait_for_pin(1, LEAD_LOW_MIN>>8, LEAD_LOW_MAX>>8))
                     486                             ; SOURCE LINE # 107
0000 D200     F      487             SETB    ?wait_for_pin?BIT
0002 75000C   F      488             MOV     ?wait_for_pin?BYTE,#0CH
0005 750025   F      489             MOV     ?wait_for_pin?BYTE+01H,#025H
0008 120000   F      490             LCALL   wait_for_pin
000B 4001            491             JC      ?C0042
                     492     ;               return 0;
                     493                             ; SOURCE LINE # 108
000D 22              494             RET     
000E                 495     ?C0042:
                     496     ;       if (!wait_for_pin(0, LEAD_HIGH_MIN>>8, LEAD_HIGH_MAX>>8))
                     497                             ; SOURCE LINE # 109
000E C200     F      498             CLR     ?wait_for_pin?BIT
0010 750006   F      499             MOV     ?wait_for_pin?BYTE,#06H
0013 750012   F      500             MOV     ?wait_for_pin?BYTE+01H,#012H
0016 120000   F      501             LCALL   wait_for_pin
0019 4001            502             JC      ?C0044
                     503     ;               return 0;
                     504                             ; SOURCE LINE # 110
001B 22              505             RET     
001C                 506     ?C0044:
                     507     ;       return 1;
                     508                             ; SOURCE LINE # 111
001C D3              509             SETB    C
                     510     ; }
                     511                             ; SOURCE LINE # 112
001D                 512     ?C0043:
001D 22              513             RET     
                     514     ; END OF decode_lead
                     515     
                     516     ; 
                     517     ; unsigned char decode_byte(void)
                     518     
----                 519             RSEG  ?PR?decode_byte?KEY
0000                 520     decode_byte:
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     9

                     521             USING   0
                     522                             ; SOURCE LINE # 114
                     523     ; {
                     524                             ; SOURCE LINE # 115
                     525     ;       unsigned char i,c = 0;

⌨️ 快捷键说明

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