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

📄 ad9850.lst

📁 AD_9850是一个可以实现多种波形显示的芯片
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  AD9850                                                               08/26/2007 16:12:21 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN AD9850.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE AD9850.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  00B1                 1             W_CLK                   EQU     p3.1    
  00B0                 2             F_QUD                   EQU     P3.0
                       3     ;*****************************************************************************'
  0044                 4             WORD_FREG_L1            EQU     44H             ;注意:这里的高低位不要弄错了,我就是
                             在这里弄错了
  0043                 5             WORD_FREG_L2            EQU     43H
  0042                 6             WORD_FREG_H1            EQU     42H
  0041                 7             WORD_FREG_H2            EQU     41H
                       8     ;*************************ZLG7289 PARAMETERS************************************
  0050                 9             ZLG_PARA_NUM_H1         EQU     50H
  0051                10             ZLG_PARA_NUM_H2         EQU     51H
  0052                11             ZLG_PARA_NUM_H3         EQU     52H
  0053                12             ZLG_PARA_NUM_H4         EQU     53H
                      13     
  0054                14             ZLG_PARA_NUM_L1         EQU     54H
  0055                15             ZLG_PARA_NUM_L2         EQU     55H
  0056                16             ZLG_PARA_NUM_L3         EQU     56H
  0057                17             ZLG_PARA_NUM_L4         EQU     57H
                      18     ;*******************************************************************************
  0030                19             ZLG_BIT_CNT             EQU     30H     ;The number of data sended
  0031                20             ZLG_REC_BUF             EQU     31H     ;The buffer of data sended
  0032                21             ZLG_SEND_BUF            EQU     32H     ;The buffer of data received
  0033                22             ZLG_DECIMAL_BUFF        EQU     33H     ;The digit of decimal
  0034                23             ZLG_MOVE_BUFF           EQU     34H
                      24     
  0080                25             ZLG_CS                  EQU     P0.0    ;/CS  of ZLG7289
  0081                26             ZLG_CLK                 EQU     P0.1    ;CLK  of ZLG7289
  0082                27             ZLG_DATA                EQU     P0.2    ;DIO  of ZLG7289
  0083                28             ZLG_KEY                 EQU     P0.3    ;/KEY of ZLG7289                
                      29     ;****************DELAY PARAMETERS**********************************************
  0060                30             TAG_REFURBISH           EQU     60H
  0061                31             CURRENT_ADDRESS         EQU     61H
                      32     
  0062                33             DATA_REGISTER_L1        EQU     62H
  0063                34             DATA_REGISTER_L2        EQU     63H
  0064                35             DATA_REGISTER_H1        EQU     64H
  0065                36             DATA_REGISTER_H2        EQU     65H
                      37     ;*******************************************************************************
  0071                38             VAR_DELAY               EQU     71H     ;The variable for delay function
                      39     ;*******************************************************************************
0000                  40             org     0000H
0000 020030           41             ljmp    MAIN
0030                  42             org     0030H
                      43     ;*****************************************************************************
0030                  44     MAIN:
0030 758180           45             mov     SP,#80H
0033 120056           46             lcall   system_initialize       
0036 120068           47             lcall   para_initialize
0039 120096           48             lcall   zlg_display
003C                  49     MAIN_LOOP:
003C 2083FD           50             jb      ZLG_KEY,MAIN_LOOP
003F 753215           51             mov     ZLG_SEND_BUF,#00010101B 
0042 1202FB           52             lcall   zlg_send
0045 12031E           53             lcall   zlg_receive
0048 D280             54             setb    ZLG_CS
                      55     
004A                  56     MAIN_CIRCLE:
004A 3083FD           57             jnb     ZLG_KEY,MAIN_CIRCLE
A51 MACRO ASSEMBLER  AD9850                                                               08/26/2007 16:12:21 PAGE     2

004D 120107           58             lcall   scan_key                        ;key scan
0050 120096           59             lcall   zlg_display
0053 013C             60             ajmp    MAIN_LOOP       
0055 22               61     ret
                      62     ;*****************************************************************************
0056                  63     system_initialize:
0056 D280             64             setb    ZLG_CS
0058 D283             65             setb    ZLG_KEY
005A D282             66             setb    ZLG_DATA
005C 12034A           67             lcall   delay_50
                      68     
005F 7532A4           69             mov     ZLG_SEND_BUF,#10100100B         ;Initialize ZLG7289
0062 1202FB           70             lcall   zlg_send
0065 D280             71             setb    ZLG_CS                          ;Set standby mode
0067 22               72     ret
                      73     ;****************************************************************************
