江协科技51单片机学习- p4 点亮一个LED灯

前言:

本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。

引用:

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

正文:

0. 概述

今天 (2024/06/13)在淘宝上购买了江协科技51单片机开发板套件,就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。

1. 点亮一个LED灯

打开Keil5软件,新建一个工程,选择CPU的型号为"Atmel89C52"就可以适配兼容我们开发板使用 的 STC89C52RC 单片机型号。

新建一个文件,添加第一个.c 源文件,文件名为 “main.c”,点击"add"之后就添加了一个文件 mainc.c 到工程里。

现在有一个空白的main.c文件,可以先编译一下这个文件,点击Keil5左上角的图标进行编译

Translate编译
Build
Rebuild
Batch Build

当面main.c 为空文件,先编译一下,看到输出0 Error,但是有1个Warning,告警提示“*** WARNING L10: CANNOT DETERMINE ROOT SEGMENT”,这是因为此时还没有 'main()' 函数。

2. LED正负极区分

LED:Light Emit Dimon 发光二极管

LED正负极的区分,以LED发光二极管的实物图来看,透明塑料封装的LED发光二极管里面小的是正极,大的是负极;如果LED发光二极管没有剪脚长的引脚为正极,短的引脚为负极。

对于贴片LED,在LED的背面有话一个箭头来指示正负极。

3. 开发板上LED电路原理图

开发板上LED电路原理图,找到8个LED灯的连接,8个LED右侧接VCC电源,左侧接P20~P27,然后找到P20~P27对应着的 STC89C51 芯片的哪个管脚,

可以看到P20~P27接到了STC89C51 芯片的 P2.0 ~P2.7 这8个引脚上。

普中-单核-A2开发板_51开发工具_教学仪器产品_深圳市普中科技有限公司

8个LED灯通过2个排阻(一个排阻左右各4个引脚),排阻上写了“102”,这个"102"标记表示了电阻的阻值,如何读这个"102"的符号哪?

这里电阻的作用为限流电阻,当LED的负极接上低电平时LED灯点亮。

102

表示 10 * 10^2 = 1K 欧姆

 473

表示 47* 10^3 = 47K 欧姆

1001 
表示 100* 10^1 = 1K 欧姆

1002

表示 100* 10^2 = 10K 欧姆

同理滑动变阻器(电位器)上标志为 "103" 表示为 "10*10^3=10K欧姆"。

同理滑动变阻器(电位器)上标志为 "103" 表示为 "10*10^3=10K欧姆"

4. 单片机如何控制IO口

单片机通过内部的寄存器来控制IO口的电平输出,寄存器里的值通过驱动器来控制IO口输出高电平还是低电平,驱动器是为了增大IO的驱动能力。通过向寄存器里对应位写1,寄存器通过驱动器向IO口输出高电平,寄存器里写0,寄存器通过驱动器向IO口输出低电平。

CPU通过控制寄存器来控制硬件电路,硬件电路来完成功能。

5.  编写源码

通过控制P2寄存器来配置P2口输出高低电平,进而控制P2口8个LED灯亮灭,从上面分析已经知道当P2口输出低电平时LED灯亮,输出高电平时LED灯灭。


void main()
{
	//P2µÄ×ÖĸPÓ¦¸ÃÊÇ´óд×Öĸ
	//Êä³öµÍµçƽʱµãÁÁLEDµÆ
	P2 = 0x0F;
}

点击Keil5编译按钮,看到编译器输出错误提示"P2 undefined ",这是因为还么有包含寄存器头文件,所以编译器不认识符号“P2”。那么如何包含头文件哪,选择keil5编辑器文件源码的首行,鼠标点击右键选择"insert '#include <REGX52.h>' ”,这样就包含了头文件 REGX52.H 了。

#include <REGX52.H>

void main()
{
	//P2µÄ×ÖĸPÓ¦¸ÃÊÇ´óд×Öĸ
	//Êä³öµÍµçƽʱµãÁÁLEDµÆ
	P2 = 0x0F;
}

再次编译,此时编译器提示0 Error,0 Waring,已经成功编译。

查看"REGX52.H" 文件源码,鼠标选中 "#include <REGX52.H>" 这一行,然后鼠标右键选择 "Open document  <REGX52.H>" 就可以查看该文件的源码,改文件里是各种的寄存器宏定义,P2就是一个寄存器的地址。

