常用单片机模块(一)

本文将会介绍一些单片机设计中常用的外设模块的简单原理,和电路设计其程序例程。

 

DS1302时钟模块    ISD1820录放模块      SG3525频率PWM控制均可调模块

掉电存储模块           触摸延时控制模块      DS1232外部看门狗模块

心率血氧传感器模块  HX711模块 称重传感器

BH1750光强模块      DHT11温湿度模块

1 DS1302时钟模块

1.1 芯片介绍

DS1302实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,他的主要性能指标如下:
1、DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。
2、拥有31字节数据存储RAM。
3、串行I/O通信方式,相对并行来说比较节省IO口的使用。
4、DS1302的工作电压比较宽,大概是2.0V~5.5V都可以正常工作。采用双电源供电,当主电源比备用电源高0.2V时,由主电源供电,否则采用备用电源,一般是一个纽扣电池。
5、DS1302这种时钟芯片功耗一般都很低,它在工作电压2.0V的时候,工作电流小于300nA。
6、DS1302共有8个引脚,有两种封装形式,一种是DIP-8封装,芯片宽度(不含引脚)是300mil,一种是SOP-8封装,有两种宽度,一种是150mil,一种是208mil。

1.2 模块电路

                     

1.3 驱动程序

/*****************************************************
函数功能:向1302写一个字节数据
入口参数:x
***************************************************/ 
void Write1302(unsigned char dat)
{
  unsigned char i; 
  SCLK=0;            //拉低SCLK,为脉冲上升沿写入数据做好准备
  delaynus(2);       //稍微等待,使硬件做好准备
  for(i=0;i<8;i++)      //连续写8个二进制位数据
    {
	    DATA=dat&0x01;    //取出dat的第0位数据写入1302
		delaynus(2);       //稍微等待,使硬件做好准备
		 SCLK=1;           //上升沿写入数据
		 delaynus(2);      //稍微等待,使硬件做好准备
		 SCLK=0;           //重新拉低SCLK,形成脉冲
		 dat>>=1;          //将dat的各数据位右移1位,准备写入下一个数据位
	  }
	
 }
/*****************************************************
函数功能:根据命令字,向1302写一个字节数据
入口参数:Cmd,储存命令字;dat,储存待写的数据
***************************************************/ 
void WriteSet1302(unsigned char Cmd,unsigned char dat)
 {
   RST=0;           //禁止数据传递
   SCLK=0;          //确保写数居前SCLK被拉低
	RST=1;           //启动数据传输
	delaynus(2);     //稍微等待,使硬件做好准备
	Write1302(Cmd);  //写入命令字
	Write1302(dat);  //写数据
	SCLK=1;          //将时钟电平置于已知状态
	RST=0;           //禁止数据传递
 }
/*****************************************************
函数功能:从1302读一个字节数据
入口参数:x
***************************************************/ 
 unsigned char Read1302(void)
 {
   unsigned char i,dat;
	delaynus(2);       //稍微等待,使硬件做好准备
	for(i=0;i<8;i++)   //连续读8个二进制位数据
	 {
	   dat>>=1;       //将dat的各数据位右移1位,因为先读出的是字节的最低位
		if(DATA==1)    //如果读出的数据是1
		 dat|=0x80;    //将1取出,写在dat的最高位
		 SCLK=1;       //将SCLK置于高电平,为下降沿读出
		 delaynus(2);  //稍微等待
		 SCLK=0;       //拉低SCLK,形成脉冲下降沿
		 delaynus(2);  //稍微等待
	  }	 
  return dat;        //将读出的数据返回
}  
/*****************************************************
函数功能:根据命令字,从1302读取一个字节数据
入口参数:Cmd
***************************************************/ 
unsigned char  ReadSet1302(unsigned char Cmd)
 {
  unsigned char dat;
  RST=0;                 //拉低RST
  SCLK=0;                //确保写数居前SCLK被拉低
  RST=1;                 //启动数据传输
  Write1302(Cmd);       //写入命令字
  dat=Read1302();       //读出数据
  SCLK=1;              //将时钟电平置于已知状态
  RST=0;               //禁止数据传递
  return dat;          //将读出的数据返回
}

