51单片机读取程序存储器的C语言程序

51单片机读取程序存储器的C语言程序,第1张

“从地址0x00000开始读出数据并传给AD557芯片DA转换成模拟量输和猜出,一直读到0xfffff 读满一轮。”

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。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12349560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存