0068                  74     para_initialize :       
0068 755000           75             mov     ZLG_PARA_NUM_H1,#00H
006B 755100           76             mov     ZLG_PARA_NUM_H2,#00H
006E 755200           77             mov     ZLG_PARA_NUM_H3,#00H
0071 755300           78             mov     ZLG_PARA_NUM_H4,#00H
                      79     
0074 755400           80             mov     ZLG_PARA_NUM_L1,#00H
0077 755500           81             mov     ZLG_PARA_NUM_L2,#00H
007A 755600           82             mov     ZLG_PARA_NUM_L3,#00H
007D 755700           83             mov     ZLG_PARA_NUM_L4,#00H
                      84     
0080 754400           85             mov     WORD_FREG_L1,#00H
0083 754300           86             mov     WORD_FREG_L2,#00H
0086 754200           87             mov     WORD_FREG_H1,#00H
0089 754100           88             mov     WORD_FREG_H2,#00H
                      89     
008C 753300           90             mov     ZLG_DECIMAL_BUFF,#00H
008F 756100           91             mov     CURRENT_ADDRESS,#00h
0092 756000           92             mov     TAG_REFURBISH,#00H
0095 22               93     ret
                      94     ;***************************************************************************
0096                  95     zlg_display:
0096 753280           96             mov     ZLG_SEND_BUF,#80H               
0099 1202FB           97             lcall   zlg_send
009C 855432           98             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_L1
009F 1202FB           99             lcall   zlg_send 
00A2 D280            100             setb    ZLG_CS 
                     101      
00A4 753281          102             mov     ZLG_SEND_BUF,#81H
00A7 1202FB          103             lcall   zlg_send
00AA 855532          104             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_L2
00AD 1202FB          105             lcall   zlg_send
00B0 D280            106             setb    ZLG_CS
                     107     
00B2 753282          108             mov     ZLG_SEND_BUF,#82H
00B5 1202FB          109             lcall   zlg_send
00B8 855632          110             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_L3
00BB 1202FB          111             lcall   zlg_send
00BE D280            112             setb    ZLG_CS
                     113     
00C0 753283          114             mov     ZLG_SEND_BUF,#83H
00C3 1202FB          115             lcall   zlg_send
00C6 855732          116             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_L4
00C9 1202FB          117             lcall   zlg_send
00CC D280            118             setb    ZLG_CS
                     119     
00CE 753284          120             mov     ZLG_SEND_BUF,#84H
00D1 1202FB          121             lcall   zlg_send
00D4 855032          122             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_H1
00D7 1202FB          123             lcall   zlg_send
A51 MACRO ASSEMBLER  AD9850                                                               08/26/2007 16:12:21 PAGE     3

00DA D280            124             setb    ZLG_CS
                     125             
00DC 753285          126             mov     ZLG_SEND_BUF,#85H
00DF 1202FB          127             lcall   zlg_send
00E2 855132          128             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_H2
00E5 1202FB          129             lcall   zlg_send
00E8 D280            130             setb    ZLG_CS
                     131     
00EA 753286          132             mov     ZLG_SEND_BUF,#86H
00ED 1202FB          133             lcall   zlg_send
00F0 855232          134             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_H3
00F3 1202FB          135             lcall   zlg_send
00F6 D280            136             setb    ZLG_CS
                     137     
00F8 753287          138             mov     ZLG_SEND_BUF,#87H
00FB 1202FB          139             lcall   zlg_send
00FE 855332          140             mov     ZLG_SEND_BUF,ZLG_PARA_NUM_H4
0101 1202FB          141             lcall   zlg_send
0104 D280            142             setb    ZLG_CS
0106 22              143     ret
                     144     ;****************************************************************************   
