蓝桥杯单片机学习13——NE555方波发生器&频率测量

这篇具有很好参考价值的文章主要介绍了蓝桥杯单片机学习13——NE555方波发生器&频率测量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

NE555是一种高度稳定的控制器,内部用三个阻值为5KΩ的电阻分压,因此叫做555芯片。能够产生精确的定时脉冲。单稳态工作时,延时由一个外部电阻和一个电容控制。工作稳定,频率和占空比由两个外部电阻和一个电容器精确控制。具有以下特点:
【1】:大电流驱动能力(200mA)
【2】:占空比可调
【3】:温度稳定性高,灵敏度高
【4】:定时范围广,(微妙级~小时级)
【5】:广泛应用于精确定时,产生脉冲、方波信号

引脚图

蓝桥杯单片机学习13——NE555方波发生器&频率测量

引脚 名称 功能
1 地线 接地
2 输入端 用于输入,和1/3Vcc比较
3 输出端 输出信号
4 复位端 低电平复位
5 电压控制端 一般不用,通常连接一个0.1uf的电容用来滤除杂波
6 输入端 用于输入,和2/3Vcc比较
7 放电端 用于放电
8 电源线 给芯片供电

原理图

蓝桥杯单片机学习13——NE555方波发生器&频率测量
我们可以看到:

  • 2脚和6脚是接到一起的,因此两引脚电平保持一致
  • 4脚直接接到了GND,芯片处于正常工作状态。
  • 5脚接一个0.1uf的电容后直接接地,用来滤除杂波。

真值表

前面讲过,NE555芯片的2脚和6脚以此两引脚电平保持一致,所以下表直接给出了电平一致的情况,忽略了其他不存在的情况。

4引脚(复位引脚) 6引脚(输出) 2引脚(输入) 3引脚(输出)
0 X X 0
1 >2/3Vcc >2/3Vcc 0
1 1/3Vcc < Vth <2/3Vcc 1/3Vcc < Vth <2/3Vcc 保持上一个状态
1 <1/3Vcc <1/3Vcc 1

接下来我们简单的分析以下NE555的工作原理。

工作原理

  • 刚刚上电时,因为电容没有电,两端电压几乎相等,为低电平,此时,二号引脚和六号引脚电压都 < 1/3Vcc,输出为高电平
  • 随着电源通过R8和Rb3接入电路的部分给电容C14充电,二号引脚和六号引脚电压逐渐升高至1/3Vcc和2/3Vcc之间,NE555的输出保持上一个状态,输出为高电平
  • 再往后,二号引脚和六号引脚电压上升至2/3Vcc以上,输出为低电平,此时二号引脚和六号引脚电压大于输出引脚的电压,电容开始放电,二号引脚和六号引脚电压随之下降
  • 当二号引脚和六号引脚电压下降到1/3Vcc和2/3Vcc之间,NE555的输出保持上一个状态,输出为低电平
  • 二号引脚和六号引脚电压继续下降,回到状态1,输出高电平,之后往复循环以上步骤,输出一个方波信号。

[注] : 通过调节Rb3的阻值,可以改变电容充电和放电的时间Rb3越大,充放电时间越长,频率越小,反之越大。

频率测量原理

我们知道:要测量一个方波信号的频率,可以通过计算信号经过一个完整的高低电平所用的时间t,然后那么f (频率)= 1s/t(一个完整高低电平所用的时间) ,即可即可测量出这个信号的频率。
但是要测得一个完整高低电平所用的时间是很困难的,所以这个方法显然行不通…………
除此之外,我们还有一个相对简单的方法,就是通过单片机的计数功能,测得在1S内,脉冲信号的数量就是方波信号的频率。至于这种方法的原理,我这里不做介绍,感兴趣的可以自己查找相关资料。

定时器测量频率方法

  • 通过定时器测量频率需要同时用到的定时器1和定时器0
  • 定时器0作为计数器,工作模式为八位自动重装载
  • 定时器1为定时器,工作模式为十六位自动重装载

[注意]:定时器0为计数器和定时器1为定时器,两者工作模式不建议调换,至于为什么是这样,理由如下:
蓝桥杯单片机学习13——NE555方波发生器&频率测量

定时器0作为计数器使用时,每当引脚P34捕获到一个脉冲信号,定时器0数值加一,
而定时器1作为计数器使用时,则需要P35捕获到脉冲信号,定时器1数值加一。

