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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ide.c

?? 基于ATmega64單片機(jī)以及vs1003的SD卡方案的MP3播放源代碼
?? C
字號(hào):
#include"IDE.h"

#define nop()						__asm__ __volatile__ ("nop" ::)

void IDE_Delay(uint16 n)
{
	while(n--);
}

uint8 IDE_WaitBSY()//等待空閑
{
	uint8 timeout = 0;
	uint8 temp;
	do
	{
		temp = IDE_ReadREG(IDE_Status_Command);
		timeout++;
	//	if(timeout>100)return 1;
	}while(temp&(1<<BSY));
	return 0;
}

uint8 IDE_WaitDRQ()//等待驅(qū)動(dòng)器準(zhǔn)備好傳輸數(shù)據(jù)
{
	uint8 timeout = 0;
	uint8 temp;
	do
	{
		temp = IDE_ReadREG(IDE_Status_Command);
		timeout++;
	//	if(timeout>100)return 1;
	}while(!(temp&(1<<DRQ)));
	return 0;
}

void IDE_RegConvert(uint8 reg)//設(shè)置讀寄存器是的相應(yīng)管腳
{
	IDE_CS0_L();
	IDE_CS1_H();
	switch(reg)
	{
		case IDE_Data			:	IDE_DA2_L();IDE_DA1_L();IDE_DA0_L();break;
		case IDE_Err_Features	:	IDE_DA2_L();IDE_DA1_L();IDE_DA0_H();break;
		case IDE_SecCount		:	IDE_DA2_L();IDE_DA1_H();IDE_DA0_L();break;
		case IDE_SecNumber		:	IDE_DA2_L();IDE_DA1_H();IDE_DA0_H();break;
		case IDE_CylinderL		:	IDE_DA2_H();IDE_DA1_L();IDE_DA0_L();break;
		case IDE_CylinderH		:	IDE_DA2_H();IDE_DA1_L();IDE_DA0_H();break;
		case IDE_Device_Head	:	IDE_DA2_H();IDE_DA1_H();IDE_DA0_L();break;
		case IDE_Status_Command	:	IDE_DA2_H();IDE_DA1_H();IDE_DA0_H();break;
		default	    		:	IDE_CS0_H();break;
	}	
}

uint8 IDE_Init()//硬盤初始化
{
	uint8 temp,retry = 0;
	MCUCR &= ~(1<<SRE);//不采用總線方
	
	IDE_RST_DDR  |= 1<<IDE_RST_PIN;
	IDE_RST_PORT |= 1<<IDE_RST_PIN;

	IDE_CS0_DDR  |= 1<<IDE_CS0_PIN;
	IDE_CS0_PORT |= 1<<IDE_CS0_PIN;
	
	IDE_CS1_DDR  |= 1<<IDE_CS1_PIN;
	IDE_CS1_PORT |= 1<<IDE_CS1_PIN;
	
	IDE_DA0_DDR  |= 1<<IDE_DA0_PIN;
	IDE_DA0_PORT |= 1<<IDE_DA0_PIN;
	
	IDE_DA1_DDR  |= 1<<IDE_DA1_PIN;
	IDE_DA1_PORT |= 1<<IDE_DA1_PIN;
	
	IDE_DA2_DDR  |= 1<<IDE_DA2_PIN;
	IDE_DA2_PORT |= 1<<IDE_DA2_PIN;
	
	IDE_WR_DDR  |= 1<<IDE_WR_PIN;
	IDE_WR_PORT |= 1<<IDE_WR_PIN;
	
	IDE_RD_DDR  |= 1<<IDE_RD_PIN;
	IDE_RD_PORT |= 1<<IDE_RD_PIN;

	IDE_RD_H();
	IDE_WR_H();

	IDE_RST_L();
	IDE_Delay(0xffff);
	IDE_RST_H();
	for(retry = 0;retry < 20;retry++)IDE_Delay(0xffff);
	
	do
	{
		IDE_WriteREG(IDE_Device_Head,0xa0);
		temp = IDE_ReadREG(IDE_Status_Command);
		if(retry++ >200)
		{
			MCUCR |= (1<<SRE);//重新使能總線
			IDE_CS0_H();
			return 1;
		}
	}while((!(temp&(1<<DRDY))) || temp&(1<<BSY));

	IDE_WriteREG(IDE_Device_Head,0x40);
	IDE_WriteREG(IDE_SecCount,60);
	IDE_WriteREG(IDE_Status_Command,CMD_INITIALIZE_DRIVE_PARAMETERS);//0x91
	IDE_WaitBSY();
	IDE_WriteREG(IDE_Status_Command,CMD_RECALIBRATE);//0x10
	IDE_WaitBSY();
	IDE_CS0_H();
	MCUCR |= (1<<SRE);//重新使能總線
	return 0;
}

uint8 IDE_ReadREG(uint8 addr)//讀寄存器
{
	uint8 temp;
	IDE_RegConvert(addr);
	IDE_DATA_L_DDR = 0x00;
	IDE_DATA_L_PORT = 0xff;
	IDE_RD_L();
	nop();
	nop();
	temp = IDE_DATA_L_PIN;
	IDE_RD_H();
	return temp;
}

