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

📄 7279a_p1.lst

📁 一个流量控制仪器的源码
💻 LST
字号:
A51 MACRO ASSEMBLER  7279A_P1                                                             07/08/2004 05:56:08 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN .\Output\7279A_P1.obj
ASSEMBLER INVOKED BY: M:\Keil\C51\BIN\A51.EXE 7279A_P1.A51 SET(SMALL) DEBUG PRINT(.\List\7279A_P1.lst) OBJECT(.\Output\7
                      279A_P1.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     ;********************************************************
                       3     ; RAM 定义
                       4     ;********************************************************
                       5     VAR1            SEGMENT DATA
                       6     
                       7     
----                   8     RSEG            VAR1
0000                   9     BIT_COUNT:      DS      1
0001                  10     TIMER:          DS      1
0002                  11     TIMER1:         DS      1
0003                  12     TEN:            DS      1
0004                  13     DATA_IN:        DS      1
0005                  14     DATA_OUT:       DS      1
                      15     
                      16     ;********************************************************
                      17     ; I/O 口定义
                      18     ;********************************************************
                      19     
  0090                20     DAT             BIT     P1.0
  0091                21     KEY             BIT     P1.1
  0092                22     CS              BIT     P1.2
  0093                23     CLK             BIT     P1.3
                      24     
                      25     
                      26     ; FUNCTION HD7279_init (BEGIN)
                      27     
                      28     PUBLIC  HD7279_init
                      29     HD7279_initP    SEGMENT CODE
----                  30     RSEG    HD7279_initP
0000 7590BF           31     HD7279_init:    MOV     P1,#10111111B
0003 750032   F       32                     MOV     TIMER,#50
                      33     
0006 7500FF   F       34     START_DELAY:    MOV     TIMER1,#255
0009 D500FD   F       35     START_DELAY1:   DJNZ    TIMER1,START_DELAY1
000C D500F7   F       36                     DJNZ    TIMER,START_DELAY
000F 7500A4   F       37                     MOV     DATA_OUT,#10100100B
0012 120000   F       38                     CALL    SEND
0015 D292             39                     SETB    CS
                      40                     
0017 D291             41                     SETB    KEY             ;!!!!!*****P1,P2,P3口读前先置1
                      42                     
0019 22               43                     RET
                      44     
                      45     ; FUNCTION HD7279_init (END)
                      46     
                      47     ; FUNCTION _HD7279_disp (BEGIN)
                      48     
                      49     PUBLIC  _HD7279_disp
                      50     HD7279_dispP    SEGMENT CODE
----                  51     RSEG    HD7279_dispP
0000 D292             52     _HD7279_disp:   SETB    CS
                      53     
0002 75E008           54                     MOV     ACC,#8
0005 75F087           55                     MOV     B,#10000111B    ;!!!!!下载数据且按方式0译码
                      56                     
0008 C0E0             57     HD7279_D_LOOP:  PUSH    ACC
A51 MACRO ASSEMBLER  7279A_P1                                                             07/08/2004 05:56:08 PAGE     2

000A 85F000   F       58                     MOV     DATA_OUT,B
000D 120000   F       59                     CALL    SEND
                      60     
0010 8700     F       61                     MOV     DATA_OUT,@R1
0012 120000   F       62                     CALL    SEND
                      63                     
0015 15F0             64                     DEC     B
0017 09               65                     INC     R1
0018 D0E0             66                     POP     ACC
001A D5E0EB           67                     DJNZ    ACC,HD7279_D_LOOP 
                      68                     
001D D292             69                     SETB    CS                          
001F 22               70                     RET 
                      71         
                      72     ; FUNCTION _HD7279_disp (END)
                      73     
                      74     
                      75     ; FUNCTION _HD7279_DK (BEGIN)
                      76     
                      77     PUBLIC  _HD7279_DK
                      78     HD7279_DKP      SEGMENT CODE
----                  79     RSEG    HD7279_DKP
0000 D292             80     _HD7279_DK:     SETB    CS
                      81     
0002 750088   F       82                     MOV     DATA_OUT,#10001000B
0005 120000   F       83                     CALL    SEND
                      84     
0008 8F00     F       85                     MOV     DATA_OUT,R7
000A 120000   F       86                     CALL    SEND
                      87                     
000D D292             88                     SETB    CS                          
000F 22               89                     RET 
                      90         
                      91     ; FUNCTION _HD7279_DK (END)
                      92     
                      93     
                      94     ; FUNCTION HD7279_GETKEY (BEGIN)
                      95     
                      96     PUBLIC  HD7279_GETKEY
                      97     HD7279_GETKEYP  SEGMENT CODE
----                  98     RSEG    HD7279_GETKEYP
0000 D292             99     HD7279_GETKEY:  SETB    CS
0002 750015   F      100                     MOV     DATA_OUT,#00010101B
0005 120000   F      101                     CALL    SEND
0008 120000   F      102                     CALL    RECEIVE
000B D292            103                     SETB    CS                                           
                     104                                                
000D AF00     F      105                     MOV     R7,DATA_IN
                     106     
000F 22              107                     RET     
                     108     ; FUNCTION HD7279_getkey (END)
                     109     
                     110     
                     111     
                     112     HD7279_FUNCTIONP        SEGMENT CODE
----                 113     RSEG            HD7279_FUNCTIONP
                     114     ;*****************************************************
                     115     ;       发送一个字节到HD7279,高位在前
                     116     ;*****************************************************
                     117     
0000 750008   F      118     SEND:           MOV     BIT_COUNT,#8
0003 C292            119                     CLR     CS
0005 120000   F      120                     CALL    LONG_DELAY
0008 8500E0   F      121     SEND_LOOP:      MOV     ACC,DATA_OUT
000B A2E7            122                     MOV     C,ACC.7
                     123                     ;MOV    C,DATA_OUT.7
A51 MACRO ASSEMBLER  7279A_P1                                                             07/08/2004 05:56:08 PAGE     3

                     124                     
000D 9290            125                     MOV     DAT,C
000F D293            126                     SETB    CLK
0011 E500     F      127                     MOV     A,DATA_OUT
0013 23              128                     RL      A
0014 F500     F      129                     MOV     DATA_OUT,A
0016 120000   F      130                     CALL    SHORT_DELAY
0019 C293            131                     CLR     CLK
001B 120000   F      132                     CALL    SHORT_DELAY
001E D500E7   F      133                     DJNZ    BIT_COUNT,SEND_LOOP
0021 C290            134                     CLR     DAT
0023 22              135                     RET
                     136     
                     137     ;******************************************************
                     138     ;       从HD7279接收一个字节,高位在前
                     139     ;******************************************************
                     140     
0024 750008   F      141     RECEIVE:        MOV     BIT_COUNT,#8
0027 D290            142                     SETB    DAT
                     143     
0029 120000   F      144                     CALL    LONG_DELAY
002C D293            145     RECEIVE_LOOP:   SETB    CLK
002E 120000   F      146                     CALL    SHORT_DELAY
0031 E500     F      147                     MOV     A,DATA_IN
0033 23              148                     RL      A
0034 F500     F      149                     MOV     DATA_IN,A
0036 A290            150                     MOV     C,DAT
                     151                     
0038 92E0            152                     MOV     ACC.0,C
003A 85E000   F      153                     MOV     DATA_IN,ACC
                     154                     ;MOV    DATA_IN.0,C
003D C293            155                     CLR     CLK
003F 120000   F      156                     CALL    SHORT_DELAY
0042 D500E7   F      157                     DJNZ    BIT_COUNT,RECEIVE_LOOP
0045 C290            158                     CLR     DAT
0047 22              159                     RET
                     160     
                     161     ;*******************************************************
                     162     ;       延时子程序
                     163     ;*******************************************************
                     164     
0048 750019   F      165     LONG_DELAY:     MOV     TIMER,#25
004B D500FD   F      166     DELAY_LOOP:     DJNZ    TIMER,DELAY_LOOP
004E 22              167                     RET
                     168     
004F 750004   F      169     SHORT_DELAY:    MOV     TIMER,#4
0052 D500FD   F      170     SHORT_LOOP:     DJNZ    TIMER,SHORT_LOOP
0055 22              171                     RET
                     172     
                     173     
                     174                     END
                             
                             
                             
                                             
                             
A51 MACRO ASSEMBLER  7279A_P1                                                             07/08/2004 05:56:08 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
BIT_COUNT. . . . .  D ADDR   0000H   R   SEG=VAR1
CLK. . . . . . . .  B ADDR   0090H.3 A   
CS . . . . . . . .  B ADDR   0090H.2 A   
DAT. . . . . . . .  B ADDR   0090H.0 A   
DATA_IN. . . . . .  D ADDR   0004H   R   SEG=VAR1
DATA_OUT . . . . .  D ADDR   0005H   R   SEG=VAR1
DELAY_LOOP . . . .  C ADDR   004BH   R   SEG=HD7279_FUNCTIONP
HD7279_DISPP . . .  C SEG    0020H       REL=UNIT
HD7279_DKP . . . .  C SEG    0010H       REL=UNIT
HD7279_D_LOOP. . .  C ADDR   0008H   R   SEG=HD7279_DISPP
HD7279_FUNCTIONP .  C SEG    0056H       REL=UNIT
HD7279_GETKEY. . .  C ADDR   0000H   R   SEG=HD7279_GETKEYP
HD7279_GETKEYP . .  C SEG    0010H       REL=UNIT
HD7279_INIT. . . .  C ADDR   0000H   R   SEG=HD7279_INITP
HD7279_INITP . . .  C SEG    001AH       REL=UNIT
KEY. . . . . . . .  B ADDR   0090H.1 A   
LONG_DELAY . . . .  C ADDR   0048H   R   SEG=HD7279_FUNCTIONP
P1 . . . . . . . .  D ADDR   0090H   A   
RECEIVE. . . . . .  C ADDR   0024H   R   SEG=HD7279_FUNCTIONP
RECEIVE_LOOP . . .  C ADDR   002CH   R   SEG=HD7279_FUNCTIONP
SEND . . . . . . .  C ADDR   0000H   R   SEG=HD7279_FUNCTIONP
SEND_LOOP. . . . .  C ADDR   0008H   R   SEG=HD7279_FUNCTIONP
SHORT_DELAY. . . .  C ADDR   004FH   R   SEG=HD7279_FUNCTIONP
SHORT_LOOP . . . .  C ADDR   0052H   R   SEG=HD7279_FUNCTIONP
START_DELAY. . . .  C ADDR   0006H   R   SEG=HD7279_INITP
START_DELAY1 . . .  C ADDR   0009H   R   SEG=HD7279_INITP
TEN. . . . . . . .  D ADDR   0003H   R   SEG=VAR1
TIMER. . . . . . .  D ADDR   0001H   R   SEG=VAR1
TIMER1 . . . . . .  D ADDR   0002H   R   SEG=VAR1
VAR1 . . . . . . .  D SEG    0006H       REL=UNIT
_HD7279_DISP . . .  C ADDR   0000H   R   SEG=HD7279_DISPP
_HD7279_DK . . . .  C ADDR   0000H   R   SEG=HD7279_DKP


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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