60秒内读取并写出1MByte,烂芦平均57us读取并写出一次。如果CPU晶振12MHz的话,那这个要求是比较容易达到了。
只要你懂得如何对外部存储器读取、写出,那么完全可以独立完成这道题并符合要求。需要注意的是这个原理图中573的LE没有借助ALE而是通过P12实现,降低了效率;此外唤历型外部空间映射成多页,页切换时注意语句的编译效率。
至于“越快越好”,最快效果需借助汇编实现。提示:INC DPTR。
你问的是读ROM?51读ROM又叫查表读,也就是MOVC A, @A + DPTR或MOVC A, @A + PC两种,如果是读RAM,有MOV和MOVX,森春雀MOV是内部RAM读取,MOVX是外部RAM读取。不过此早都是相对的森悔,因为有的51已经不止256Byte的内部RAM了,所以拓展的RAM也都是用MOVX来 *** 作的。首先,Keil中根本没有fopen函数,你可以打开keil的所有头文件看看。其次,用单片机档让来读取文件是需要文件系统(比如FAT)来支持的,你不能“想昌蠢察当然”的认为计算机上的标准C函数中有文件打开函数,所以单片机中也有。更何况是51单片机!
像51单片机一般直接使用二进制存储,这样最简单快捷,文件存储反而成本高,速度慢,不适合使用。所以你可以用ROM来保存这个文本文件的内容,然后单片机读取耐茄ROM。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)