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

📄 mp3.lst

📁 基于ATmega64的MP3程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
__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 + -