SD卡存储采集数据电路设计毕业论文 - 图文(5)

2019-04-16 15:52

第 17 页 共 36 页

TFT彩屏原理图如图3.10。其中REG1117-3.3是电平转换芯片,作用是把5V的电平转换到3.3V后给74245八同相三态收发器及SD卡供安全电压。

图3.10 TFT彩屏原理图

第 18 页 共 36 页

4 软件设计

4.1 软件设计目标

最终能实现同时将四路模拟电压(0-5V)进行A/D转换,转换结果为十进制有效数字3位;要求每秒钟转换一次,并将结果转换为ASCII码形式;并将四路结果分别存储到SD卡预先建立好的CH1.txt、CH2.txt、CH3.txt、CH4.txt文档中。采集实时的4个通道电压值显示在TFT彩屏上;按S1按键进行采集及存储,再按S1按键暂停采集及存储,按S2键清除SD卡中的内容;按S按键系统进行复位。

4.2 设计环境

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面介绍Keil C51开发系统各部分功能和使用。

Keil C51单片机软件开发系统的整体结构:Uvision 与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ),目标文件可由LIB51创建生成库文文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。 ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

4.3 系统软件设计

设计主要在Keil环境下进行编程。 4.3.1 系统初始化

要让系统正常运行首先要对系统进行初始化,主要包括:定时器T0初始化、DS1302初始化、LCD初始化、SD卡初始化、文件系统初始化。其流程图如图4.1所示。

第 19 页 共 36 页

开始 定时器T0 初始化DS1302 初始化LCD 用背景色清屏 显示初始化状态 SD卡初始化 文件系统初始化 打开界面背景位图文件并显示 关闭背景 位图文件 显示通道 指示字符 返回

图4.1 系统始化流程图

4.3.2 SD卡初始化

对SD卡进行初始化,初始化的过程中设置SD卡工作在SPI模式,其流程图如图4.2所示。

在复位成功之后可以通过CMD55和ACMD41判断当前电压是否在工作范围内。主机还可以继续通过CMD10读取SD卡的CID寄存器,通过CMD16设置数据Block长度,通过CMD9读取卡的CSD寄存器。从CSD寄存器中,主机可获知卡容量,支持的命令集等重要

第 20 页 共 36 页

参数。具体程序见附录C。

开 始

接受SD卡响应 发送激活命令CMD1 进入SPI总线模式 发送复位命令CMD0 发送74个时钟周期 否 响应bit0=0? 结 束

图4.2 SD卡初始化流程图

4.3.3 数据块的读写

完成SD卡的初始化之后即可进行它的读写操作。SD卡的读写操作都是通过发送SD卡命令完成的。SPI总线模式支持单块(CMD24)和多块(CMD25)写操作,多块操作是指从指定位置开始写下去,直到SD卡收到一个停止命令CMD12才停止。单块写操作的数据块长度只能是512字节。单块写入时,命令为为CMD24,当应答为0时说明可以写入数据,大小为512字节。SD对每个发送给自己的数据块都通过一个应答命令确认,它为1个字节长,当低5位为00101时,表明数据块被正确写入SD卡。

可见,读写SD卡的操作都是在初始化后基于SD卡命令和响应完成操作的,写SD卡的程序流程图如图4.3所示。

第 21 页 共 36 页

开 始

发送写命令CMD24 否 响应全零吗? 返 回

接受SD卡响应 发送2字节CRC码 发送512字节数据 发送数据的起始标志 否 响应是0X5吗? 结 束

图4.3 写SD卡流程图

① 写单块

1):发送命令CMD24; 2):接收R1响应;

3):发送Data Tokens (Single Block Write: Oxfe); 4):发送一个block(一般为512个字节); 5):发送两个CRC16码;

6):循环接收数据,等待写完成,直到写完成接收到0xff。 ② 写多块

1):发送命令CMD25; 2):接收R1b响应;

3):发送Data Tokens (Single Block Write: 0xfe);


SD卡存储采集数据电路设计毕业论文 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:40米架桥机计算书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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