0107                 145     scan_key:
0107 B40008          146             cjne    a,#00,SCAN_KEY_ZERO
010A 753300          147             mov     ZLG_DECIMAL_BUFF,#00H           ;diplay 0       
010D 7560FF          148             mov     TAG_REFURBISH,#0FFH
0110 21C9            149             jmp     SCAN_KEY_EXIT
0112                 150     SCAN_KEY_ZERO:
0112 B40108          151             cjne    a,#01,SCAN_KEY_ONE
0115 753301          152             mov     ZLG_DECIMAL_BUFF,#01H           ;diplay  1
0118 7560FF          153             mov     TAG_REFURBISH,#0FFH
011B 21C9            154             jmp     SCAN_KEY_EXIT
011D                 155     SCAN_KEY_ONE:
011D B40208          156             cjne    a,#02,SCAN_KEY_TWO
0120 753302          157             mov     ZLG_DECIMAL_BUFF,#02H           ;diplay  2
0123 7560FF          158             mov     TAG_REFURBISH,#0FFH
0126 21C9            159             jmp     SCAN_KEY_EXIT
0128                 160     SCAN_KEY_TWO:
0128 B40308          161             cjne    a,#03,SCAN_KEY_THREE
012B 753303          162             mov     ZLG_DECIMAL_BUFF,#03H           ;diplay  3
012E 7560FF          163             mov     TAG_REFURBISH,#0FFH
0131 21C9            164             jmp     SCAN_KEY_EXIT
0133                 165     SCAN_KEY_THREE:
0133 B40408          166             cjne    a,#04,SCAN_KEY_FOUR
0136 753304          167             mov     ZLG_DECIMAL_BUFF,#04H           ;diplay  4
0139 7560FF          168             mov     TAG_REFURBISH,#0FFH
013C 21C9            169             jmp     SCAN_KEY_EXIT
013E                 170     SCAN_KEY_FOUR: 
013E B40505          171             cjne    a,#05,SCAN_KEY_FIVE 
0141 1201D9          172             lcall   move_left                       ;key of 5 is move left
0144 21C9            173             jmp     SCAN_KEY_EXIT
0146                 174     SCAN_KEY_FIVE:          
0146 B40602          175             cjne    a,#06,SCAN_KEY_SIX 
0149 807E            176             jmp     SCAN_KEY_EXIT
014B                 177     SCAN_KEY_SIX:   
014B B40705          178             cjne    a,#07,SCAN_KEY_SEVEN
014E 120068          179             lcall   para_initialize                 ;reset
0151 8076            180             jmp     SCAN_KEY_EXIT
0153                 181     SCAN_KEY_SEVEN: 
0153 B40808          182             cjne    a,#08,SCAN_KEY_EIGHT
0156 753305          183             mov     ZLG_DECIMAL_BUFF,#05H           ;display 5
0159 7560FF          184             mov     TAG_REFURBISH,#0FFH
015C 806B            185             jmp     SCAN_KEY_EXIT
015E                 186     SCAN_KEY_EIGHT: 
015E B40908          187             cjne    a,#09,SCAN_KEY_NINE
0161 753306          188             mov     ZLG_DECIMAL_BUFF,#06H           ;display 6
0164 7560FF          189             mov     TAG_REFURBISH,#0FFH
A51 MACRO ASSEMBLER  AD9850                                                               08/26/2007 16:12:21 PAGE     4

0167 8060            190             jmp     SCAN_KEY_EXIT
0169                 191     SCAN_KEY_NINE:  
0169 B40A08          192             cjne    a,#10,SCAN_KEY_TEN
016C 753307          193             mov     ZLG_DECIMAL_BUFF,#07H           ;display 7
016F 7560FF          194             mov     TAG_REFURBISH,#0FFH
0172 8055            195             jmp     SCAN_KEY_EXIT
0174                 196     SCAN_KEY_TEN:   
0174 B40B08          197             cjne    a,#11,SCAN_KEY_ELEVEN           ;display 8
0177 753308          198             mov     ZLG_DECIMAL_BUFF,#08H
017A 7560FF          199             mov     TAG_REFURBISH,#0FFH
017D 804A            200             jmp     SCAN_KEY_EXIT
017F                 201     SCAN_KEY_ELEVEN:        
017F B40C08          202             cjne    a,#12,SCAN_KEY_TWELVE           ;display 9
0182 753309          203             mov     ZLG_DECIMAL_BUFF,#09H
0185 7560FF          204             mov     TAG_REFURBISH,#0FFH
0188 803F            205             jmp     SCAN_KEY_EXIT
018A                 206     SCAN_KEY_TWELVE:        
018A B40D05          207             cjne    a,#13,SCAN_KEY_THIRTEEN         ;key of 13 is move right
018D 1201E6          208             lcall   move_right
0190 8037            209             jmp     SCAN_KEY_EXIT
0192                 210     SCAN_KEY_THIRTEEN:      
0192 B40E1D          211             cjne    a,#14,SCAN_KEY_FORTEEN          ;key of 14 is sent data
0195 7534FF          212             mov     ZLG_MOVE_BUFF,#0FFH
0198 1201F3          213             lcall   zlg_move
019B 120247          214             lcall   count_freg
019E 1202DC          215             lcall   write_data
01A1 120096          216             lcall   zlg_display
01A4 754400          217             mov     WORD_FREG_L1,#00H
01A7 754300          218             mov     WORD_FREG_L2,#00H
01AA 754200          219             mov     WORD_FREG_H1,#00H
01AD 754100          220             mov     WORD_FREG_H2,#00H
01B0 8017            221             jmp     SCAN_KEY_EXIT
01B2                 222     SCAN_KEY_FORTEEN:       
01B2 B40F14          223             cjne    a,#15,  SCAN_KEY_EXIT

⌨️ 快捷键说明

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