📄 outtest.lis
字号:
.module outtest.c
.area text(rom, con, rel)
0000 .dbfile E:\software\MP3程序\Outputtime\outtest.c
0000 .dbfunc e outpower_init _outpower_init fV
.even
0000 _outpower_init::
0000 .dbline -1
0000 .dbline 5
0000 ; #include <iom64v.h>
0000 ; #include "../Ds1302/ds1302.h"
0000 ; #define CONFIG_2 2016 //继电器输出时间存储器地址
0000 ; void outpower_init(void)
0000 ; {
0000 .dbline 6
0000 ; DDRF |= 0x0f; //全部关闭态
0000 80916100 lds R24,97
0004 8F60 ori R24,15
0006 80936100 sts 97,R24
000A .dbline 7
000A ; PORTF &= 0xf0;
000A 80916200 lds R24,98
000E 807F andi R24,240
0010 80936200 sts 98,R24
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e open_close _open_close fV
0016 ; type -> R20
.even
0016 _open_close::
0016 0E940000 xcall push_gset1
001A 402F mov R20,R16
001C .dbline -1
001C .dbline 11
001C ; }
001C ;
001C ; void open_close(uchar type)
001C ; {
001C .dbline 12
001C ; Print_str("继电器 = ");
001C 00E0 ldi R16,<L3
001E 10E0 ldi R17,>L3
0020 0E940000 xcall _Print_str
0024 .dbline 13
0024 ; Print_val(type);
0024 042F mov R16,R20
0026 1127 clr R17
0028 0E940000 xcall _Print_val
002C .dbline 14
002C ; Print_str("\r\n");
002C 00E0 ldi R16,<L4
002E 10E0 ldi R17,>L4
0030 0E940000 xcall _Print_str
0034 .dbline 15
0034 ; switch(type)
0034 5527 clr R21
0036 4030 cpi R20,0
0038 4507 cpc R20,R21
003A 69F0 breq L8
003C X0:
003C 4130 cpi R20,1
003E E0E0 ldi R30,0
0040 5E07 cpc R21,R30
0042 C9F0 breq L9
0044 4230 cpi R20,2
0046 E0E0 ldi R30,0
0048 5E07 cpc R21,R30
004A 29F1 breq L10
004C 4330 cpi R20,3
004E E0E0 ldi R30,0
0050 5E07 cpc R21,R30
0052 89F1 breq L11
0054 3FC0 xjmp L5
0056 X1:
0056 .dbline 16
0056 ; {
0056 L8:
0056 .dbline 18
0056 ; case 0://播放MP3
0056 ; PORTF &= ~(1<<3);//MP3是动态的只在使用时打开功放
0056 80916200 lds R24,98
005A 877F andi R24,247
005C 80936200 sts 98,R24
0060 .dbline 19
0060 ; PORTF &= ~(1<<2);
0060 80916200 lds R24,98
0064 8B7F andi R24,251
0066 80936200 sts 98,R24
006A .dbline 20
006A ; PORTF &= ~(1<<1);
006A 80916200 lds R24,98
006E 8D7F andi R24,253
0070 80936200 sts 98,R24
0074 .dbline 21
0074 ; break;
0074 2FC0 xjmp L6
0076 L9:
0076 .dbline 23
0076 ; case 1://话筒
0076 ; PORTF |= 1<<3; //开功放
0076 80916200 lds R24,98
007A 8860 ori R24,8
007C 80936200 sts 98,R24
0080 .dbline 24
0080 ; PORTF &= ~(1<<2);
0080 80916200 lds R24,98
0084 8B7F andi R24,251
0086 80936200 sts 98,R24
008A .dbline 25
008A ; PORTF &= ~(1<<1);
008A 80916200 lds R24,98
008E 8D7F andi R24,253
0090 80936200 sts 98,R24
0094 .dbline 26
0094 ; break;
0094 1FC0 xjmp L6
0096 L10:
0096 .dbline 28
0096 ; case 2://收音机
0096 ; PORTF |= 1<<3; //开功放
0096 80916200 lds R24,98
009A 8860 ori R24,8
009C 80936200 sts 98,R24
00A0 .dbline 29
00A0 ; PORTF |= 1<<2;
00A0 80916200 lds R24,98
00A4 8460 ori R24,4
00A6 80936200 sts 98,R24
00AA .dbline 30
00AA ; PORTF &= ~(1<<1);
00AA 80916200 lds R24,98
00AE 8D7F andi R24,253
00B0 80936200 sts 98,R24
00B4 .dbline 31
00B4 ; break;
00B4 0FC0 xjmp L6
00B6 L11:
00B6 .dbline 33
00B6 ; case 3://CD机
00B6 ; PORTF |= 1<<3; //开功放
00B6 80916200 lds R24,98
00BA 8860 ori R24,8
00BC 80936200 sts 98,R24
00C0 .dbline 34
00C0 ; PORTF &= ~(1<<2);
00C0 80916200 lds R24,98
00C4 8B7F andi R24,251
00C6 80936200 sts 98,R24
00CA .dbline 35
00CA ; PORTF |= 1<<1;
00CA 80916200 lds R24,98
00CE 8260 ori R24,2
00D0 80936200 sts 98,R24
00D4 .dbline 36
00D4 ; break;
00D4 L5:
00D4 L6:
00D4 .dbline -2
00D4 L2:
00D4 0E940000 xcall pop_gset1
00D8 .dbline 0 ; func end
00D8 0895 ret
00DA .dbsym r type 20 c
00DA .dbend
.area data(ram, con, rel)
0000 .dbfile E:\software\MP3程序\Outputtime\outtest.c
0000 L4:
0000 .blkb 3
.area idata
0000 0D0A00 .byte 13,10,0
.area data(ram, con, rel)
0003 .dbfile E:\software\MP3程序\Outputtime\outtest.c
0003 L3:
0003 .blkb 10
.area idata
0003 BCCCB5E7C6F7203D2000 .byte 188,204,181,231,198,247,32,61,32,0
.area data(ram, con, rel)
000D .dbfile E:\software\MP3程序\Outputtime\outtest.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -