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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? harddisc.h

?? 硬盤MP3的源程序
?? H
字號:
/*H**************************************************************************
* NAME:         harddisk.h
*----------------------------------------------------------------------------
* Copyright (c) 2004 Toplow.
*----------------------------------------------------------------------------
* RELEASE:      
* REVISION:     
*----------------------------------------------------------------------------
* PURPOSE: 
* 
*
* NOTES:
* Global Variables:
*   - gl_sbc_wr_protect:  write protect flag for SCSI disk
*****************************************************************************/

/*_____ I N C L U D E S ____________________________________________________*/
#include "config.h"                         /* system configuration */
#include <absacc.h>




#define FILE0 XBYTE[0x0880]            //硬盤數據寄存器          
#define FILE1 XBYTE[0x0881]            //錯誤/特征寄存器
#define FILE2 XBYTE[0x0882]            //扇區數寄存器
#define FILE3 XBYTE[0x0883]            //扇區號寄存器
#define FILE4 XBYTE[0x0884]            //柱面號寄存器L
#define FILE5 XBYTE[0x0885]            //柱面號寄存器H
#define FILE6 XBYTE[0x0886]            //驅動器/磁頭寄存器
#define FILE7 XBYTE[0x0887]            //狀態/命令寄存器



///////////////////位設置///////////////////////////
sbit BSY=ACC^7;
sbit DRDY=ACC^6;
sbit DRQ=ACC^3;
sbit ERR=ACC^0;

/************************************************************
* D7   D6   D5   D4   D3   D2    D1   D0                    *
BSY  DRDY  DWF  DSC DRQ  CORR  IDX   ERR                   *
BSY:驅動器忙;                                             *
DRDY:驅動器準備好;                                        *
DWF:驅動器寫失敗;                                         *
DSC:尋道結束;                                              *
DRQ:請求服務,驅動器希望通過數據寄存器與CPU交換一字節數據;*
CORR:當可以糾正的讀錯誤發生時,該位置1,數據傳輸將繼續進行 *
IDX:收到綜引信號;                                         *
ERR:命令執行出錯。                                         *
*************************************************************/



sbit ARST=P5^3;
sbit INTQ=P5^1;

//uchar status;             //從硬盤寄存器返回的狀態數據寄存器
uchar buffer0,buffer1;    //硬盤16位數據


/*******************************************************
*函數名稱:void ReadReg(uchar address)                  *
*函數用途:讀硬盤非數據寄存器內容,并將結果返回         *
********************************************************/
/*void ReadReg(uchar address)
{
 status=address;
 ACC=status;

}


/*******************************************************
*函數名稱:void WriteReg(uchar address,uchar sdata)     *
*函數用途:寫硬盤非數據寄存器內容                       *
********************************************************/
/*void WriteReg(uchar address,uchar sdata)
{XBYTE[0x0881]=address;

}

/*******************************************************
*函數名稱:void ReadData()                              *
*函數用途:讀硬盤數據寄存器內容                         *
********************************************************/
void ReadData()
{
 buffer0=FILE0;
 buffer1=DAT16H;
}

/*******************************************************
*函數名稱:void WriteData(uchar Data0,uchar Data1)      *
*函數用途:寫硬盤數據寄存器內容                         *
********************************************************/
/*void WriteData(uchar address,uchar data0,uchar data1)
{
 DAT16H=data1;
 address=data0;

 }*/


/*********************************************************
*函數名稱:WriteLBA(Uint32 LBA)                           *
*函數用途:寫LBA信息(地址信息)                            *
**********************************************************/
WriteLBA(Uint32 LBA)
{uchar head,cylinderh,cylinderl,sector;
 head=(uchar)(LBA>>24);
 cylinderh=(uchar)((LBA&0x00ff0000)>>16);
 cylinderl=(uchar)((LBA&0x0000ff00)>>8);
 sector=(uchar)(LBA&0x000000ff);
 do{ACC=FILE7;}while(BSY);
  FILE6=(0xe0|(head&0x0f));
  FILE5=cylinderh;    //high 2-bit cylinder
  FILE4=cylinderl;//low 8-bit cylinder
  FILE3=sector; //start sector
  FILE2=0x01;   //sector counter
}

/*********************************************************
*函數名稱:WriteCHS(uint cylinder,uchar head,uchar sector)*
*函數用途:寫CHS信息(地址信息)                            *
**********************************************************/
WriteCHS(uchar head,uchar cylinderh,uchar cylinderl,uchar sector)
{do{ACC=FILE7;}while(BSY);
  FILE6=(0xe0|(head&0x0f));
  FILE5=cylinderh;    //high 2-bit cylinder
  FILE4=cylinderl;//low 8-bit cylinder
  FILE3=sector; //start sector
  FILE2=0x01;   //sector counter
}
/*********************************************************
*函數名稱:WriteCommand(command)                          *
*函數用途:寫命令                                         *
**********************************************************/
WriteCommand(command)
{do{ACC=FILE7;}while(BSY);
 FILE7=command;
}


/**********************************************************
*函數名稱:void DriveID(void)                              *
*用途:讀硬盤ID                                            *
***********************************************************/ 
void DriveID(void) 
{uint i=512;
 do{ACC=FILE7;}while(BSY);
    FILE7=0xec;
 do{ACC=FILE7;}while(BSY|!DRQ);
 while(i){ReadData();putch(buffer0);putch(buffer1);i-=2;}
}


/**********************************************************
*函數名稱:GetData()                                       *
*用途:將硬盤的返回數據讀入BUFFER數組                      *
***********************************************************/
void GetData()
{uint i=0;
 do{ACC=FILE7;}while(BSY|!DRQ);
 if(ERR){LcdWriteCH(0x90,MEG[0],MEG[1]);
         LcdWriteCH(0x91,MEG[2],MEG[3]);
         }
  /* else {LcdWriteCH(0x90,MEG[4],MEG[5]);
         LcdWriteCH(0x91,MEG[4],MEG[5]);
         LcdWriteCH(0x94,INF[0],INF[1]);
         LcdWriteCH(0x95,INF[2],INF[3]);
         LcdWriteCH(0x96,INF[4],INF[5]);
        }*/
  while(i!=512){ReadData(); 
                BUFFER[i++]=buffer0;
                BUFFER[i++]=buffer1;
                }
}

////////////////////////////////////////////////////////////

void GetTowSector(void)
{uint i=0;
 do{ACC=FILE7;}while(BSY|!DRQ);
 if(ERR){LcdWriteCH(0x90,MEG[0],MEG[1]);
         LcdWriteCH(0x91,MEG[2],MEG[3]);
         }
  /* else {LcdWriteCH(0x90,MEG[4],MEG[5]);
         LcdWriteCH(0x91,MEG[4],MEG[5]);
         LcdWriteCH(0x94,INF[0],INF[1]);
         LcdWriteCH(0x95,INF[2],INF[3]);
         LcdWriteCH(0x96,INF[4],INF[5]);
        }*/
  while(i!=1024){ReadData(); 
                 BUFFER[i++]=buffer0;
                 BUFFER[i++]=buffer1;
                }
}

/**********************************************************
*函數名稱:GetLBAData()                                    *
*用途:將硬盤的返回數據讀入BUFFER數組                      *
***********************************************************/
void GetLBAData(Uint32 LBA)
  {uchar head,cylinderh,cylinderl,sector;
   head=(uchar)(LBA>>24);
   cylinderh=(uchar)((LBA&0x00ff0000)>>16);
   cylinderl=(uchar)((LBA&0x0000ff00)>>8);
   sector=(uchar)(LBA&0x000000ff);
   do{ACC=FILE7;}while(BSY);
    FILE6=(0xe0|(head&0x0f));
    FILE5=cylinderh;    //high 2-bit cylinder
    FILE4=cylinderl;//low 8-bit cylinder
    FILE3=sector; //start sector
    FILE2=0x02;   //sector counter
    WriteCommand(0x20);
	GetTowSector();
    BufferFlag=1;
   }



/**********************************************************
*函數名稱:void IniHard(void)                              *
*用途:初始化硬盤                                          *
***********************************************************/
void IniHard(void)
{ARST=0;
 delay(0xffff);
 ARST=1;
 delay(0xffff);

 AUXR=0x5c;         //設置EXT16=1,使能16-BIT傳送模式

 do{FILE6=0xa0; ACC=FILE7;}while(!DRDY|BSY);
    FILE6=0x20;
    FILE2=64;
    FILE7=0x91;
do{ACC=FILE7;}while(BSY);
   FILE7=0x10;
do{ACC=FILE7;}while(BSY); 
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费一区二区视频| 亚洲人成亚洲人成在线观看图片| 一本色道久久加勒比精品| 麻豆精品视频在线观看免费| 丝袜美腿亚洲一区二区图片| 中文字幕欧美一区| 亚洲国产高清不卡| 国产精品传媒入口麻豆| 亚洲国产精品精华液2区45| 欧美欧美欧美欧美首页| 欧美视频一区二区三区在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 狠狠色伊人亚洲综合成人| 蜜臀精品久久久久久蜜臀| 免费精品视频最新在线| 日欧美一区二区| 性感美女久久精品| 久久99精品国产麻豆婷婷洗澡| 日本怡春院一区二区| 丝袜诱惑亚洲看片| 亚洲一区二区三区四区五区中文| 亚洲三级在线免费观看| 亚洲午夜久久久久久久久电影院 | 制服.丝袜.亚洲.中文.综合| 色88888久久久久久影院野外 | 欧美丰满美乳xxx高潮www| 日本韩国一区二区三区视频| 色狠狠av一区二区三区| 91麻豆精品久久久久蜜臀| 日韩女同互慰一区二区| 精品国产凹凸成av人网站| 中文字幕一区二区三区在线观看| 成人欧美一区二区三区1314| 一区二区久久久久| 久久se这里有精品| 成人综合在线观看| 91在线精品一区二区三区| 欧美一区二区三区免费大片| 久久看人人爽人人| 国产精品国产三级国产| 美女免费视频一区二区| 国产成人精品亚洲午夜麻豆| 国产乱子伦视频一区二区三区| 91丨porny丨国产入口| 欧美三级视频在线播放| 69久久夜色精品国产69蝌蚪网| 国产欧美综合在线| 一个色在线综合| 亚洲三级在线观看| 国产美女在线精品| 91国偷自产一区二区开放时间| 欧美视频在线观看一区二区| 久久久久久久综合日本| 一区二区国产盗摄色噜噜| 国产成人亚洲综合a∨猫咪| 在线日韩国产精品| 久久精品夜色噜噜亚洲aⅴ| 天天综合天天综合色| 国产精品一区二区无线| 欧美中文一区二区三区| 亚洲男人电影天堂| 国产一区二区三区免费观看| 懂色一区二区三区免费观看| 久久综合狠狠综合久久综合88 | 中文字幕一区二区三区四区 | 亚洲成a人在线观看| 国产精品一区二区久久不卡| 亚洲人成精品久久久久久| 国产精品素人视频| 国产91精品欧美| 亚洲综合免费观看高清在线观看| 日本大胆欧美人术艺术动态 | 亚洲精品一区二区三区香蕉| 亚洲乱码精品一二三四区日韩在线| 五月综合激情网| 欧美日韩高清一区二区三区| 国产精品美女久久久久久久| 激情综合色丁香一区二区| 欧美一区二区三区色| 亚洲一区二区在线免费观看视频 | 亚洲午夜国产一区99re久久| 成人午夜精品在线| 久久五月婷婷丁香社区| 蜜桃视频在线观看一区| 欧美日韩精品一二三区| 男人的天堂亚洲一区| 欧美少妇xxx| 樱桃视频在线观看一区| 欧美日韩精品综合在线| 亚瑟在线精品视频| 欧美日韩精品一区二区| 美女一区二区久久| 欧美一区二区三区男人的天堂| 国产精品久久久久久户外露出 | 日韩1区2区日韩1区2区| 欧美日韩不卡在线| 精品一区二区三区视频| 久久丝袜美腿综合| 国产高清久久久久| 亚洲精品欧美专区| 欧洲一区在线观看| 亚洲成人黄色影院| 日韩一级在线观看| 免费一区二区视频| 久久久噜噜噜久久中文字幕色伊伊| 极品少妇xxxx精品少妇偷拍 | 久久99精品久久久久久国产越南 | 欧美日韩国产一区二区三区地区| 一区二区三区鲁丝不卡| 欧美综合天天夜夜久久| 精品一区二区三区在线播放| 久久精品在线观看| 91理论电影在线观看| 久久99国产精品尤物| 国产亚洲一区二区三区四区| 国产高清不卡一区二区| 一级中文字幕一区二区| 欧美一区二区私人影院日本| 成人精品免费看| 亚洲国产成人高清精品| 日韩欧美不卡一区| 色综合视频在线观看| 日日夜夜精品视频天天综合网| 精品88久久久久88久久久| 欧美午夜免费电影| 久久99国产精品麻豆| 亚洲私人黄色宅男| 久久亚洲捆绑美女| 欧美在线免费观看亚洲| 日本欧美肥老太交大片| 亚洲柠檬福利资源导航| 日韩免费观看高清完整版在线观看| 亚洲色欲色欲www| 日韩美一区二区三区| 91麻豆高清视频| 国产v综合v亚洲欧| 奇米在线7777在线精品| 国产精品久久久爽爽爽麻豆色哟哟 | 日本精品视频一区二区| 日韩有码一区二区三区| 亚洲色图另类专区| 26uuu色噜噜精品一区二区| 欧美猛男gaygay网站| 成人午夜激情片| 裸体健美xxxx欧美裸体表演| 五月天一区二区三区| 国产精品另类一区| 亚洲精品在线免费观看视频| 日韩欧美一区二区不卡| 91精彩视频在线观看| 韩国v欧美v日本v亚洲v| 久草在线在线精品观看| 午夜久久电影网| ...xxx性欧美| 日本一区二区不卡视频| 精品sm在线观看| 久久免费国产精品| 精品少妇一区二区三区视频免付费| 欧洲另类一二三四区| 欧美日韩中文字幕一区| 色吊一区二区三区| 成人免费黄色在线| av电影天堂一区二区在线观看| 国产美女精品人人做人人爽| 日韩制服丝袜先锋影音| 青青草伊人久久| 男男视频亚洲欧美| 久久不见久久见免费视频1| 奇米影视一区二区三区| 香蕉久久一区二区不卡无毒影院| 免费在线观看视频一区| 青青草原综合久久大伊人精品优势| 性做久久久久久| 国产综合色产在线精品| 国产一区二区网址| 成人丝袜高跟foot| 97成人超碰视| 在线观看日韩国产| 欧美一区二区私人影院日本| 欧美mv和日韩mv国产网站| 日韩欧美一区二区视频| 国产精品国产三级国产aⅴ无密码| 中文字幕免费一区| 国产精品激情偷乱一区二区∴| 亚洲va中文字幕| 麻豆高清免费国产一区| 亚洲va天堂va国产va久| 国产一区二区精品久久| 成人国产在线观看| 欧美久久高跟鞋激| 精品福利一二区| 中文乱码免费一区二区| 亚洲1区2区3区视频| 看片网站欧美日韩| 亚洲国产综合色| 国产乱一区二区| 色婷婷亚洲综合| 欧美日本一区二区在线观看| 精品久久人人做人人爱| 亚洲欧美日韩中文播放|