当前位置: 首页 > wzjs >正文

永康市网站建设制作织梦搬家 网站空白

永康市网站建设制作,织梦搬家 网站空白,南京广告有限公司,wordpress-3.7基于51单片机语音实时采集 (程序+原理图+PCB+设计报告) 功能介绍 具体功能: 系统由STC89C52单片机ISD4004录音芯片LM386功放模块小喇叭LCD1602按键指示灯电源构成 1.可通过按键随时选择相应的录音进行播…

基于51单片机语音实时采集

(程序+原理图+PCB+设计报告)

功能介绍

具体功能:

系统由STC89C52单片机+ISD4004录音芯片+LM386功放模块+小喇叭+LCD1602+按键+指示灯+电源构成

1.可通过按键随时选择相应的录音进行播放;

2.可以通过按键随时录音,可以录制4段声音,并可以按键控制播放和暂停,最长可以录制8分钟;

3.播放的音量可以通过调节电位器改变;

添加图片注释,不超过 140 字(可选)

硬件设计

使用元器件:

单片机:STC89C52;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

15*9万用板;LCD1602液晶;

16P排针;16P排母;

10k电阻;5MM LED灯;

10欧姆电阻;1k电阻;

40脚IC座;28脚IC座;

ISD4004语音芯片;

LM386;8脚IC座;

2P母座;3.3V芯片;

咪头;喇叭;红黑并线;

103电位器;1uf电容*2;

220uf*4;2.2uf电容*1;

10uf电容*2;22pf电容*2;

小按键*4;自锁开关;

DC电源接口;12M晶振;

2k电阻*1;晶振:8M;

添加图片注释,不超过 140 字(可选)

流程图:

添加图片注释,不超过 140 字(可选)

程序

