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

📄 key.ls1

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 LS1
📖 第 1 页 / 共 4 页
字号:
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     1


MACRO ASSEMBLER A51 V7.04
OBJECT MODULE PLACED IN key.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE key.src PR(.\key.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\key.SRC generated from: key.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE key.c DEBUG OBJECTEXTEND NOPRINT SRC(.\key.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    KEY
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  0090                16     T2      BIT     090H.0
  00AF                17     EA      BIT     0A8H.7
  00A8                18     IE      DATA    0A8H
  00CE                19     EXF2    BIT     0C8H.6
  00B7                20     RD      BIT     0B0H.7
  00AC                21     ES      BIT     0A8H.4
  00B8                22     IP      DATA    0B8H
  0098                23     RI      BIT     098H.0
  00B2                24     INT0    BIT     0B0H.2
  00D7                25     CY      BIT     0D0H.7
  0099                26     TI      BIT     098H.1
  00B3                27     INT1    BIT     0B0H.3
  0080                28     PIN_KEY_POWER   BIT     080H.0
  00CB                29     RCAP2H  DATA    0CBH
  00BC                30     PS      BIT     0B8H.4
  0081                31     SP      DATA    081H
  0091                32     T2EX    BIT     090H.1
  00D2                33     OV      BIT     0D0H.2
  00CA                34     RCAP2L  DATA    0CAH
  00C9                35     C_T2    BIT     0C8H.1
  00B6                36     WR      BIT     0B0H.6
  00CD                37     RCLK    BIT     0C8H.5
  00CC                38     TCLK    BIT     0C8H.4
  0099                39     SBUF    DATA    099H
  0087                40     PCON    DATA    087H
  0098                41     SCON    DATA    098H
  0089                42     TMOD    DATA    089H
  0088                43     TCON    DATA    088H
  0089                44     IE0     BIT     088H.1
  008B                45     IE1     BIT     088H.3
  00F0                46     B       DATA    0F0H
  00C8                47     CP_RL2  BIT     0C8H.0
  00E0                48     ACC     DATA    0E0H
  0081                49     PIN_KEY_MENU    BIT     080H.1
  00A9                50     ET0     BIT     0A8H.1
  00AB                51     ET1     BIT     0A8H.3
  008D                52     TF0     BIT     088H.5
  00AD                53     ET2     BIT     0A8H.5
  008F                54     TF1     BIT     088H.7
  00CF                55     TF2     BIT     0C8H.7
  009A                56     RB8     BIT     098H.2
  008C                57     TH0     DATA    08CH
  00A8                58     EX0     BIT     0A8H.0
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     2

  0088                59     IT0     BIT     088H.0
  008D                60     TH1     DATA    08DH
  009B                61     TB8     BIT     098H.3
  00AA                62     EX1     BIT     0A8H.2
  008A                63     IT1     BIT     088H.2
  00CD                64     TH2     DATA    0CDH
  0084                65     PIN_KEY_MUTE    BIT     080H.4
  00D0                66     P       BIT     0D0H.0
  009F                67     SM0     BIT     098H.7
  008A                68     TL0     DATA    08AH
  009E                69     SM1     BIT     098H.6
  008B                70     TL1     DATA    08BH
  009D                71     SM2     BIT     098H.5
  00CC                72     TL2     DATA    0CCH
  00B9                73     PT0     BIT     0B8H.1
  00BB                74     PT1     BIT     0B8H.3
  00D3                75     RS0     BIT     0D0H.3
  00BD                76     PT2     BIT     0B8H.5
  008C                77     TR0     BIT     088H.4
  00D4                78     RS1     BIT     0D0H.4
  008E                79     TR1     BIT     088H.6
  00CA                80     TR2     BIT     0C8H.2
  00B8                81     PX0     BIT     0B8H.0
  00BA                82     PX1     BIT     0B8H.2
  00B2                83     IRDA_DAT        BIT     0B0H.2
  0083                84     DPH     DATA    083H
  00A5                85     HZ_IND  BIT     0A0H.5
  0082                86     PIN_KEY_DEC     BIT     080H.2
  0082                87     DPL     DATA    082H
  00CB                88     EXEN2   BIT     0C8H.3
  009C                89     REN     BIT     098H.4
  00C8                90     T2CON   DATA    0C8H
  0083                91     PIN_KEY_INC     BIT     080H.3
  00B0                92     RXD     BIT     0B0H.0
  00B1                93     TXD     BIT     0B0H.1
  00D5                94     F0      BIT     0D0H.5
  00D0                95     PSW     DATA    0D0H
                      96     ?PR?_?check_key?KEY  SEGMENT CODE 
                      97     ?PR?wait_for_pin?KEY SEGMENT CODE 
                      98     ?DT?wait_for_pin?KEY SEGMENT DATA OVERLAYABLE 
                      99     ?BI?wait_for_pin?KEY SEGMENT BIT OVERLAYABLE 
                     100     ?PR?decode_lead?KEY  SEGMENT CODE 
                     101     ?PR?decode_byte?KEY  SEGMENT CODE 
                     102     ?PR?key_bh?KEY       SEGMENT CODE 
                     103     ?PR?key_init?KEY     SEGMENT CODE 
                     104     ?C_INITSEG           SEGMENT CODE 
                     105     ?BI?KEY              SEGMENT BIT 
                     106     ?DT?KEY              SEGMENT DATA 
                     107             EXTRN   BIT (use_timer1)
                     108             EXTRN   CODE (?C?SLDIV)
                     109             PUBLIC  rephz_INC
                     110             PUBLIC  key_last
                     111             PUBLIC  keybh_pending
                     112             PUBLIC  rephz_DEC
                     113             PUBLIC  rephz_MUTE
                     114             PUBLIC  rephz_MENU
                     115             PUBLIC  rephz_POWER
                     116             PUBLIC  key_on
                     117             PUBLIC  key_init
                     118             PUBLIC  key_bh
                     119             PUBLIC  decode_byte
                     120             PUBLIC  decode_lead
                     121             PUBLIC  _?check_key
                     122     
----                 123             RSEG  ?DT?wait_for_pin?KEY
0000                 124     ?wait_for_pin?BYTE:
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     3

0000                 125             min?141:   DS   1
0001                 126             max?142:   DS   1
                     127     
----                 128             RSEG  ?BI?wait_for_pin?KEY
0000                 129     ?wait_for_pin?BIT:
0000                 130           level?140:   DBIT   1
                     131     
----                 132             RSEG  ?BI?KEY
0000                 133              key_on:   DBIT   1
0001                 134       keybh_pending:   DBIT   1
                     135     
----                 136             RSEG  ?DT?KEY
0000                 137         rephz_POWER:   DS   1
0001                 138         count_POWER:   DS   1
0002                 139          rephz_MENU:   DS   1
0003                 140          count_MENU:   DS   1
0004                 141          rephz_MUTE:   DS   1
0005                 142          count_MUTE:   DS   1
0006                 143           rephz_DEC:   DS   1
0007                 144           count_DEC:   DS   1
0008                 145            key_last:   DS   1
0009                 146           rephz_INC:   DS   1
000A                 147           count_INC:   DS   1
                     148     
----                 149             RSEG  ?C_INITSEG
0000 C100     F      150             DB      0C1H, key_on + 000H     ; bit-init
                     151     
0002 01              152             DB      001H
0003 00       F      153             DB      count_POWER
0004 05              154             DB      005H
                     155     
0005 01              156             DB      001H
0006 00       F      157             DB      rephz_POWER
0007 00              158             DB      000H
                     159     
0008 01              160             DB      001H
0009 00       F      161             DB      count_MENU
000A 05              162             DB      005H
                     163     
000B 01              164             DB      001H
000C 00       F      165             DB      rephz_MENU
000D 05              166             DB      005H
                     167     
000E 01              168             DB      001H
000F 00       F      169             DB      count_DEC
0010 05              170             DB      005H
                     171     
0011 01              172             DB      001H
0012 00       F      173             DB      rephz_DEC
0013 05              174             DB      005H
                     175     
0014 01              176             DB      001H
0015 00       F      177             DB      count_INC
0016 05              178             DB      005H
                     179     
0017 01              180             DB      001H
0018 00       F      181             DB      rephz_INC
0019 05              182             DB      005H
                     183     
001A 01              184             DB      001H
001B 00       F      185             DB      count_MUTE
001C 05              186             DB      005H
                     187     
001D 01              188             DB      001H
001E 00       F      189             DB      rephz_MUTE
001F 00              190             DB      000H
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     4

                     191     
0020 C100     F      192             DB      0C1H, keybh_pending + 000H      ; bit-init
                     193     
                     194     ; #pragma REGISTERBANK(0)
                     195     ; 
                     196     ; #include <reg52.h>
                     197     ; #include "def.h"
                     198     ; #include "key.h"
                     199     ; #include "timer.h"
                     200     ; #include "mtv130.h"
                     201     ; 
                     202     ; bit key_on = 0;
                     203     ; unsigned char key_last;
                     204     ; 
                     205     ; //static struct timer_list timer;
                     206     ; 
                     207     ; #define DEBOUNCE_MS   50L
                     208     ; #define REPEAT_HZ     5
                     209     ; 
                     210     ; #define DEFINE_KEY(key, pin, rephz) \
                     211     ; sbit PIN_KEY_##key = pin; \
                     212     ; static unsigned char count_##key = DEBOUNCE_MS*HZ/1000; \
                     213     ; unsigned char rephz_##key = rephz;
                     214     ; 
                     215     ; #define CHK_KEY(key) \
                     216     ; do { \
                     217     ;       if (PIN_KEY_##key != 0) { \
                     218     ;               count_##key = DEBOUNCE_MS*HZ/1000; \
                     219     ;       } else if (count_##key && --count_##key == 0) { \
                     220     ;               count_##key = HZ/rephz_##key; \
                     221     ;               if (!key_on) { \
                     222     ;                       key_last = KEY_##key; \
                     223     ;                       key_on = 1; \
                     224     ;               } \
                     225     ;       } \
                     226     ; } while (0)
                     227     ; 
                     228     ; DEFINE_KEY(POWER,   P0 ^ 0, 0)
                     229     ; DEFINE_KEY(MENU,    P0 ^ 1, REPEAT_HZ)
                     230     ; DEFINE_KEY(DEC,     P0 ^ 2, REPEAT_HZ)
                     231     ; DEFINE_KEY(INC,     P0 ^ 3, REPEAT_HZ)
                     232     ; DEFINE_KEY(MUTE,    P0 ^ 4, 0)
                     233     ; 
                     234     ; void check_key(void) reentrant
                     235     
----                 236             RSEG  ?PR?_?check_key?KEY
0000                 237     _?check_key:
                     238             USING   0
                     239                             ; SOURCE LINE # 41
                     240     ; {
                     241     ;       CHK_KEY(POWER);
                     242                             ; SOURCE LINE # 43
0000 308005          243             JNB     PIN_KEY_POWER,?C0004
0003 750005   F      244             MOV     count_POWER,#05H
0006 8021            245             SJMP    ?C0010
0008                 246     ?C0004:
0008 E500     F      247             MOV     A,count_POWER
000A 601D            248             JZ      ?C0010
000C D5001A   F      249             DJNZ    count_POWER,?C0010
000F AF00     F      250             MOV     R7,rephz_POWER
0011 AB07            251             MOV     R3,AR7
0013 E4              252             CLR     A
0014 FA              253             MOV     R2,A
0015 F9              254             MOV     R1,A
0016 F8              255             MOV     R0,A
0017 7F64            256             MOV     R7,#064H
A51 MACRO ASSEMBLER  KEY                                                                  12/27/2003 22:39:17 PAGE     5

0019 FE              257             MOV     R6,A
001A FD              258             MOV     R5,A

⌨️ 快捷键说明

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