亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sd.s

?? 基于ATmega64的MP3程序
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module SD.c
	.area text(rom, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\SD.c
	.dbfunc e Read_Byte_SD _Read_Byte_SD fc
	.even
_Read_Byte_SD::
	.dbline -1
	.dbline 13
; //ICC-AVR application builder : 2005-11-12 17:11:59
; // Target : M16
; // Crystal: 8.0000Mhz
; // copyright:魯軍波(endylu)
; // www.shop34612283.taobao.com
; // www.adembed.com
; #include <iom16v.h>
; #include <macros.h>
; #include "main.h"
; 
; //=======================================================================
; uint8 Read_Byte_SD(void) 
; { 
	.dbline 15
;  //char Byte; 
;  SPDR=0xff; 
	ldi R24,255
	out 0xf,R24
L2:
	.dbline 16
L3:
	.dbline 16
;  while(!(SPSR&(1<<SPIF)));
	sbis 0xe,7
	rjmp L2
	.dbline 19
;  
;  //Byte=SPDR;
;  return(SPDR); 
	in R16,0xf
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Write_Byte_SD _Write_Byte_SD fV
;           Byte -> R16
	.even
_Write_Byte_SD::
	.dbline -1
	.dbline 24
; }
; 
; //=======================================================================
; void Write_Byte_SD(uint8 Byte) 
; { 
	.dbline 25
;  SPDR=Byte; 
	out 0xf,R16
L6:
	.dbline 26
L7:
	.dbline 26
;  while(!(SPSR&(1<<SPIF)));
	sbis 0xe,7
	rjmp L6
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbsym r Byte 16 c
	.dbend
	.dbfunc e Write_Command_SD1 _Write_Command_SD1 fc
;        Timeout -> R20
;              a -> R22
;            tmp -> R10
;            CMD -> R12,R13
	.even
_Write_Command_SD1::
	xcall push_gset4
	movw R12,R16
	.dbline -1
	.dbline 31
; } 
; 
; //=======================================================================
; uint8 Write_Command_SD1(uint8*CMD) 
; { 
	.dbline 33
;  uint8 a; 
;  uint8 tmp=0xff; 
	ldi R24,255
	mov R10,R24
	.dbline 34
;  uint8 Timeout=0; 
	clr R20
	.dbline 37
; 
;  // Raise chip select 
;  SD_Disable(); 
	sbi 0x18,4
	.dbline 37
	.dbline 40
; 
;  // Send an 8 bit pulse 
;  Write_Byte_SD(0xFF); 
	ldi R16,255
	xcall _Write_Byte_SD
	.dbline 43
;  
;  // Lower chip select 
;  SD_Enable(); 
	cbi 0x18,4
	.dbline 43
	.dbline 46
; 
;  //Send the 6 byte command 
;  for(a=0;a<0x06;a++) 
	clr R22
	xjmp L13
L10:
	.dbline 47
	.dbline 48
	movw R30,R12
	ld R16,Z+
	movw R12,R30
	xcall _Write_Byte_SD
	.dbline 49
L11:
	.dbline 46
	inc R22
L13:
	.dbline 46
	cpi R22,6
	brlo L10
	xjmp L15
L14:
	.dbline 53
;     {
;      Write_Byte_SD(*CMD++); 
;     } 
; 
;  //Wait for the response 
;  while(tmp==0xff)
;       {
	.dbline 54
;        tmp=Read_Byte_SD(); 
	xcall _Read_Byte_SD
	mov R10,R16
	.dbline 55
;        if(Timeout++>100) 
	mov R2,R20
	clr R3
	subi R20,255    ; addi 1
	ldi R24,100
	cp R24,R2
	brsh L17
	.dbline 56
;          { 
	.dbline 57
;           break; 
	xjmp L16
L17:
	.dbline 59
L15:
	.dbline 52
	mov R24,R10
	cpi R24,255
	breq L14
L16:
	.dbline 62
;          } 
;       } 
;  //SD_Disable(); 
;  //for some reason we need to delay  10here 
;  return(tmp); 
	mov R16,R10
	.dbline -2
L9:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r Timeout 20 c
	.dbsym r a 22 c
	.dbsym r tmp 10 c
	.dbsym r CMD 12 pc
	.dbend
	.dbfunc e Write_Command_SD _Write_Command_SD fc
;        Timeout -> R20
;            tmp -> R22
;        address -> y+8
;            CMD -> R22
	.even
_Write_Command_SD::
	st -y,r19
	st -y,r18
	xcall push_gset4
	mov R22,R16
	.dbline -1
	.dbline 67
; }
; 
; //=======================================================================
; uint8 Write_Command_SD(uint8 CMD,uint32 address) 
; { 
	.dbline 70
;  
;  uint8 tmp; 
;  uint8 Timeout=0; 
	clr R20
	.dbline 73
;  
;  // Raise chip select 
;  SD_Disable(); 
	sbi 0x18,4
	.dbline 73
	.dbline 76
; 
;  // Send an 8 bit pulse 
;  Write_Byte_SD(0xFF); 
	ldi R16,255
	xcall _Write_Byte_SD
	.dbline 79
;  
;  // Lower chip select 
;  SD_Enable(); 
	cbi 0x18,4
	.dbline 79
	.dbline 81
;  //Send the 6 byte command  
;   Write_Byte_SD(CMD);
	mov R16,R22
	xcall _Write_Byte_SD
	.dbline 82
;   Write_Byte_SD(address>>24);
	ldi R24,24
	ldi R25,0
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R24
	movw R16,R2
	movw R18,R4
	xcall lsr32
	xcall _Write_Byte_SD
	.dbline 83
;   Write_Byte_SD(address>>16);
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	movw R2,R4
	clr R4
	clr R5
	mov R16,R2
	xcall _Write_Byte_SD
	.dbline 84
;   Write_Byte_SD(address>>8);
	ldi R24,8
	ldi R25,0
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R24
	movw R16,R2
	movw R18,R4
	xcall lsr32
	xcall _Write_Byte_SD
	.dbline 85
;   Write_Byte_SD(address);
	movw R30,R28
	ldd R16,z+8
	xcall _Write_Byte_SD
	.dbline 86
;   Write_Byte_SD(0xff);
	ldi R16,255
	xcall _Write_Byte_SD
	.dbline 90
;   
; 
;  //Wait for the response 
;  tmp=Read_Byte_SD();
	xcall _Read_Byte_SD
	mov R22,R16
	xjmp L21
L20:
	.dbline 92
	.dbline 93
	xcall _Read_Byte_SD
	mov R22,R16
	.dbline 94
L21:
	.dbline 91
;  while((tmp==0xff)&(Timeout++<8)) 
	cpi R22,255
	brne L23
	ldi R24,1
	ldi R25,0
	movw R12,R24
	xjmp L24
L23:
	clr R12
	clr R13
L24:
	mov R2,R20
	clr R3
	subi R20,255    ; addi 1
	mov R24,R2
	cpi R24,8
	brsh L25
	ldi R24,1
	ldi R25,0
	movw R10,R24
	xjmp L26
L25:
	clr R10
	clr R11
L26:
	movw R2,R12
	and R2,R10
	and R3,R11
	tst R2
	brne L20
	tst R3
	brne L20
X0:
	.dbline 96
;       {
;        tmp=Read_Byte_SD();  
;       } 
;  //SD_Disable(); 
;  return(tmp); 
	mov R16,R22
	.dbline -2
L19:
	xcall pop_gset4
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbsym r Timeout 20 c
	.dbsym r tmp 22 c
	.dbsym l address 8 l
	.dbsym r CMD 22 c
	.dbend
	.area lit(rom, con, rel)
L28:
	.byte 64,0
	.byte 0,0
	.byte 0,149
	.area text(rom, con, rel)
	.dbfile D:\TDDownload\MP3BOA~1.8\SD.c
	.dbfunc e SDInit _SDInit fc
;              b -> R10
;              a -> R20
;          retry -> R22
;            CMD -> y+0
	.even
_SDInit::
	xcall push_gset3
	sbiw R28,6
	.dbline -1
	.dbline 101
; }
; 
; //=======================================================================
; uint8 SDInit(void)
; { 
	.dbline 103
;  uint8 a,b,retry; 
;  uint8 CMD[]={0x40,0x00,0x00,0x00,0x00,0x95}; 
	ldi R24,<L28
	ldi R25,>L28
	movw R30,R28
	ldi R16,6
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 105
;  
;  asm("cli"); //clear all interrupt.
	cli
	.dbline 108
;  // Set certain pins to inputs and others to outputs 
;  // Only SPI_DI (data in) is an input 
;  SD_Direction_REG&=~(1<<SPI_DI); 
	cbi 0x17,6
	.dbline 109
;  SD_Direction_REG|=(1<<SPI_Clock); 
	sbi 0x17,7
	.dbline 110
;  SD_Direction_REG|=(1<<SPI_DO); 
	sbi 0x17,5
	.dbline 111
;  SD_Direction_REG|=(1<<SD_Chip_Select); 
	sbi 0x17,4
	.dbline 112
;  SD_Write|=(1<<SD_Chip_Select); 
	sbi 0x18,4
	.dbline 113
;  SD_Write|=(1<<SPI_DI); 
	sbi 0x18,6
	.dbline 116
; 
;  //We need to wait for the SD_Direction_REG to be ready 
;  for(a=0;a<200;a++) 
	clr R20
	xjmp L32
L29:
	.dbline 117
	.dbline 118
	nop
	.dbline 119
L30:
	.dbline 116
	inc R20
L32:
	.dbline 116
	cpi R20,200
	brlo L29
	.dbline 119
;     {
;      nop();
;     }; 
	.dbline 121
;  //Enable SPI in Master Mode with IDLE low and clock at 8M/128 
; SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1); 
	ldi R24,83
	out 0xd,R24
	.dbline 122
; SPSR&=~(1<<SPI2X); 
	cbi 0xe,0
	.dbline 125
;   
;  // We need to give the card about a Hundred cycles to load 
;  for (b=0;b<0x0f;++b) 
	clr R10
	xjmp L36
L33:
	.dbline 126
	.dbline 127
	ldi R16,255
	xcall _Write_Byte_SD
	.dbline 128
L34:
	.dbline 125
	inc R10
L36:
	.dbline 125
	mov R24,R10
	cpi R24,15
	brlo L33
	.dbline 131
;      {
;       Write_Byte_SD(0xff); 
;      } 
; 
;  //Send the initialization commands to the card 
;  retry=0; 
	clr R22
	xjmp L38
L37:
	.dbline 134
;   
;  while(Write_Command_SD1(CMD)!=0X01)
;  {
	.dbline 135
;   Delay_ms(10);              //很重要,要不然就要REST才可以
	ldi R16,10
	ldi R17,0
	xcall _Delay_ms
	.dbline 137
;  //fail and return 
;  if(retry++>50) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线资源| 99精品视频一区二区| 中文字幕 久热精品 视频在线| 91麻豆免费在线观看| 久久精品99国产精品日本| 亚洲午夜av在线| 亚洲人成网站色在线观看| 欧美国产一区二区| 久久一区二区三区四区| 日韩三级伦理片妻子的秘密按摩| 99免费精品视频| 国产成人精品免费在线| 国产主播一区二区| 久久se这里有精品| 美女爽到高潮91| 日本不卡免费在线视频| 一区二区三区视频在线看| 久久中文字幕电影| 精品国内二区三区| 精品电影一区二区| 日韩精品中文字幕在线不卡尤物| 69堂成人精品免费视频| 91黄视频在线观看| 色狠狠av一区二区三区| 91在线观看污| 91看片淫黄大片一级在线观看| 国产成a人无v码亚洲福利| 国产乱子轮精品视频| 国产在线视频精品一区| 国产成人免费在线| 99国产精品国产精品毛片| 在线一区二区三区| 欧美日韩第一区日日骚| 欧美一区二区久久| 精品国产制服丝袜高跟| 亚洲国产精品av| 亚洲国产精品视频| 开心九九激情九九欧美日韩精美视频电影 | 色悠久久久久综合欧美99| 日本黄色一区二区| 欧美一区二区精品| 国产精品水嫩水嫩| 亚洲综合色丁香婷婷六月图片| 天堂va蜜桃一区二区三区 | 日韩精品一级中文字幕精品视频免费观看 | 久久色中文字幕| 亚洲欧洲一区二区在线播放| 亚洲大片免费看| 久久99久久久久久久久久久| 99精品视频一区| 欧美变态口味重另类| 亚洲欧美日韩中文播放| 久久99精品久久久久久久久久久久| 成人免费视频播放| 成人午夜在线免费| 91精品国产综合久久久久久久 | 精品一区二区免费| 日本高清不卡aⅴ免费网站| 国产精品网站一区| 欧美aⅴ一区二区三区视频| 成人污视频在线观看| 91精品久久久久久久99蜜桃| 亚洲天堂网中文字| 麻豆91在线看| 欧美日韩国产经典色站一区二区三区| 国产欧美一区二区精品仙草咪 | 91麻豆精品在线观看| 26uuu色噜噜精品一区二区| 亚洲一区欧美一区| 成人午夜精品一区二区三区| 日韩一区二区麻豆国产| 亚洲成人先锋电影| 91视频在线观看| 亚洲国产高清aⅴ视频| 狠狠色丁香久久婷婷综合丁香| 欧美三电影在线| 亚洲三级在线看| 成人免费视频免费观看| 精品国产网站在线观看| 天堂蜜桃一区二区三区 | 国产欧美久久久精品影院| 美女诱惑一区二区| 欧美日韩aaaaaa| 亚洲永久精品大片| 色噜噜狠狠成人中文综合| 国产精品天天看| 国产传媒一区在线| 久久久精品综合| 激情深爱一区二区| 欧美成人精品高清在线播放 | 91理论电影在线观看| 中文字幕 久热精品 视频在线| 国产一区中文字幕| 2020国产成人综合网| 精久久久久久久久久久| 欧美一区二区三区在线观看| 性做久久久久久免费观看| 欧美在线免费视屏| 亚洲伊人色欲综合网| 精品视频在线免费看| 午夜久久久影院| 欧美精品亚洲一区二区在线播放| 亚洲成年人网站在线观看| 91久久精品一区二区三区| 亚洲欧洲精品成人久久奇米网| av不卡在线播放| 亚洲欧美另类在线| 在线一区二区三区| 亚洲二区视频在线| 91精品国产一区二区三区香蕉| 人人精品人人爱| 久久婷婷一区二区三区| 国产精品一区专区| 欧美国产精品专区| 97久久超碰精品国产| 亚洲精品少妇30p| 欧美三级资源在线| 免费高清视频精品| 国产天堂亚洲国产碰碰| 成人av中文字幕| 亚洲黄色av一区| 91精品麻豆日日躁夜夜躁| 国内偷窥港台综合视频在线播放| 中文字幕av免费专区久久| 一本到不卡免费一区二区| 午夜精品成人在线视频| 欧美电影免费观看完整版| 国产成人亚洲综合a∨婷婷| 亚洲日本一区二区| 7777精品伊人久久久大香线蕉的| 理论电影国产精品| 日本一区二区三区视频视频| 色婷婷久久99综合精品jk白丝| 亚洲成a人片在线不卡一二三区 | 日本三级韩国三级欧美三级| 欧美大片拔萝卜| 成人av电影在线| 亚洲一区二区三区不卡国产欧美| 777午夜精品视频在线播放| 精品一区二区综合| 亚洲少妇最新在线视频| 日韩一级完整毛片| 成人中文字幕合集| 三级在线观看一区二区| 国产日韩成人精品| 欧美日韩中文字幕精品| 国产麻豆精品在线观看| 亚洲欧美区自拍先锋| 日韩欧美国产一区二区三区| 99久久精品免费看国产免费软件| 亚洲午夜影视影院在线观看| 久久久国产精品麻豆| 欧美色综合天天久久综合精品| 狠狠色丁香婷综合久久| 亚洲午夜一区二区| 国产亚洲精久久久久久| 欧美日韩亚洲综合一区| 国产风韵犹存在线视精品| 午夜日韩在线电影| 国产精品你懂的| 欧美一区二区三区视频免费 | 国产欧美日本一区二区三区| 欧美日韩一区视频| 暴力调教一区二区三区| 免费高清视频精品| 亚洲精品综合在线| 久久久久国产精品麻豆| 欧美色窝79yyyycom| 99综合电影在线视频| 国产麻豆视频一区二区| 日韩国产成人精品| 国产精品久久久久久久裸模| 日韩一区二区三区在线| 欧美三区免费完整视频在线观看| 成人高清视频免费观看| 美女www一区二区| 午夜久久久久久电影| 亚洲精品美腿丝袜| 亚洲国产精华液网站w| www精品美女久久久tv| 91精品国产91热久久久做人人| 色先锋aa成人| thepron国产精品| 欧美视频在线观看一区二区| 成人禁用看黄a在线| 国产一本一道久久香蕉| 午夜视频在线观看一区二区三区| 亚洲人成网站在线| 国产精品高清亚洲| 国产日韩欧美制服另类| 精品国产sm最大网站| 欧美一级在线免费| 7777女厕盗摄久久久| 欧美日韩www| 欧美日韩aaaaaa| 欧美猛男超大videosgay| 欧美偷拍一区二区| 欧美性感一类影片在线播放| 欧美亚洲综合在线| 欧美日韩一区三区|