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

蓝桥杯单片机基础部分——6、555定时器

前言

NE555是一个纯硬件的设计,旦硬件电路确定了,其功能也确定了,没有可编程的部分,也没什么好去理解的地方,如果理解不了就直接背代码,这里也不是很常考,大家了解一下就可以了,知道大概怎么写有个印象就可以了

555定时器


在NE555中,有3个5K电阻分压,故称为555定时器

555定时器的基本原理:低电平触发端TRIG和高电平触发端THR:
两者电压均小于各自的参考电压时,U0= 1,放电管截止;
两者电压均大于各自的参考电压时,U0= 0,放电管导通;

在蓝桥杯单片机上面,555定时器是一个信号发生电路,通过电位器Rb3可以改变输出信号的频率。

555定时器模块在使用测频率的时候,用跳线帽将J13中的NAL与P34短接,NE555发生的信号输入到单片机的P34引脚

代码

unsigned int count_f=0;//用于频率计数
unsigned int dat_f=0;//用于频率记录
unsigned char count_t=0;//用于定时器定时

void InitTimer()
{
	TMOD=0x16;    //高四位0001,低四位0110,定时器1做定时,16位不自动重装载;定时器0作计数,8位重装
	
	TH0=0xff;
	TL0=0xff;
	
	//定时器1用作定时,时间为50ms
	TH1=(65535-50000+1)/256;
	TL1=(65535-50000+1)%256;
	
	ET0=1;//使能定时器0中断
	ET1=1;//使能定时器1中断
	EA=1;//使能总中断
	
	TR0=1;//开启定时器0
	TR1=1;//开启定时器1
}

void ServiceT0() interrupt 1
{
	count_f++;//每有一个信号,定时器0溢出进入中断,频率计数count_f加1
}

void ServiceT1() interrupt 3
{
	TH1=(65535-50000+1)/256;//重载定时器1计数初始值
	TL1=(65535-50000+1)%256;
	
	count_t++;//定时器定时加1
	if(count_t==20)//如果定时器1溢出20次,即50ms*20=1秒后,将count_f赋给dat_f,再将count_f,count_t清零,重新计数
	{
		dat_f=count_f;
		count_f=0;
		count_t=0;
	}
}

这一个模块在蓝桥杯省赛部分中并不常考,大家可以了解一下,看看有个印象,没那么重要,根据之前省赛用到过的模块来看,基本是都已经更新完了,还有一个超声波模块,那里不是很常使用,之前在省赛里面好像只考过一次,这里的更新也就告一段落。本人水平有限,所有代码都是自己的风格书写,但是大致的应该是没有什么问题,希望对大家有帮助如果有哪里出错或者有更好的解法可以与我私信或在评论区里进行讨论

后面会更新蓝桥杯的省题的代码,尽量全部更新出来,在蓝桥杯单片机赛题里面,如果能进国赛的话,国赛的赛题也会更新,大家一起加油吧

上一节:蓝桥杯单片机基础部分——5、DS18B20温度传感器

相关文章:

  • 【学术投稿-第四届材料工程与应用力学国际学术会议(ICMEAAE 2025】材料工程与应用力学的探讨
  • Java中的锁
  • 六、敏捷开发工具:项目管理工具
  • 常用Webpack Loader汇总介绍
  • 【C++】结构体排序+sort(),cmp()参数写法口诀
  • 【时时三省】(C语言基础)三种基本结构和改进的流程图
  • Day01 【苍穹外卖】环境搭建与前后端联调
  • 【Java】泛型与集合篇(二)
  • cesium视频投影
  • 【核心算法篇三】《DeepSeek强化学习:Atari游戏训练框架解析》
  • 使用 Docker 部署 Apache Spark 集群教程
  • IDEA——Mac版快捷键
  • 如何使用 MTG2000 和 FreeSWITCH 通过 SIP Trunk 搭建呼叫中心
  • Jetpack Compose系列教程之(16)——Compose生命周期及副作用函数
  • 玩客云 IP查找
  • 【C语言】第四期——循环语句
  • MySQL数据迁移工具
  • DeepSeek预测25考研分数线
  • Dubbo
  • LeetCode1287
  • 习近平同俄罗斯总统普京会谈
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 第1现场 | 50多年来首次!印度举行大规模民防演习
  • 进化版大巴黎通杀英超,那个男人后悔了吗
  • 中国证监会印发《推动公募基金高质量发展行动方案》
  • 央行、证监会:科技创新债券含公司债券、企业债券、非金融企业债务融资工具等