首先,Keil中根本没有fopen函数,你可以打开keil的所有头文件看看。
其次,用单片机来读取文件是需要文件系统(比如FAT)来支持的,你不能“想当然”的认为计算机上的标准C函数中有文件打开函数,所以单片机中也有。更何况是51单片机!
像51单片机一般直接使用二进制存储,这样最简单快捷,文件存储反而成本高,速度慢,不适合使用。所以你可以用ROM来保存这个文本文件的内容,然后单片机读取ROM。
用普通的51单片机有点强人所难了。
按照你所说的,必须具备:
1.可以存放txt文件的空间,用51单片机放不了多少东西。极可能要外扩存储芯片或设备
2.需要在液晶显示,必须有字符集(这个倒好找)。
3.如何放入?如果按常规方法,就是用USB大容量存储设备方式了。这样需要USB接口。而且要用到文件系统,用FAT的比较多。
4.如何显示?这个倒简单,txt文件直接从头读取到尾,然后转换为字符(中文是双字节,英文是单字节)。至于怎么读靠自己编程了。
所以,如果做这个的话,硬件要有:
USB接口,足够的存储空间,液晶显示功能
个人能力上需要:
1.USB编程能力
2.液晶驱动编程能力
3.FAT文件系统的了解(可使用现成的东东,如ELM的FAT,但也要了解。)
好像51单片机无法放入TXT文件啊。我一同学也弄了个电子书,但他是把英文文章放在程序中的。想弄个你说的那样的功能的话估计要弄个片外存储器。然后读取数据的方式。但你TXT文件放入外存储器时还是需要转换的。
GB2312字符集在C51中应该有库文件吧。弄个可显示GB2312字符的显示器应该就可以了。
要在单片机中读取文件首先要有文件系统,现在一般在低端单片机中使用fat文件系统,文件系统中自带文件读写的函数,直接调用就可以了。
怎么放进去的怎么读出来,汇编的话就是查表了,还能怎么样。