但是在蓝桥杯官方提供的单片机上,NE555芯片的输出端通过排针连接到了P34的旁边,只需要一个跳线帽将P34和NE555芯片的输出端连接即可实现通过通过定时器0对NE555产生的方波信号捕获,
如果强行使用定时器1进行计数,则需要另外使用杜邦线将P35和NE555的输出端连接,然而在比赛的时候好像是不会额外提供杜邦线的…………

代码实现

以下是通过定时器0&定时器1完成对NE555方波信号的频率测量。并通过数码管显示出来的代码示例,数码显示范围为0~99999Hz

#include <STC15F2K60S2.H>
#include "LS138.h"
unsigned int Count = 0;         //定义计数变量,计算频率
unsigned int Frequence = 0;     //频率

//定时器初始化函数
void Timer_Init(void)
{
    TMOD |= 0x06;    //设置定时器0为计数器,八位自动重装载,定时器1为定时器,16位自动重载载
    ET0 = 1;
    ET1 = 1;
    EA = 1;         //开启定时器中断
    TH0 = 0xFF;     //设置初值,使P3^4每产生一个脉冲,触发一次定时器0中断
    TL0 = 0xFF;
    TL1 = 0x18;     //设置处置,使定时器1每1ms参生一次中断
    TH1 = 0xFC;
    TR0 = 1;        //打开定时器0
    TR1 = 1;        //打开定时器1
}

//初始化函数
void Init()
{
    Timer_Init();   //定时器初始化
    LS138_Init();   //和LS138相关部分初始化
}

//数码管显示函数,Fre为需要显示的频率值
void SEG_Show(unsigned int Fre)
{
    if(Fre%10)  //显示个位
    {
        SEG_Write(7,Fre%10);    
        if(Fre/10%10)       //显示十位
        {
            SEG_Write(6,Fre/10%10);
            if(Fre/100%10)      //显示百位
            {
                SEG_Write(5,Fre/100%10);
                if(Fre/1000%10) //显示千位
                {
                    SEG_Write(4,Fre/1000%10);
                    if(Fre/10000%10)    //显示万位
                        {
                            SEG_Write(3,Fre/10000%10);
                            
                        }
                }
            }   
        }
    }
}

main()
{
    Init();     //初始化函数调用
    while(1)
    {
        SEG_Show(Frequence);        //显示频率
    }
}
//定时器0中断服务函数
void Timer0_Handler() interrupt 1
{
    Count++;        //频率加一
}
//定时器1中断服务函数,,每1ms触发一次
void Timer1_Handler() interrupt 3
{
    static int i =0;

    i++;
    if(i>=1000)     //1s进来一次
    {
        Frequence = Count;  //读取当前的频率值
        Count = 0;          //Count清零
        i = 0;              //i清零
    }
}

实现原理如下:

  • 定时器0设置为计数器,八位自动重装载模式,初值为0xFF,即每捕获到一个脉冲信号,触发一次定时器0中断,Count++;
  • 定时器1设置为定时器十六位自动重装载,初值位65535-1000,即每1ms触发一次,内部变量i++;当i >=1000,即时间到达1S,读取Conut的值,为测量到的频率
  • 通过读取到的频率,通过数码管显示出来。
  • 调节Rb3的阻值,改变产生的方波信号频率,测量得到的频率随之改变。

总结(一堆废话)

到这里,我们蓝桥杯单片机上常考的内容就已经全部介绍完了,接下来我会出几期关于历年省赛题目的实现示例、及代码思路,然后就结束蓝桥杯单片机学习的系列…………

再然后就是关于,以后会不会继续写博客的事情。这里我想讲一些题外话,或者说是废话…………

起初,我开始写蓝桥杯单片机学习的博客,主要目的就是记录我自己的学习过程,希望可以那个奖什么的…………

到后来,写博客成为了我学习的一部分,我发现我有很多的问题可以在写博客的过程中解决,我学到了很多…………

与此同时,我也渐渐的不知所措,不知道接下来该怎么办,是要继续写,还是停笔封书,不知道我的内容会不会有人看,会不会有人喜欢,总之,我迷茫了…………

如果可以的话,给我点建议,留下你们的看法

蓝桥杯单片机学习13——NE555方波发生器&频率测量文章来源地址https://www.toymoban.com/news/detail-437026.html