void IDE_WriteREG(uint8 addr, uint8 val)//寫寄存器
{
	IDE_RegConvert(addr);
	IDE_DATA_L_DDR = 0xff;
	IDE_DATA_L_PORT = val;
	IDE_WR_L();
	nop();
	nop();
	IDE_WR_H();
}

uint8 IDE_ReadOneSector(uint32 LBA,uint8 *buffer)//讀一個(gè)扇區(qū)
{
	uint16 i;
	MCUCR &= ~(1<<SRE);//關(guān)閉總線

	IDE_WriteREG(6,0xe0 + (LBA>>24));//LBA方式,送LBA地址
	IDE_WriteREG(5,LBA>>16);
	IDE_WriteREG(4,LBA>>8);
	IDE_WriteREG(3,LBA);
	IDE_WriteREG(2,1);				//讀1個(gè)扇區(qū)
	IDE_WriteREG(IDE_Status_Command,CMD_READ_SECTORS);//0x20//讀命令

	IDE_WaitDRQ();//等待數(shù)據(jù)準(zhǔn)備好
	IDE_RegConvert(IDE_Data);//設(shè)置相應(yīng)地址

	IDE_DATA_L_DDR = 0x00; //端口設(shè)為輸入狀態(tài)
	IDE_DATA_L_PORT = 0xff;
	IDE_DATA_H_DDR = 0x00;
	IDE_DATA_H_PORT = 0xff;	
	for(i=0;i<512;)
	{
		IDE_RD_L();//1次讀操作
		nop();
		nop();
		buffer[i++] = IDE_DATA_L_PIN;
		buffer[i++] = IDE_DATA_H_PIN;
		IDE_RD_H();
	}
	MCUCR |= (1<<SRE);	//重新使能總線
	IDE_CS0_H();		//驅(qū)動(dòng)器無效狀態(tài)
	return 0;
}

