51单片机学习笔记——找不到REG52.H头文件,点亮一个LED

创建工程

将STC型号导入keil并使用

STC可以从官网下载,也可我这的网盘:

链接:https://pan.baidu.com/s/1bO85DPN3IFaXGhiKSwyOrA?pwd=7f4h 
提取码:7f4h

打开STC,选择“keil仿真设置”,选择“添加型号和头文件到keil中 \ 添加STC仿真器驱动到keil中”

然后会有指引:

创建工程

1、点击“Project”,点击“New ...(阿巴阿巴) Project"

2、勾选“STC MCU Database”,选择对应型号。然后OK。

比如使用的是“STC12C5A60S2”

3、一般选择“是”。

4、选中下面高亮的"Add New Item to..."

5、在弹出页面中,点击“C File”,一般取名叫main

6、成功会看到左边出现“main.c”

:上面4和5步骤是在往Source Group 1添加一个c文件,还可以像下面这么添加:

(a)点击File,点击New(或者Ctrl+N)创建一个新文件

(b)Ctrl + S,取个名字保存(最好是这个默认的文件夹下,好找)

(c)右键Source Group 1,点击“Add Existing..."

(d)在弹出的窗口中,选中你要添加的文件,点击“Add”,然后“Close”

LED闪烁

单片机上电时,所有IO口默认都是高电平

点亮一个LED

需求:八个LED灯,点亮其中一个

分析:单片机上电时,默认所有IO都都是高电平。如果想让其中一个LED点亮,则需要该LED灯的另一端是低电平。要想修改LED另一端的电平,修改对应的端口寄存器即可。比如,让第八个LED点亮,只需要寄存器 P2 = 0xFE;

#include <REGX52.H>

int main()
{
	while(1)
	{
		P2 = 0xFE;  // 1111 1110
	}
}

编译试试,编译在下面这个地方

编译成功,成功创建目标,无错误。

重在上手,烧到开发板上试试。

烧录

为了生成可以烧到单片机的十六进制文件,我们需要调整一些配置。

1、点击魔法棒:

2、target中修改单片机频率成你使用的单片机频率,STC12C5A60S2是12MHz

3、output里勾选”Create HEX File"后点击OK

4、再次点击build,看看哪里不一样了

生成了一个hex file(十六进制文件)

接下来只需要将这个十六进制文件烧录进去即可。

5、打开STC,选择单片机型号并配置

问题补充

(一)找不到REGX52.H头文件

引入头文件REGX52.H,右键发现不能打开该文件,那编译肯定会出错。

解决方案:

1、点击魔法棒

2、以此点击“C51”和“..."

3、弹出的窗口,点击选中处

4、弹出的窗口,点击三个点

5、找到你自己的keil5安装路径,依次选中C51、INC、Atmel(因为Atmel型号和STC型号比较像),然后点击”选择文件夹“

6、后面就依次点击OK就行。然后发现可以打开了

(二)REGX51.H 与 REGX52.H

——一般来说,选中`"REGX51.H"`头文件还是`"REGX52.H"`头文件,主要取决于你所使用的单片机型号。

"REGX51.H"`是51系列单片机的通用头文件。它定义了51系列单片机的特殊功能寄存器(SFR)和特殊位。使用标准的8051或其兼容的单片机,那么应该使用`"REGX51.H"`头文件。

"REGX52.H"`则是52系列单片机的专用头文件。它包含了52系列单片机的专用寄存器定义和特殊功能寄存器定义,只适用于52系列单片机。STC12C5A60S2这样的增强型8051单片机,尽管其指令代码与传统8051兼容,但由于其拥有更多的功能和资源,因此更适合使用`"REGX52.H"`头文件。

像STC12C5A60S2这样的增强型8051单片机,应该选择`"REGX52.H"`头文件,因为它会提供更完整和准确的寄存器定义。

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

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

相关文章

windows和mac共享文件夹访问教程

mac共享文件夹&#xff0c;windows访问&#xff1a; mac上开启文件夹共享&#xff0c;并添加文件夹和用户&#xff0c;然后windows 上 在windows上快捷键 win r 打开运行&#xff0c;按如下格式输入mac设备的IP地址&#xff1a; 就可以访问了&#xff1a; windows共享文件夹…

webauthn介绍及应用

1、webauthn介绍 官网&#xff1a;https://webauthn.io/ 1.1、什么是webauthn&#xff1f; webauthn即Web Authentication&#xff0c;是一个符合W3C标准的Web认证规范。它通过公私钥加密技术&#xff0c;实现无密码认证&#xff0c;用户仅需通过pin码、指纹、面部识别、usb …

iOS AccentColor 和 Color Set

AccentColor 和 Color Set 都是 Xcode 中用于颜色管理的功能&#xff0c;它们适用于不同的开发场景和需求。以下是它们的区别和应用场景分析&#xff1a; 1. AccentColor&#xff08;强调色&#xff09; 1.1 概念&#xff1a; • AccentColor 是在 Xcode 12 中引入的&#xf…

TiDB 的MPP架构概述

MPP架构介绍&#xff1a; 如图&#xff0c;TiDB Server 作为协调者&#xff0c;首先 TiDB Server 会把每个TiFlash 拥有的region 会在TiFlash上做交换&#xff0c;让表连接在一个TiFlash上。另外 TiFlash会作为计算节点&#xff0c;每个TiFlash都负责数据交换&#xff0c;表连接…

git回退指定版本/复制提交id

1.使用“git reset --hard 目标版本号”命令将版本回退2.使用“git push -f”提交更改 因为我们回退后的本地库HEAD指向的版本比远程库的要旧&#xff0c;此时如果用“git push”会报错。 改为使用 git push -f 即可完成回退后的提交。

本地部署 LLaMA-Factory

