精华内容
下载资源
问答
  • 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的...

    文末下载完整资料

                        引 言
      频率测量方法的优化越来越受到重视. 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。本文。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器

    本设计基本要求是:
      (1)可以选择不同的频率范围.
      (2)测量波形为三角波或矩形波.
       (3)测量波形频率范围为0~100HZ,幅值为TTL电平.
       (4)使用数码管显示出实时频率值.

    发挥部分:
      (1)测量范围可扩展到4MHZ,或者更高.
      (2)测量波形可为任意波形.
      (3)测量波形的幅值为1~5V峰峰值.
      (4)自动切换档位.
                      方案设计与论证
      数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件的广泛应用,用C语言编程到ATmega16,将使整个系统大大简化。提高整体的性能和可靠性。ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
    1方案设计与初步论证:
      (1)频率测量方法概述
        直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较 ,通过观、听比较结果 ,获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数 ,再用电磁式仪表测量充放电电流的大小 ,从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法 ,它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率的测量。
         利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速 ,以及便于实现测量过程自动化等一系列优点 ,所以下面将重点介绍电子计数式测量频率的几种方法。
        (1) 脉冲数定时测频法(M 法) : 此法是记录在确定时间 Tc内待测信号的脉冲个数 Mx ,则待测频率为 :
                    Fx= Mx/ Tc
        显然,时间 Tc 为准确值,测量的精度主要取决于计数 Mx的误差。其特点在于:测量方法简单;测量精度与待测信号频率和门控时间有关 ,当待测信号频率较低时 ,误差较大。
             ⑵脉冲周期测频法(T法) : 此法是在待测信号的一个周期 Tx内,记录标准频率信号变化次数 Mo。这种方 法测出的频率是:
                    Fx = Mo/ Tx
        此法的特点是低频检测时精度高 ,但当高频检测时误差较大。
         ⑶脉冲数倍频测频法(AM法) : 此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。通过 A倍频,把待测信号频率放大 A 倍,以提高测量精度。其待测频率为:
                    Fx= Mx/ ATo
        其特点是待测信号脉冲间隔减小 ,间隔误差降低;精度比 M法高A倍 ,但控制电路较复杂。
        ⑷脉冲数分频测频法(AT法) : 此法是为了提高T法高频测量时的精度形成的。由于T法测量时要求待测信号的周期不能太短 ,所以可通过A分频使待测信号的周期扩大A倍,所测频率为:
                    Fx = AMo/ Tx
        其特点是高频测量精度比T法高A倍;但控制电路也较复杂。
             ⑸脉冲平均周期测频法(M/ T法) : 此法是在闸门时间 Tc内,同时用两个计数器分别记录待测信号的脉冲数
        Mx 和标准信号的脉冲数Mo 。若标准信号的频率为Fo ,则待测信号频率为 :
                    Fx = FoMx/ Mo
        M/ T 法在测高频时精度较高 ;但在测低频时精度较低。
        ⑹多周期同步测频法: 是由闸门时间Tc与同步门控时间Td共同控制计数器计数的一种测量方法,待测信号频率与 M/ T法相同。此法的优点是 ,闸门时间与被测信号同步,消除了对被测信号计数产生的±1个字误差 ,
        测量精度大大提高 ,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。
    3 确定实验方案
    3.1可用实验方案介绍
    3.1.1方案 1
      采用频率计模块(如 ICM7216)构成 。特点是结构简单 ,量程可以自动切换。
       ICM7216内部带有放大整形电路 ,可以直接输入模拟信号。外部振荡部分选用一块高精度晶振体和两个低温系数电容构成10MHz并联振荡电路。用转换开关选择 10ms ,0. 1s ,1s ,10s 四种闸门时间 ,同时量程自动切换。
      缓冲电路是为了让频率计采用记忆方式 ,即计数过程中不显示数据 ,待计数过程结束后 ,显示测频结束 ,并将此显示结果保持到下一次计数结果 ,显示时间不小于1s ,小数点位置随量程自动移动。芯片驱动电路输出 15mA — 35mA 的峰值电流 ,所以在5V电源下可直接点亮 LED。

    3.1.2方案 2:
      系统采用可编程逻辑器件(PLD,如ATV 2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。
      该方案利用了PLD的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能扩展受到限制。
    方案3:
      系统采用ATmega16单片机,门控信号由T0内部的计数定时器产生,单位为1 µs。由于单片机的计数频率上限较低,所以需对高频被测信号进行硬件欲分频处理,最后使整个电路完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。

    3.2 方案比较及确定
      以上方案均需使用小信号放大、整形通道电路来提高系统的测量精度和灵敏度。
    方案比较及选用依据:
      显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围0.1Hz-10MHz。以频率下限0.1Hz 比来说,要达到误差〈0.01%的目的,必须显示5位的有效数字,而使用直接测频的方法,要达到达个测量精度,需要主门连续开启1000S,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我们所需要的低频信号的测量精度。另外由于使用了功能较强的ATmega16芯片,使本系统可以通过对软件改进而扩展功能,提高测量精度。因此我们选择采用方案三作为具体实施的方案
    方框图:
    在这里插入图片描述
    各部分功能说明
      ATmega16是一个基于增强地AVR RISC结构的低功耗8 位CMOS微控制器。由于其具有先进的指令集以及单时钟周期指令执行时间,所以ATmega16 的数据吞吐率高达1 MIPS /MHZ ,从而可以缓减系统在功耗和处理速度之间的矛盾。
       AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。
      ATmega16 有如下特点:16K字节的系统内可编程的Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。
      本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。
      ATmega16 具有一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试。

    波形转换电路
      主要用施密特触发器来实现. 施密特触发器在电子电路中常用来完成波形变换,幅度鉴别等工作.它具有的特点是:第一,电路的触发方式是电平触发,对于缓慢变化的信号也适用,当输入电压达到某一定值时,输出电压会发生跳变.第二,在输入信号增加和减少的时候, 施密特触发器有不同的阀值电压, 施密特触发器有同相输出和反相输出两种电路形式.在施密特触发器的输入端加入正弦波,它可以将正弦波转换为同频率的矩形波,改变施密特触发器的VT+和VT-就可以调节V0的脉宽.


    全套资料免费下载:
    关注v-x-公-众-号:【嵌入式基地
    后-台-回-复:【毕业设计】 即可获资料
    回复【编程】即可获取
    包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
    在这里插入图片描述

    展开全文
  • 莫名想起小时候电脑开机自检时的声音 当然平时洗衣机空调什么的也有 蜂鸣器原理就是两个铁片让其中一个的一端正负极不停的变换从而拍击另一个产生声音 蜂鸣器分有源和无源蜂鸣器 有源指的是外部只需要供电即可响...

    莫名想起小时候电脑开机自检时的声音

    当然平时洗衣机空调什么的也有

    蜂鸣器原理就是两个铁片让其中一个的一端正负极不停的变换从而拍击另一个产生声音

    蜂鸣器分有源和无源蜂鸣器

    有源指的是外部只需要供电即可响

    无源指的是外部必须给一个变化的供电

    ULN2003D 是类似于74HC573的一个放大器 蜂鸣器的BZ接在它的OUT5上 而CPU一端接在P15 因此使用P15控制

    void BuzzerOnOff(void)
    {
    	gBuz = 1;
    	delay1ms();
    	gBuz = 0;
    	delay1ms();
    }

    文末有晶振很具体的原理介绍,简要来说就是利用石英给它外部电压它能向表一样来计时给处理器参考

    单片机的频率

    之前使用单片机小精灵有这样一个地方

    其中晶振已经讲解了,而12T指的是将12MHz的频率进行分频除以12 达到1MHz 因为51单片机的时钟频率为1MHz 也就是一秒能处理1除以1000条指令 这就有一个问题为什么不用直接用1MHz的晶振?原因是1.自然界没有你想要多少就是多少的石英石 2.就算有也要考虑成本

    转自https://mp.weixin.qq.com/s/pMjZeN7W0Kxytcrzs-YkKA?

    晶振是石英晶体谐振器(quartz crystal oscillator)的简称,也称有源晶振,它能够产生中央处理器(CPU)执行指令所必须的时钟频率信号,CPU一切指令的执行都是建立在这个基础上的,时钟信号频率越高,通常CPU的运行速度也就越快。

    只要是包含CPU的电子产品,都至少包含一个时钟源,就算外面看不到实际的振荡电路,也是在芯片内部被集成,它被称为电路系统的心脏。

    如下图所示的有源晶振,在外部施加适当的电压后,就可以输出预先设置好的周期性时钟信号,

     

     

    这个周期性输出信号的标称频率(Normal Frequency,就是晶体元件规格书中所指定的频率,也是工程师在电路设计和元件选购时首要关注的参数。晶振常用标称频率在1~200MHz之间,比如32768Hz、8MHz、12MHz、24MHz、125MHz等,更高的输出频率也常用PLL(锁相环)将低频进行倍频至1GHz以上。

    输出信号的频率不可避免会有一定的偏差,我们用频率误差(Frequency Tolerance频率稳定度(Frequency Stability,用单位ppm来表示,即百万分之一(parts per million)(1/106),是相对标称频率的变化量,此值越小表示精度越高。

    比如,12MHz晶振偏差为±20ppm,表示它的频率偏差为12×20Hz=±240Hz,即频率范围是(11999760~12000240Hz)

    另外,还有一个温度频差(Frequency Stability vs Temp表示在特定温度范围内,工作频率相对于基准温度时工作频率的允许偏离,它的单位也是ppm。

     

    我们经常还看到其它的一些参数,比如负载电容、谐振电阻、静电容等参数,是神马情况?这些与晶体的物理特性有关。我们先了解一下晶体,如下图所示

    石英晶体有一种特性,如果在晶片某轴向上施加压力时,相应施力的方向会产生一定的电位

     

    相反的,在晶体的某些轴向施加电场时,会使晶体产生机械变形;

    如果在石英晶片上加上交变电压,晶体就会产生机械振动,机械形变振动又会产生交变电场,尽管这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(与切割后的晶片尺寸有关,晶体愈薄,切割难度越大,谐振频率越高)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。

     

    将石英晶片按一定的形状进行切割后,再用两个电极板夹住就形成了无源晶振,其符号图如下所示:

     

     

     

    下图是一个在谐振频率附近有与晶体谐振器具有相同阻抗特性的简化电路。

     

     

     

    其中:C1为动态等效串联电容;

    L1为动态等效串联电感;

    R1为动态等效串联电阻,它是晶体内部摩擦性当量

    C0为静态电容,相当于两个电极板之间的电容量;

     

    这个等效电路有如下图所示的频响特性曲线:

     

    当R1、L1、C1串联支路发生谐振的频率即串联谐振频率(Fr),此时容抗与感抗相互抵消,因此,支路相当于只有等效串联电阻R1。

     

    这个频率是晶体的自然谐振频率,它在高稳晶振的设计中,是作为使晶振稳定工作于标称频率、确定频率调整范围、设置频率微调装置等要求时的设计参数(但不是标称频率),其表达式如下所示:

    等效串联电阻R1决定晶体元件的品质因数,品质因数又称机械Q值,它是反映谐振器性能好坏的重要参数,它与L1和C1有如下关系:

                     

     

    R1越大,Q值越低,会导致频率不稳定,反之,Q值越高,频率越稳定,晶体的特点在于它具有很高的品质因素。

     

    等效电路还有一个反谐振频率fL(并联谐振频率),此时串联支路呈现为感抗,相当于一个电感,如下图所示:

    此时的频率如下图所示:

     

     

     

    通常厂家的晶振元件数据手册给出的标称频率不是Fr或FL,实际的晶体元件应用于振荡电路中时,它一般还会与负载电容相联接,共同作用使晶体工作于Fr和FL之间的某个频率,这个频率由振荡电路的相位和有效电抗确定,通过改变电路的电抗条件,就可以在有限的范围内调节晶体频率。

    当负载电容与晶体串联时,如下图所示:

     

     

     

    串接的小电容CL可以使石英晶体的谐振频率在一个小范围内调整,此时新的负载谐振频率如下式所示:

     

    其中,C1远远小于C0+CL

     

    当负载电容与晶体并联时,如下图所示:

     

     

    同样,并联的负载CL也可以小范围调整谐振频率,相应的负载谐振频率如下式:

    从实际效果上看,对于给定的负载电容值,F’r与F’L两个频率是相同的,这个频率是晶体的绝大多数应用时所表现的实际频率,也是制造厂商为满足用户对产品符合标称频率要求的测试指标参数,也就是本文最开头介绍的晶振标称频率,

     

    当晶体元件与外部电容相连接时(并联或串联),在负载谐振频率时的电阻即为负载谐振电阻RL,它总是大于晶体元件本身的谐振电阻。  

     

    晶体本身是不能产生振荡信号的,必须借助于相应的外部振荡器电路才能实现,下图是一个串联型振荡器电路,其中,晶体管Q1、Q2构成的两级放大器,石英晶体X1与电容CL构成LC电路。在这个电路中,石英晶体相当于一个电感,CL为可变电容器,调节其容量即可使电路进入谐振状态,输出波形为方波。

     

     

    并联型振荡器电路如下图所示,这种形式读者可能见得更多些,一般单片机都会有这样的电路。晶振的两个引脚与芯片(如单片机)内部的反相器相连接,再结合外部的匹配电容CL1、CL2、R1、R2,组成一个皮尔斯振荡器(Pierce oscillator)

    上图中,U1为增益很大的反相放大器,CL1、CL2为匹配电容,是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡,它们会稍微影响振荡频率,主要用与微调频率和波形,并影响幅度。 X1是晶体,相当于三点式里面的电感

    R1是反馈电阻(一般≥1MΩ),它使反相器在振荡初始时处于线性工作区,R2与匹配电容组成网络,提供180度相移,同时起到限制振荡幅度,防止反向器输出对晶振过驱动将其损坏。

     

    这里涉及到晶振的一个非常重要的参数,即负载电容CL(Load capacitance,它是电路中跨接晶体两端的总的有效电容(不是晶振外接的匹配电容),主要影响负载谐振频率和等效负载谐振电阻,与晶体一起决定振荡器电路的工作频率,通过调整负载电容,就可以将振荡器的工作频率微调到标称值。

    负载电容的公式如下所示:

     

    其中,CS为晶体两个管脚间的寄生电容(Shunt Capacitance

    CD表示晶体振荡电路输出管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CO、外加匹配电容CL2,即CD=CPCB+CO+CL2

    CG表示晶体振荡电路输入管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CI、外加匹配电容CL1,即CG=CPCB+CI+CL1

    一般CS为1pF左右,CI与CO一般为几个皮法,具体可参考芯片或晶振的数据手册

     

    (这里假设CS=0.8pF,CI=CO=5pF,CPCB=4pF)。

    比如规格书上的负载电容值为18pF,则有

     

    则CD=CG=34.4pF,计算出来的匹配电容值CL1=CL2=25pF

     

     

    这么复杂,我看不懂,我想用更简单更稳定更精确的器件,有木有?有!

     

    有源晶振将所有与无源晶振及相关的振荡电路封装在一个“盒子”里,不必手动精确匹配外围电路,不同的输出频率应用时,只需要采购一个相应频率的“盒子”即可,不再使用繁杂的公式计算来计算去,可以节省很多脑细胞做其它更多意义的工作。

     

     

    封装后的“盒子”示意图如下所示:

     

     

     

    展开全文
  • 单位由一个信号源的项目,其中由一个功能,即实现一个方波信号频率的测量。实际情况中,信号的频率一般在15-25Hz。占空比在10%-90%之间。可以说频率非常低
  • 基于51单片机的数字频率计(测频法)

    千次阅读 多人点赞 2020-12-17 16:52:34
    基于51单片机的数字频率计 如题:设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。...

    基于51单片机的数字频率计

    如题:设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。
    (1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>110Hz,采用测频法,显示频率××××××。
    (2)利用键盘分段测量和自动分段测量。
    (3)完成单脉冲测量,输入脉冲宽度范围是100μs~0.1s。
    (4)显示脉冲宽度要求如下。
    Tx<1000μs,显示脉冲宽度×××。
    Tx>1000μs,显示脉冲宽度××××。
    题目仿真如图所示

    近期单片机课设做了这个题,结果没有找到能够实现的代码,不能快乐的白嫖了T-T。

    索性自己写出来了。。。

    ](https://img-blog.csdnimg.cn/20201217164125507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzUyOTk2NDAz,size_16,color_FFFFFF,t_70)
    由于我用的是共阴的数码管,所以和题目中有点小小的出入。按键是另加的,按下按键可以测量单脉冲。未按下按键时测量的是脉冲频率。

    本题采用的是测频法:利用外部电平变化引发的外部中断,测算1s内的波数,从而实现对频率的测定;

    PS:实在不想写注释,已经验证过可以实现脉冲频率测量。脉冲宽度测量这里不做展示。
    脉冲频率测量代码如下:

    #include<reg51.h>
    #define uchar unsigned char
    #define uint unsigned int
    #define uLint unsigned long int
    uchar code number1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
    //uchar code number2[]={0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7};
    uchar code address[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
    uchar i,j,a,b,c,m,n,time,flag;
    uint temp,count=0;
    uLint w,h,l;
    sbit K=P3^2;
    sbit k=P1^0;
    void delay(uint m)
    {
    	while(m--);
    }
    void main()
    {
    	if(k==1)
    	{
    	EA=1;
    	ET0=1;
    	ET1=1;
    	TMOD=0x16;
    	TH0=0xff;
    	TL0=0xff;
    	TR0=1;
    	TH1=(65536-50000)/256;
    	TL1=(65536-50000)%256;
    	TR1=1;
    	while(1)
    	{
    		if(flag==1)
    		{
    			temp=count;
    			if(temp>110)
    			{
    			for(i=0;i<=5;i++)
    			{
    				P0=address[i];
    				P2=number1[temp%10];
    				temp=temp/10;
    				delay(500);
    			}
    			}
    			else
    			{
    			if(temp>=100)
    			{
    				a=temp;
    				P0=address[0];
    				P2=number1[0];
    				delay(500);
    				P0=address[1];
    				P2=number1[0];
    				delay(500);
    				P0=address[2];
    				P2=number1[0];
    				delay(500);
    				P0=address[3];
    				P2=number1[a%10]+0x01;
    				a=a/10;
    				delay(500);
    				P0=address[4];
    				P2=number1[a%10];
    				a=a/10;
    				delay(500);
    				P0=address[5];
    				P2=number1[a%10];
    				a=a/10;
    				delay(500);	
    			}
    				if(temp<100&&temp>=10)
    			{
    				b=temp;
    				P0=address[0];
    				P2=number1[0];
    				delay(500);
    				P0=address[1];
    				P2=number1[0];
    				delay(500);
    				P0=address[2];
    				P2=number1[0];
    				delay(500);
    				P0=address[3];
    				P2=number1[b%10]+0x01;
    				b=b/10;
    				delay(500);
    				P0=address[4];
    				P2=number1[b%10];
    				b=b/10;
    				delay(500);
    				P0=address[5];
    				P2=number1[b%10];
    				b=b/10;
    				delay(500);	
    			}
    			if(temp<10&&temp>=0)
    			{
    				c=temp;
    				P0=address[0];
    				P2=number1[0];
    				delay(500);
    				P0=address[1];
    				P2=number1[0];
    				delay(500);
    				P0=address[2];
    				P2=number1[0];
    				delay(500);
    				P0=address[3];
    				P2=number1[c%10]+0x01;
    				c=c/10;
    				delay(500);
    				P0=address[4];
    				P2=number1[c%10];
    				c=c/10;
    				delay(500);
    				P0=address[5];
    				P2=number1[c%10];
    				c=c/10;
    				delay(500);	
    			}
    			}	
    		}
    	}
    	}
    }
    void time0() interrupt 1
    {
    	count++;
    }
    void time1() interrupt 3
    {
    	TH1=(65536-50000)/256;
    	TL1=(65536-50000)%256;
    	time++;
    	if(time==20)
    	{
    		EA=0;
    		flag=1;
    	}
    }
    

    proteus仿真结果如下图所示:
    在这里插入图片描述

    展开全文
  • 通过OPA2227放大以及单片机控制三极管的通断,使纸盆喇叭产生音频信号,由LM358两级运算放大器以及LM567锁相环解码器构成的音频接收和声音处理电路对声音信号进行滤波放大并将模拟信号转换为频率稳定的数字信号。
  • 016【毕设课设】基于单片机声音分贝采集和显示控制系统设计,实时检测声音分贝大小,并可以通过手动设定分贝报警范围,当超过设定范围时则发生声光报警。包括的电路有声光报警电路,传感器采集电路,显示电路,温度...

    016【毕设课设】基于单片机声音分贝采集和显示控制系统设计,实时检测声音分贝大小,并可以通过手动设定分贝报警范围,当超过设定范围时则发生声光报警。包括的电路有声光报警电路,传感器采集电路,显示电路,温度补偿电路,电源电路,单片机电路,按键电路等。

    【资源下载】下载地址如下:
    https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

    #include <reg52.h> /* 包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 */
    #include "intrins.h"
    
    #define     u8		unsigned char
    #define     u16		unsigned int
    #define     uchar	unsigned char
    #define     uint	unsigned int
    
    uchar	yushe_wendu	= 50;           /* 温度预设值 */
    uchar	yushe_yanwu	= 100;          /* 采样预设值 */
    uint	wendu;                          /* 温度值全局变量 */
    uchar	yanwu;                          /* 用于读取ADC数据 */
    
    /* 运行模式 */
    uchar Mode = 0;                         /* =1是设置温度阀值  =2是设置采样阀值	=0是正常监控模式 */
    /* 管脚声明 */
    sbit	Led_Reg		= P2 ^ 2;       /* 红灯 */
    sbit	Led_Yellow	= P2 ^ 4;       /* 黄灯 */
    sbit	Buzzer		= P2 ^ 0;       /* 蜂鸣器 */
    sbit	Fan		= P3 ^ 3;       /*  */
    sbit	Motor		= P2 ^ 5;
    
    
    /********************************************************************
     * 名称 : delay_1ms()
     * 功能 : 延时1ms函数
     * 输入 : q
     * 输出 : 无
     ***********************************************************************/
    void delay_ms( uint q )
    {
    	uint i, j;
    	for ( i = 0; i < q; i++ )
    		for ( j = 0; j < 110; j++ )
    			;
    }
    
    
    /***********************************************************************************************************
    *  LCD1602相关函数
    ***********************************************************************************************************/
    
    /* LCD管脚声明 (RW引脚实物直接接地,因为本设计只用到液晶的写操作,RW引脚一直是低电平) */

     

     

     

     

     

     

     

     
    展开全文
  • 通过两个单片机实现距离的测量,主机控制扬声器发出一定频率声音同时计数器开始计数,从麦克风接收到声音后经过放大滤波输出信号到从单片机,从单片机接收到信号后向通过串口向主机发送数据,主机接收到串口发送的...
  • 首先要有一个麦克风放大器模块,类似下图。 这种模块有个MIC可以采集声音声音越大,输出的电压越大。MSP430F5529就可以采集电压,判断声音大小。...音乐声音高低不同,单片机控制灯亮的数目也不同。 ...
  • 本程序通过MSP430F149单片机内部集成的ADC模块将外部声音信号采集并通过IIC总线存储到EEPROM AT24C512中 ,采样频率7kHZ左右。
  • 51单片机通过定时器实现上述三种声音声音相似度高。
  • 蜂鸣器的控制,在单片机领域,大多数人都是给一定周期的脉冲,蜂鸣器就会发出声音,而本质上,蜂鸣器只是一个金属弹片,声音大小取决于弹片的幅值,而幅值取决于施加的电压大小。电压大小可以使用PWM进行控制,所以...
  • 基于单片机的数字频率计设计开题报告.doc 皖西学院本科毕业设计(论文)开题报告学院信息工程学院专业通信工程学生姓名裴晓晴学号2010013513指导教师傅思勇职称助教毕业设计(论文)题目基于单片机的数字频率计设计课题...
  • 基于STM32F407ZGT6的有源蜂鸣器程序,将蜂鸣器发声过程(可设置声音频率和时间)封装成具体函数,应用了定时器和中断。
  • 具体实现功能: 1、模拟仿真声音采集及处理电路; 2、LCD1602实时显示噪声分贝值,精度为0.1db; 3、分贝显示范围为0-100db。
  • 单片机

    2017-08-01 20:31:00
    单片机 第一章 单片机基础 一、单片机的概念 1、计算机的组成有哪些: 2、计算机主要功能有哪些? 显示画面...
  • 由于定时器0的中断处理程序为50ms触发一次, 故改变tcount归零时的临界值即可改变蜂鸣器发声的频率. 当tcount = 40 进行电平翻转时, 发出的声音类似于公交车转向灯开启时的效果声音. 当tcount = 10 进行电平翻转时,...
  • Tiva单片机——麦克风声音数据的储存/回放(Flash读/写)一、整体介绍1、 第一次设计2、 第二次设计3、 最终实现情况二、代码的分段解读1、 头函数2、 宏定义3、 Flash擦除处理函数4、 按键部分5、 ADC0部分(模数...
  • 了解单片机定时器中断原理 学会单片机定时器中断和蜂鸣器结合的用法; 2、 实验设备 装有sdcc交叉编译环境,Python烧写工具,装有Linux的系统; 51单片机开发板 1 个,USB 数据线 1 根,跳线帽 1 个 3、 实验内容 ...
  • //编写51单片机程序,输出方波。//要求:晶振为12MHz,用T0做定时器,在P1的低四位输出四种频率的方波:// P1.3 = 1.25kHz、P1.2 = 2.5kHz、P1.1 = 5kHz、P1.0 = 10kHz //另外,上述四个频率要求用一个四选一数据...
  • 声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线不断的输出“高”“低”电平,则在该口线上就能产生一定频率的方波,将该方波接上喇叭就能发出一定频率声音,若再利用程序控制“高”“低”...
  • 单片机唱歌原理

    2013-06-30 19:19:23
    一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。
  •  实验板中,单片机P17脚输出接Q1基极,通过控制Q1导通或截止来控制蜂鸣器上是否有电流,从而发出声音,要用单片机控制蜂鸣器发出不同频率声音,采用无源的蜂鸣器,如果用有源蜂鸣器,可以会因为二种不同频率声音...
  • 满意答案barryooxx2013.11.19采纳率:55%等级:12已帮助:8503人那个程序刚刚给你找了好久才找到,呵呵HUAN BIT 20HORG 0000HJMP MAINORG 000BHMOV TL0,R2MOV TH0,R3CPL P3.5RETIORG 001BHDJNZ R4,GOONMOV IE,#80...
  • 单片机演奏音乐

    2011-11-09 16:19:28
    使用C51单片机进行音乐演奏的开发程序,内含C语言单片机演奏音乐程序,有单片机蜂鸣器发出声音
  • 单片机复习

    2021-05-10 15:16:37
    单片机复习 选择题 组成原理中计算机分为哪些功能部件 A、运算器 B、控制器 C、存储器 D、输入设备 E、输出设备 答案: ABCDE 计算机的存储器分为: A、U盘 B、内存 C、外存 D、高速缓存 E、寄存器 答案: BCDE CC...
  • 51单片机学习

    千次阅读 多人点赞 2021-01-21 21:01:56
    单片机概述 1.什么是单片机 2.单片机的特点及应用领域 3.单片机的发展趋势 4.学习51单片机需要哪些基础知识 5.如何快速的掌握51单片机 微型计算机的应用形态 将cpu芯片、存储器芯片、I/O接口芯片和简单的I/O设备...
  • 设置一个4*4键盘,当某个按键按下时,数码管显示其所在的行和列,同时蜂鸣器发出声音表示有按键按下
  • 驱动电脑蜂鸣器发出指定频率声音,此功能必须有硬件平台蜂鸣器的支持

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,917
精华内容 766
关键字:

单片机声音频率