||
wav 波形文件就是对声音进行一定速率的采样,然后把采样值量化后进行存储,我的这个程序反其道而行之,把数字量按照一定的速率进行转化,从而放出音乐(采样 4000hz的 mono wav 文件),wav 数组文件 是通过千千静听 和 cool edit 处理过后 从winhex 下 得到的。由于 proteus下速度跟不上,声音有延迟。
/*------------------------------------------------------------
spi时序理解:spi总线时序根据CPHA 和 CPOL的组合分为下面4种方式
由于CPOL CPHA 只对主机有效, 所以主机可以选择以上四种的任意一种方式,而不用理会从机
CPHA=0 CPOL=0:奇数沿取样,空闲低电平//本例采用
发送数据: 数据先放到总线上然后sclk产生上升沿 数据被写入 (上升沿写入)(sclk再返回低电平)
接受数据: sclk先产生一个下降沿,然后从总线上读走数据 (下降沿读出)
CPHA=0 CPOL=1:奇数沿取样,空闲高电平
发送数据: 数据先放到总线上然后sclk产生下降沿 数据被写入 (下降沿写入)(sclk再返回高电平)
接受数据: sclk先产生一个上升沿,然后从总线上读走数据 (上升沿读出)
CPHA=1 CPOL=1:偶数沿取样,空闲高电平
发送数据: 数据先放到总线上然后sclk产生上升沿 数据被写入 (上升沿写入)
接受数据: sclk先产生一个下降沿,然后从总线上读走数据 (下降沿读出)(sclk再返回高电平)
CPHA=1 CPOL=0:偶数沿取样,空闲低电平
发送数据: 数据先放到总线上然后sclk产生下降沿 数据被写入 (下降沿写入)
接受数据: sclk先产生一个上升沿,然后从总线上读走数据 (上升沿读出)(sclk再返回低电平)
读写时 msb在前
--------------------------------------------------------------*/
源码 图在这:spi_da_wav.rar