uint8 IDE_WriteOneSector(uint32 LBA,uint8 *buffer)//寫一個(gè)扇區(qū)
{
	uint16 i;
	MCUCR &= ~(1<<SRE);//關(guān)閉總線

	IDE_WriteREG(6,0xe0 + (LBA>>24));//LBA方式,送LBA地址
	IDE_WriteREG(5,LBA>>16);
	IDE_WriteREG(4,LBA>>8);
	IDE_WriteREG(3,LBA);
	IDE_WriteREG(2,1);				//一次操作1個(gè)扇區(qū)
	IDE_WriteREG(IDE_Status_Command,CMD_WRITE_SECTORS);//0x30//寫命令

	IDE_WaitDRQ();//等待驅(qū)動(dòng)器準(zhǔn)備好接受數(shù)據(jù)
	IDE_RegConvert(IDE_Data);//設(shè)置相應(yīng)地址

	IDE_DATA_L_DDR = 0xff; //端口設(shè)為輸出狀態(tài)
	IDE_DATA_H_DDR = 0xff;

	for(i=0;i<512;)
	{
		IDE_DATA_L_PORT = buffer[i++];//寫數(shù)據(jù)
		IDE_DATA_H_PORT = buffer[i++];
		IDE_WR_L();
		nop();
		nop();
		IDE_WR_H();
	}

	MCUCR |= (1<<SRE);//重新使能總線
	IDE_CS0_H();	//使驅(qū)動(dòng)器處于無效狀態(tài)
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一二三四社区欧美黄| 亚洲成人综合视频| 91精品国产综合久久精品| 蜜臀精品一区二区三区在线观看| 欧美国产日韩在线观看| 欧美精品久久久久久久久老牛影院| 国产成人免费视频精品含羞草妖精| 亚洲国产成人精品视频| 国产精品麻豆视频| 欧美成人三级在线| 欧美色电影在线| 色综合久久久网| www.欧美色图| 国产999精品久久| 精品一区二区在线视频| 午夜成人免费电影| 亚洲午夜久久久久久久久电影院| 国产精品传媒在线| 国产视频一区二区在线| 国产亚洲一本大道中文在线| 日韩欧美成人激情| 91精品国产欧美一区二区18| 欧美在线免费观看亚洲| 91丝袜呻吟高潮美腿白嫩在线观看| 国产成人亚洲精品青草天美| 久久超碰97中文字幕| 青青草国产成人av片免费| 午夜欧美在线一二页| 亚洲一二三四在线| 亚洲一区免费在线观看| 一区av在线播放| 亚洲视频资源在线| 亚洲欧美日韩国产手机在线| 中文字幕在线不卡国产视频| 国产午夜精品福利| 欧美国产精品一区二区三区| 久久久亚洲综合| 久久久久高清精品| 国产精品蜜臀在线观看| 中文字幕一区二区5566日韩| 日本一二三不卡| 中文字幕一区二区三| 亚洲蜜桃精久久久久久久| 一二三四区精品视频| 亚洲一区二区3| 亚洲123区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 美女视频免费一区| 国产精品白丝av| 99在线视频精品| 在线看国产一区二区| 欧美日韩一级视频| 日韩视频免费观看高清完整版在线观看| 91精品国产手机| 欧美精品一区男女天堂| 国产精品系列在线| 亚洲午夜电影在线| 麻豆精品一区二区综合av| 国产精品一二三区在线| fc2成人免费人成在线观看播放 | 亚洲午夜私人影院| 免费欧美高清视频| 国产mv日韩mv欧美| 日本韩国视频一区二区| 欧美一级久久久久久久大片| www成人在线观看| 国产精品久久久久久久久动漫 | 亚洲欧美日本在线| 午夜电影网一区| 国产传媒久久文化传媒| 欧美在线免费视屏| 精品av久久707| 亚洲女性喷水在线观看一区| 日韩精品一级二级| 成人免费三级在线| 一区二区三区小说| 美女一区二区久久| 成人少妇影院yyyy| 日本一区二区免费在线观看视频 | 国产成人精品免费网站| 99国产欧美久久久精品| 欧美日韩高清不卡| 91麻豆精品91久久久久久清纯 | 顶级嫩模精品视频在线看| 久久久久久影视| 亚洲伊人色欲综合网| 国产最新精品免费| 欧美日韩国产系列| 亚洲国产精品成人久久综合一区| 亚洲午夜精品17c| 国产成人综合在线观看| 欧美久久久久久蜜桃| 国产精品成人免费 | 成人小视频免费观看| 欧美日韩精品欧美日韩精品| 国产亚洲欧美日韩日本| 午夜电影网亚洲视频| 成人av手机在线观看| 精品国产精品网麻豆系列| 一级日本不卡的影视| 国产sm精品调教视频网站| 欧美一级xxx| 夜夜精品视频一区二区 | 在线不卡免费av| 亚洲特级片在线| 国产伦精品一区二区三区在线观看| 欧美性生交片4| 亚洲精品写真福利| 成人高清免费观看| 久久久久97国产精华液好用吗| 天堂精品中文字幕在线| 在线视频综合导航| 国产精品第四页| 成人黄色av电影| 久久久久久久网| 国内成+人亚洲+欧美+综合在线| 666欧美在线视频| 亚洲一卡二卡三卡四卡| 91美女福利视频| 国产精品女主播av| 国产91露脸合集magnet| 欧美精品一区二区三区蜜桃| 欧美96一区二区免费视频| 欧美日韩你懂的| 亚洲成人免费视频| 精品视频一区三区九区| 亚洲午夜激情av| 欧美日韩一区二区欧美激情| 亚洲一区二区三区三| 欧美综合视频在线观看| 一区二区三区四区在线播放| 成人毛片老司机大片| 精品av综合导航| 蜜桃精品视频在线| 欧美美女网站色| 亚洲国产精品一区二区www在线| www.激情成人| 国产免费观看久久| 国产一区二区三区综合| 欧美电视剧在线看免费| 午夜免费久久看| 精品视频999| 午夜影院在线观看欧美| 欧美午夜宅男影院| 一区二区三区色| 91丨porny丨国产| 欧美激情一区在线观看| 成人国产精品免费观看视频| 日韩理论在线观看| 成人听书哪个软件好| 国产丶欧美丶日本不卡视频| 国产精品高清亚洲| 色综合天天综合色综合av | 亚洲久本草在线中文字幕| 91福利精品视频| 日韩精品国产精品| 精品美女一区二区| www.亚洲人| 亚洲大型综合色站| 欧美成人bangbros| caoporn国产一区二区| 亚洲午夜在线电影| 2欧美一区二区三区在线观看视频| 国产成人精品亚洲777人妖| 亚洲三级在线免费观看| 制服视频三区第一页精品| 国精产品一区一区三区mba视频| 国产精品久久久久久久久果冻传媒 | 香蕉久久夜色精品国产使用方法| 日韩欧美综合在线| 不卡的av网站| 亚洲成人三级小说| 国产亚洲欧美在线| 欧美日韩你懂得| 国产高清成人在线| 一个色妞综合视频在线观看| 亚洲精品一区二区三区99 | 国产欧美中文在线| 欧美性色aⅴ视频一区日韩精品| 久久精品国产免费看久久精品| 中文字幕一区免费在线观看| 欧美福利视频一区| 成人av在线一区二区三区| 日韩一区精品视频| 国产精品国产三级国产三级人妇| 在线国产亚洲欧美| 国产高清久久久| 日韩激情中文字幕| 中文字幕中文字幕在线一区 | 日韩一级免费观看| 91在线观看地址| 国产精品亚洲人在线观看| 丝袜美腿亚洲综合| 亚洲色图清纯唯美| 久久欧美中文字幕| 日韩一本二本av| 欧美日韩在线精品一区二区三区激情| 国产精品亚洲一区二区三区妖精 | 日韩中文字幕一区二区三区| ...中文天堂在线一区|