voice.c

来自「使用AT89S52单片机」· C语言 代码 · 共 35 行

C
35
字号
#include "voice.h"	//修改该文件,以适合单片机环境

//延时函数
void delay50us(unsigned int t)    //约50uS
{
 unsigned char j;
 for(;t>0;t--)
     for(j=39;j>0;j--);
}
//发送8位语音地址数据,由低位到高位,推荐1KHZ
void send(unsigned char B_Data)
{
 unsigned char i;
 for(i=0;i<8;i++)
 {
        K2_CLK=0;
        K1_data=B_Data&0x01;
        delay50us(10);    //可调短
        K2_CLK=1;
        delay50us(10);    //可调短
        B_Data>>=1;
  }
  K1_data=K2_CLK=1;
  while(O1_BUSY==1);    //判断O1是否忙
}

void setPM50(void)
{
   while(O1_BUSY==1);    //判断O1是否忙
    K1_data=0;    //K1先送>40mS的低电平
    delay50us(1000);
    K1_data=1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?