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

📄 at45db.lst

📁 60秒ISD2560语音芯片的汇编源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
  0085               203     AT_SCK  EQU     P0.5
  0086               204     AT_SI   EQU     P0.6
  00B3               205     AT_CS   EQU     P3.3
  00B7               206     AT_SO   EQU     P3.7
                     207     
0030                 208             ORG     0030H
0030 2100            209             AJMP    MAIN
0100                 210             ORG     0100H
                     211     
0100 7580FF          212     MAIN:   MOV     P0,#0FFH
0103 75B0FF          213             MOV     P3,#0FFH
0106 120270          214             LCALL   DELAY1S
0109 7B00            215             MOV     R3,#00H
010B 7C00            216             MOV     R4,#00H
010D 7D00            217             MOV     R5,#00H         ;R5为地址最高字节
                     218     
010F 753050          219             MOV     30H,#50H        
0112 753151          220             MOV     31H,#51H
0115 753252          221             MOV     32H,#52H
0118 753353          222             MOV     33H,#53H
011B 753454          223             MOV     34H,#54H
011E 753555          224             MOV     35H,#55H
0121 753656          225             MOV     36H,#56H
0124 753757          226             MOV     37H,#57H
                     227     
0127 1201F7          228             LCALL   WRITAT
                     229             ;LCALL  MEM2BUF
                     230             ;LCALL  MBCMP
                     231             ;LCALL  WRBUF
                     232             ;LCALL  BUF2MB
012A 120270          233             LCALL   DELAY1S
                     234             ;LCALL  RDBUF
012D 12021C          235             LCALL   READAT
                     236             ;LCALL  RDSTA
0130 8546A0          237             MOV     P2,46H
0133 C280            238             CLR     P0.0            ;
0135 C281            239             CLR     P0.1            ;
0137 80FE            240             JMP     $
                     241             
0139 C2B3            242     RDSTA:  CLR     AT_CS           ;读状态寄存器
013B 7457            243             MOV     A,#57H
013D 120255          244             LCALL   WRAT45
0140 120261          245             LCALL   RDAT45
0143 D2B3            246             SETB    AT_CS
0145 22              247             RET
                     248     
0146 C2B3            249     MBCMP:  CLR     AT_CS           ;主存与缓冲区比较
0148 C285            250             CLR     AT_SCK
014A 7460            251             MOV     A,#60H
014C 120255          252             LCALL   WRAT45
014F 7400            253             MOV     A,#00H
0151 120255          254             LCALL   WRAT45
0154 7400            255             MOV     A,#00H
0156 120255          256             LCALL   WRAT45
A51 MACRO ASSEMBLER  AT45DB                                                               08/19/2006 15:15:11 PAGE     5

0159 7400            257             MOV     A,#00H
015B 120255          258             LCALL   WRAT45
015E D2B3            259             SETB    AT_CS
0160 D285            260             SETB    AT_SCK  
0162 22              261             RET
                     262     
0163                 263     WRBUF:
0163 C2B3            264             CLR     AT_CS
0165 C285            265             CLR     AT_SCK
0167 7484            266             MOV     A,#84H
0169 120255          267             LCALL   WRAT45
                     268     
016C 7400            269             MOV     A,#00H
016E 120255          270             LCALL   WRAT45
0171 7400            271             MOV     A,#00H
0173 120255          272             LCALL   WRAT45
0176 7400            273             MOV     A,#00H
0178 120255          274             LCALL   WRAT45
                     275     
017B 7830            276             MOV     R0,#30H         ;待写的数据存放在30H-37H内存单元中
017D 7908            277             MOV     R1,#08H 
017F E6              278     WRBUF1: MOV     A,@R0
0180 120255          279             LCALL   WRAT45
0183 08              280             INC     R0
0184 D9F9            281             DJNZ    R1,WRBUF1
0186 D2B3            282             SETB    AT_CS
0188 D285            283             SETB    AT_SCK  
018A 22              284             RET
                     285     
018B C2B3            286     RDBUF:  CLR     AT_CS           ;读缓冲区1/2
018D C285            287             CLR     AT_SCK
018F 7454            288             MOV     A,#54H          ;54H(56H)+15空位+9位地址+8空位
0191 120255          289             LCALL   WRAT45
                     290     
0194 7400            291             MOV     A,#00H
0196 120255          292             LCALL   WRAT45
0199 7400            293             MOV     A,#00H          ;缓冲区页内地址高字节
019B 120255          294             LCALL   WRAT45
019E 7400            295             MOV     A,#00H          ;
01A0 120255          296             LCALL   WRAT45
01A3 7400            297             MOV     A,#00H
01A5 120255          298             LCALL   WRAT45
                     299                                     
01A8 7840            300             MOV     R0,#40H         ;读出的数据暂存在40H-47H内存单元中
01AA 7908            301             MOV     R1,#08H
01AC 120261          302     RDBUF1: LCALL   RDAT45          
01AF F6              303             MOV     @R0,A
01B0 08              304             INC     R0
01B1 D9F9            305             DJNZ    R1,RDBUF1       
01B3 D2B3            306             SETB    AT_CS
01B5 D285            307             SETB    AT_SCK
01B7 22              308             RET             
                     309     
