硬件课程设计报告(4)

2025-08-07

7)长文件名目录项:FAT32系统在为文件分配一个普通目录项时,还会为那些文件名长度超过8字节的文件分配长文件名目录项,长文件名目录项专门用来记录它所对应的文件的文件名。长文件名目录项通常顺序排列在短文件名目录项的上面,其结构如下图所示:

4.3.2 FAT32文件系统驱动函数

1、unsigned char strcmp(char* string1, char* string2)

这个函数主要是比较两个字符串是否是相同的,相同就返回1,不相同就返回0; 简单来说就是比较后缀的。

2、void ReadMBR()

16

这个函数主要是读出文件系统的起始扇区号

3、void ReadDBR()

DBR中保存的是文件系统的基本信息,每簇扇区数,隐藏扇区数(起始扇区数前面的那 些没有读的,)FAT表的个数,FAT表扇区数,保留扇区数等

4、void ReadSectorFromCluster(unsigned long ClusterNumber,unsigned char SectorOffset)

这个函数作用的是找到扇区的位置,然后读出512字节

5、void GetFileNumber(void)

这里面是包含这种文件,只要不是被删除的文件或者是长文件名(特征是他的第11字节是0X0F)则所找到的文件都会是filenumber+1,同时各种文件类型各自加1.。同时比较文件名是不是convert,或者是dirtable,若果是convert,那么长文件名转码文件是存在的,置一,以长文件名显示;若是dirtable,那么是存在书签的,则在下次读取文本信息的时候就会调用书签信息,实现书签功能。

7、unsigned long GetAudioFile(unsigned long AudioFileIndex) 8、unsigned long GetTextFile(unsigned long TextFileIndex)

这两个函数的原理是有些相同的,第一,先在根目录中找每一个目录项,如果说是音频文件且他的音频索引是audiofileindex,那么这就是要找到的音频文件。同理第八个函数就是所要找到的文本文件。

对于第七个函数,首先,要记住来两个信息,1,记录当前目录项在整个根目录所有目录的偏置信息,2,记录当前目录项在整个音频文件目录项中的偏置位置。然后返回当前音频文件的起始簇号。

对于第八个函数,只用记录当前目录项在真整个根目录所有目录项中的偏置信息,然后返回当前文本文件的起始簇号。

9、unsigned long FindNextCluster(unsigned long ThisCluster)

10、 unsigned long FindPreviousCluster(unsigned long ThisCluster)

第九第十就是找一个文件中当前读的簇的下一个簇或是上一个簇,然后返回簇号

11、void GetDirItem(unsigned long DirItemIndex)

在根目录项中找到DIRitemindex这个目录项,将这32字节值保存在全局数组DIRitem[32]中。这个函数主要是给7 8 这两个函数调用用的,7,8用这个函数找到所需要的目录项

12、void ReadSectorFromFile(unsigned long ThisCluster,unsigned long offset) Long offset 是扇区在整个文件的偏置 根据这个偏置信息找到相应的扇区,读取相应的信息

17

13、void WriteSectorToFile(unsigned long ThisCluster,unsigned long offset) 这个就是12函数的一个写操作。。

15、void InitFAT()

初试化FAT就是调用read MBR和read DBR这两个函数

4.5 整机结构

课设的整机结构由MSP430F149开发板与12864液晶屏,VS1003解码芯片,SD卡及SD卡插座组成。整机结构图如下所示:

按键 MSP430F149 单片机 FAT32文件系统 SPI总线 SD卡

12864液晶屏 4.5.1 MSP430开发板与12864液晶屏的连接

液晶接口原理图图下图所示:

18

液晶模块端口分配资源如下表所示:

4.5.2 MSP430开发板与SD卡的连接

在spi模式下,SD卡与单片机的连接原理图如下图所示:

MSP430有两个USART端口,分别为P3.1-P3.3以及P5.1-P5.3。课设中选用P3.1-P3.3端

19

口来连接SD卡。其中P3.1为SIMO端,用来与SD卡在SPI模式下的MOSI端相连。P3.2为SOMI端,用来与SD卡在SPI模式下的MISO端相连。而P3.3为UCLK端,用来与SD卡在SPI模式下的SCK端相连。使用P3.0为片选信号,并直接使用开发板上的3.3V电源向SD卡供电。

5、在本实验中,我主要负责俄罗斯方块游戏部分: 俄罗斯方块游戏功能

本课设利用12864液晶屏的绘图功能实现了俄罗斯方块游戏的功能。该游戏时先初始化绘图模式,然后通过在主菜单函数Main_Menu中调用game()函数来实现的。 俄罗斯方块的基本流程如下图所示: 检测按键 输入并根 据按键的 键值进行 向下,向 左,向右 或旋转

俄罗斯方块功能的代码分析如下: 1、typedef struct

20

初始化边框及边框旁的文字 初始化分数及速度的显示 在屏幕上显示一个方块,并显示下一个方块的提示 N 定时时间到? Y 向下移动 Y 是否有碰撞? 消除被填满了的行 N


硬件课程设计报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:老虎岗一中九年级第二次月考物理试卷

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219