由于没有仔细看贵公司的资料,我选用单片机89S52与CH375B直接相连,没有进行RAM扩展,以字节为单位读取,这块板子是不是就报废了?但这块板子是不是可以测试单片机与ch375b的通讯,比如初始化一系列的,如何操作?用贵公司提供的库和MCS-51单片机C语言的U盘文件读写示例程序,是不是必须在示例程序中自己写IO口接口子程序xWriteCH375Cmd,xWriteCH375Data,xReadCH375Data?在调试中CH375LibInit()这个函数都没有进去,说明还没有与ch375b通讯上,是不是就因为这个三个接口子程序还没有写? 这三个接口子程序如何写?望能给个例子,我采用的并口连接方式。谢谢~~~~~~ 需要再做一块就加一个RAM芯片就好? 或者有技术人员的联系方式?我可以打电话咨询~~
(1)读写U盘的话,89S52的程序空间和数据空间都不够,我们的库需要约10K左右代码和600字节RAM。 (2)你的板子可以测试单片机与ch375b的通讯 (3)我们的库有的内置了I/O接口程序,有的需要用户提供 (4)下载CH375LIB.ZIP,参考\CH375LIB\MCS51\FILELIB5\EXAM7的I/O接口程序 (5)需要更换单片机,如果单片机自带大容量RAM的话,则不需要外扩,如SST89E54RD之类
非常感谢~~~
我已更换了单片机,我使用的CH375LIB/MCS51/FILELIB4/EXAM7里的CH375HFT.C和CH375HF4.LIB,需要修改本公司提供的哪些东西?忘都能写出来~~~~ 我用单片机P0口与CH375B的D0-D7连接,P2.0接A0,P2.1接A1。地址我已经改好~~~
用这个例程的话,仅需要修改命令口和数据口地址及中断线即可
但原理图我用的与贵公司不是一样的哈,我就直接接了个单片机和ch375b,用这个例程也只需要改这三个么?
是的.如果测试命令不通过的话,首先检查你的硬件连接是否有问题.可以把你做测试命令的程序贴出来看看.
#include "CH375INC.H" unsigned char volatile xdata CH375_CMD_PORT _at_ 0xFDFF; unsigned char volatile xdata CH375_DAT_PORT _at_ 0xFCFF; void CH375_WR_CMD_PORT( unsigned char cmd ) { delay2us(); CH375_CMD_PORT=cmd; delay2us(); main( ) { unsigned char i,c; while(1) { CH375_WR_CMD_PORT(CMD_CHECK_EXIST); CH375_WR_DAT_PORT(0XA0); for ( i = 0xff; i != 0; i -- ) { /* 等待操作成功,通常需要等待10uS-20uS */ c = CH375_RD_DAT_PORT( );} } }
总是返回c=FF
如果返回数据是0FFH,那么可能CH375不正常 检查晶振是否正常起振(12M) 是否正常复位,如果正常复位(25脚为低电平,26脚为高电平) 读写片选线有误 并口方式的时候TXD引脚要接地.
我用本公司提供的源文件进行测试时,用示波器观察,A0脚的电压都在5V上,但用我自己写的测试程序,虽然有三个脉冲,但没有按位取反输出,请问该如何处理? 我自己重新写的测试程序: XBYTE [0X0100] = 0x06; _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); XBYTE [0X0000]= 0XA0; _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); pp=XBYTE [0X0000]
望能及时回复~~
首先你往外发数据的话有没有脉冲信号出来,你可以循环的发数据,用示波器去看下波形看下数据有没有出来.
用我上面写的程序,用示波器看了,D0-D7都有脉冲信号,A0也有脉冲信号,晶振也起振,就是没有按位取反,望还能给出指导意见,是不是我写的程序有问题?
我怀疑是不是上次买的两块ch375b给坏了,今天免费申请了两片,不知道贵公司给不给发~~·不发我还的还得去知春路再去买,望能给回复~~~ 还有是不是芯片的问题,有没有能单独提供的单片机-ch375b-U盘的原理图和PCB,还有程序,购买也可以。 单片机和CH375也就几根简单的连接线,搞了一个多星期都没搞定,实在头疼~~~
一般CH375不会坏的.测试不成功不能说明就是芯片坏了.按照你说的现象,不能判断芯片坏了.25,26脚是不是一个低电平,一个高电平?另外你可以把原理图和程序发过来看看.有的,你可以到网站上下载,CH375EVT.ZIP