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

📄 outtest.s

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 S
字号:
	.module outtest.c
	.area text(rom, con, rel)
	.dbfile E:\software\MP3程序\Outputtime\outtest.c
	.dbfunc e outpower_init _outpower_init fV
	.even
_outpower_init::
	.dbline -1
	.dbline 5
; #include <iom64v.h>
; #include "../Ds1302/ds1302.h"
; #define	 CONFIG_2 2016   //继电器输出时间存储器地址
; void outpower_init(void)
; {
	.dbline 6
;   DDRF |= 0x0f;  //全部关闭态
	lds R24,97
	ori R24,15
	sts 97,R24
	.dbline 7
;   PORTF &= 0xf0;
	lds R24,98
	andi R24,240
	sts 98,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e open_close _open_close fV
;           type -> R20
	.even
_open_close::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 11
; }
; 
; void open_close(uchar type)
; {
	.dbline 12
;    Print_str("继电器 = ");
	ldi R16,<L3
	ldi R17,>L3
	xcall _Print_str
	.dbline 13
;    Print_val(type);
	mov R16,R20
	clr R17
	xcall _Print_val
	.dbline 14
;    Print_str("\r\n");
	ldi R16,<L4
	ldi R17,>L4
	xcall _Print_str
	.dbline 15
;    switch(type)
	clr R21
	cpi R20,0
	cpc R20,R21
	breq L8
X0:
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L9
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L10
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L11
	xjmp L5
X1:
	.dbline 16
;    {
L8:
	.dbline 18
;    	case 0://播放MP3
; 		   PORTF &= ~(1<<3);//MP3是动态的只在使用时打开功放
	lds R24,98
	andi R24,247
	sts 98,R24
	.dbline 19
; 		   PORTF &= ~(1<<2);
	lds R24,98
	andi R24,251
	sts 98,R24
	.dbline 20
; 		   PORTF &= ~(1<<1);
	lds R24,98
	andi R24,253
	sts 98,R24
	.dbline 21
; 		   break;
	xjmp L6
L9:
	.dbline 23
; 	case 1://话筒
; 		   PORTF |= 1<<3;   //开功放
	lds R24,98
	ori R24,8
	sts 98,R24
	.dbline 24
; 		   PORTF &= ~(1<<2);
	lds R24,98
	andi R24,251
	sts 98,R24
	.dbline 25
; 		   PORTF &= ~(1<<1);
	lds R24,98
	andi R24,253
	sts 98,R24
	.dbline 26
; 		   break;
	xjmp L6
L10:
	.dbline 28
; 	case 2://收音机
; 		   PORTF |= 1<<3;   //开功放
	lds R24,98
	ori R24,8
	sts 98,R24
	.dbline 29
; 		   PORTF |= 1<<2;
	lds R24,98
	ori R24,4
	sts 98,R24
	.dbline 30
; 		   PORTF &= ~(1<<1);
	lds R24,98
	andi R24,253
	sts 98,R24
	.dbline 31
; 		   break;		
	xjmp L6
L11:
	.dbline 33
;     case 3://CD机
; 		   PORTF |= 1<<3;   //开功放
	lds R24,98
	ori R24,8
	sts 98,R24
	.dbline 34
; 		   PORTF &= ~(1<<2);
	lds R24,98
	andi R24,251
	sts 98,R24
	.dbline 35
; 		   PORTF |= 1<<1;
	lds R24,98
	ori R24,2
	sts 98,R24
	.dbline 36
; 		   break;		
L5:
L6:
	.dbline -2
L2:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r type 20 c
	.dbend
	.area data(ram, con, rel)
	.dbfile E:\software\MP3程序\Outputtime\outtest.c
L4:
	.blkb 3
	.area idata
	.byte 13,10,0
	.area data(ram, con, rel)
	.dbfile E:\software\MP3程序\Outputtime\outtest.c
L3:
	.blkb 10
	.area idata
	.byte 188,204,181,231,198,247,32,61,32,0
	.area data(ram, con, rel)
	.dbfile E:\software\MP3程序\Outputtime\outtest.c

⌨️ 快捷键说明

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