蓝桥杯单片机学习13 您所在的位置:网站首页 最高端的单片机 蓝桥杯单片机学习13

蓝桥杯单片机学习13

2024-01-21 07:29| 来源: 网络整理| 查看: 265

NE555 简介引脚图原理图真值表工作原理频率测量原理定时器测量频率方法代码实现总结(一堆废话)

简介

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

引脚图

在这里插入图片描述

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

在这里插入图片描述 我们可以看到:

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

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

4引脚(复位引脚)6引脚(输出)2引脚(输入)3引脚(输出)0XX01>2/3Vcc>2/3Vcc011/3Vcc < Vth 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的阻值,改变产生的方波信号频率,测量得到的频率随之改变。 总结(一堆废话)

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

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

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

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

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

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

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有