01B8 C2B3            310     BUF2MB: CLR     AT_CS
01BA C285            311             CLR     AT_SCK
01BC 7483            312             MOV     A,#83H
01BE 120255          313             LCALL   WRAT45
                     314     
01C1 7400            315             MOV     A,#00H
01C3 120255          316             LCALL   WRAT45
01C6 7400            317             MOV     A,#00H
01C8 120255          318             LCALL   WRAT45
01CB 7400            319             MOV     A,#00H
01CD 120255          320             LCALL   WRAT45
                     321     
01D0 D2B3            322             SETB    AT_CS
A51 MACRO ASSEMBLER  AT45DB                                                               08/19/2006 15:15:11 PAGE     6

01D2 D285            323             SETB    AT_SCK  
01D4 22              324             RET
                     325     
01D5 C2B3            326     MEM2BUF:CLR     AT_CS           ;主存页拷贝至缓冲区
01D7 C285            327             CLR     AT_SCK
01D9 7453            328             MOV     A,#53H
01DB 120255          329             LCALL   WRAT45
                     330     
01DE 7400            331             MOV     A,#00H
01E0 120255          332             LCALL   WRAT45
01E3 7400            333             MOV     A,#00H
01E5 120255          334             LCALL   WRAT45
01E8 7400            335             MOV     A,#00H
01EA 120255          336             LCALL   WRAT45
01ED 7400            337             MOV     A,#00H
01EF 120255          338             LCALL   WRAT45
                     339     
01F2 D2B3            340             SETB    AT_CS   
01F4 D285            341             SETB    AT_SCK
01F6 22              342             RET
                     343     
01F7 C2B3            344     WRITAT: CLR     AT_CS
01F9 C285            345             CLR     AT_SCK
01FB 7482            346             MOV     A,#82H          ;82H(85H)+4空位+11位页址+9位页内址
01FD 120255          347             LCALL   WRAT45
                     348     
0200 ED              349             MOV     A,R5            ;写入地址
0201 120255          350             LCALL   WRAT45
0204 EC              351             MOV     A,R4
0205 120255          352             LCALL   WRAT45
0208 EB              353             MOV     A,R3
0209 120255          354             LCALL   WRAT45
                     355     
020C 7830            356             MOV     R0,#30H         ;待写的数据存放在30H-37H内存单元中
020E 7908            357             MOV     R1,#08H 
0210 E6              358     WRITAT1:MOV     A,@R0
0211 120255          359             LCALL   WRAT45
0214 08              360             INC     R0
0215 D9F9            361             DJNZ    R1,WRITAT1
0217 D2B3            362             SETB    AT_CS
0219 D285            363             SETB    AT_SCK
021B 22              364             RET
                     365     
021C C2B3            366     READAT: CLR     AT_CS
021E C285            367             CLR     AT_SCK
                     368     
0220 7452            369             MOV     A,#52H          ;52H+4个空位+11位页地址+9位页内部地址+32个空位
0222 120255          370             LCALL   WRAT45
                     371     
0225 ED              372             MOV     A,R5            ;写入地址
0226 120255          373             LCALL   WRAT45
0229 EC              374             MOV     A,R4
022A 120255          375             LCALL   WRAT45
022D EB              376             MOV     A,R3
022E 120255          377             LCALL   WRAT45
                     378     
0231 7400            379             MOV     A,#00H          ;写入32位无关项
0233 120255          380             LCALL   WRAT45
0236 7400            381             MOV     A,#00H
0238 120255          382             LCALL   WRAT45
023B 7400            383             MOV     A,#00H
023D 120255          384             LCALL   WRAT45
0240 7400            385             MOV     A,#00H
0242 120255          386             LCALL   WRAT45
                     387     
0245 7840            388             MOV     R0,#40H         ;读出的数据暂存在40H-47H内存单元中
A51 MACRO ASSEMBLER  AT45DB                                                               08/19/2006 15:15:11 PAGE     7

0247 7908            389             MOV     R1,#08H
0249 120261          390     READAT1:LCALL   RDAT45          
024C F6              391             MOV     @R0,A
024D 08              392             INC     R0
024E D9F9            393             DJNZ    R1,READAT1      
0250 D2B3            394             SETB    AT_CS
0252 D285            395             SETB    AT_SCK
0254 22              396             RET
                     397     
0255 7A08            398     WRAT45: MOV     R2,#08H
0257 C285            399     WRAT451:CLR     AT_SCK
0259 33              400             RLC     A
025A 9286            401             MOV     AT_SI,C
025C D285            402             SETB    AT_SCK
025E DAF7            403             DJNZ    R2,WRAT451
0260 22              404             RET
                     405     
0261 7A08            406     RDAT45: MOV     R2,#08H
0263 C285            407     RDAT451:CLR     AT_SCK
0265 00              408             NOP
0266 D285            409             SETB    AT_SCK          ;
0268 A2B7            410             MOV     C,AT_SO
026A 33              411             RLC     A
026B D285            412             SETB    AT_SCK
026D DAF4            413             DJNZ    R2,RDAT451

⌨️ 快捷键说明

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