51单片机控制硬盘资料及电路

[10-10 20:38:44]   来源:http://www.88dzw.com  微机|单片机   阅读:8463

文章摘要:#include <at89x51.h>/*** HardDisk Control Demo * Power BY DDDLZHU* 编译环境 : KEIL C51 V7.07 支持器件 : AT89C51 * COPYRIGHT (C) 2004 ***/#define byte unsigned char#define uint unsigned int/*//线路连接定义。如电路有变直接修改就可以了*/#define DataH

51单片机控制硬盘资料及电路,标签:电路设计,http://www.88dzw.com

51单片机控制硬盘资料及电路

#include <at89x51.h>

/**************************************************
*                  HardDisk Control Demo
*     Power BY DDDLZHU
*    编译环境 : KEIL C51 V7.07    支持器件 : AT89C51      
*                    COPYRIGHT (C) 2004                       

***************************************************/

#define byte unsigned char
#define uint unsigned int
/*************************************************
//线路连接定义。如电路有变直接修改就可以了
*************************************************/

#define DataH P1              
#define DataL P0
#define RegAddr P2
#define Read P3_4
#define Write P3_3
#define Rst P3_2

/*************************************************
//线路连接定义。如电路有变直接修改就可以了
*************************************************/

//寄存器地址定义
#define _Status_Control 0x16
#define _Data 0x8
#define _Err_Features 0x9
#define _SecCount 0xa
#define _SecNum 0xb
#define _CylinderL 0xc
#define _CylinderH 0xd
#define _DeviceAndHead 0xe
#define _Status_Command 0xf

//**************************************************************************************/
/*这里为初始化硬盘的重要参数,每个硬盘的参数都不尽相同。若不正确则读不了盘中的数据。计算方法如下:
先看清楚你的 硬盘表面标签中的数据,里面有三个重要参数:
1。柱面数(Cylinder)
2。磁头数(Head)
3。磁道数(Sector)
其中 _MaxHead=0xA+Head
     _MaxSector=Sector
例如我的130M硬盘(很老吧,哈哈),磁头数为15,十六进制为0xf,所以_MaxHead=0xAF,磁道数为17,所以_MaxSector=0x11
*/
#define _MaxHead 0xAF
#define _MaxSector 0x11

//************************************************************************************
byte bdata Status=0x00;
sbit ERR=Status^0;
sbit IDX=Status^1;
sbit CORR=Status^2;
sbit DRQ=Status^3;
sbit DSC=Status^4;
sbit DF=Status^5;
sbit DRDY=Status^6;
sbit BSY=Status^7;

//************************************************************
* D7   D6   D5   D4   D3   D2    D1   D0                    *
BSY DRDY DWF DSC DRQ CORR IDX   ERR                   *
BSY:驱动器忙;                                             *

[1] [2] [3] [4]  下一页


Tag:微机|单片机电路设计家电维修 - 单元电路介绍 - 微机|单片机