?? ad9850.lst
字號:
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 + -