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

📄 cs5532.lis

📁 CS5532的驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0058 0FEF              ldi R16,255
 005A D2DF              xcall _cs5532_wr_byte
 005C                   .dbline 83
 005C           L17:
 005C                   .dbline 80
 005C 4395              inc R20
 005E           L19:
 005E                   .dbline 80
 005E 4F30              cpi R20,15
 0060 D8F3              brlo L16
 0062                   .dbline 84
 0062           ;       {
 0062           ;               cs5532_wr_byte(0xFF);
 0062           ;       }
 0062           ;       cs5532_wr_byte(0xFE);
 0062 0EEF              ldi R16,254
 0064 CDDF              xcall _cs5532_wr_byte
 0066                   .dbline -2
 0066           L15:
 0066 0E940000          xcall pop_gset1
 006A                   .dbline 0 ; func end
 006A 0895              ret
 006C                   .dbsym r i 20 c
 006C                   .dbend
 006C                   .dbfunc e cs5532_wr_reg _cs5532_wr_reg fV
 006C           ;           temp -> y+0
 006C           ;            dat -> y+6
 006C           ;            cmd -> R20
                        .even
 006C           _cs5532_wr_reg::
 006C 3A93              st -y,r19
 006E 2A93              st -y,r18
 0070 0E940000          xcall push_gset1
 0074 402F              mov R20,R16
 0076 2497              sbiw R28,4
 0078                   .dbline -1
 0078                   .dbline 93
 0078           ; }
 0078           ; 
 0078           ; 
 0078           ; /**********************************************************************
 0078           ; functionName:
 0078           ; description:
 0078           ; **********************************************************************/
 0078           ; void cs5532_wr_reg(uint08 cmd,uint32 dat)
 0078           ; {
 0078                   .dbline 95
 0078           ;       uint08 temp[4];
 0078           ;       temp[0]=dat>>24;
 0078 88E1              ldi R24,24
 007A 90E0              ldi R25,0
 007C FE01              movw R30,R28
 007E 2680              ldd R2,z+6
 0080 3780              ldd R3,z+7
 0082 4084              ldd R4,z+8
 0084 5184              ldd R5,z+9
 0086 8A93              st -y,R24
 0088 8101              movw R16,R2
 008A 9201              movw R18,R4
 008C 0E940000          xcall lsr32
 0090 0883              std y+0,R16
 0092                   .dbline 96
 0092           ;       temp[1]=dat>>16;
 0092 FE01              movw R30,R28
 0094 2680              ldd R2,z+6
 0096 3780              ldd R3,z+7
 0098 4084              ldd R4,z+8
 009A 5184              ldd R5,z+9
 009C 1201              movw R2,R4
 009E 4424              clr R4
 00A0 5524              clr R5
 00A2 2982              std y+1,R2
 00A4                   .dbline 97
 00A4           ;       temp[2]=dat>>8;
 00A4 88E0              ldi R24,8
 00A6 90E0              ldi R25,0
 00A8 FE01              movw R30,R28
 00AA 2680              ldd R2,z+6
 00AC 3780              ldd R3,z+7
 00AE 4084              ldd R4,z+8
 00B0 5184              ldd R5,z+9
 00B2 8A93              st -y,R24
 00B4 8101              movw R16,R2
 00B6 9201              movw R18,R4
 00B8 0E940000          xcall lsr32
 00BC 0A83              std y+2,R16
 00BE                   .dbline 98
 00BE           ;       temp[3]=dat;
 00BE FE01              movw R30,R28
 00C0 2680              ldd R2,z+6
 00C2 3780              ldd R3,z+7
 00C4 4084              ldd R4,z+8
 00C6 5184              ldd R5,z+9
 00C8 2B82              std y+3,R2
 00CA                   .dbline 99
 00CA           ;       cs5532_wr_byte(cmd);
 00CA 042F              mov R16,R20
 00CC 99DF              xcall _cs5532_wr_byte
 00CE                   .dbline 100
 00CE           ;       cs5532_wr_byte(temp[0]);
 00CE 0881              ldd R16,y+0
 00D0 97DF              xcall _cs5532_wr_byte
 00D2                   .dbline 101
 00D2           ;       cs5532_wr_byte(temp[1]);
 00D2 0981              ldd R16,y+1
 00D4 95DF              xcall _cs5532_wr_byte
 00D6                   .dbline 102
 00D6           ;       cs5532_wr_byte(temp[2]);
 00D6 0A81              ldd R16,y+2
 00D8 93DF              xcall _cs5532_wr_byte
 00DA                   .dbline 103
 00DA           ;       cs5532_wr_byte(temp[3]);         
 00DA 0B81              ldd R16,y+3
 00DC 91DF              xcall _cs5532_wr_byte
 00DE                   .dbline -2
 00DE           L20:
 00DE 2496              adiw R28,4
 00E0 0E940000          xcall pop_gset1
 00E4 2296              adiw R28,2
 00E6                   .dbline 0 ; func end
 00E6 0895              ret
 00E8                   .dbsym l temp 0 A[4:4]c
 00E8                   .dbsym l dat 6 l
 00E8                   .dbsym r cmd 20 c
 00E8                   .dbend
 00E8                   .dbfunc e cs5532_rd_reg _cs5532_rd_reg fV
 00E8           ;            cmd -> R20
                        .even
 00E8           _cs5532_rd_reg::
 00E8 0E940000          xcall push_gset1
 00EC 402F              mov R20,R16
 00EE                   .dbline -1
 00EE                   .dbline 113
 00EE           ; }
 00EE           ; 
 00EE           ; 
 00EE           ; 
 00EE           ; /**********************************************************************
 00EE           ; functionName:void cs5532_rd_reg(uint08 cmd)
 00EE           ; description:
 00EE           ; **********************************************************************/
 00EE           ; void cs5532_rd_reg(uint08 cmd)
 00EE           ; {
 00EE                   .dbline 114
 00EE           ;       cs5532_wr_byte(cmd);
 00EE 042F              mov R16,R20
 00F0 87DF              xcall _cs5532_wr_byte
 00F2                   .dbline 115
 00F2           ;       cs5532_buf[0]=cs5532_rd_byte();
 00F2 9EDF              xcall _cs5532_rd_byte
 00F4 00930000          sts _cs5532_buf,R16
 00F8                   .dbline 116
 00F8           ;       cs5532_buf[1]=cs5532_rd_byte();
 00F8 9BDF              xcall _cs5532_rd_byte
 00FA 00930100          sts _cs5532_buf+1,R16
 00FE                   .dbline 117
 00FE           ;       cs5532_buf[2]=cs5532_rd_byte();
 00FE 98DF              xcall _cs5532_rd_byte
 0100 00930200          sts _cs5532_buf+2,R16
 0104                   .dbline 118
 0104           ;       cs5532_buf[3]=cs5532_rd_byte();
 0104 95DF              xcall _cs5532_rd_byte
 0106 00930300          sts _cs5532_buf+3,R16
 010A                   .dbline -2
 010A           L27:
 010A 0E940000          xcall pop_gset1
 010E                   .dbline 0 ; func end
 010E 0895              ret
 0110                   .dbsym r cmd 20 c
 0110                   .dbend
 0110                   .dbfunc e cs5532_init _cs5532_init fV
                        .even
 0110           _cs5532_init::
 0110                   .dbline -1
 0110                   .dbline 127
 0110           ; }
 0110           ; 
 0110           ; 
 0110           ; /**********************************************************************
 0110           ; functionName:
 0110           ; description:
 0110           ; **********************************************************************/
 0110           ; void cs5532_init(void)
 0110           ; {
 0110                   .dbline 128
 0110           ;       ms_delay(50);                   //等待电源稳定  
 0110 02E3              ldi R16,50
 0112 0E940000          xcall _ms_delay
 0116                   .dbline 129
 0116           ;       cs5532_soft_rst();              //软件复位
 0116 9CDF              xcall _cs5532_soft_rst
 0118                   .dbline -2
 0118           L31:
 0118                   .dbline 0 ; func end
 0118 0895              ret
 011A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile G:\CS5532\firmware\cs5532.c
 0000           _cs5532_buf::
 0000                   .blkb 4
 0004                   .dbsym e cs5532_buf _cs5532_buf A[4:4]c

⌨️ 快捷键说明

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