王伟强课程作品设计说明Word格式.docx

上传人:b****5 文档编号:16629949 上传时间:2022-11-24 格式:DOCX 页数:7 大小:334.13KB
下载 相关 举报
王伟强课程作品设计说明Word格式.docx_第1页
第1页 / 共7页
王伟强课程作品设计说明Word格式.docx_第2页
第2页 / 共7页
王伟强课程作品设计说明Word格式.docx_第3页
第3页 / 共7页
王伟强课程作品设计说明Word格式.docx_第4页
第4页 / 共7页
王伟强课程作品设计说明Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

王伟强课程作品设计说明Word格式.docx

《王伟强课程作品设计说明Word格式.docx》由会员分享,可在线阅读,更多相关《王伟强课程作品设计说明Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

王伟强课程作品设计说明Word格式.docx

一共六个通道,编号从A0~A5。

黑色部分为外部供电输入,外部7V~12VDC输入。

当USB的500ma电流不够使用的时候可以接上使用。

一般是用不上的啦。

5.深绿色部分是指示灯。

USB和POWER分别指示的是使用外部供电还是USB供电。

L是给用户使用的指示灯,连接到逻辑输出的13号脚。

图一arduino模板

SD卡读写模块(如图二),SD卡是一种低电压的flash闪存产品,有标准的MMC/SPI两种操作模块(如图三)。

对于MMC操作模式,读写速度快,控制信号线多,操作复杂,对于SPI操作模块,速度慢,线少,操作相对简单。

SD卡读写模块内置文件系统、可直接进行文件读写的SD卡模块,适用于单片机系统实现大容量存储方案。

单片机使用模块,可直接进行目录遍历、目录创建、目录删除、文件创建、文件删除、文件修改、卡格式化等标准文件系统操作,无需了解SD卡内部存储结构及文件系统实现细节。

特别是随着SD卡在生活中的普及,嵌入式系统把读写SD卡功能集成到系统,成为一种趋势。

图二、SD卡读写模块

图三、SD卡模块各部分功能

SD卡模块技术规格(如图四、五)

1、支持标准FAT文件系统,模块操作的SD卡可直接插入电脑读写。

2、模块内置MicroSD卡插槽,用户也可以自己扩展其它存储卡插槽,支持各有类SD、MMC卡。

3、模块作为SPI从机与单片机通讯,SPI总线的最高速率可达4Mbps。

读SD卡文件的速度最高达128K字节/秒,写SD卡文件的速度最高达64K字节/秒。

4、模块支持的SD卡容量为2GBytes,超过2G的SD卡,则作为2G使用。

5、尺寸50mm*20mm,2.54mm间距通用排针,方便集成。

1.3各个模块连接图

图四、电路连接原理图

图五、实物连接图

第2章软件设计部分

2.1软件执行流程、读写思想

读写思想:

分别用杜邦线在4、11、12、13、D3.3v接口与SD卡读写模块进行连接,利用BillGreiman开发的SdFat.h和SdFatUtil.h头文件和库文件就可实现读写。

2.2软件源代码

附程序代码:

#include 

<

SimpleSDAudio.h>

// 

Callback 

target, 

prints 

output 

to 

serial

void 

DirCallback(char 

*buf) 

 

Serial.println(buf);

}

char 

AudioFileName[16];

Create 

static 

buffer 

#define 

BIGBUFSIZE 

(2*512) 

bigger 

than 

2*512 

is 

often 

only 

possible 

on 

Arduino 

megas!

uint8_t 

bigbuf[BIGBUFSIZE];

helper 

function 

determine 

free 

ram 

at 

runtime

int 

freeRam 

() 

{

extern 

__heap_start, 

*__brkval;

v;

return 

(int) 

&

(__brkval 

== 

?

__heap_start 

:

__brkval);

setup()

Open 

serial 

communications 

and 

wait 

for 

port 

open:

Serial.begin(9600);

while 

(!

Serial) 

;

connect. 

Needed 

Leonardo 

only

Serial.print(F("

Free 

Ram:

"

));

Serial.println(freeRam());

Setting 

the 

manually 

more 

flexibility

SdPlay.setWorkBuffer(bigbuf, 

BIGBUFSIZE);

\nInitializing 

SimpleSDAudio 

V"

SSDA_VERSIONSTRING 

..."

If 

your 

SD 

card 

CS-Pin 

not 

Pin 

4, 

enable 

adapt 

following 

line:

//SdPlay.setSDCSPin(10);

Select 

between 

SSDA_MODE_FULLRATE 

or 

SSDA_MODE_HALFRATE 

(62.5kHz 

31.25kHz)

modes 

SSDA_MODE_MONO_BRIDGE, 

SSDA_MODE_MONO 

SSDA_MODE_STEREO

if 

SdPlay.init(SSDA_MODE_FULLRATE 

SSDA_MODE_MONO)) 

Serial.println(F("

initialization 

failed. 

Things 

check:

inserted?

Is 

wiring 

correct?

maybe 

you 

need 

change 

chipSelect 

pin 

match 

shield 

module?

Error 

code:

Serial.println(SdPlay.getLastError());

while

(1);

else 

Wiring 

correct 

present."

loop(void) 

count=0, 

c, 

flag;

Files 

card:

SdPlay.dir(&

DirCallback);

ReEnter:

count 

0;

\r\nEnter 

filename 

(send 

newline 

after 

input):

do 

while(!

Serial.available()) 

Serial.read();

if(c 

>

'

) 

AudioFileName[count++] 

c;

while((c 

!

0x0d) 

(c 

0x0a) 

(count 

14));

Looking 

file... 

if(!

SdPlay.setFile(AudioFileName)) 

found 

card!

goto 

ReEnter;

found."

Press 

stop, 

play, 

pause, 

select 

new 

file, 

deinit, 

view 

status."

flag 

1;

while(flag) 

SdPlay.worker();

if(Serial.available()) 

switch(c) 

case 

s'

SdPlay.stop();

Stopped."

break;

p'

SdPlay.play();

Play."

h'

SdPlay.pause();

Pause."

d'

SdPlay.deInit();

SdPlay 

deinitialized. 

You 

can 

now 

safely 

remove 

card. 

System 

halted."

while

(1) 

f'

case 

v'

Status:

isStopped="

Serial.print(SdPlay.isStopped());

 

isPlaying="

Serial.print(SdPlay.isPlaying());

isPaused="

Serial.print(SdPlay.isPaused());

isUnderrunOccured="

Serial.print(SdPlay.isUnderrunOccured());

getLastError="

RAM:

}}}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1