6. 使用STC-ISP下载程序到单片机

使用STC-ISP下载程序到单片机,第一步是选择CPU的型号,在下拉框里选择本教程开发板所以的芯片型号 "STC89C52"。然后,选择串口,在下拉框里选择连接开发板的串口号。

然后点击“打开程序文件”,找到Keil5编译生成的 hex 文件

在工程的文件目录里没有找到hex文件,是因为keil5默认是不生成hex文件的,需要再keil5中点击如下截图里工具栏,选择"output"选项卡,勾选上"Create HEX File",点击“OK”,再次编译。

再次编译后再工程目录里的"Objects"目录下就可以找到可以烧录到单片机的 hex 文件。

选择Hex文件之后,点击“下载”,然后将单品阿吉的开关按下复位

等待检测,但是发现收录失败,STC-ISP不能检测到单片机。

哔站视频教程的网友弹幕提示应该选择 STC89C52RC CPU型号

选择 STC89C52RC CPU型号之后,单片机检测成功,并且程序下载成功。

并且指定的LED点亮。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue2文件下载和合计表格

vue2文件数据不多可以直接下载不需要后端的时候 1.首先&#xff0c;确保你已经安装了 docx 和 file-saver 库 npm install file-saver npm install docx file-saver2.全部代码如下 <template><a-modaltitle"详情"width"80%"v-model"visi…

【x264】变换量化模块的简单分析

【x264】变换量化模块的简单分析 1. 变换量化1.1 变换&#xff08;transform&#xff09;1.2 量化&#xff08;quant&#xff09; 2. 编码入口&#xff08;x264_macroblock_encode&#xff09;2.1 内部编码&#xff08;macroblock_encode_internal&#xff09;2.1.1 SKIP模式2.…

CSS 字体颜色渐变

CSS 字体颜色渐变 css 代码: 注意&#xff1a;background: linear-gradient&#xff08;属性&#xff09;&#xff0c;属性可以调整方向 例如&#xff1a;to bottom 上下结构&#xff0c;to right 左右结构font-family: DIN, DIN;font-weight: normal;font-size: 22px;color:…

索尼cfa卡格式化了怎么恢复数据?这2种方法请收好

在摄影和视频制作领域&#xff0c;索尼CFA卡作为一种高性能的存储介质&#xff0c;深受专业用户的喜爱。然而&#xff0c;有时我们可能会不小心对CFA卡进行格式化操作&#xff0c;导致重要数据丢失。当面对这种情况时&#xff0c;许多用户会感到焦虑和困惑。本文将介绍索尼CFA卡…

线性代数|机器学习-P13计算特征值和奇异值

文章目录 1. 特征值1.1 特征值求解思路1.1 相似矩阵构造 1. 特征值 1.1 特征值求解思路 我们想要计算一个矩阵的特征值&#xff0c;一般是用如下公式&#xff1a; ∣ ∣ A − λ I ∣ ∣ 0 → λ 1 , λ 2 , ⋯ , λ n \begin{equation} ||A-\lambda I||0\rightarrow \lamb…

Wall国内开源程序照片墙,支持VR全景及安装教程

下载 GitHub官网&#xff1a;https://github.com/zhang-tong-yao/wall 软件下载&#xff1a;https://github.com/zhang-tong-yao/wall/releases&#xff0c;推荐下载最新的版本。 演示效果 目前支持PC端和移动端自适应。 演示地址&#xff1a;https://demo-wall.ityao.cn …

Python酷库之旅-比翼双飞情侣库(02)

目录 一、xlrd库的由来 二、xlrd库优缺点 1、优点 1-1、支持多种Excel文件格式 1-2、高效性 1-3、开源性 1-4、简单易用 1-5、良好的兼容性 2、缺点 2-1、对.xlsx格式支持有限 2-2、功能相对单一 2-3、更新和维护频率低 2-4、依赖外部资源 三、xlrd库的版本说明 …

盘点|AI大模型时代,2024医疗器械网络安全应对与挑战(上)

6月5日&#xff0c;以“AI驱动安全”为主题&#xff0c;2024全球数字经济大会数字安全高层论坛&#xff0c;暨北京网络安全大会战略峰会在北京国家会议中心开幕。 与会专家指出&#xff0c;攻击者可利用人工智能技术生成网络攻击和网络钓鱼工具&#xff0c;网络安全从人人对抗、…

多模态大模型:识别和处理图片与视频的技术详解

多模态大模型&#xff1a;识别和处理图片与视频的技术详解 多模态大模型&#xff1a;识别和处理图片与视频的技术详解1. 什么是多模态大模型&#xff1f;2. 多模态大模型的基本架构3. 识别和处理图片3.1 图像特征提取3.2 图像分类与识别3.3 图像生成与增强 4. 识别和处理视频4.…

【个人博客搭建】(25)做一个图形验证码功能

在系统的注册、登录等场景&#xff0c;都有很多类似的案例。也有类似于滑动验证、选字顺序验证等效果。今天带来的是文件流形式的&#xff0c;相当于动态图片吧 1、安装nuget包&#xff1a;Lazy.Captcha.Core 2、 在入口文件中注入&#xff1a; #region 图形验证码builder.Ser…

Spring对事务的支持

一、事务 事务防止进行操作时&#xff0c;数据库里面的数据丢失。 二、Spring事务注解方式 注解方式&#xff1a;在配置文件中配置事务管理器&#xff0c;利用注解&#xff0c;管理事务。 实例 银行转账&#xff1a;一个账户向另一个账户转账。 1&#xff09;先在数据库my…

串联谐振回路

等效电路 电感的损耗电阻&#xff0c;频率越高越大&#xff0c;与电感串联&#xff0c;会分走电压&#xff0c;不可忽略。 电容的漏电电阻&#xff0c;等效阻值大&#xff0c;与电容并联&#xff0c;高频时&#xff0c;电容容抗小&#xff0c;漏电电阻几乎分不走电流&#xf…

找不到libcef.dll是怎么回事?libcef.dll丢失的6种修复方法

在使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“电脑提示libcef.dll丢失”。这个问题可能让人感到困惑和烦恼&#xff0c;但通过了解其原因和解决方法&#xff0c;我们可以更好地应对类似的问题。在本文中&#xff0c;我将分享我对于“电…

QML Canvas 代码演示

一、文字阴影 / 发光 Canvas{id: root; width: 400; height: 400onPaint: //所有的绘制都在onPaint中{var ctx getContext("2d") //获取上下文// 绘制带阴影的文本ctx.fillStyle "#333" //设置填充颜色ctx.fillRect(0, 0, root.width, root.height…

Fluid 1.0 版发布,打通云原生高效数据使用的“最后一公里”

作者&#xff1a;顾荣 前言 得益于云原生技术在资源成本集约、部署运维便捷、算力弹性灵活方面的优势&#xff0c;越来越多企业和开发者将数据密集型应用&#xff0c;特别是 AI 和大数据领域应用&#xff0c;运行于云原生环境中。然而&#xff0c;云原生计算与存储分离架构虽…

【数字化转型,销售先行】销售的数字化转型需要做哪些工作?

引言&#xff1a;销售进行数字化转型的背景主要包括市场环境的快速变化、新技术发展的推动、企业发展的需求以及数据驱动决策的需求。这些背景因素共同促使企业加快数字化转型步伐&#xff0c;以适应市场变化、提升竞争力并实现可持续发展。 销售的数字化转型包含哪些内容&…

Qt飞机大战小游戏

Gitee地址 &#xff1a;plane-game: 基于Qt的飞机大战小游戏 GitHub地址&#xff1a; https://github.com/a-mo-xi-wei/plane-game

群晖NAS安装配置Joplin Server用来存储同步Joplin笔记内容

一、Joplin Server简介 1.1、Joplin Server介绍 Joplin支持多种方式进行同步用户的笔记数据&#xff08;如&#xff1a;Joplin自己提供的收费的云服务Joplin Cloud&#xff0c;还有第三方的云盘如Dropbox、OneDrive&#xff0c;还有自建的云盘Nextcloud、或者通过WebDAV协议来…

-bash: unzip: command not found

1、报错截图如下 2、解决办法 yum install unzip

【Python/Pytorch - 网络模型】-- 手把手搭建3D VGG感知损失模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的3D VGG代码02 论文下载 00 写在前面 感知损失&#xff1a;对于提升图片的肉眼可见细节&#xff0c;效果十分明显&#xff1b;对于一些指标如&#xff08;SSIM、PSNR&#xff09;这些&#xff0c;效果不明显。 在01中&…