其他一些关于DS1302的设计资料和代码历程

2 ISD1820录放模块

2.1 模块特点

   1、使用方便的10秒语音录放
 2、高质量、自然的语音还原
 3、可用作喊话器模块
 4、带循环播放,点动播放,单遍播放功能
 5、可用单片机控制
 6、本模块可直接驱动8欧0.5W小喇叭

2.2 电路图

2.3 使用指南

◆地线(VSSA, VSSD) 芯片内部的模拟和数字电路的不同地线汇合在这个引脚。

◆录音 (REC) 高电平有效。只要 REC 变高(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,REC 必须保持为高。REC 变低或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可以及时停止。然后芯片自动进入节电状态。注:REC 的上升沿有 84 毫秒防颤,防止按键误触发。

◆边沿触发放音(PLAYE) 此端出现上升沿时,芯片开始放音。放音持续到 EOM 标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放 PLAYE。

◆电平触发放音(PLAYL) 此端从低变高时,芯片开始放音。放音持续至此端回到低电平,或遇到 EOM 标志,或内存结束。放音结束后芯片自动进入节电状态。

◆录音指示(/RECLED) 处于录音状态时,此端为低,可驱动 LED。此外,放音遇到 EOM标志时,此端输出一个低电平脉冲。此脉冲可用来触发 PLAYE,实现循环放音。

◆话筒输入(MIC) 此端连至片内前置放大器。片内自动增益控制电路(AGC)控制前置放大器的增益。外接话筒应通过串联电容耦合到此端。耦合电容值和此端的 10KΩ 输入阻抗决定了芯片频带的低频截止点。

◆话筒参考(MIC REF) 此端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。

◆自动增益控制(AGC) AGC 动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持最小。通常 4.7uF 的电容器在多数场合下可获得满意的效果。

◆喇叭输出(SP+,SP-) 这对输出端可直接驱动 8Ω 以上的喇叭。单端使用时必须在输出端和喇叭之间接耦合电容,而双端输出既不用电容又能将功率提高至 4 倍。SP+和 SP-之间通过内部的 50KΩ 的电阻连接,不放音时为悬空状态。

◆外部时钟(XCLK) 此端内部有下拉元件,只为测试用,不用接。

◆振荡电阻(ROSC) 此端接振荡电阻至 VSS,由振荡电阻的阻值决定录放音的时间。

◆直通模式(FT) 此端允许接在 MIC 输入端的外部语音信号经过芯片内部的 AGC 电路。滤波器和喇叭驱动器而直接到达喇叭输出端。平时 FT 端为低,要实现直通功能,需将 FT端接高电平,同时 REC、PLAYE 和 PLAYL 保持低。

使用操作


       电源电压 3-5V,在录放模式下,按住 REC 录音按键不放即录音,RECLED 灯会亮起,录音在
松开按键时停止,放音有三种情况:
      1、边沿触发放音,按 PE 键一下即将全段语音放出,除非断电或语音结束不能停止放音;
      2、电平触发放音,按住 PL 键时即放音,松开按键即停止;
      3、循环放音,置循环放音开关闭合,按动 PE 键即开始循环放音,只能断电才能停止。
       在直通模式下,直通开关闭合,对话筒说话会从喇叭里扩音播放出来,构成喊话器功能,由于该模式下的话筒放大同时经过 AGC 自动增益调节和带通滤波器,其音质比通常的话筒放大器要好很多,而且不会出现喇叭过载的情况。

如果用户不需要直通模式,而且对电路的静态耗电有要求,就可以改变话筒的接入方式,将话筒下端的偏置电阻接到 RECLED 端,这样,在平时由于 RECLED 端为高电平话筒没有电压电流,整个电路的耗电几乎为零。但这种方式下直通模式不能工作。如果用户只需要电路做放音用,可以在芯片录好音测试无误后,将芯片的 REC 端长期接低电平。取消 REC 按键,这样可以防止意外抹音。

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值