到了这里,关于蓝桥杯单片机学习13——NE555方波发生器&频率测量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NE555波形发生器手把手教程之NE555内部结构(一)

    工程链接:https://pan.baidu.com/s/1T-9bdnO1IrWUsjmRTl12zQ  提取码:py66   参数 供应电压:4.5-18V 供应电流:10-15mA 输出电流:225mA (max) 上升/下降时间:100 ns [3]  引脚位 ne555的结构图 Pin 1 (接地) :地线(或共同接地) ,通常被连接到电路共同接地 [3]  。 Pin 2 (触发点) :这个脚位是触

    2024年02月05日
    浏览(91)
  • 如何使用NE555产生方波

    NE555在很多电路设计中都会用到,常用来实现施密特触发器,单稳态触发器和多谐振荡器 常用的NE555是这种八脚的,大家可以看下引脚定义 首先我们来看下NE555的内部构造: C1和C2是两个运放比较器,内部的这三个电阻阻值都是一样的,都是5K欧姆,后面的这一个是SR锁存器,

    2024年02月02日
    浏览(41)
  • 蓝桥杯单片机14届记录 + 6-13届省赛代码+试题

    客观题 01. 一个 8 位的 DAC 转换器,供电电压为 3.3V,参考电压 2.4V,其 1LSB 产生的输出电 压增量是( )V。 A. 0.0129 B. 0.0047 C. 0.0064 D. 0.0094  02. IAP15F2K61S2 单片机支持通过哪些接口进行在线调试( )。 A. SPI B. UART C. I2C D. JTAG  03. 下列电路中属于时序逻辑电路的是( )。 A. 计数

    2024年02月06日
    浏览(53)
  • 《蓝桥杯真题》:2022单片机省赛第二场_客观题(第十三 / 13届第二场)

    声明:我仅是贴出我认为正确的答案,不是标准答案! 解析:打开ISP看到下面两个文件类型,我就选了 BC 解析:比赛给的《STC15系列单片机用户手册》P301,可以看到是可以位寻址的都能够被8整除,不能够被8整除的无法进行位操作,SCON的地址为98H,P4的地址为C0H,可以位寻址

    2023年04月08日
    浏览(53)
  • 蓝桥杯单片机客观题之数电学习(深夜学习——单片机)

    1、数字:\\\'0\\\'——0x30 2、字母:\\\'a\\\'——0x61;\\\'A\\\'——0x41 1、首位不变 2、从左到右,加上每一对相邻的二进制编码位,从而得到下一个格雷码位,舍去进位  1、首位不变 2、新生成的二进制码加上下一位格雷码得到下一位二进制码 1、小数部分的转换方法应该是先得到的是高位,后

    2023年04月09日
    浏览(93)
  • 蓝桥杯单片机第十三届国赛客观题(深夜学习——单片机)

    1.填空题 (2)不同的地址范围: data:0x00-0xff idata:0x0000-0xffff xdata:0x0000-0xffff pdata:0x00-0xff code:0x0000-0xffff 2.选择题 (3)模电——》多级放大电路 (6)DS18B20 (7)模电——》二极管  (8)单片机      

    2024年02月11日
    浏览(67)
  • 单片机课程设计波形发生器

    怎么说呢,前面半个月被这个单片机课程设计搞得焦头烂额的,再加上运气属实有点“好”,就脾气有点“暴躁”,好的,也就骂了半天的脏话。有一说一,没有素质确实舒服。 好了,事情目前是过去了,那就好好回顾一下遇到的问题,以及找到了怎样的解决方案,和最后仍

    2024年02月09日
    浏览(52)
  • 蓝桥杯模块学习10——串口通信(深夜学习——单片机)

    51单片机——串口通信详解(STC89C51为例)_佛科院深夜学习的博客-CSDN博客 (1)波特率与SMOD无关 (2)波特率等于溢出率除4 (1)T2R:控制定时器2是否允许使用,置“1”为允许 (2)T2_C/T:控制定时器2用作定时器还是计数器,置“0”为定时器(默认) (3)T2X12:控制定时器

    2023年04月08日
    浏览(56)
  • 单片机实验——简易波形发生器设计

    波形发生器广泛地应用于电子和通信等领域,是应用最广泛的电子仪器之一,本设计用51单片机以及DAC0832实现基本波形的输出,参考电路如下: 可以产生方波、三角波、正弦波、锯齿波等波形,用仿真的示波器查看。 用4个按键分别控制输出相应波形。 利用C51设计程序完成以

    2024年02月12日
    浏览(49)
  • 蓝桥杯单片机学习4——独立按键&矩阵按键

    上期学习了数码管的静态显示,这次我们来学习独立按键矩阵按键 原理很简单,当作为独立按键使用时, 跳线帽的23接在一起 ,此时按键如果按下,则按键连接的IO口电平会被拉低,通过捕获IO的电平变化,就可以判断按键是否按下。 什么是按键消抖?按键为什么会有抖动?

    2023年04月15日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包