📄 mp3.lst
字号:
__text_start:
__start:
0959 E5CF LDI R28,0x5F
095A E0D4 LDI R29,4
095B BFCD OUT 0x3D,R28
095C BFDE OUT 0x3E,R29
095D 51C0 SUBI R28,0x10
095E 40D0 SBCI R29,0
095F EA0A LDI R16,0xAA
0960 8308 STD Y+0,R16
0961 2400 CLR R0
0962 EDE4 LDI R30,0xD4
0963 E0F0 LDI R31,0
0964 E013 LDI R17,3
0965 3DE5 CPI R30,0xD5
0966 07F1 CPC R31,R17
0967 F011 BEQ 0x096A
0968 9201 ST R0,Z+
0969 CFFB RJMP 0x0965
096A 8300 STD Z+0,R16
096B E3EE LDI R30,0x3E
096C E1F2 LDI R31,0x12
096D E6A0 LDI R26,0x60
096E E0B0 LDI R27,0
096F E112 LDI R17,0x12
0970 3BE2 CPI R30,0xB2
0971 07F1 CPC R31,R17
0972 F021 BEQ 0x0977
0973 95C8 LPM
0974 9631 ADIW R30,1
0975 920D ST R0,X+
0976 CFF9 RJMP 0x0970
0977 940E12EA CALL _main
_exit:
0979 CFFF RJMP _exit
FILE: D:\TDDownload\MP3BOA~1.8\1770.c
(0001) //ICC-AVR application builder : 2005-11-12 17:11:59
(0002) // Target : M16
(0003) // Crystal: 8.0000Mhz
(0004) // copyright:鲁军波(endylu)
(0005) // www.shop34612283.taobao.com
(0006) // www.adembed.com
(0007) #include <iom16v.h>
(0008) #include <macros.h>
(0009) #include "main.h"
(0010)
(0011) //=======================================================================
(0012) void pcm1770_Ini(void)
(0013) {pcm1770_ddr|=(1<<PD);
_pcm1770_Ini:
097A 9ABB SBI 0x17,3
(0014) pd_0;
097B 98C3 CBI 0x18,3
(0015)
(0016) pcm1770_ddr|=(1<<MS);
097C 9AB9 SBI 0x17,1
(0017) pcm1770_ddr|=(1<<MC);
097D 9AB8 SBI 0x17,0
(0018) pcm1770_ddr|=(1<<MD);
097E 9ABA SBI 0x17,2
(0019) ms_1;
097F 9AC1 SBI 0x18,1
(0020) mc_1;
0980 9AC0 SBI 0x18,0
(0021) md_1;
0981 9AC2 SBI 0x18,2
0982 9508 RET
_write1770:
i --> R20
data --> R18
addr --> R16
0983 940E1CCC CALL push_gset1
(0022)
(0023) }
(0024)
(0025) //=======================================================================
(0026) void write1770(uint8 addr,uint8 data)
(0027) {
(0028) uint8 i=8;
0985 E048 LDI R20,0x8
(0029) ms_0;
0986 98C1 CBI 0x18,1
0987 C008 RJMP 0x0990
(0030) while(i--)
(0031) {
(0032) if(addr&0x80) md_1
0988 FF07 SBRS R16,7
0989 C002 RJMP 0x098C
098A 9AC2 SBI 0x18,2
098B C001 RJMP 0x098D
(0033) else md_0
098C 98C2 CBI 0x18,2
(0034)
(0035) addr<<=1;
098D 0F00 LSL R16
(0036) mc_0;
098E 98C0 CBI 0x18,0
(0037)
(0038) mc_1;
098F 9AC0 SBI 0x18,0
0990 2E24 MOV R2,R20
0991 2433 CLR R3
0992 5041 SUBI R20,1
0993 2022 TST R2
0994 F799 BNE 0x0988
(0039) }
(0040) i=8;
0995 E048 LDI R20,0x8
0996 C008 RJMP 0x099F
(0041) while(i--)
(0042) {
(0043) if(data&0x80) md_1
0997 FF27 SBRS R18,7
0998 C002 RJMP 0x099B
0999 9AC2 SBI 0x18,2
099A C001 RJMP 0x099C
(0044) else md_0
099B 98C2 CBI 0x18,2
(0045)
(0046) data<<=1;
099C 0F22 LSL R18
(0047) mc_0;
099D 98C0 CBI 0x18,0
(0048)
(0049) mc_1;
099E 9AC0 SBI 0x18,0
099F 2E24 MOV R2,R20
09A0 2433 CLR R3
09A1 5041 SUBI R20,1
09A2 2022 TST R2
09A3 F799 BNE 0x0997
(0050) }
(0051)
(0052) ms_1;
09A4 9AC1 SBI 0x18,1
09A5 940E1CCF CALL pop_gset1
09A7 9508 RET
(0053)
(0054) }
(0055)
(0056) //=======================================================================
(0057) void pcm1770_init(void)
(0058) {
(0059) pd_1;
_pcm1770_init:
09A8 9AC3 SBI 0x18,3
(0060) Delay_ms(1);
09A9 E001 LDI R16,1
09AA E010 LDI R17,0
09AB 940E1295 CALL _Delay_ms
(0061)
(0062) write1770(0x03,0x81);
09AD E821 LDI R18,0x81
09AE E003 LDI R16,3
09AF DFD3 RCALL _write1770
09B0 9508 RET
FILE: D:\TDDownload\MP3BOA~1.8\3310.c
(0001) //ICC-AVR application builder : 2005-11-12 17:11:59
(0002) // Target : M16
(0003) // Crystal: 8.0000Mhz
(0004) // copyright:鲁军波(endylu)
(0005) // www.shop34612283.taobao.com
(0006) // www.adembed.com
(0007) #include <iom16v.h>
(0008) #include <macros.h>
(0009) #include "main.h"
(0010)
(0011)
(0012)
(0013) // 6 x 8 font
(0014)
(0015) // 1 pixel space at left and bottom
(0016)
(0017) // index = ASCII - 32
(0018)
(0019) const uint8 font6x8[][6] =
(0020)
(0021) {
(0022)
(0023) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },// sp
(0024)
(0025) { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },// !
(0026)
(0027) { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },// "
(0028)
(0029) { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },// #
(0030)
(0031) { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },// $
(0032)
(0033) { 0x23, 0x13, 0x08, 0x64, 0x62, 0x00 },// %
(0034)
(0035) { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },// &
(0036)
(0037) { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },// '
(0038)
(0039) { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },// (
(0040)
(0041) { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },// )
(0042)
(0043) { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },// *
(0044)
(0045) { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },// +
(0046)
(0047) { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },// ,
(0048)
(0049) { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },// -
(0050)
(0051) { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },// .
(0052)
(0053) { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },// /
(0054)
(0055) { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// 0
(0056)
(0057) { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },// 1
(0058)
(0059) { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },// 2
(0060)
(0061) { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },// 3
(0062)
(0063) { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },// 4
(0064)
(0065) { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },// 5
(0066)
(0067) { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },// 6
(0068)
(0069) { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },// 7
(0070)
(0071) { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },// 8
(0072)
(0073) { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },// 9
(0074)
(0075) { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },// :
(0076)
(0077) { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },// ;
(0078)
(0079) { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },// <
(0080)
(0081) { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },// =
(0082)
(0083) { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },// >
(0084)
(0085) { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },// ?
(0086)
(0087) { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },// @
(0088)
(0089) { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },// A
(0090)
(0091) { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },// B
(0092)
(0093) { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },// C
(0094)
(0095) { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },// D
(0096)
(0097) { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },// E
(0098)
(0099) { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },// F
(0100)
(0101) { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },// G
(0102)
(0103) { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },// H
(0104)
(0105) { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },// I
(0106)
(0107) { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },// J
(0108)
(0109) { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },// K
(0110)
(0111) { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },// L
(0112)
(0113) { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },// M
(0114)
(0115) { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },// N
(0116)
(0117) { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// O
(0118)
(0119) { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },// P
(0120)
(0121) { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },// Q
(0122)
(0123) { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },// R
(0124)
(0125) { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },// S
(0126)
(0127) { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },// T
(0128)
(0129) { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },// U
(0130)
(0131) { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },// V
(0132)
(0133) { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },// W
(0134)
(0135) { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },// X
(0136)
(0137) { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },// Y
(0138)
(0139) { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },// Z
(0140)
(0141) { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },// [
(0142)
(0143) { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },// 55
(0144)
(0145) { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },// ]
(0146)
(0147) { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },// ^
(0148)
(0149) { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },// _
(0150)
(0151) { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },// '
(0152)
(0153) { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },// a
(0154)
(0155) { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },// b
(0156)
(0157) { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },// c
(0158)
(0159) { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },// d
(0160)
(0161) { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },// e
(0162)
(0163) { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },// f
(0164)
(0165) { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },// g
(0166)
(0167) { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },// h
(0168)
(0169) { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },// i
(0170)
(0171) { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },// j
(0172)
(0173) { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },// k
(0174)
(0175) { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },// l
(0176)
(0177) { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },// m
(0178)
(0179) { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },// n
(0180)
(0181) { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },// o
(0182)
(0183) { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },// p
(0184)
(0185) { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },// q
(0186)
(0187) { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },// r
(0188)
(0189) { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },// s
(0190)
(0191) { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },// t
(0192)
(0193) { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },// u
(0194)
(0195) { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },// v
(0196)
(0197) { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },// w
(0198)
(0199) { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },// x
(0200)
(0201) { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },// y
(0202)
(0203) { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },// z
(0204)
(0205) //{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }// horiz lines
(0206)
(0207) };
(0208)
(0209)
(0210) const uint8 Hzk3[][6]={
(0211) //停止
(0212) {0x3E,0x3E,0x3E,0x3E,0x3E,0x3E},
(0213) //播放
(0214) {0x00,0x7F,0x3E,0x1C,0x08,0x00},
(0215) //暂停
(0216) {0x3E,0x3E,0x00,0x00,0x3E,0x3E},
(0217)
(0218) };
(0219)
(0220)
(0221)
(0222) //=======================================================================
(0223) //LCD_init: 3310LCD初始化
(0224)
(0225) void LCD_init(void)
(0226)
(0227) {
(0228) LCD_ddr|=LCD_RST|LCD_DC|LCD_CS;
_LCD_init:
09B1 B38A IN R24,0x1A
09B2 6E80 ORI R24,0xE0
09B3 BB8A OUT 0x1A,R24
(0229) //DDRB|=SPI_MOSI|SPI_CLK;
(0230) LCD_port&=~LCD_RST; // 产生一个让LCD复位的低电平脉冲
09B4 98DD CBI 0x1B,5
(0231) Delay_us(1);
09B5 E001 LDI R16,1
09B6 E010 LDI R17,0
09B7 940E128B CALL _Delay_us
(0232) LCD_port|=LCD_RST;
09B9 9ADD SBI 0x1B,5
(0233) LCD_port|=LCD_CS ; // 关闭LCD
09BA 9ADE SBI 0x1B,6
(0234) Delay_us(1);
09BB E001 LDI R16,1
09BC E010 LDI R17,0
09BD 940E128B CALL _Delay_us
(0235) LCD_port&=~LCD_CS; // 使能LCD
09BF 98DE CBI 0x1B,6
(0236) Delay_us(1);
09C0 E001 LDI R16,1
09C1 E010 LDI R17,0
09C2 940E128B CALL _Delay_us
(0237) LCD_write_byte(0x21, 0);// 使用扩展命令设置LCD模式
09C4 2722 CLR R18
09C5 E201 LDI R16,0x21
09C6 D0BC RCALL _LCD_write_byte
(0238) LCD_write_byte(0xc8, 0);// 设置偏置电压 Vlcd=3.06+72*0.06=7.38<8.5
09C7 2722 CLR R18
09C8 EC08 LDI R16,0xC8
09C9 D0B9 RCALL _LCD_write_byte
(0239) LCD_write_byte(0x06, 0);// 温度校正
09CA 2722 CLR R18
09CB E006 LDI R16,6
09CC D0B6 RCALL _LCD_write_byte
(0240) LCD_write_byte(0x13, 0); // 1:48
09CD 2722 CLR R18
09CE E103 LDI R16,0x13
09CF D0B3 RCALL _LCD_write_byte
(0241) LCD_write_byte(0x20, 0); // 使用基本命令
09D0 2722 CLR R18
09D1 E200 LDI R16,0x20
09D2 D0B0 RCALL _LCD_write_byte
(0242) LCD_clear(); // 清屏
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -