📄 spi.c
字号:
#include <LPC213x.H>
#include <stdio.h>
#include "SPI.h"
#include "TIME_DELAY.h"
void VOICE_init(void)
{
IO1DIR |=VOICE_SS;
IO0DIR |=VOICE_SCLK;
IO0DIR |=VOICE_MOSI;
IO0DIR |=VOICE_MISO;
}
void POWER_up(void)
{
VOICE_write_byte(0x20);
IO1SET= VOICE_SS;
delay_nms(10);
}
void VOICE_write_byte(unsigned char dat )
{
unsigned char i;
IO1CLR= VOICE_SS; //开语音芯片
IO0CLR= VOICE_SCLK;
for(i=0;i<8;i++)
{
if(dat&0x01)
IO0SET=VOICE_MOSI;
else
IO0CLR=VOICE_MOSI;
IO0SET=VOICE_SCLK;
dat = dat >> 1;
IO0CLR=VOICE_SCLK;
}
}
/*注意:要把地址反过来写*/
void VOICE_play(unsigned int n)
{
unsigned char HIGH_ADD=0xe0;
unsigned char LOW_ADD=0x00;
POWER_up();
VOICE_write_byte(LOW_ADD+n); //传送低地址
HIGH_ADD+=0x00;
VOICE_write_byte(HIGH_ADD); //传送高地址
IO1SET= VOICE_SS;
VOICE_write_byte(0xf0);
IO1SET= VOICE_SS;
}
void Consecutive_play()
{
VOICE_write_byte(0xf0);
IO1SET= VOICE_SS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -