/****************************************************

;http://www.stchip.com;

OTP语音芯片串行三线模式组合语音测试程序

;主芯片:MPC82L52(1T)

;工作频率:6MHz

;适用语音芯片型号:SC8035,SC8016,SC040 SC020B,SC010B...

;亿矽特科技

****************************************************/

include "REG_MPC82L52.H"

#include

void delay_ms(unsigned int count) ;

void delay_us(unsigned int count);

void SC_Speech(unsigned char cnt);

void SC_WBusy(void);

void SC_Speechs(void);

/**************端口定义*****************/

sbit SC_RST=P3^0;      //P3.0是脉冲复位脚

sbit SC_DATA=P3^1;     //P3.1是脉冲数据脚

sbit SC_BUSY=P3^2;     //P3.2是放音BUSY脚

unsigned int sp[3];    //定义一个组合语音用的数组变量

/*************主程序****************/

main (void)

{

SC_DATA=0;

SC_RST=1;

delay_us(100);            //上电复位防止干扰发声芯片放音

SC_RST=0;

delay_us(100);

sp[0]=0;

sp[1]=0;

sp[2]=0;

while(1)

{

sp[0]=8;

sp[1]=5;

sp[2]=9;

SC_Speechs();      //组合8,5,9地址段放音

delay_ms(5000);    //延时放音时间5秒

}

}

/**************************************

;延时X毫秒

;不同的工作环境,需要调整此函数

;入口参数:count

;出口参数:无

**************************************/

void delay_ms(unsigned int count)

