📄 outtest.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 + -