📄 头文件.htm
字号:
extern DIR xdata current_dir;<br>
<br>
#endif<br>
<br>
<br>
/*<br>
Hard_ware.h<br>
Created by Computer-lov date: 2005.3.19<br>
Copyright (c) 2005 Computer-lov<br>
version 1.0<br>
*/<br>
<br>
#ifndef __HARDWARE_H__<br>
#define __HARDWARE_H__<br>
<br>
#define LED1 P1_4<br>
#define LED2 P5_3<br>
#define LED3 P5_2<br>
#define USB_LED P1_5<br>
<br>
//#define IDE_LED<br>
<br>
<br>
#include <AT89C51SND1C.h><br>
<br>
/*<br>
DATA BUS 0-7 <====> P0<br>
DATA BUS 8-16 <====> P2<br>
IORDY ---->P50<br>
ALE <-----P51<br>
DIOW <-----P36<br>
DIOR <-----P37<br>
*/<br>
#define IDE_DATA_L P0<br>
#define IDE_DATA_H P2<br>
#define IDE_IORDY P5_0<br>
#define IDE_DIOW P3_6<br>
#define IDE_DIOR P3_7<br>
#define IDE_ALE P5_1<br>
/*<br>
DA0 -----> P10<br>
DA1 -----> P11<br>
DA3 -----> P12<br>
CS1FX -----> P13<br>
CS3FX -----> P14<br>
CSEL -----> P15<br>
RESET -----> P17<br>
*/<br>
#define IDE_Address IDE_DATA_L<br>
<br>
#endif<br>
<br>
<br>
/* IDE.H File<br>
IDE address and command<br>
Created by Computer-lov date: 2005.3.12<br>
Copyright (c) 2005 Computer-lov<br>
version 1.0<br>
*/<br>
<br>
<br>
#ifndef __IDE_H__<br>
#define __IDE_H__<br>
<br>
void delayXms(unsigned int);<br>
void reset_IDE(void);<br>
//void read_IDE_16(unsigned char);<br>
//void write_IDE_16(unsigned char);<br>
unsigned char read_IDE_8(unsigned char);<br>
void write_IDE_8(unsigned char,unsigned char);<br>
//void read_IDE_word(void);<br>
//void write_IDE_word(void);<br>
void read_IDE_status(void);<br>
void read_IDE_error(void);<br>
unsigned char wait_IDE_busy(void);<br>
void write_IDE_command(unsigned char);<br>
//void soft_reset_IDE(void);<br>
void get_IDE_infromation(void);<br>
void write_IDE_sector_count(unsigned char);<br>
//void read_IDE_buffer(void);<br>
//void write_IDE_buffer(void);<br>
void read_IDE_sector(unsigned long int);<br>
void write_IDE_sector(void);<br>
void IDE_initial(void);<br>
void write_IDE_LBA(unsigned long int);<br>
void read_IDE_FAT_sector(unsigned long int);<br>
<br>
extern unsigned char IDE_Buffer_L,IDE_Buffer_H;<br>
extern unsigned char DISK_CAPACITY[8];<br>
<br>
typedef struct<br>
{<br>
unsigned char file_system_type;<br>
unsigned long int start_sector;<br>
unsigned long int total_sectors;<br>
}DPT,*pDPT;<br>
<br>
typedef struct<br>
{<br>
unsigned int bytes_per_sectors; //扇区字节数 偏移地址:
0x0B<br>
unsigned char sectors_per_cluster;//每簇扇区数 偏移地址:
0x0D<br>
unsigned int reserve_sectors; //保留扇区数
偏移地址: 0x0E<br>
unsigned char num_of_FAT; //FAT副本数 偏移地址:
0x10<br>
unsigned int FAT16_ROOT_num; //根目录项数,只被FAT12/16使用,FAT32该字段必须为0
偏移地址: 0x11<br>
unsigned int small_sectors; //小扇区数,只被FAT12/16使用,FAT32该字段必须为0 偏移地址:
0x13<br>
unsigned int sectors_per_FAT16; //每FAT扇区数,只被FAT12/16使用,FAT32该字段必须为0 偏移地址:
0x16<br>
unsigned long int hidden_sectors; //隐藏扇区数 偏移地址:
0x1C<br>
unsigned long int large_sectors; //总扇区数,该分区中FAT32的扇区数 偏移地址:
0x20<br>
unsigned long int sectors_per_FAT32; //每FAT扇区数,只被FAT32使用 偏移地址:
0x24<br>
unsigned long int root_cluster_num; //根目录簇号 偏移地址:
0x2C<br>
}DBR,*pDBR;<br>
<br>
extern DPT xdata dpt[4]; //磁盘分区表<br>
extern DBR xdata dbr[4]; //DOS引导记录<br>
extern unsigned char xdata buffer[512]; //扇区缓冲<br>
extern unsigned char xdata FAT_buffer[512]; //FAT表项缓冲区,用来加快读盘速度<br>
extern unsigned int play_count;<br>
<br>
<br>
extern unsigned int byte_offset;<br>
<br>
<br>
extern unsigned long int xdata FAT_start_sector[4]; //FAT开始扇区<br>
extern unsigned long int xdata DATA_start_sector[4]; //数据区开始扇区<br>
<br>
#define set_IDE_address() IDE_ALE=1;IDE_ALE=0;<br>
<br>
extern unsigned char driver_number; //磁盘驱动器<br>
#define C_ 0 //磁盘驱动器,目前版本只支持最多四个逻辑分区<br>
#define D_ 1<br>
#define E_ 2<br>
#define F_ 3<br>
<br>
#define IDE_Bus_Not_Use 0x98<br>
#define IDE_Alternate_Status 0x8E<br>
#define IDE_Device_Control 0x8E<br>
#define IDE_Drive_Address 0x8F<br>
<br>
#define IDE_Data 0x90<br>
#define IDE_Error_Register 0x91<br>
#define IDE_Features 0x91<br>
#define IDE_Sector_Count 0x92<br>
#define IDE_Sector_Nuber 0x93<br>
#define IDE_LBA_Bits_0_7 0x93<br>
#define IDE_Cylinder_Low 0x94<br>
#define IDE_LBA_Bits_8_15 0x94<br>
#define IDE_Cylinder_High 0x95<br>
#define IDE_LBA_Bits_16_23 0x95<br>
#define IDE_Drive_Head 0x96<br>
#define IDE_LBA_Bits_24_27 0x96<br>
#define IDE_Status 0x97<br>
#define IDE_Command 0x97<br>
<br>
#define IDE_Reset 0x18<br>
<br>
<br>
#define IDE_Acknowledge_Media_Change 0xDB<br>
#define IDE_Boot_Post_Boot 0xDC<br>
#define IDE_Boot_Pre_Boot 0xDD<br>
#define IDE_Check_Power_Mode 0x98E5<br>
#define IDE_Door_Lock 0xDE<br>
#define IDE_Door_Unlock 0xDF<br>
#define IDE_Execute_Drive_Diagnostic 0x90<br>
#define IDE_Format_Track 0x50<br>
#define IDE_Identify_Drive 0xEC<br>
#define IDE_Idle 0x97E3<br>
#define IDE_Idle_Immediate 0x95E1<br>
#define IDE_Initialize_Drive_parameters 0x91<br>
#define IDE_NOP 0x00<br>
#define IDE_Read_Buffer 0xE4<br>
#define IDE_Read_DMA 0xC8<br>
#define IDE_Read_DMA_o 0xC9<br>
#define IDE_Read_Long 0x22<br>
#define IDE_Read_Long_o 0x23<br>
#define IDE_Read_Multiple 0xC4<br>
#define IDE_Read_Sectors 0x20<br>
#define IDE_Read_Sectors_o 0x21<br>
#define IDE_Read_Verify_Sectors 0x40<br>
#define IDE_Read_Verify_Sectors_o 0x41<br>
#define IDE_Recalibrate 0x10<br>
#define IDE_Seek 0x70<br>
#define IDE_Set_Features 0xEF<br>
#define IDE_Set_Multiple_Mode 0x96<br>
#define IDE_Sleep 0x99E6<br>
#define IDE_Standby 0x96E2<br>
#define IDE_Standby_Immediate 0x94E0<br>
#define IDE_Write_Buffer 0xE8<br>
#define IDE_Write_DMA 0xCA<br>
#define IDE_Write_DMA_o 0xCB<br>
#define IDE_Write_Long 0x32<br>
#define IDE_Write_Long_o 0x33<br>
#define IDE_Write_Multiple 0xC5<br>
#define IDE_Write_Same 0xE9<br>
#define IDE_Write_Sectors 0x30<br>
#define IDE_Write_Sectors_o 0x31<br>
#define IDE_Write_Verify 0x3C<br>
<br>
#endif<br>
<br>
<br>
/* Initial.h file<br>
Created by Computer-lov Date: 2005.3.19<br>
Copyright (c) 2005 Computer-lov<br>
version 1.0<br>
*/<br>
<br>
#ifndef __INITIAL_h__<br>
#define __INITIAL_h__<br>
<br>
void PLL_initial(void);<br>
void RAM_initial(void);<br>
void interrupt_initial(void);<br>
//void timer_initial(void);<br>
void MP3_decoder_initial(void);<br>
void DAC_initial(void);<br>
void keyboard_initial(void);<br>
void system_initial(void);<br>
<br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -