51 单片机[2-2]:LED闪烁

摘要:

本文使用STC89C52RC单片机实现单个LED闪烁


新建一个项目,具体步骤见[2-1]

分析: 要使 LED 闪烁(以D1为例),就要先让 P2 = 0xfe; 再让 P2 = 0xff;
先在keil5中把程序写成这样:

#include <REGX52.H>void main()
{while(1){P2 = 0xfe;P2 = 0xff;}
}

在STC-ISP中下载程序后,发现 D1 灯没有闪烁,好像只是变得比之前暗了。

这是因为程序执行是按兆赫兹MHz执行的,闪得太快了,肉眼看不出来。

所以需要调整一下。点击“软件延时计算器”,调整“系统频率为12MHz”(因为我用的开发板的晶振电路是12MHz),调整“定时长度”为500,单位是毫秒,调整“指令集”为STC-Y1,这个指令集是适用于我的开发板的。最后点击复制代码。
img

进入Keil5,把刚才复制的代码粘贴到主函数之前。build一下发现报了一个警告和一个错误:
img

解决办法:再添加一个头文件#include <INTRINS.H>

现在再build一下,可以看到,0错误,1警告
img
这个警告翻译过来是:未调用段,覆盖过程忽略。
意思是说,主函数中没有调用子函数Delay500ms()

现在在主函数中调用Delay500ms()

void main()
{while(1){P2 = 0xfe;Delay500ms();P2 = 0xff;Delay500ms();}
}

点击build,发现0错误、0警告。
在STC-ISP中,把代码下载到单片机中。重启单片机。

可以看到D1灯在闪烁!

附上完整代码:

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2 = 0xfe;Delay500ms();P2 = 0xff;Delay500ms();}
}

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

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

相关文章

代码随想录——在每个树行中找最大值(Leetcode515)

题目链接 层序遍历 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) …

二叉树找数左下角值

题目很容易理解&#xff1a;就是找二叉树左下角的值 思路&#xff1a;肯定是使用递归的方法&#xff0c;并且实现的效果是&#xff0c;先到最左边&#xff0c;然后当为叶子结点的时候比较一下当前是否为最大深度&#xff0c;如果是更新最大深度&#xff0c;并且修改结果。如果…

风电功率预测 | 基于BP神经网络的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测 | 基于BP神经网络的风电功率预测(附matlab完整源码)完整代码风电功率预测 | 基于BP神经网络的风电功率预测(附matlab完整源码) 基于BP神经网络的风电功率预测是一种常见的方法,它利用BP神经网络模型来预测风电场的发电功率。下面是一个基于BP神经…

SEO之为什么研究关键词(二)

初创企业需要建站的朋友看这篇文章&#xff0c;谢谢支持&#xff1a; 我给不会敲代码又想搭建网站的人建议 新手上云 &#xff08;续上一篇。。。。。&#xff09; 3、寻找有效流量 排名和流量都不是目的&#xff0c;有效流量带来的转化才是目的。就算公司有足够的实力将一些…

010.理解异步性

异步消息传递是响应式系统的一个关键特性。但到底是什么异步性&#xff0c;为什么它对响应式应用程序如此重要?我们的人生注定在许多异步任务中。你可能没有意识到&#xff0c;但你的日常活动如果它们本质上不是异步的&#xff0c;那就太烦人了。要理解什么是异步&#xff0c;…

Python程序性能优化:策略与工具深度解析

Python程序性能优化&#xff1a;策略与工具深度解析 一、引言 Python作为一种高级编程语言&#xff0c;因其简洁的语法和强大的功能库而深受开发者的喜爱。然而&#xff0c;Python在性能上常常被诟病为“慢慢的”语言。但在实际应用中&#xff0c;通过一系列的性能优化策略和…

Burp Suite Professional 2024.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional 2024.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接&#xff1a;Burp Suite Professional 2024.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…

云动态摘要 2024-05-15

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 最新优惠与活动 [免费试用]即刻畅享自研SaaS产品 腾讯云 2024-04-25 涵盖办公协同、营销拓客、上云安全保障、数据分析处理等多场景 云服务器ECS试用产品续用 阿里云 2024-04-14 云服务器ECS试用产品续用…