本地部署 LLaMA-Factory 1. 本地部署 LLaMA-Factory2. 下载模型3. 微调模型3-1. 下载数据集3-2. 配置参数3-3. 启动微调3-4. 模型评估3-5. 模型对话 1. 本地部署 LLaMA-Factory 下载代码&#xff0c; git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Facto…

BLE core 内容整理解释

本文内容比较杂散&#xff0c;只是做记录使用&#xff0c;后续会整理的有条理些 link layer 基本介绍 **Link Layer Control&#xff08;链路层控制&#xff09;**是蓝牙低功耗&#xff08;BLE&#xff09;协议栈的核心部分&#xff0c;负责实现设备间可靠、安全、低功耗的数…

HEIC 是什么图片格式?如何把 iPhone 中的 HEIC 转为 JPG?

在 iPhone 拍摄照片时&#xff0c;默认的图片格式为 HEIC。虽然 HEIC 格式具有高压缩比、高画质等优点&#xff0c;但在某些设备或软件上可能存在兼容性问题。因此&#xff0c;将 HEIC 格式转换为更为通用的 JPG 格式就显得很有必要。本教程将介绍如何使用简鹿格式工厂&#xf…

黑马商城项目—服务注册、服务发现

服务注册 我们把item-service注册到Nacos&#xff0c;步骤如下&#xff1a; 1.引入依赖 在item-service的pom.xml中添加依赖&#xff1a; 2.配置Nacos 在item-service的application.yml中添加nacos地址配置: 3.配置服务实例 为了测试一个服务多个实例的情况&#xff0c;我…

如何卸载和升级 Angular-CLI ?

Angular-CLI 是开发人员使用 Angular 的必备工具。然而&#xff0c;随着频繁的更新和新版本的出现&#xff0c;了解如何有效地卸载和升级 Angular-CLI 对开发人员来说至关重要。本指南提供了一个全面的、循序渐进的方法来帮助您顺利过渡到最新版本。 必备条件 确保您的系统上…

有道云笔记批量导出

前言 最近使用有道云笔记遇到打开过慢&#xff0c;导致笔记丢失&#xff0c;需要会员才能找回之前笔记问题。 决定改用思源&#xff0c;程序中的格式比较难于通过复制保留&#xff0c;即使导出成word 或者pdf&#xff0c;需要一个专门工具导出成Markdown格式&#xff0c;批量…

设计模式与游戏完美开发(2)

更多内容可以浏览本人博客&#xff1a;https://azureblog.cn/ &#x1f60a; 该文章主体内容来自《设计模式与游戏完美开发》—蔡升达 第二篇 基础系统 第四章 游戏主要类——外观模式&#xff08;Facade&#xff09; 一、游戏子功能的整合 一个游戏程序常常由内部数个不同的…

学习C++:变量

变量&#xff1a; 作用&#xff1a;给一段指定的内存空间起名&#xff0c;方便操作这段内容 &#xff08;变量存在的意义&#xff1a;方便我们管理内存空间&#xff09; 语法&#xff1a;数据类型 变量名 初始值&#xff1b; 实例&#xff1a;

electron-vite_18 设置系统音量loudness报错

loudness是一款控制系统音量输出的一款 Node.js 库&#xff1b;但是在electron-vite中直接使用编译的时候会报错&#xff1b;这个时候需要单独处理&#xff1b; 错误分析 error Error: spawn E:\xxx\out\main\adjust_get_current_system_volume_vista_plus.exe 查看编译后项目…

Chrome被360导航篡改了怎么改回来?

一、Chrome被360导航篡改了怎么改回来&#xff1f; 查看是否被360主页锁定&#xff0c;地址栏输入chrome://version&#xff0c;看命令行end后面&#xff08;蓝色部分&#xff09;&#xff0c;是否有https://hao.360.com/?srclm&lsn31c42a959f 修改步骤 第一步&#xff1a…

微信小程序-基于Vant Weapp UI 组件库的Area 省市区选择

Area 省市区选择&#xff0c;省市区选择组件通常与 弹出层 组件配合使用。 areaList 格式 areaList 为对象结构&#xff0c;包含 province_list、city_list、county_list 三个 key。 每项以地区码作为 key&#xff0c;省市区名字作为 value。地区码为 6 位数字&#xff0c;前两…

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容&#xff0c;方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里&#xff1a;发现正确识别和分析了链接里面的内容 链接如下&#xff1a;https://arxiv.org/pdf/2009.1…

GitLab的卸载与重装

目录 一、GitLab的卸载 二、 GitLab的安装与配置 1. 创建安装目录 2. 安装 3. 使用 3.1 初始化 3.2 创建空白项目 ​编辑 3.3 配置SSH 3.3.1 配置公钥 ​编辑 3.3.2 配置私钥 3.4 配置本地git库 一、GitLab的卸载 1. 停止gitlab sudo gitlab-ctl stop 2. 卸载…

中文学习系统:成本效益分析与系统优化

2.1 SSM框架介绍 本课题程序开发使用到的框架技术&#xff0c;英文名称缩写是SSM&#xff0c;在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等&#xff0c;作为一个课题程序采用SSH框架也可以&#xff0c;SSM框架也可以&#xff0c;SpringMVC也可以。SSH框架是属于重量级…

牛客网刷题 ——C语言初阶——BC112小乐乐求和

1.牛客网刷题 ——C语言初阶 牛客网&#xff1a;BC112小乐乐求和 小乐乐最近接触了求和符号Σ&#xff0c;他想计算的结果。但是小乐乐很笨&#xff0c;请你帮助他解答。 输入描述: 输入一个正整数n (1 ≤ n ≤ 109) 输出描述: 输出一个值&#xff0c;为求和结果。 示例1 输…