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

📄 1770.lis

📁 基于ATmega64的MP3程序
💻 LIS
字号:
                        .module _1770.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\TDDownload\MP3BOA~1.8\1770.c
 0000                   .dbfunc e pcm1770_Ini _pcm1770_Ini fV
                        .even
 0000           _pcm1770_Ini::
 0000                   .dbline -1
 0000                   .dbline 13
 0000           ; //ICC-AVR application builder : 2005-11-12 17:11:59
 0000           ; // Target : M16
 0000           ; // Crystal: 8.0000Mhz
 0000           ; // copyright:鲁军波(endylu)
 0000           ; // www.shop34612283.taobao.com
 0000           ; // www.adembed.com
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #include "main.h"
 0000           ; 
 0000           ; //=======================================================================
 0000           ; void pcm1770_Ini(void)
 0000           ; {pcm1770_ddr|=(1<<PD);
 0000                   .dbline 13
 0000 BB9A              sbi 0x17,3
 0002                   .dbline 14
 0002           ;  pd_0;
 0002                   .dbline 14
 0002 C398              cbi 0x18,3
 0004                   .dbline 14
 0004                   .dbline 14
 0004                   .dbline 16
 0004           ;  
 0004           ;  pcm1770_ddr|=(1<<MS);
 0004 B99A              sbi 0x17,1
 0006                   .dbline 17
 0006           ;  pcm1770_ddr|=(1<<MC);
 0006 B89A              sbi 0x17,0
 0008                   .dbline 18
 0008           ;  pcm1770_ddr|=(1<<MD);
 0008 BA9A              sbi 0x17,2
 000A                   .dbline 19
 000A           ;  ms_1;
 000A                   .dbline 19
 000A C19A              sbi 0x18,1
 000C                   .dbline 19
 000C                   .dbline 19
 000C                   .dbline 20
 000C           ;  mc_1;
 000C                   .dbline 20
 000C C09A              sbi 0x18,0
 000E                   .dbline 20
 000E                   .dbline 20
 000E                   .dbline 21
 000E           ;  md_1;
 000E                   .dbline 21
 000E C29A              sbi 0x18,2
 0010                   .dbline 21
 0010                   .dbline 21
 0010                   .dbline -2
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
 0012                   .dbfunc e write1770 _write1770 fV
 0012           ;              i -> R20
 0012           ;           data -> R18
 0012           ;           addr -> R16
                        .even
 0012           _write1770::
 0012 0E940000          xcall push_gset1
 0016                   .dbline -1
 0016                   .dbline 27
 0016           ;  
 0016           ; }
 0016           ; 
 0016           ; //=======================================================================
 0016           ; void write1770(uint8 addr,uint8 data)
 0016           ; {
 0016                   .dbline 28
 0016           ;  uint8 i=8;
 0016 48E0              ldi R20,8
 0018                   .dbline 29
 0018           ;  ms_0;
 0018                   .dbline 29
 0018 C198              cbi 0x18,1
 001A                   .dbline 29
 001A                   .dbline 29
 001A 08C0              xjmp L4
 001C           L3:
 001C                   .dbline 31
 001C           ;  while(i--)
 001C           ;  {
 001C                   .dbline 32
 001C           ;   if(addr&0x80)       md_1    
 001C 07FF              sbrs R16,7
 001E 02C0              rjmp L6
 0020                   .dbline 32
 0020                   .dbline 32
 0020 C29A              sbi 0x18,2
 0022                   .dbline 32
 0022 01C0              xjmp L7
 0024           L6:
 0024                   .dbline 33
 0024           ;   else                md_0
 0024                   .dbline 33
 0024 C298              cbi 0x18,2
 0026                   .dbline 33
 0026           L7:
 0026                   .dbline 35
 0026 000F              lsl R16
 0028                   .dbline 36
 0028                   .dbline 36
 0028 C098              cbi 0x18,0
 002A                   .dbline 36
 002A                   .dbline 36
 002A                   .dbline 38
 002A                   .dbline 38
 002A C09A              sbi 0x18,0
 002C                   .dbline 38
 002C                   .dbline 38
 002C                   .dbline 39
 002C           L4:
 002C                   .dbline 30
 002C 242E              mov R2,R20
 002E 3324              clr R3
 0030 4150              subi R20,1
 0032 2220              tst R2
 0034 99F7              brne L3
 0036                   .dbline 40
 0036           ;   
 0036           ;   addr<<=1;
 0036           ;   mc_0;         
 0036           ;   
 0036           ;   mc_1;
 0036           ;  }
 0036           ;  i=8;
 0036 48E0              ldi R20,8
 0038 08C0              xjmp L9
 003A           L8:
 003A                   .dbline 42
 003A           ;  while(i--)
 003A           ;  {
 003A                   .dbline 43
 003A           ;   if(data&0x80)       md_1            
 003A 27FF              sbrs R18,7
 003C 02C0              rjmp L11
 003E                   .dbline 43
 003E                   .dbline 43
 003E C29A              sbi 0x18,2
 0040                   .dbline 43
 0040 01C0              xjmp L12
 0042           L11:
 0042                   .dbline 44
 0042           ;   else                md_0   
 0042                   .dbline 44
 0042 C298              cbi 0x18,2
 0044                   .dbline 44
 0044           L12:
 0044                   .dbline 46
 0044 220F              lsl R18
 0046                   .dbline 47
 0046                   .dbline 47
 0046 C098              cbi 0x18,0
 0048                   .dbline 47
 0048                   .dbline 47
 0048                   .dbline 49
 0048                   .dbline 49
 0048 C09A              sbi 0x18,0
 004A                   .dbline 49
 004A                   .dbline 49
 004A                   .dbline 50
 004A           L9:
 004A                   .dbline 41
 004A 242E              mov R2,R20
 004C 3324              clr R3
 004E 4150              subi R20,1
 0050 2220              tst R2
 0052 99F7              brne L8
 0054                   .dbline 52
 0054           ;   
 0054           ;   data<<=1;
 0054           ;   mc_0;
 0054           ;    
 0054           ;   mc_1;
 0054           ;  }
 0054           ;  
 0054           ;  ms_1;
 0054                   .dbline 52
 0054 C19A              sbi 0x18,1
 0056                   .dbline 52
 0056                   .dbline 52
 0056                   .dbline -2
 0056           L2:
 0056 0E940000          xcall pop_gset1
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r i 20 c
 005C                   .dbsym r data 18 c
 005C                   .dbsym r addr 16 c
 005C                   .dbend
 005C                   .dbfunc e pcm1770_init _pcm1770_init fV
                        .even
 005C           _pcm1770_init::
 005C                   .dbline -1
 005C                   .dbline 58
 005C           ;  
 005C           ; }
 005C           ; 
 005C           ; //=======================================================================
 005C           ; void pcm1770_init(void)
 005C           ; {
 005C                   .dbline 59
 005C           ;  pd_1;
 005C                   .dbline 59
 005C C39A              sbi 0x18,3
 005E                   .dbline 59
 005E                   .dbline 59
 005E                   .dbline 60
 005E           ;  Delay_ms(1);
 005E 01E0              ldi R16,1
 0060 10E0              ldi R17,0
 0062 0E940000          xcall _Delay_ms
 0066                   .dbline 62
 0066           ; 
 0066           ;  write1770(0x03,0x81);
 0066 21E8              ldi R18,129
 0068 03E0              ldi R16,3
 006A D3DF              xcall _write1770
 006C                   .dbline -2
 006C           L13:
 006C                   .dbline 0 ; func end
 006C 0895              ret
 006E                   .dbend

⌨️ 快捷键说明

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