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

📄 main.c

📁 用C51单片机实现的MP3播放器的c代码程序。
💻 C
字号:
#include <stdio.h>
#include "..\Inc\AT8xC51SND1.h"
#include "..\Inc\GLOBAL.h"
#include "..\Inc\CHIPSOURCE.h"
#include "..\Inc\COMMON.h"
#include "..\Inc\IDEIO.h"
#include "..\Inc\FAT32.h"
#include "..\SND.C51\sendstring.h"
#include "..\SND.C51\sendchar.h"


extern void sendstring(BYTE *word);
extern void sendchar(BYTE word);
void main(void)
{
	WORD i,j=0;
	char filename1[]={"MP3     "};

	P5=0;
	EA=1;
	InitUART();
	sendstring("\nIDE Init...\n");
	//printf("\nIDE Init...\n");
	IDEInit();
	sendstring("\nok\n");
	//printf("ok\n");
	sendstring("\nTotalDevices is:");

	if(IDE.TotalDevices==0x01)
	  sendchar(0x31);
	else if (IDE.TotalDevices==0x02)
	  sendchar(0x32);
	else
	  sendchar(0x3f); 

	//printf("%bd Drivers found!\n",IDE.TotalDevices);
	//printf("Device 0 LBA: %ld\n",IDEDevice[0].TotalSectors);
	//printf("Device 1 LBA: %ld\n",IDEDevice[1].TotalSectors);

	IDESetCurrentDevice(IDE_DEVICE_MASTER);

	//printf("Ready\n");
	sendstring("\nReady\n");

	IDEReadSector(0);
	sendchar(DiskBuffer[510]);
	sendchar(DiskBuffer[511]);

	FAT32Init();
	sendtring("\nFAT32Init is ok..\n");
	i=FAT32MountPartition();
	sendtring("\nMount Hard Disk Partition Table...ok\n");
	//printf("Mount Hard Disk Partition Table...ok\n");
	i=FAT32MountVolumeID(0);
	sendstring("\nMount Hard Disk Partition ...ok\n");
	/*if (HDD.CurrentPartition==0)
	  sendchar(0x30);
	else if (IDE.TotalDevices==1)
	  sendchar(0x31);
	else 
	  sendchar(0x3f); */
	//printf("\nMount Hard Disk Partition P%bd...ok\n",HDD.CurrentPartition);
	//printf("Total Size:\t%ld bytes\nFree Size:\t%ld bytes\n",FAT32DiskSize(),FAT32DiskFreeSize());
	//printf("\nRoot Directory\n");
	sendstring("\nRoot Directory\n");
	i=FAT32ListDirectory();
	sendstring("\nFAT32ListDirectory is ok\n");
	FAT32ChangeDirectory(filename1);
	sendstring("\nFAT32ChangeDirectory is ok\n");
	i=FAT32ListDirectory();
	sendstring("\nend\n");
	
//	FAT32ChangeDirectory(filename2);
//	i=FAT32ListDirectory();
/*
	f2=FAT32OpenFile(filename1);
	if (f2==FAT32_MAX_FCB) {printf("fail to open file\n");}
	else
	{
		printf("open file:%s \t%ld \t%lx\n",FCB[f2].FileName,FCB[f2].Size,FCB[f2].FirstCluster);
		j=0;bb=0;
		while(aa=FAT32ReadFile(f2))
		{
	//		for(j=0;j<aa;j++)
	//			printf("%c",DiskBuffer[j]);
			j++;bb++;
			if (j==200) {j=0;printf(".");}
		}
		printf("\n%d sectors read\n",bb);
		FAT32CloseFile(f2);
	}

	f2=FAT32OpenFile(filename3);
	if (f2==FAT32_MAX_FCB) {printf("fail to open file\n");}
	else
	{
		printf("open file:%s \t%ld\n",FCB[f2].FileName,FCB[f2].Size);
		j=0;
		while(aa=FAT32ReadFile(f2))
		{
	//		for(j=0;j<aa;j++)
	//			printf("%c",DiskBuffer[j]);
			j++;
			printf(".");
		}
		printf("\n%d sectors read\n",j);
		FAT32CloseFile(f2);
	}
*/
	//while(1);
	
	/*for(i=0;i<512;i++)
	{
		printf("%bx ",DiskBuffer[i]);
		j++;
		if (j==16) {printf("\n");j=0;}
	}*/
	
	while(1);
}

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -