由于CEPARK网站在修改圈圈提供的原理图是,不小心将IDE硬盘原本连接的P1、P2口移至了P0、P1口,<br />另外还将P1口与573之间的8条数据线连反,因此在做USB转IDE实验时,需要对程序作响应的修改。<br /><font color=#FF0000>只有新版的PCB(使用贴片的89C52单片机的)才需要作此修改。在EDN购买的学习板使用光盘配套程序即可。</font><br /><br /><br />有几个地方要改,首先就是数据口,由原来的P1、P2改成P0、P1。<br /><br />将原来在IDE.h文件中的<br /><br />#define IDE_DATA_L P1<br />#define IDE_DATA_H P2<br /><br />修改成<br /><br />#define IDE_DATA_L P0<br />#define IDE_DATA_H P1<br /><br /><br /><br />另外,连接到P1口的573的8根数据线全部被接反,所以相应的地址需要修改,<br /><br />将原来在IDE.c文件中的<br /><br />#define IDE_BUS_NOT_USE 0x98<br />#define IDE_ALTERNATE_STATUS 0x8E<br />#define IDE_DEVICE_CONTROL 0x8E<br />#define IDE_DRIVER_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_NUMBER 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 /><br />修改成<br /><br /><br /><br />#define IDE_BUS_NOT_USE 0x19<br />#define IDE_ALTERNATE_STATUS 0x71<br />#define IDE_DEVICE_CONTROL 0x71<br />#define IDE_DRIVER_ADDRESS 0xF1<br /><br />#define IDE_DATA 0x09<br />#define IDE_ERROR_REGISTER 0x89<br />#define IDE_FEATURES 0x89<br />#define IDE_SECTOR_COUNT 0x49<br />#define IDE_SECTOR_NUMBER 0xC9<br />#define IDE_LBA_BITS_0_7 0xC9<br />#define IDE_CYLINDER_LOW 0x29<br />#define IDE_LBA_BITS_8_15 0x29<br />#define IDE_CYLINDER_HIGH 0xA9<br />#define IDE_LBA_BITS_16_23 0xA9<br />#define IDE_DRIVE_HEAD 0x69<br />#define IDE_LBA_BITS_24_27 0x69<br />#define IDE_STATUS 0xE9<br />#define IDE_COMMAND 0xE9<br /><br />#define IDE_RESET 0x18<br /><br /><br /><br /><br />上述修改仅针对于CEPAR的板子(书中赠送的PCB也是)。EDN的板子不用修改,直接使用光盘中的程序。<br /><br /><br /><br />附件是修改好的IDE.h文件,通过选择宏定义<br /><br />#define EDN_BOARD<br />#define CEPARK_BOARD<br /><br />来决定使用EDN还是CEPARK的板子。另外压缩包中还有已经编译好的适合CEPARK板子的HEX文件,可以直接下载使用。<br /><br /><a href="https://bbs.21ic.com/upfiles/img/20093/200933003637671.rar" target=_blank>https://bbs.21ic.com/upfiles/img/20093/200933003637671.rar</a> |
|