首页 > 编程语言 >8051微控制器的程序用于控制LED的闪烁

8051微控制器的程序用于控制LED的闪烁

时间:2023-12-07 15:31:42浏览次数:47  
标签:TimerTick 8051 定时器 LED 中断 TimeOver 闪烁 微控制器

这段代码是一个基于8051微控制器的程序,用于控制LED的闪烁。程序使用了定时器中断来实现LED的闪烁效果。


首先,定义了一个全局变量`TimerTick`来计数中断次数,以及一个标志位`TimeOver`用于在主函数中切换端口引脚的状态。


然后,定义了一个名为`timer0`的中断服务例程,该例程在定时器0中断发生时被调用。在中断服务例程中,`TimerTick`被递增,当`TimerTick`大于200时,将`TimeOver`设置为1,并将`TimerTick`重置为0。


接下来,在主函数`main`中,通过设置定时器0的周期和模式,启动定时器0并启用中断。同时,全局中断也被启用。


最后,进入一个无限循环,等待中断服务例程设置`TimeOver`标志。一旦标志被设置,就切换P3口的第1位(即LED)的状态,以实现LED的闪烁效果。然后将`TimeOver`标志重置为0,继续等待下一次中断。


这段代码的作用是使用定时器中断来控制LED的闪烁,每隔一段时间(250个时钟周期),中断服务例程就会被调用一次,从而切换LED的状态,实现闪烁效果。

标签:TimerTick,8051,定时器,LED,中断,TimeOver,闪烁,微控制器
From: https://blog.51cto.com/u_15950621/8723550

相关文章

  • nginx:Failed to start nginx.service:unit not found
    nginx:Failedtostartnginx.service:unitnotfound-知乎(zhihu.com)错误的原因就是没有添加nginx服务,所以启动失败。解决方法:1. 在/root/etc/init.d/目录下新建文件,文件名为nginx或者用命令在根目录下执行:#vim/etc/init.d/nginx(注意vim旁边有一个空格)2.插入......
  • ARM架构与编程--基于STM32F103 (1)LED原理图
    ARM架构与编程--基于STM32F103--(1)LED原理图--前言学习笔记《硬件知识_LED原理图》一、点亮一个led的步骤当我们学习C语言的时候,我们会写个Hello程序。那当我们写ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。我们怎样去点亮一个LED呢?分为三步:1.看原理图,确......
  • 02-独立按键控制led
    02-独立按键控制led按键的抖动对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动一、控制led的亮灭按住亮松开灭#include<REGX52.H>voidmain(){......
  • Binding failed for port xxxxxx
    nova-compute.log2040-13-3220:02:33.4517ERRORnova.compute.manager[Nonereq-b844f0bb-e907-4c17-807f-3f418be83679207fdd48eb414c78bdbc9b6a55362dc59252305d9c2f46bc882c15d412d25911--defaultdefault]Instancefailednetworksetupafter1attempt(s):n......
  • Data is Null. This method or property cannot be called on Null values.
    升级到abp.io7.4EF报错System.Data.SqlTypes.SqlNullValueException:DataisNull.ThismethodorpropertycannotbecalledonNullvalues.atMicrosoft.Data.SqlClient.SqlBuffer.ThrowIfNull()atMicrosoft.Data.SqlClient.SqlBuffer.get_String()atMicroso......
  • hive执行sql报错 FAILED: Execution Error, return code 3 from org.apache.hadoop.hi
    前言:执行hivesql报错,sql逻辑是两个表左连接并将数据插入新的表中。报错信息:[ERROR]2023-12-0515:49:49.165+0800-executesqlerror:Errorwhileprocessingstatement:FAILED:ExecutionError,returncode3fromorg.apache.hadoop.hive.ql.exec.mr.MapredLocalTa......
  • centos 8 Failed to download metadata for repo ‘AppStream’: Cannot prepare inte
     查询后发现问题的原因是Centos8于2021年年底停止了服务,我们在使用yum源安装时候,出现下面错误“错误:Failedtodownloadmetadataforrepo‘AppStream’:Cannotprepareinternalmirrorlist:NoURLsinmirrorlist”。解决办法:1. 进入yum的repos目录:  cd/etc/yum.r......
  • 一种LED驱动专用控制电路方案
    一、基本的概述TM1651是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU数字接口、数据锁存器、LED高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。采用SOP16/DIP16的封装形式。二、特性说明采用功率CMOS工艺显示模式(7字段×4位),支持共阳数码管......
  • pydantic.errors.PydanticImportError,'pydantic:compiled' 在 Pydantic 版本 2 中已被
    今天编译python程序时pyinstaller-F--version-filefile_version_info.txtMelliferaCMD.py收到错误:58759INFO:Loadingmodulehook'hook-pydantic.py'from'D:\\env\\fbt\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks&......
  • 【GD32307E-START】03 SPI-OLED显示模块移植
    【GD32307E-START】03SPI-OLED显示模块移植软硬件平台GD32F307E-STARTBoard开发板GCCMakefile|接口|说明||--------|-----------------------------------------------||GND|电源地......