一本书打通SLAM在智能汽车/自动驾驶领域应用

自动驾驶技术已成为当今数字化时代汽车行业的热点话题之一。随着技术的不断成熟&#xff0c;越来越多的车辆采用激光SLAM&#xff08;即时定位与地图构建&#xff09;和视觉SLAM技术&#xff0c;实现更高层次的智能网联汽车。SLAM技术在智能网联汽车中的应用是非常重要的&#…

【算法】NOIP2003神经网络

题目描述 人工神经网络&#xff08;Artificial Neural Network&#xff09;是一种新兴的具有自我学习能力的计算系统&#xff0c;在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向&#xff0c;兰兰同学在自学了一本神经网络的…

守护长者安全,平安养老险携手福海街道开展防灾减灾活动

在构建和谐社会、倡导人文关怀的当下&#xff0c;平安养老险以高度的社会责任感和深厚的人文情怀&#xff0c;持续关注老年人的健康与安全。在今年“5.12防灾减灾日”来临之际&#xff0c;平安养老险深圳分公司积极响应倡议&#xff0c;于5月10日携手福海街道举办了在福海街道举…

4种现象表明你的血糖控制良好!

如果你出现以下4种现象&#xff0c;恭喜你&#xff0c;说明你的血糖控制的不错&#xff0c;需要继续坚持。 1.饥饿感减少&#xff0c;我们的脏腑能够吸收血液中的糖分了&#xff0c;就用不着饿了。&#xff0c;血液中的糖能够得到充分的利用&#xff0c;血糖自然降下去。 2.体…

如何限制spark任务占用yarn资源的最大内存和cpu

在使用 spark-submit 提交 PySpark 作业时&#xff0c;可以通过设置一些参数来限制任务占用的 YARN 资源&#xff0c;包括内存和CPU。以下是一些关键的配置选项&#xff1a; 内存限制&#xff1a; --executor-memory: 为每个执行器设置内存。这是执行器可以使用的最大内存量。…

减肥箴言集合

吃得太好&#xff0c;又太多了。体重指数体重&#xff08;千克&#xff09;身高&#xff08;米&#xff09;的平方。女人的体重指数在1925之间&#xff0c;男人则应在2024之间。肥胖问题经常使你的内心矛盾&#xff0c;尽管你知道&#xff0c;你早该减肥了。长时间的肥胖会伴随…

Leecode热题100---11:盛最多水的容器

题目&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾…

数据结构学习/复习14--归并排序的递归与循环实现/计数排序

一、归并排序 1.递归实现 注意事项&#xff1a;即使排序的数字个数不为2的倍数也可正常分解&#xff0c;其思想没有规定一定要左右数目对称才可合并 注意事项&#xff1a;归并的思想还适用于外排序 2.递归改循环 注意事项&#xff1a;边界处理与非2的n次方倍的处理 版本1&…

基于HTTP GET方式获取网络时间的实现

上一节&#xff0c;我们介绍了基于NTP服务器获取网络时间的例子&#xff0c;但在有些情况下&#xff0c;比如我最近在使用RNDIS协议通过4G模块上网&#xff0c;这个协议不支持UDP协议&#xff0c;所以就用不了NTP服务器。或者有时候我们需要有更多的网络时间获取方式&#xff0…

RK3568平台开发系列讲解(SPI篇)spi_dev 驱动分析

🚀返回专栏总目录 文章目录 一、结构体二、API三、spidev驱动分析3.1、init3.2、probe3.3、spidev_write3.4、spidev_read3.5、spidev_open四、spi_register_driver分析五、spi_dev缺点沉淀、分享、成长

SpringBoot解决CORS跨域——@CrossOrigin

前端请求后端报错了。 状态码&#xff1a;403 返回错误&#xff1a;Invalid coRs request 一个注解就搞定了。 在类上加 CrossOrigin

数据库的函数、存储过程、触发器详解

一.变量 1.系统变量 global session 2.用户自定义变量 1.不用提前声明&#xff0c;使用时直接 变量名 2.set namelisi; set 字段名 into name from 表名 3.局部变量 1.需要用declare声明 2.declare 变量名 类型 3.set 变量名值 二.触发器 .1函数 DELIMITE…