




已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Isd.h文件/*本函數(shù)為語(yǔ)音播放模塊。用到函數(shù)名是PLAY_NUM(u8 i);其中i即為想要播放的那一段。注意:初始化時(shí),要初始化兩個(gè)函數(shù):ISD1760_config();ISD_Init();另外,在函數(shù)PLAY_NUM(u8 i);里面,要根據(jù)具體錄制修改i的值。用到的端口:PE0(接語(yǔ)音芯片4腳)PE1(接語(yǔ)音芯片5腳)PE2(接語(yǔ)音芯片6腳)PE3(接語(yǔ)音芯片7腳)*/#ifndef _ISD1760_H_#define _ISD1760_H_#include stm32f10x_gpio.hextern uint8_t SR0_L;extern uint8_t SR0_H; extern uint8_t SR1; extern uint8_t ID;extern uint8_t APCL;extern uint8_t APCH;#define RCC_GPIO_ISD1760 RCC_APB2Periph_GPIOE#define MISOGPIO_Pin_0/CPU (IN)#define MOSIGPIO_Pin_1/ISD1760(OUT)#define SCLKGPIO_Pin_2 #define nSSGPIO_Pin_3/語(yǔ)音管腳定義/?SS?,SCLK?,MOSI?#define SCLK_1GPIO_SetBits(GPIO_ISD1760, SCLK)#define SCLK_0GPIO_ResetBits(GPIO_ISD1760, SCLK)#define nSS_1GPIO_SetBits(GPIO_ISD1760, nSS)#define nSS_0GPIO_ResetBits(GPIO_ISD1760, nSS)#define MOSI_1GPIO_SetBits(GPIO_ISD1760, MOSI)#define MOSI_0GPIO_ResetBits(GPIO_ISD1760, MOSI)/?#define PU 0x01 /Power up ?#define STOP 0x02 /?#define RESET 0x03 /?#define CLI_INT 0x04 /?EOM?#define RD_STATUS 0x05 /?#define RD_PLAY_PTR 0x06 /?#define PD 0x07 /Power down ?#define RD_REC_PTR 0x08 /?#define DEVID 0x09 /?ID#define PLAY 0x40 /?#define REC 0x41 /?#define ERASE 0x42 /?#define G_ERASE 0x43 /?#define RD_APC 0x44 /?APC?;APC-?#define WR_APC1 0x45 /?APC1?,?VOL?#define WR_APC2 0x65 /?APC2?,?#define WR_NVCFG 0x46 /?APC?NVCFG;?#define LD_NVCFG 0x47 /?NVCFG?APC#define FWD 0x48 /?#define CHK_MEM 0x49 /?#define EXTCLK 0x4A /?#define SET_PLAY 0x80 /?,?EOM#define SET_REC 0x81 /?,?#define SET_ERASE 0x82 /?#define NOP _nop_() void delayus(void);/15us ?void Delay(uint16_t z );/?:?MS?,Z?MS? uint8_t SPISendData(uint8_t BUF_ISD);/?: SPI?(?)?void RdStatus(void);/?: ?void ClrInt(void);/?: ?void ISD_WR_NVCFG(void);/?: ?void ISD_WR_APC2(void);/?: ?APC2void RdAPC(void);/?: ?APCvoid ISD_Init(void);/?: ? void ISD_CHK_MEM(void);/?: ?void ISD_Reset(void);/?: ?void ISD_Stop(void);/?: ?void ISD_PU(void);/?: ?void ISD_PD(void);/?: ?uint8_t RD_DevID(void);/?: ?ID/void GetToneAdd(uint8_t cNum,uint16_t * ipStartAdd,uint16_t * ipEndAdd);/?: ?void ISD_PLAY(void);/?: ?void ISD_FWD(void);void SetREC(uint8_t cNum);/?: ?void Erase_All(void);/?: ?void ISD1760_config(void);void PLAY_NUM(u8 i);#endifIsd.c文件#include isd.h#include delay.h#define GPIO_ISD1760 GPIOE uint8_t SR0_L;uint8_t SR0_H; uint8_t SR1; uint8_t ID;uint8_t APCL;uint8_t APCH;void delayus(void) u8 i=2; while(i-);void Delay(uint16_t z)uint16_t x,y;for(x=z;x0;x-) /7usfor(y=185;y0;y-);uint8_t SPISendData(uint8_t BUF_ISD) uint8_t i;uint8_t dat = BUF_ISD;SCLK_1;nSS_0;for(i=0;i=1; if(GPIO_ReadInputDataBit(GPIO_ISD1760, MISO) dat|=0x80; SCLK_1; /?delayus(); MOSI_0;/ nSS=1; return(dat); void RdStatus(void) nSS_0;SPISendData(RD_STATUS);SPISendData(0x00); SPISendData(0x00); nSS_1; Delay(10); /?10msnSS_0; SR0_L =SPISendData(RD_STATUS); SR0_H =SPISendData(0x00); SR1 =SPISendData(0x00); nSS_1; Delay(10); void ClrInt(void) nSS_0;SPISendData(CLI_INT);/?EOM? SPISendData(0x00); nSS_1;Delay(10); void ISD_WR_NVCFG(void) nSS_0;SPISendData(WR_NVCFG);/?APC?NVCFG;? SPISendData(0x00); nSS_1; Delay(10); void ISD_WR_APC2(void) nSS_0;SPISendData(WR_APC2);/?APC2?,? SPISendData(0x70); /0xa8?,0xaf?,0xa0? SPISendData(0x0c);/0c /D11=1,?SETPLAY?,?EOM?SET_PLAY?,?EOM? nSS_1; Delay(10); ISD_WR_NVCFG(); /? void RdAPC(void) nSS_0;SPISendData(RD_APC);/?APC? SPISendData(0x00); SPISendData(0x00); SPISendData(0x00); nSS_1; Delay(10); /?10ms SR0_L = SPISendData(RD_APC); SR0_H = SPISendData(0x00); APCL = SPISendData(0x00); APCH = SPISendData(0x00); nSS_1; Delay(10); void ISD_Init(void) ISD_Reset();/?: ? do ISD_PU();/?: ? RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt();/?: ? ISD_WR_APC2();/?: ?APC2 RdAPC(); /?: ?APC void ISD_CHK_MEM(void) nSS_0;SPISendData(CHK_MEM);/? SPISendData(0x00); nSS_1;Delay(10); void ISD_Reset(void) nSS_0;SPISendData(RESET);/? SPISendData(0x00); nSS_1; Delay(50); void ISD_Stop(void) nSS_0;SPISendData(STOP);/? SPISendData(0x00); nSS_1; Delay(50); void ISD_PU(void) nSS_0;SPISendData(PU);/Power up ? SPISendData(0x00); nSS_1; Delay(50); void ISD_PD(void) nSS_0;SPISendData(PD);/Power down ? SPISendData(0x00); nSS_1;Delay(10); uint8_t RD_DevID(void) nSS_0;SPISendData(DEVID);/?ID SPISendData(0x00); SPISendData(0x00); nSS_1;Delay(10); /?10ms SR0_L = SPISendData(DEVID); SR0_H = SPISendData(0x00); ID = SPISendData(0x00); nSS_1; Delay(10); return(ID); void ISD_PLAY(void) do RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt(); /?: ?nSS_0;SPISendData(PLAY);/從當(dāng)前位置播放 SPISendData(0x00); nSS_1; Delay(10); /?10ms do RdStatus();/?: ? while(SR0_L&0x01)|(SR1&0x04); / 0x04? if(SR0_L0=1)system Err void ISD_FWD(void) do RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt(); /?: ?nSS_0;SPISendData(FWD);/跳到下一地址處 SPISendData(0x00); nSS_1; Delay(10); /?10ms do RdStatus();/?: ? while(SR0_L&0x01)|(SR1&0x04);void Erase_All(void) nSS_0;SPISendData(G_ERASE);/? SPISendData(0x00); nSS_1;Delay(10); /?10ms void ISD1760_config(void)/?IO? GPIO_InitTypeDef GPIO_InitStructure;/?,?(?) RCC_APB2PeriphClockCmd(RCC_GPIO_ISD1760,ENABLE);/?GPIO? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;/? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOE, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_GPIO_ISD1760,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;/? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;/? GPIO_Init(GPIOE, &GPIO_InitStructure);/*?GPIO?*/v
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3385-2024植物新品種特異性、一致性、穩(wěn)定性測(cè)試指南落羽杉屬
- 化學(xué)●廣東卷丨2021年廣東省普通高中學(xué)業(yè)水平選擇性考試化學(xué)試卷及答案
- 筆線(xiàn)勾勒的技法變化豐富美學(xué)韻味中國(guó)文化精粹06課件
- 24h回顧法孫芝楊07課件
- 《三級(jí)醫(yī)院評(píng)審標(biāo)準(zhǔn)(2025年版)》
- 風(fēng)景園林基礎(chǔ)考研資料試題及參考答案詳解一套
- 《風(fēng)景園林招投標(biāo)與概預(yù)算》試題A附參考答案詳解(能力提升)
- 2023年上海市上海市松江區(qū)永豐街道招聘社區(qū)工作者真題附詳細(xì)解析
- 2024年山東華興機(jī)械集團(tuán)有限責(zé)任公司人員招聘筆試備考題庫(kù)及答案詳解(有一套)
- 無(wú)錫市2024-2025學(xué)年三年級(jí)下學(xué)期數(shù)學(xué)期末試題一(有答案)
- 陜09J01 建筑用料及做法圖集
- 國(guó)開(kāi)電大《工程數(shù)學(xué)(本)》形成性考核作業(yè)5答案
- 國(guó)開(kāi)期末考試《城市管理學(xué)》機(jī)考試題及答案(第11套)
- 新疆維吾爾自治區(qū)建筑工程補(bǔ)充預(yù)算定額說(shuō)明
- OpenStack云計(jì)算平臺(tái)實(shí)戰(zhàn)課件(完整版)
- FIDIC施工合同條件(紅皮書(shū))
- 學(xué)前兒童語(yǔ)言教育課件精品ppt
- CATIA實(shí)用入門(mén)教程ppt課件(124頁(yè)P(yáng)PT)
- x8線(xiàn)切割編控系統(tǒng)使用說(shuō)明書(shū)v16
- 打磨作業(yè)指導(dǎo)書(shū)
- 電感氣隙計(jì)算方法
評(píng)論
0/150
提交評(píng)論