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

📄 cs5532.lis

📁 CS5532的驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module cs5532.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\CS5532\firmware\cs5532.c
 0000                   .dbfunc e cs5532_wr_byte _cs5532_wr_byte fV
 0000           ;              i -> R20
 0000           ;            dat -> R16
                        .even
 0000           _cs5532_wr_byte::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 27
 0004           ; /****************************************Copyright (c)**************************************************
 0004           ; **                                    
 0004           ; **                                     
 0004           ; **                                    
 0004           ; ** 文   件   名: ca5532.c
 0004           ; ** 最后修改日期: 2007-10-8 9:40
 0004           ; ** 描        述: cs5532驱动程序
 0004           ; ** 版      本: V1.0
 0004           ; ** 主  控  芯 片:M16  晶振频率:7.37MHZ, 
 0004           ; ** IDE:ICCAVR 6.31
 0004           ; **********************************************************************************************************/
 0004           ; #include <iom16v.h>
 0004           ; #include <macros.h>
 0004           ; 
 0004           ; #include "DEFINE.H"
 0004           ; #include "CS5532.H"
 0004           ; #include "DELAY.H"
 0004           ; 
 0004           ; uint08 cs5532_buf[4];
 0004           ; 
 0004           ; 
 0004           ; /**********************************************************************
 0004           ; functionName:void cs5532_wr_byte(uint08 dat)
 0004           ; description:
 0004           ; **********************************************************************/
 0004           ; void cs5532_wr_byte(uint08 dat)
 0004           ; {
 0004                   .dbline 30
 0004           ;       uint08 i;
 0004           ;       
 0004           ;       for(i=0;i<8;i++)
 0004 4427              clr R20
 0006 0EC0              xjmp L5
 0008           L2:
 0008                   .dbline 31
 0008           ;       {
 0008                   .dbline 32
 0008           ;               if(dat&0x80)
 0008 07FF              sbrs R16,7
 000A 02C0              rjmp L6
 000C                   .dbline 33
 000C           ;               SET_SDI();
 000C D89A              sbi 0x1b,0
 000E 01C0              xjmp L7
 0010           L6:
 0010                   .dbline 35
 0010           ;               else
 0010           ;               CLR_SDI();
 0010 D898              cbi 0x1b,0
 0012           L7:
 0012                   .dbline 36
 0012 0000              nop
 0014                   .dbline 36
 0014 0000              nop
 0016                   .dbline 37
 0016 D99A              sbi 0x1b,1
 0018                   .dbline 38
 0018 0000              nop
 001A                   .dbline 38
 001A 0000              nop
 001C                   .dbline 39
 001C D998              cbi 0x1b,1
 001E                   .dbline 40
 001E 000F              lsl R16
 0020                   .dbline 41
 0020 0000              nop
 0022                   .dbline 42
 0022           L3:
 0022                   .dbline 30
 0022 4395              inc R20
 0024           L5:
 0024                   .dbline 30
 0024 4830              cpi R20,8
 0026 80F3              brlo L2
 0028                   .dbline 43
 0028           ;               NOP();NOP();
 0028           ;               SET_SCK();
 0028           ;               NOP();NOP();
 0028           ;               CLR_SCK();
 0028           ;               dat<<=1;
 0028           ;               NOP();
 0028           ;       }
 0028           ;       SET_SDI();
 0028 D89A              sbi 0x1b,0
 002A                   .dbline -2
 002A           L1:
 002A 0E940000          xcall pop_gset1
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbsym r i 20 c
 0030                   .dbsym r dat 16 c
 0030                   .dbend
 0030                   .dbfunc e cs5532_rd_byte _cs5532_rd_byte fc
 0030           ;           temp -> R16
 0030           ;              i -> R18
                        .even
 0030           _cs5532_rd_byte::
 0030                   .dbline -1
 0030                   .dbline 55
 0030           ; }
 0030           ; 
 0030           ; 
 0030           ; 
 0030           ; 
 0030           ; 
 0030           ; /**********************************************************************
 0030           ; functionName:uint08 cs5532_rd_byte(void)
 0030           ; description:
 0030           ; **********************************************************************/
 0030           ; uint08 cs5532_rd_byte(void)
 0030           ; {
 0030                   .dbline 57
 0030           ;       uint08 i;
 0030           ;       uint08 temp=0;
 0030 0027              clr R16
 0032                   .dbline 59
 0032           ;       
 0032           ;       for(i=0;i<8;i++)
 0032 2227              clr R18
 0034 0AC0              xjmp L12
 0036           L9:
 0036                   .dbline 60
 0036           ;       {
 0036                   .dbline 61
 0036           ;               temp<<=1;
 0036 000F              lsl R16
 0038                   .dbline 62
 0038           ;               SET_SCK();
 0038 D99A              sbi 0x1b,1
 003A                   .dbline 63
 003A           ;               NOP();NOP();
 003A 0000              nop
 003C                   .dbline 63
 003C 0000              nop
 003E                   .dbline 64
 003E           ;               if(STU_SDO)
 003E                   .dbline 65
 003E           ;               temp|=1;
 003E 0160              ori R16,1
 0040           L13:
 0040                   .dbline 66
 0040 D998              cbi 0x1b,1
 0042                   .dbline 67
 0042 0000              nop
 0044                   .dbline 67
 0044 0000              nop
 0046                   .dbline 67
 0046 0000              nop
 0048                   .dbline 68
 0048           L10:
 0048                   .dbline 59
 0048 2395              inc R18
 004A           L12:
 004A                   .dbline 59
 004A 2830              cpi R18,8
 004C A0F3              brlo L9
 004E                   .dbline 69
 004E           ;               CLR_SCK();
 004E           ;               NOP();NOP();NOP();
 004E           ;       }
 004E           ;       return temp;
 004E                   .dbline -2
 004E           L8:
 004E                   .dbline 0 ; func end
 004E 0895              ret
 0050                   .dbsym r temp 16 c
 0050                   .dbsym r i 18 c
 0050                   .dbend
 0050                   .dbfunc e cs5532_soft_rst _cs5532_soft_rst fV
 0050           ;              i -> R20
                        .even
 0050           _cs5532_soft_rst::
 0050 0E940000          xcall push_gset1
 0054                   .dbline -1
 0054                   .dbline 78
 0054           ; }
 0054           ; 
 0054           ; 
 0054           ; /**********************************************************************
 0054           ; functionName:void cs5532_soft_rst(void)
 0054           ; description:
 0054           ; **********************************************************************/
 0054           ; void cs5532_soft_rst(void)
 0054           ; {
 0054                   .dbline 80
 0054           ;       uint08 i;
 0054           ;       for(i=0;i<15;i++)
 0054 4427              clr R20
 0056 03C0              xjmp L19
 0058           L16:
 0058                   .dbline 81
 0058                   .dbline 82

⌨️ 快捷键说明

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