{

unsigned int i,j;

for(i=0;i

{

for(j=0;j<500;j++);

}

}

/**************************************

;延时X微秒

;不同的工作环境,需要调整此函数

;入口参数:count

;出口参数:无

**************************************/

void delay_us(unsigned int count)

{

unsigned int i,j;

for(i=0;i

{

for(j=0;j<2;j++);

}

}

/**************************************

;控制地址段放音

;入口参数:cnt;

;出口参数:无

**************************************/

void SC_Speech(unsigned char cnt)

{

unsigned char i;

SC_RST=1;

delay_us(100);            //DAC,大于32段为15MS

SC_RST=0;

delay_us(100);

for(i=0;i < cnt;i++)

{

SC_DATA=1;             //数据脉冲高

delay_us(100);         //延时100US

SC_DATA=0;             //数据脉冲低

delay_us(100);         //延时100US

}

}

/**************************************

;控制地址段组合放音

;入口参数:无

;出口参数:无

**************************************/

void SC_Speechs(void)

{

SC_Speech(sp[0]);

SC_WBusy();

SC_Speech(sp[1]);

SC_WBusy();

SC_Speech(sp[2]);

sp[0]=0;

sp[1]=0;

sp[2]=0;

}

/**************************************

;等待BUSY信号变低;

;入口参数:无

;出口参数:无

**************************************/

void SC_WBusy(void)

{

unsigned int times;

for(times=0;times<50;times++)        //等待超过5秒最长语音段自动退出;

{

delay_ms(100);                    //调节组合语音间隔

if(SC_BUSY==0) break;

}

}

支持c语言的otp单片机,单片机驱动语音OTP芯片程序相关推荐

  1. 华大单片机 HC32F460 驱动BM8563ESA RTC芯片

    前言 因华大单片机没有单独VBAT管脚,无法使用,如果用单片机自带的RTC模块,系统断电后时间无法准确,需要重新设置,影响用户体验,说以系统加入单独的RTC芯片. RTC时钟电路 单片机管脚定义 RT ...

  2. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

  3. 单片机显示屏c语言程序,51单片机驱动1602液晶显示器c程序

    51单片机驱动1602液晶显示器c程序 /* 程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io 程序版权:http://www.51hei.com */ #include //头文 ...

  4. 51单片机c语言试题及答案,单片机考试复习题及答案

    <单片机考试复习题及答案>由会员分享,可在线阅读,更多相关<单片机考试复习题及答案(14页珍藏版)>请在人人文库网上搜索. 1.选择题1.主频为12MHz的单片机他的机器周期为 ...

  5. 台湾应广OTP系列单片机

    台湾应广OTP系列单片机型号 台湾应广OTP系列单片机,以杰出的晶片设计能力发展出多系列高效能的微控制器, 晶片经专业测试认证在ESD与高抗干扰杂讯能力都有优秀的表现.产品的应用范畴包括互动性的智能玩 ...

  6. 心率脉搏测试c语言算法,基于51单片机语音播报心率计脉搏测量仪设计(仿真源码+电路图+当时PaperPass16%查重论文)...

    一.本课题研究的主要内容.目的和意义 随着科技发展的不断提高,生命科学和信息科学的结合越来越紧密,出现了各种新颖的脉搏测量仪器,特别是电子脉搏仪的出现,使脉搏测量变得非常方便. 脉诊在我国已具有260 ...

  7. c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc

    -- I -- - - I -- 设计题目: 基于 51 单片机的电子时钟设计 摘要 单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器.自 20 世纪 70 年代问 ...

  8. 单片机c语言程序开发洗衣机,基于51单片机洗衣机控制器的设计(附程序)☆

    基于51单片机洗衣机控制器的设计(附程序)☆(任务书,开题报告,中期检查表,毕业论文21000字,程序) 摘  要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器.在工业生 ...

  9. avr-gcc与avr单片机c语言开发 pdf,AVR 单片机与GCC 编程使用方法

    原标题:AVR 单片机与GCC 编程使用方法 WIN 是一个ATMEL AVR 系列 的开发工具集,它包含GNU C 和C++编译器 . 1.1 一个简单的例子 为了先有一个感性的认识,我们首先看一下 ...

  10. 【Proteus仿真】STC15单片机+LCD1602驱动显示时间(DEMO)示例

    [Proteus仿真]STC15单片机+LCD1602驱动显示时间(DEMO)示例 Proteus仿真 Proteus加载 STC15单片机说明 在Proteus里面唯一能找到的 STC15一款支持仿 ...

最新文章

  1. 简单介绍python process模块
  2. 算法---找到数组中第二大的数
  3. 2021牛客多校2 - WeChat Walk(分块)
  4. 微信企业付款开发 C#
  5. 部署到Maven中央存储库
  6. Java基本语法(9)--逻辑运算符(逻辑短路)与或非
  7. VMware vSphere Client客户端安装图解教程
  8. 如何查看linux的版本
  9. Android平台RTMP多实例推送的几种情况探讨
  10. go regexp匹配字符串_多模式字符串匹配算法ac自动机(用go语言实现)
  11. [并非笑话]当Borland的工程师向微软寻求技术支持时
  12. guava-Retryer失败重试
  13. Python 文字转语音(TTS)
  14. 小程序todolist
  15. 多维时序 | MATLAB实现CNN-LSTM多变量时序预测
  16. [ STM32F103 ] 数据手册 —— CAN解析
  17. Android 去除各种厂家广告合集
  18. 树莓派x86Android,3种创客开发板走向专业-浅谈X86树莓派板型的UP系列
  19. 7-1 求一元二次方程的根 (20 分)
  20. 分组ListView使用技巧

热门文章

  1. JAVA 实现阿里云的短信验证码
  2. [信号]预加重与去加重--转
  3. 解决SpringMVC的GET请求中文乱码
  4. 2020_WHUCTF_Writeup(部分)
  5. 2022五一数学建模有何思路模型?
  6. matlab机械臂工作空间代码_焊接机械臂工作站的搭建与组装|焊枪|焊机|电缆|机器人...
  7. 创业不难,找准项目才难,教你一眼识破好项目
  8. Snagit 2019 for Mac如何合并图像+安装方法详解
  9. 截图工具Snagit试用免费激活方法
  10. BP神经网络(BPNN)