欢迎来到天天文库
浏览记录
ID:9847722
大小:30.50 KB
页数:7页
时间:2018-05-12
《语音芯片isd4004的驱动程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、///////////////////////主函数功能描述///////////////////////*函数名称:isd4004函数功能:语音录入/播放函数入口参数:空出口参数:空异常记录:无*////////////////////////////////////////////////////////////#include#defineucharunsignedchar#defineuintunsignedintsbitSS=P3^0;//片选sbitSCLK=P3^3;//ISD4003时钟sbitM
2、OSI=P3^1;//数据输入sbitMISO=P3^2;//数据输出sbitISD_INT=P3^4;//中断sbitRAC=P3^5;ucharPR=1;//PR=1录音PR=0放音//////////////////函数申明区////////////////////////voiddelay4004(unsignedinttime);voidspi_send(uchardata4004); //isd4004spi发送数据函数voidisd_stop(void);
3、 //发送停止指令voidisd_pu(void); //上电指令voidisd_pd(void); //下电指令voidisd_play(void); //播放指令voidisd_rec(void); //录音指令voidisd_setplay(ucharadl,ucharadh
4、); //设置播放模式指令voidisd_setrec(unsignedcharadl,unsignedcharadh); //设置录音模式指令//unsignedcharchk_isdovf(void) //检查是否溢出函数//////////////////////////////////////////////////voidinit12864(ucharc_command,ucharc_time);voidprint12864(ucharc_12864add,uch
5、arc_12864hdate,ucharc_12864ldate,ucharc_12864time);ucharkeyboard(ucharc_break);voiddelay4004(unsignedinttime)//延迟n微秒{while(time--){;}}//************************************//ISD4004spi串行发送子程序,8位数据//************************************voidspi_send(uchardata4004){unsign
6、edcharisx_counter;SS=0;//ss=0,打开spi通信端SCLK=0;for(isx_counter=0;isx_counter<8;isx_counter++)//先发低位再发高位,依次发送。{ if((data4004&0x01)==1) MOSI=1; else MOSI=0; SCLK=0; //下降沿发送数据 delay4004(2); SCLK=1; data4004=data4004>>1;}}//*******************************//发
7、送stop指令//*******************************voidisd_stop(void){delay4004(10);SS=0;spi_send(0x30);SS=1;//delay4004ms(50);}//*******************************//发送上电指令,并延迟50ms//*******************************voidisd_pu(void){delay4004(10);SS=0;spi_send(0x20);SS=1;//delay4004ms
8、(50);}//*******************************//发送掉电指令,并延迟50ms//*******************************voidisd_pd(void){delay4004(10);SS=0;
此文档下载收益归作者所有