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

📄 1770.s

📁 基于ATmega64的MP3程序
💻 S
字号:
	.module _1770.c
	.area text(rom, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\1770.c
	.dbfunc e pcm1770_Ini _pcm1770_Ini fV
	.even
_pcm1770_Ini::
	.dbline -1
	.dbline 13
; //ICC-AVR application builder : 2005-11-12 17:11:59
; // Target : M16
; // Crystal: 8.0000Mhz
; // copyright:鲁军波(endylu)
; // www.shop34612283.taobao.com
; // www.adembed.com
; #include <iom16v.h>
; #include <macros.h>
; #include "main.h"
; 
; //=======================================================================
; void pcm1770_Ini(void)
; {pcm1770_ddr|=(1<<PD);
	.dbline 13
	sbi 0x17,3
	.dbline 14
;  pd_0;
	.dbline 14
	cbi 0x18,3
	.dbline 14
	.dbline 14
	.dbline 16
;  
;  pcm1770_ddr|=(1<<MS);
	sbi 0x17,1
	.dbline 17
;  pcm1770_ddr|=(1<<MC);
	sbi 0x17,0
	.dbline 18
;  pcm1770_ddr|=(1<<MD);
	sbi 0x17,2
	.dbline 19
;  ms_1;
	.dbline 19
	sbi 0x18,1
	.dbline 19
	.dbline 19
	.dbline 20
;  mc_1;
	.dbline 20
	sbi 0x18,0
	.dbline 20
	.dbline 20
	.dbline 21
;  md_1;
	.dbline 21
	sbi 0x18,2
	.dbline 21
	.dbline 21
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e write1770 _write1770 fV
;              i -> R20
;           data -> R18
;           addr -> R16
	.even
_write1770::
	xcall push_gset1
	.dbline -1
	.dbline 27
;  
; }
; 
; //=======================================================================
; void write1770(uint8 addr,uint8 data)
; {
	.dbline 28
;  uint8 i=8;
	ldi R20,8
	.dbline 29
;  ms_0;
	.dbline 29
	cbi 0x18,1
	.dbline 29
	.dbline 29
	xjmp L4
L3:
	.dbline 31
;  while(i--)
;  {
	.dbline 32
;   if(addr&0x80)	md_1	
	sbrs R16,7
	rjmp L6
	.dbline 32
	.dbline 32
	sbi 0x18,2
	.dbline 32
	xjmp L7
L6:
	.dbline 33
;   else	        md_0
	.dbline 33
	cbi 0x18,2
	.dbline 33
L7:
	.dbline 35
	lsl R16
	.dbline 36
	.dbline 36
	cbi 0x18,0
	.dbline 36
	.dbline 36
	.dbline 38
	.dbline 38
	sbi 0x18,0
	.dbline 38
	.dbline 38
	.dbline 39
L4:
	.dbline 30
	mov R2,R20
	clr R3
	subi R20,1
	tst R2
	brne L3
	.dbline 40
;   
;   addr<<=1;
;   mc_0;	  
;   
;   mc_1;
;  }
;  i=8;
	ldi R20,8
	xjmp L9
L8:
	.dbline 42
;  while(i--)
;  {
	.dbline 43
;   if(data&0x80)	md_1		
	sbrs R18,7
	rjmp L11
	.dbline 43
	.dbline 43
	sbi 0x18,2
	.dbline 43
	xjmp L12
L11:
	.dbline 44
;   else	        md_0   
	.dbline 44
	cbi 0x18,2
	.dbline 44
L12:
	.dbline 46
	lsl R18
	.dbline 47
	.dbline 47
	cbi 0x18,0
	.dbline 47
	.dbline 47
	.dbline 49
	.dbline 49
	sbi 0x18,0
	.dbline 49
	.dbline 49
	.dbline 50
L9:
	.dbline 41
	mov R2,R20
	clr R3
	subi R20,1
	tst R2
	brne L8
	.dbline 52
;   
;   data<<=1;
;   mc_0;
;    
;   mc_1;
;  }
;  
;  ms_1;
	.dbline 52
	sbi 0x18,1
	.dbline 52
	.dbline 52
	.dbline -2
L2:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r data 18 c
	.dbsym r addr 16 c
	.dbend
	.dbfunc e pcm1770_init _pcm1770_init fV
	.even
_pcm1770_init::
	.dbline -1
	.dbline 58
;  
; }
; 
; //=======================================================================
; void pcm1770_init(void)
; {
	.dbline 59
;  pd_1;
	.dbline 59
	sbi 0x18,3
	.dbline 59
	.dbline 59
	.dbline 60
;  Delay_ms(1);
	ldi R16,1
	ldi R17,0
	xcall _Delay_ms
	.dbline 62
; 
;  write1770(0x03,0x81);
	ldi R18,129
	ldi R16,3
	xcall _write1770
	.dbline -2
L13:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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