找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6309|回复: 3
打印 上一主题 下一主题
收起左侧

急求一份基于51单片机控制isd1820的语音电路程序

[复制链接]
跳转到指定楼层
楼主
ID:315905 发表于 2018-4-25 08:40 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
控制要求就是行程开关有信号然后控制isd1820播放语音。流程图里的有无内胆,是否按下,都是用行程开关代替

P80420-074550.jpg (35.81 KB, 下载次数: 45)

P80420-074550.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:305386 发表于 2018-7-17 20:40 | 只看该作者
照片模糊
回复

使用道具 举报

板凳
ID:305386 发表于 2018-7-20 11:05 | 只看该作者
我上网查了很久,找了很多资料都没有解决问题。最后在现实中操作一遍后得出结论:
#include<reg51.h>
sbit RLAYL=P1^0;
sbit RLAYE=P1^1;
#define uint  unsigned int   
#define uchar unsigned char
void delay(uint z)
{
    uchar x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}
void main()
{
  P1=0xfe;
  while(1)
  {
    P1=0xfe;
delay(2000);
        P1=0xff;
delay(2000);
  }
}
第一种方法是利用PLAYL的特性而制作的,自己上网查天特性。
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
sbit PLAYE=P1^0;
//void delay(uint z);
void main()
{
    TMOD=0x01;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    EA=1;
    ET0=1;
    TR0=1;
    while(1);   
}
void timer0() interrupt 1
{
    TH0=(65536-45873)/256;
    TL0=(65536-45873)%256;
    num++;
if(num==80)
{
num=0;
PLAYE=~PLAYE;
}
}
第二种方法是用到定时器,用普通的延时没用的。我试过,这也是因为PLAYE按键的特性。
加油!单片机没有什么难的,难的坚持不懈的决心!!!
回复

使用道具 举报

地板
ID:475914 发表于 2019-4-11 23:02 | 只看该作者
楼主,请问你的isd1820播放语音的功能实现了么,想学
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表