51单片机采用定时器T1的方式1的中断计数方式,外接开关K4按4次后,8只LED闪烁不停

1、功能描述

采用定时器T1的方式1的中断计数方式,外接开关K4按4次后,8只LED闪烁不停

2、实验原理

定时器原理:8051的定时器可以用于计数外部事件或执行内部定时操作。在本程序中,定时器1被设置为模式2,即8位自动重装载定时器模式。

中断机制:8051微控制器支持中断,可以响应外部或内部事件。定时器溢出可以触发中断,中断服务程序可以执行特定的任务。

端口控制:P2端口用于输出信号,程序通过改变P2端口的状态来实现LED灯的闪烁。

3、编程思路

初始化设置:首先,通过timer1_init()函数初始化定时器1,设置定时器模式、重装载值,并启动定时器。

主循环:在main()函数的无限循环中,P2端口初始设置为高电平(P2=0xff;),然后检查count变量的值。如果count为1,P2端口输出低电平(P2=0x00;),延时500毫秒,再输出高电平,再延时500毫秒,模拟LED灯的闪烁。

中断触发:定时器1的中断服务程序timer1()会在定时器溢出时被调用,将count设置为1,触发P2端口状态的改变。

延时实现:delay()函数通过双重循环实现延时,延时时间由传入的毫秒数决定。

通过这种方式,程序实现了一个简单的LED闪烁效果,展示了定时器中断和端口控制的基本应用。