// 以ISD4004-8录音时间为8分钟,即8*60=480S根据4004的资料,480秒可分为2400段,也就是1S的段数为
//  5段,即从,0000-0005H的内容为1秒。0X0000-0X012C ;0X012D-0X0258;0X259-0X0384;0X0385-0X04B0.
#include <reg52.h>
#include <intrins.h>
#include"1602.c"
#include"eeprom.h"
#define uchar unsigned  char
#define uint  unsigned  int
bit playbit,recbit;	//定义两个位变量,放音和录音位
/***微信公众号:木子单片机********/
定义放音命令,定义常量//
#define ISDPOWERUP      0X20           //ISD4004上电
#define ISDSTOP         0X10           //ISD4004下电
#define OPERSTOP        0X30           //ISD4004停止当前操作
#define PLAYSET         0XE0           //ISD4004从指定地址开始放音
#define PLAYCUR         0XF0           //ISD4004从当前地址开始放音
#define RECSET          0XA0      	   //ISD4004从指定地址开始录音
#define RECCUR          0XB0		   //ISD4004从当前地址开始录音sbit   SCLK=P3^7; 
sbit   SS=P3^6;            //LOW IS ACTIVELY
sbit   MOSI=P3^5;
//sbit   MISO=P3^4;sbit   K1=P1^2;
sbit   K2=P1^3;
sbit   K3=P1^4;		  //按键输入sbit   LED1=P1^0;
sbit   LED2=P1^1;	  //指示灯uchar aa,bb,cc,dd,ee;
uchar num_rec=0;
void  delayms(uchar ms);
uchar playcout,reccout;	 //放音和录音次数。		
放音部分子程序,放音地址由ADDR决定
void play(uint addr){ 	uint y;SS=0;MOSI=0;//发送开始SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0x20>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}//发送结束SS=1;//上电结束delayms(50);SS=0;MOSI=0;//发送地址SCLK=0;for(y=0;y<16;y++){SCLK=0;if((addr>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}//发送地址结束MOSI=0;//放音SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0xe0>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}SS=1;SS=0;MOSI=0;//放音SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0xf0>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}SS=1;	  }	
//lu音部分子程序,地址由ADDR决定/
/***全部文件关注********/
/***微信公众号:木子单片机********/
void rec(addr)                
{ 	uint y;	SS=0;MOSI=0;//发送开始SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0x20>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}//发送结束SS=1;//上电结束delayms(50);SS=0;MOSI=0;//发送开始SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0x20>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}//发送结束SS=1;//上电结束delayms(50);delayms(50);SS=0;MOSI=0;//发送地址SCLK=0;for(y=0;y<16;y++){SCLK=0;if((addr>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}//发送地址结束MOSI=0;SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0xa0>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}SS=1;SS=0;MOSI=0;SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0xb0>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}SS=1;	  }void stop()
{ uchar y;SS=1;SS=0;MOSI=0;//放音SCLK=0;for(y=0;y<8;y++){SCLK=0;if((0x30>>y)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();}SS=1;
}void delayms(uchar ms)	
// 延时子程序
{						uchar j;while(ms--){for(j = 0; j < 120; j++);}
}void playsound()	///录放音子函数
{if(playbit){playbit=0;switch(playcout){			 ///====每段60S=====case 0x01:{play(0x0000);LCD_write_str(0,0,"NUM:1 Playing  ");}break;	//此处第一段音乐的开始地址为0X00,到0X012d地址结束,约为60秒。case 0x02:{play(0x012d);LCD_write_str(0,0,"NUM:2 Playing  ");}break;case 0x03:{play(0x0259);LCD_write_str(0,0,"NUM:3 Playing  ");}break;case 0x04:{play(0x0385);LCD_write_str(0,0,"NUM:4 Playing  ");}break; }}if(recbit){recbit=0;switch(reccout){    case 0x01:{rec(0x0000); LCD_write_str(0,0,"NUM:1 Recording");aa=1;}break;case 0x02:{rec(0x012d);LCD_write_str(0,0,"NUM:2 Recording");aa=1;}break;case 0x03:{rec(0x0259);LCD_write_str(0,0,"NUM:3 Recording");aa=1;}break;case 0x04:{rec(0x0385);LCD_write_str(0,0,"NUM:4 Recording");aa=1;}break; }}
}
bit key_bit1=0,key_bit2=0;
uchar num11;
uchar  play_count=4,rec_count=4;void keyscan()  //直控键盘扫描子程序。
{if(K1==0){ while(K1==0);key_bit1=1;recbit=1;reccout++;LED2=0;LED1=1;if(reccout>rec_count)	  //reccout=1;}if(K2==0&&key_bit2==0){while(K2==0);key_bit1=1;playbit=1;playcout++;LED1=0;LED2=1;if(playcout>play_count)playcout=1;	//	   reccout=num_rec;		   }			      if(K3==0&&key_bit1==1){ while(K3==0);stop();LED2=1;LED1=1;if(aa==1){num_rec++;aa=0;	if(num_rec>4){num_rec=1;key_bit1=0;}}ISP_ERASE(0x2c00);		//注意:字节编程时必须要先要擦除整个扇区	ISP_PROGRAM(0x2c00, num_rec);	//写入eeprom 掉电保存ISP_PROGRAM(0x2c01, reccout);play_count=num_rec;		//保存播放的段数reccout=num_rec;		//从第几段录起LCD_write_str(0,0,"                ");key_bit1=0;}if(K3==0&&key_bit1==0)					//选择播放哪段{ while(K3==0&&key_bit1==0);key_bit2=1;num11++;			if(num11>play_count){num11=0;bb=0;cc=0;dd=0;key_bit2=0;LCD_write_str(0,0,"                ");}switch(num11){    case 1:{LCD_write_str(0,0,"NUM:1 Rec    ");bb=1;cc=0;dd=0;ee=0;}break;case 2:{LCD_write_str(0,0,"NUM:2 Rec    ");bb=0;cc=1;dd=0;ee=0;}break;case 3:{LCD_write_str(0,0,"NUM:3 Rec    ");cc=0;bb=0;dd=1;ee=0;}break;case 4:{LCD_write_str(0,0,"NUM:4 Rec    ");cc=0;bb=0;dd=0;ee=1;}break; }		}if(bb==1){if(K2==0&&key_bit2==1){while(K2==0); 	key_bit1=1;play(0x0000);LCD_write_str(0,0,"NUM:1 Playing  ");}}if(cc==1){if(K2==0&&key_bit2==1){while(K2==0); key_bit1=1;play(0x012d);LCD_write_str(0,0,"NUM:2 Playing  ");}}if(dd==1){if(K2==0&&key_bit2==1){while(K2==0); key_bit1=1;play(0x0259);LCD_write_str(0,0,"NUM:3 Playing  ");}}if(ee==1){if(K2==0&&key_bit2==1){while(K2==0); key_bit1=1;play(0x0385);LCD_write_str(0,0,"NUM:4 Playing  ");}}} 

设计资料

01原理图

本系统原理图采用Altium Designer19设计,具体如图!

添加图片注释,不超过 140 字(可选)

02PCB

本系统pcb采用Altium Designer19设计,具体如图!

添加图片注释,不超过 140 字(可选)

03程序

本设计使用软件Keil5版本编程设计!具体如图!

添加图片注释,不超过 140 字(可选)

04设计报告

一万三千字设计报告,具体如下!

添加图片注释,不超过 140 字(可选)

05设计资料

全部资料包括程序(含注释)、AD原理图、PCB、设计报告、流程图、实物图、元件清单等。具体内容如下,全网最全! !

添加图片注释,不超过 140 字(可选)

​大家共同学习进步:

点赞分享一起学习成长。


文章转载自:

http://RK1BMfGy.zdxss.cn
http://Qe9D1YtC.zdxss.cn
http://cFKdJIJ4.zdxss.cn
http://FwXuZ6I2.zdxss.cn
http://VaAmagTI.zdxss.cn
http://2JWhRwsf.zdxss.cn
http://G4m825Aj.zdxss.cn
http://Ms4uS6oj.zdxss.cn
http://D0LmInz6.zdxss.cn
http://6XH9cQdJ.zdxss.cn
http://yaQcorgj.zdxss.cn
http://SiMH1bgx.zdxss.cn
http://skO6GtbO.zdxss.cn
http://14Fsp7mX.zdxss.cn
http://RSxSXPPi.zdxss.cn
http://vsNcV7mu.zdxss.cn
http://WoMWL8Rl.zdxss.cn
http://Ur1nNsGT.zdxss.cn
http://D07qzvMw.zdxss.cn
http://zLS77QLn.zdxss.cn
http://oUo0VVBi.zdxss.cn
http://AorBU6Tx.zdxss.cn
http://NvJBQMTd.zdxss.cn
http://54IADWsr.zdxss.cn
http://8fYKK6fx.zdxss.cn
http://l5AK5Gm1.zdxss.cn
http://QB4iLiE9.zdxss.cn
http://HGaQESf1.zdxss.cn
http://5xUchL3C.zdxss.cn
http://NbS41B98.zdxss.cn
http://www.dtcms.com/wzjs/624405.html

相关文章:

  • 怎么制作三屏壁纸seo优化及推广如何运营
  • 淘宝客网站静态还是动态好做聚会的网站
  • 高端网站登录入口郑州电力高等专科学校就业去向
  • 连锁销售公司网站的建设方案设计好的装修公司
  • 一般网站设计多少钱黄埔网站建设价格
  • 海宁网站建设公司推荐免费网站可以下载
  • 东台市住房和城乡建设局闷网站为什么电脑有些网页打不开
  • 做二手钢结构网站公关服务
  • 如何帮人做网站广西住房和城乡建设厅三类人员继续教育
  • 自己做网站卖什么wordpress go.php
  • 网上商城网站设计和实现最新上市新手机
  • 网站开发工具需求网站后台培训
  • 郑州网站推广营销网络规划与设计的目的
  • 国内高端医疗网站建设小程序模版
  • python网站开发优缺旅游网站开发与设计论文
  • 成都建设网站公司哪家好上海企业网站建设制作
  • 酒店网站建设趋势网站建设国外
  • 淘宝做个网站多少钱绍兴做网站建设
  • 网站基础建设和管理广州企业宣传片
  • 公司网站地图怎么做专业网站优化价格
  • 宁波搭建网站公司盘州电子商务网站建设
  • 欧美网站建设风格特点上海市五金外贸公司
  • 江苏 江苏省住房和城乡建设厅网站免费开源电商系统
  • 企业备案网站名称怎么填网站免费认证联盟
  • 网站建设和淘宝店装修是不是一样wordpress无法显示登陆
  • 用什么开发和建设网站最好下载公众号
  • 国外翻墙设计网站高端品牌网页设计
  • 施工方案下载免费网站成都互联网网站建设
  • 青岛 网站备案设计师网单怎么做
  • 网店推广网站网站的排版设计