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

📄 regtest.c

📁 用D12实现U盘的单片机程序
💻 C
字号:
#include <reg51.h>
#define		UC			unsigned char
#define		UI			unsigned int
#define		US			unsigned short
#define		UL			unsigned long
#define		ULI			unsigned long int

//Hardware Mapping
//================
#define LED 		P31
#define ATA_IoRdy  	P33
#define ATA_RESET_N	P34
#define D12_INT_N   P32


//Register Mapping
//================

UC	xdata	D12_COMMAND _at_ 0x4001;	//Single Byte
UC  xdata   D12_DATA    _at_ 0x4000;	//Single Byte
UI  xdata   IDE_WR_1F0  _at_ 0x8000;	//2 bytes
									//Eg, IDE_WR_1F0 = 0x0506;
									//*(0x8000) = 0x05;
									//*(0x8001) = 0x06;

UI  xdata   IDE_RD_1F0  _at_ 0x8002;	//2 bytes
									//Eg, IDE_WR_1F0 = 0x0506;
									//*(0x8000) = 0x05;
									//*(0x8001) = 0x06;
UC  xdata   IDE_1F1 	_at_ 0x8004; //Single Byte
UC  xdata   IDE_1F2 	_at_ 0x8005; //Single Byte
UC  xdata   IDE_1F3 	_at_ 0x8006; //Single Byte
UC  xdata   IDE_1F4 	_at_ 0x8007; //Single Byte
UC  xdata   IDE_1F5 	_at_ 0x8008; //Single Byte
UC  xdata   IDE_1F6 	_at_ 0x8009; //Single Byte
UC  xdata   IDE_1F7 	_at_ 0x800a; //Single Byte
UC  xdata   IDE_3F6 	_at_ 0x800b; //Single Byte
UC  xdata   IDE_3F7 	_at_ 0x800c; //Single Byte


void main(void)
{
  PCON = 0x40; //Put SMOD = 1;

	LED = 1;
	ATA_IoRdy = 1;
	ATA_RESET_N = 1;
	D12_INT_N = 1;


/*
//Testing the ATA interfacing

  while (1)
  {
	IDE_WR_1F0 = 0x0000;
	IDE_WR_1F0 = 0x0001;
	IDE_WR_1F0 = 0x0004;
	IDE_WR_1F0 = 0x0008;

	IDE_WR_1F0 = 0x0010;
	IDE_WR_1F0 = 0x0040;
	IDE_WR_1F0 = 0x0080;

	IDE_WR_1F0 = 0x0100;
	IDE_WR_1F0 = 0x0400;
	IDE_WR_1F0 = 0x0800;

	IDE_WR_1F0 = 0x1000;
	IDE_WR_1F0 = 0x4000;
	IDE_WR_1F0 = 0x8000;

	tempI = IDE_RD_1F0;
	IDE_1F1 = 0X55;
	tempC = IDE_1F1;
	for (i = 0; i < 256; i++)
	 for (j = 0; j < 200; j++);
	LED = !LED;
  }

*/

/*
//Testing the D12 interfacing

  D12_COMMAND = 0xf3;
  D12_DATA = 0xff;
  while (1)
  {
	for (i = 0; i < 256; i++)
	 for (j = 0; j < 200; j++);
	LED = !LED;
  }
*/

}

⌨️ 快捷键说明

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