4、代码

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned charuchar  count=0;void delay(unsigned int xms)
{unsigned char i,j;while (xms){i = 2;j = 239;do{while (--j);}while (--i);xms--;}}void timer1_init(void)
{TMOD = 0x50; TH1 = (65536-4)/256;   TL1 = (65536-4)%256;ET1 = 1; EA = 1;  TR1 = 1; 
}void main()
{timer1_init(); while (1){P2=0xff;
if(count==1)
{P2=0x00;
delay(500);
P2=0xff;
delay(500);
}}}void timer1() interrupt 3
{count=1; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/850612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DefaultTokenServices源码

文章目录 DefaultTokenServices实现的接口AuthorizationServerTokenServicesResourceServerTokenServicesConsumerTokenServices 代码属性定义createAccessToken(OAuth2Authentication)createRefreshToken(OAuth2Authentication) DefaultTokenServices DefaultTokenServices是…

Unity Shader基础知识的入门了解

目录 1、Unity 中的shader 里面的所谓的顶点坐标&#xff0c;用通俗的语言讲解一下? 什么是顶点&#xff1f; 顶点坐标是什么&#xff1f; 通俗解释顶点坐标 在Unity Shader中的顶点坐标 在Shader中使用顶点坐标 总结 2、顶点UV1/UV2 是什么意思&#xff0c;用通俗的语…

LeetCode116.填充每个节点的下一个右侧节点指针

法一&#xff1a; /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next;Node() : val(0), left(NULL), right(NULL), next(NULL) {}Node(int _val) : val(_val), left(NULL), right(NULL), next(NULL) {}Node(int _val, Node* _left…

AI大模型学习(非常详细)零基础入门到精通,收藏这一篇就够了

前言 随着人工智能技术的快速发展&#xff0c;AI大模型学习正成为一项备受关注的研究领域。为了提高模型的准确性和效率&#xff0c;研究者们需要具备深厚的数学基础和编程能力&#xff0c;并对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法&#xff0c;AI大模…

python如何输入回车

Python默认遇到回车的时候&#xff0c;输入结束。所以我们需要更改这个提示符&#xff0c;在遇到空行的时候&#xff0c;输入才结束。 raw_input就是从标注输入读取输入&#xff0c;输入的是什么就是什么。 文档解释&#xff1a; The function then reads a line from input,…

软考 系统架构设计师系列知识点之杂项集萃(30)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;29&#xff09; 第47题 安全性是根据系统可能收到的安全威胁的类型来分类的。其中&#xff0c;&#xff08; &#xff09;保证信息不泄露给未授权的用户、实体或过程&#xff1b;&#xff08; &a…

RabbitMQ 2万字面试题及参考答案

目录 什么是RabbitMQ? RabbitMQ的Broker、Exchange、Queue、Binding、Routing Key、VHost分别是什么? RabbitMQ中的生产者(Producer)和消费者(Consumer)的角色是什么? 什么是RabbitMQ的Channel? RabbitMQ支持哪些消息传输保证层级(如At most once, At least once…

不相同的字符串 acm模式刷题

题目描述 给定一个只包含小写字母的字符串&#xff0c;每次操作可以将两个相同的字母删除&#xff0c;然后在字符串的末尾新增任意一个小写字母。请问最少需要多少次操作&#xff0c;才能使字符串中所有的字母都不相同。 输入描述 第一行是一个整数 N&#xff0c;表示后续会有 …

UFS协议入门-分层结构

写在前面:本文参考UFS jedec3.1,本文思维导图如下 1. 分层概述 UFS协议分为3层,从上至下分别是:应用层(UAP),传输层(UTP),互联层(UIC),具体结构如下图所示。 2.1 应用层 在应用层(UAP)中,包括:UFS指令集(UCS),设备管理器(Device Manager),任务管理器(Task Manager…

代码随想录算法训练营第三十二天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

LeetCode 122.买卖股票的最佳时机II 题目链接&#xff1a;122.买卖股票的最佳时机II 踩坑&#xff1a;差点陷入不必要的细节&#xff0c;比如怎么表现买入卖出&#xff0c;怎么体现同一天买入卖出 思路&#xff1a;这里的股票买卖是看了天眼&#xff0c;明天的涨跌今天就知道…

基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 fpga仿真结果 matlab调用FPGA的仿真结果进行图像显示 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 ......................…

检测数据类型的方法有哪些

1.typeof&#xff0c;问题是对null的结果是object console.log(typeof 42); // "number" console.log(typeof hello); // "string" console.log(typeof true); // "boolean" console.log(typeof undefined); // "undefined" console.…

Knife4j 生成 API 文档

文章目录 Knife4j 简介使用步骤Knife4j 常用注解的列表案例可能遇到报错 Knife4j 简介 Knife4j 是一个增强的 Swagger 文档生成工具&#xff0c;提供了更加友好的界面和更多功能&#xff0c;使得 API 文档更加美观且易于使用。它是基于 Spring Boot 和 Swagger 进行封装的&…

2024年二级建造师考试题库及答案

一、单选题 11.对于同类型产品规格多、工序重复、工作量小的施工过程&#xff0c;编制人工定额宜采用的方法是&#xff08;&#xff09;。 A.经验估算法 B.技术测定法 C.统计分析法 D.比较类推法 答案&#xff1a;D 解析&#xff1a;本题考察的是"制定人工定额的常…

Xcode 安装17.5 simulator 总是失败

升级到xcode15.4后需要安装ios17.5模拟器 但是在下载过程中会遇到报错 : The network connection is lost 解决方案&#xff1a; 先将模拟器下载到本地 Xcode 安装17.5 simulator 下载地址&#xff1a; Sign In - Applhttps://developer.apple.com/download/all/?qXcode 下…

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇&#xff08;十五&#xff09;—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中&#xff0c;我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…

07.组件间通信-provide-inject(祖孙通信)

组件间通信-provide-inject&#xff08;祖孙通信&#xff09; 父组件&#xff1a; <template><div class"father"><h3>父组件</h3><h4>银子&#xff1a;{{ money }}万元</h4><h4>车子&#xff1a;一辆{{car.brand}}车&am…

【计算机网络】P3 计算机网络协议、接口、服务的概念、区别以及计算机网络提供的三种服务方式

目录 协议什么是协议协议是水平存活的协议的组成 接口服务服务是什么服务原语 协议与服务的区别计算机网络提供的服务的三种方式面向连接服务与无连接服务可靠服务与不可靠服务有应答服务与无应答服务 协议 什么是协议 协议&#xff0c;就是规则的集合。 在计算机网络中&…

# 梯影传媒T6投影仪刷机方法及一些刷机工具链接

梯影传媒T6投影仪刷机方法及一些刷机工具链接 文章目录 梯影传媒T6投影仪刷机方法及一些刷机工具链接1、安装驱动程序2、备份设备rom【boot、system】3、还原我要刷进设备的rom【system】4、打开开发者模式以便于安装apk5、root设备6、更多好链接&#xff1a; 梯影传媒T6使用的…