📄 dac8512.lst
字号:
00CA 84 144 div ab
00CB F541 145 mov ZLG_DECIMAL,a
00CD 85F042 146 mov ZLG_ONE,b
147
148 ;***Display the hundred***
00D0 753282 149 mov ZLG_SEND_BUF,#10000010B ;Download data and encode in mode 0
00D3 1200FB 150 lcall zlg_send
00D6 854032 151 mov ZLG_SEND_BUF,ZLG_HUNDRED
00D9 1200FB 152 lcall zlg_send
00DC D290 153 setb ZLG_CS
154
155 ;***Display the decimal***
00DE 753281 156 mov ZLG_SEND_BUF,#10000001B ;Download data and encode in mode 0
00E1 1200FB 157 lcall zlg_send
00E4 854132 158 mov ZLG_SEND_BUF,ZLG_DECIMAL
00E7 1200FB 159 lcall zlg_send
00EA D290 160 setb ZLG_CS
161
162 ;***Display the one***
00EC 753280 163 mov ZLG_SEND_BUF,#10000000B ;Download data and encode in mode 0
00EF 1200FB 164 lcall zlg_send
00F2 854232 165 mov ZLG_SEND_BUF,ZLG_ONE
00F5 1200FB 166 lcall zlg_send
00F8 D290 167 setb ZLG_CS
00FA 22 168 ret
169 ;*****************************************************************
170 ;Send a byte to MCU with higer bit first
00FB 171 zlg_send:
00FB 753008 172 mov ZLG_BIT_CNT,#8 ;Set the number of data sended
00FE C290 173 clr ZLG_CS ;Set set ZLG7289 ready,T1
0100 12014C 174 lcall delay_50;T1
175
0103 176 ZLG_SEND_LP:
177 ;Send a bit
0103 8532E0 178 mov acc,ZLG_SEND_BUF
0106 33 179 rlc a
0107 85E032 180 mov ZLG_SEND_BUF,acc
010A 9292 181 mov ZLG_DATA,c
010C 00 182 nop ;Wait for data to ready
010D 00 183 nop
184
010E D291 185 setb ZLG_CLK ;T2
0110 120153 186 lcall delay_8
0113 C291 187 clr ZLG_CLK ;T3
0115 120153 188 lcall delay_8
189
0118 D530E8 190 djnz ZLG_BIT_CNT,ZLG_SEND_LP ;Loop to next bit
A51 MACRO ASSEMBLER DAC8512 08/23/2007 14:50:59 PAGE 4
191
011B C292 192 clr ZLG_DATA
193
011D 22 194 ret
195 ;*****************************************************************
196 ;Receive a byte to ZLG7289 with higer bit first
011E 197 zlg_receive:
011E 753008 198 mov ZLG_BIT_CNT,#8 ;Set the number of data received
0121 C290 199 clr ZLG_CS ;Set set ZLG7289 ready,T1
0123 12014C 200 lcall delay_50
201
0126 202 ZLG_REC_LP:
203 ;Receive a bit
0126 D291 204 setb ZLG_CLK ;T2
0128 120153 205 lcall delay_8
206
012B A292 207 mov c,ZLG_DATA
012D 8531E0 208 mov acc,ZLG_REC_BUF
0130 33 209 rlc a
0131 85E031 210 mov ZLG_REC_BUF,acc
211
0134 C291 212 clr ZLG_CLK ;T3
0136 120153 213 lcall delay_8
214
0139 D530EA 215 djnz ZLG_BIT_CNT,ZLG_REC_LP ;Loop to next bit
216
013C C292 217 clr ZLG_DATA
218
013E 22 219 ret
220 ;*****************************************************************
221 ;Delay for 25ms
013F 222 delay_125ms:
013F 7572FA 223 mov VAR_DELAY_2,#250
0142 224 DELAY_25MS_LOOP:
0142 7571FA 225 mov VAR_DELAY,#250
0145 D571FD 226 djnz VAR_DELAY,$
0148 D572F7 227 djnz VAR_DELAY_2,DELAY_25MS_LOOP
014B 22 228 ret
229 ;*****************************************************************
230 ;Delay for (50+2) us
014C 231 delay_50:
014C 757119 232 mov VAR_DELAY,#25
014F D571FD 233 djnz VAR_DELAY,$
0152 22 234 ret
235 ;*****************************************************************
236 ;Delay for (8+2) us
0153 237 delay_8:
0153 757104 238 mov VAR_DELAY,#4
0156 D571FD 239 djnz VAR_DELAY,$
0159 22 240 ret
241 ;*****************************************************************
242 END
A51 MACRO ASSEMBLER DAC8512 08/23/2007 14:50:59 PAGE 5
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
DAC8512_CS . . . . B ADDR 0080H.7 A
DAC8512_DATA . . . B ADDR 0080H.4 A
DAC8512_LD . . . . B ADDR 0080H.6 A
DAC8512_SCLK . . . B ADDR 0080H.5 A
DAC_NUMBER . . . . N NUMB 003FH A
DASUB. . . . . . . C ADDR 008AH A
DASUB0 . . . . . . C ADDR 0094H A
DASUB1 . . . . . . C ADDR 009FH A
DELAY_125MS. . . . C ADDR 013FH A
DELAY_25MS_LOOP. . C ADDR 0142H A
DELAY_50 . . . . . C ADDR 014CH A
DELAY_8. . . . . . C ADDR 0153H A
FUNC_DISPLAY . . . C ADDR 00BBH A
KEY_DEC. . . . . . C ADDR 0050H A
MAIN . . . . . . . C ADDR 0030H A
MAIN_LOOP. . . . . C ADDR 0039H A
MAIN_LOOP_NEXT . . C ADDR 0055H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
PSW. . . . . . . . D ADDR 00D0H A
SYS_INITIALIZE . . C ADDR 0061H A
VAR_DELAY. . . . . N NUMB 0071H A
VAR_DELAY_2. . . . N NUMB 0072H A
ZLG_BIT_CNT. . . . N NUMB 0030H A
ZLG_CLK. . . . . . B ADDR 0090H.1 A
ZLG_CS . . . . . . B ADDR 0090H.0 A
ZLG_DATA . . . . . B ADDR 0090H.2 A
ZLG_DECIMAL. . . . N NUMB 0041H A
ZLG_HUNDRED. . . . N NUMB 0040H A
ZLG_KEY. . . . . . B ADDR 0090H.3 A
ZLG_ONE. . . . . . N NUMB 0042H A
ZLG_RECEIVE. . . . C ADDR 011EH A
ZLG_REC_BUF. . . . N NUMB 0031H A
ZLG_REC_LP . . . . C ADDR 0126H A
ZLG_SEND . . . . . C ADDR 00FBH A
ZLG_SEND_BUF . . . N NUMB 0032H A
ZLG_SEND_LP. . . . C ADDR 0103H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -