51-定时器与按键控制LED流水灯模式&定时器时钟

这篇具有很好参考价值的文章主要介绍了51-定时器与按键控制LED流水灯模式&定时器时钟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

51-定时器与按键控制LED流水灯模式&定时器时钟

一、定时器

按键(以独立按键为例)控制LED流水灯模式:

在按键控制LED流水灯模式中,如果仅仅简单的把独立按键与LED流水灯拼接起来,则会出现一些问题:在LED流水灯的代码中会有长时间的Delay,此时按键检测就会很不灵敏:按下时不灵敏,需要一些时间才能被检测到,按下后再松手时,也不灵敏,也需要一些时间才能被检测到,本节课则通过使用定时器来让按键控制LED流水灯模式,就可以解决这个问题、

51-定时器与按键控制LED流水灯模式&定时器时钟
51-定时器与按键控制LED流水灯模式&定时器时钟

51单片机定时器内部工作原理:

51-定时器与按键控制LED流水灯模式&定时器时钟

计数单元有好多种连接方式,不是只能单纯的加一,还可以做一些其他的操作:

51-定时器与按键控制LED流水灯模式&定时器时钟
51-定时器与按键控制LED流水灯模式&定时器时钟

在上图中,整体组成了51单片机的定时器,其中TR0控制第三个开关的闭合从而控制定时器的启动和暂停、

51-定时器与按键控制LED流水灯模式&定时器时钟

此时,该定时器就可以看做是一个计数器,每来一个脉冲(计数脉冲)就会加1(以加1为例),此处的溢出就可以看作是中断源、

51-定时器与按键控制LED流水灯模式&定时器时钟

若GATE的值为0,则第三个开关的闭合取决于TR0,若GATE的值为1,则第三个开关的闭合取决于TR0和INTO杠(单片机的外部中断引脚);上图中,三角号加圆圈代表非门,若左边给1,则右边为0,若左边给0,则右边为1;月牙代表或门, 有1即得1,无1则为0;门框代表与门,有0即得0,没0则为1,这些知识在数电中有讲解、

除了定时器(整体)需要中断系统,串口和单片机的 IO 口也都需要中断系统,更高级的单片机中的很多设备都需要中断系统,中断系统会与单片机内部的设备打交道,也会与很多单片机外部的设备打交道;注意:此处若说定时器,则指的是定时器整体,若说定时器的中断系统,指的则是定时器整体中的定时器的中断系统这一部分、文章来源地址https://www.toymoban.com/news/detail-477041.html

到了这里,关于51-定时器与按键控制LED流水灯模式&定时器时钟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 51单片机用定时器控制流水灯,呼吸灯

    让LED从L1开始流到L8,(间隔1S,使用定时器)然后全灭LED,然后从L1开始进行呼吸灯状态。之后L1,L3,L5,L7点亮,然后L2,L4,L6,L8点亮。最后所有LED全亮 #include REGX52.H #includeINTRINS.H sbit LED = P2 ^ 0; unsigned int TOTOTO = 0; int number = 0; unsigned int Time; unsigned int i; //配置定时器 void Timer0Init(

    2024年02月15日
    浏览(41)
  • STM32F103C8T6定时器实现led的周期闪烁及PWM实现流水灯

    通过定时器Timer方式实现时间的精准控制,相当于给CPU上了一个闹钟,CPU平时处理其它任务,当定时时间到了以后,处理定时相关的任务。请设置一个5秒的定时器,每隔5秒从串口发送“hello windows!”;同时设置一个2秒的定时器,让LED等周期性地闪烁。 使用TIM3和TIM4,分别输

    2024年01月23日
    浏览(56)
  • C51——定时器控制LED 每个一秒亮灭

    1 配置定时器0  2 给初值 定一个10ms 出来 3 开始计时  4 爆表了, 要操作LED #include \\\"reg52.h\\\" sbit led = P3^6; void main() {     int cnt =0;     led = 1;     //1配置定时器0工作模式位16位计时       TMOD =  0x01;     //2给初值,定出10ms来         TL0  = 0x00;         TH0  = 0xDC;     

    2024年02月08日
    浏览(48)
  • C51单片机——通过使用定时器控制LED闪灭

    目录 0 引言 1 定时的原理 1.1 生活中的定时 1.2单片机中的定时器 2 C语言程序设计 2.1 定时器的内部功能 2.2 设置寄存器 2.3 实验程序 3 有两个小问题(算是延伸吧) 3.1 只能0.05s闪一次吗? 3.2 每次都要在草稿纸手算初始值好麻烦

    2024年02月06日
    浏览(73)
  • 51单片机定时器。实验(六):定时器实验:使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)

    目录 题目: proteus仿真: 代码: 分析题目: 定时器: 工作方式寄存器TMOD设置: 控制寄存器TCON设置: 设定计数初值:  定时器四种工作方式: 实验过程讲解: 配置定时器:设置TMOD寄存器 设定定时器初值:THx和TLx(x=0,1) 设置IE寄存器: 启动定时器: 中断检测: 使用

    2023年04月20日
    浏览(54)
  • 51单片机按键控制流水灯

    1独立按键的原理图 按键所对应的引脚为P3的0、1、2、3引脚口,并且这里总共有四个独立按键,它们公共的一段都接到了 GND 电源的负极。这样我们就知道按键上电的默认电平为高电平。所以我们只需要控制按键按下时给一个低电平0,不按下时默认高电平1就行。  2按键控制

    2024年02月11日
    浏览(54)
  • FPGA学习——按键控制LED流水灯(附源码 无按键消抖版本)

    在博主的cyclone4开发板上一共有4个按键,本次实验的目的是为了实现每按下一次按键,都会使开发板上的4个LED灯切换一次状态,博主一共设计了四种状态,分别是: 按键 状态 按键1按下 自右向左的流水灯 按键2按下 自左向右的流水灯 按键3按下 四灯常亮 按键4按下 四灯闪烁

    2024年02月06日
    浏览(46)
  • 51单片机通过两个按键控制流水灯方向

    按键一接单片机P3_1,按键2接P3_0 8个流水灯接P2口 以下是代码:

    2024年02月11日
    浏览(47)
  • 【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯

    实验内容: 利用所学的单片机知识及电路知识编程实现单片机 I/O 口检测按键输入电平。         1.选中 8 位数码管的其中 1 位数码管,当独立按键 1 每按下一次,数码管加一(按下期间加 1),范围为 0—F;         2.选中 8 位数码管的另 1 位数码管,当独立按键 2

    2024年02月06日
    浏览(46)
  • 在51单片机中使用一个独立按键控制流水灯方向

    用独立按键控制流水灯转向,按下独立按键流水灯向右移动,再按下独立按键流水灯向左移动 此代码用到 逻辑左移:_crol_(移动对象,移动的位数) 逻辑右移:_cror_(移动对象,移动的位数)

    2024年02月07日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包