当前位置: 首页 > news >正文

51单片机教程(二)- 创建项目

1 创建项目

  1. 创建项目存储文件夹:C51Project

  2. 打开Keil5软件,选择 Project -> New uVision Project:

    在这里插入图片描述
    在这里插入图片描述

  3. 选择项目路径,即刚才创建的文件夹

  4. 选择芯片,选择 Microchip(微型集成电路),直接搜索【AT89C52】,点击【OK】

    在这里插入图片描述

  5. 不加载启动文件到项目,点击【否】

    在这里插入图片描述

  6. 创建【main.c】文件

    在这里插入图片描述

  7. 添加到项目组,选择 main.c 文件

    在这里插入图片描述
    在这里插入图片描述

  8. 准备测试程序

    #include <reg52.h>/* 熄灭LED1 */#define LED P1void main()
    {while(1){LED = 0x01;}
    }
  9. 运行设置

    1. 点击【魔法棒】图标

      在这里插入图片描述

    2. 晶振设置

      在这里插入图片描述

    3. 生成 hex 文件(勾选 Create HEX File),点击OK
      在这里插入图片描述

  10. 编译程序

    • 观察第3步,需保证项目运行:无错误(0 Error)在这里插入图片描述

2 烧录软件

1 下载

  • 官网:https://www.stcmcu.com/

    在这里插入图片描述

2 操作

  1. 硬件连接:USB连接上开发板与单片机开发板,按下电源键

  2. 软件操作

    1. 打开【stc-sip.exe】

      在这里插入图片描述

    2. 软件设置

      • 单片机型号:STC89C52RC
      • 串口号:USB-SERIALCH340(COM6)
    3. 下载程序

      • 点击STC-ISP软件界面中【打开程序文件 xxx.hex】
      • 点击【下载/编程】
    • 注意:在烧录程序时,按2次电源按钮
  3. 等待烧录

    • 出现:仍在连接中,请给 MCU 上电,将MCU重启。

3 常见问题

1 设备管理器无端口选项

  1. 点击设备管理器中的 操作,选择 添加过时硬件

    在这里插入图片描述

  2. 添加硬件,点击 下一页

    在这里插入图片描述

  3. 硬件驱动向导,默认选择(搜索并自动安装硬件(推荐))选项,选择 下一页

    在这里插入图片描述

  4. 从列表中选择,点击 下一页

    在这里插入图片描述

  5. 选择安装的硬件设备,下滑找到 端口(COM 和 LPT),点击 下一页

    在这里插入图片描述

  6. 选择为此设备安装的设备驱动程序,选择 标准端口类型,型号选择 通信端口,点击 下一页

    在这里插入图片描述

  7. 向导准备安装你的硬件窗口,点击 下一页

    在这里插入图片描述

  8. 正在完成添加硬件向导窗口,点击 完成

    在这里插入图片描述

  9. 这样就可以在设备管理器界面,看到 端口 选项了

    在这里插入图片描述

2 设置较小的COM口

  1. 选择对应的端口(USB-SERIAL CH340),右击选择 属性

    在这里插入图片描述

  2. 设置较小的COM口,避免在STC-ISP中找不到对应的 COM 口。

    在这里插入图片描述

4 项目创建总结

  1. project --》第1项:new …
  2. 选择项目的存储位置,设置项目的名称(不要纯数字、尽量不要用中文)
  3. 选择单片机:搜索 AT89C52 (atc 三个字母大小写都可以),选到AT89C52
  4. 是否将 .a51 添加到项目里,直接选否
  5. 新建文件:file 下面 图标
  6. 保存文件: xxx.c 【记得加 .c】
  7. 将 .c文件添加至工程中【操作看上面的截图】
  8. 编写代码
  9. 设置运行时产生 hex 文件【操作看上面的截图】
  10. 编译代码【选择file 下的第3排:第2或第3个图标】,看运行结果:
    creating hex file from “.\Objects\ledControl”…
    “.\Objects\ledControl” - 0 Error(s), 0 Warning(s). 表示成功
  11. 打开烧录软件,选择好单片机的型号(STC89C52RC)、端口(COMx USB xxx CH340)
  12. 点击【打开程序文件】,选择项目的 Objects 目录下的 xx.hex
  13. 点击【下载/编程】,给单片机重启,等待出现:下载成功,观察板子上的效果

相关文章:

51单片机教程(二)- 创建项目

1 创建项目 创建项目存储文件夹&#xff1a;C51Project 打开Keil5软件&#xff0c;选择 Project -> New uVision Project&#xff1a; 选择项目路径&#xff0c;即刚才创建的文件夹 选择芯片&#xff0c;选择 Microchip&#xff08;微型集成电路&#xff09;&#xff0…...

Rust 图形界面开发——使用 GTK 创建跨平台 GUI

第五章 图形界面开发 第一节 使用 GTK 创建跨平台 GUI GTK&#xff08;GIMP Toolkit&#xff09;是一个流行的开源跨平台图形用户界面库&#xff0c;适用于创建桌面应用程序。结合 Rust 的 gtk-rs 库&#xff0c;开发者能够高效地构建现代化 GUI 应用。本节将详细探讨 GTK 的…...

Hellinger Distance(赫林格距离)

Hellinger Distance&#xff08;赫林格距离&#xff09;是一种用于衡量两个概率分布相似度的距离度量。它通常用于概率统计、信息论和机器学习中&#xff0c;以评估两个分布之间的相似性。Hellinger距离的值介于0和1之间&#xff0c;其中0表示两个分布完全相同&#xff0c;1表示…...

【系统架构设计师】七、设计模式

7.1 设计模式概述 设计经验在实践者之间日益广泛地利用&#xff0c;描述这些共同问题和解决这些问题的方案就形成了所谓的模式。 7.1.1 设计模式的历史 建筑师Christopher Alexander首先提出了模式概念&#xff0c;他将模式分为了三个部分&#xff1a; 特定的情景&#xff…...

新工具可绕过 Google Chrome 的新 Cookie 加密系统

一位研究人员发布了一款工具&#xff0c;用于绕过 Google 新推出的 App-Bound 加密 cookie 盗窃防御措施并从 Chrome 网络浏览器中提取已保存的凭据。 这款工具名为“Chrome-App-Bound-Encryption-Decryption”&#xff0c;由网络安全研究员亚历山大哈格纳 (Alexander Hagenah…...

模型拆解(三):EGNet、FMFINet、MJRBM

文章目录 一、EGNet1.1编码器&#xff1a;VGG16的扩展网络 二、EMFINet2.1编码器&#xff1a;三分支并行卷积编码器2.2CFFM&#xff1a;级联特征融合模块2.3Edge Module&#xff1a;突出边缘提取模块2.4Bridge Module&#xff1a;桥接器2.5解码器&#xff1a;深度特征融合解码器…...

齐次线性微分方程的解的性质与结构

内容来源 常微分方程(第四版) (王高雄,周之铭,朱思铭,王寿松) 高等教育出版社 齐次线性微分方程定义 d n x d t n a 1 ( t ) d n − 1 x d t n − 1 ⋯ a n − 1 ( t ) d x d t a n ( t ) x 0 \frac{\mathrm{d}^nx}{\mathrm{d}t^n} a_1(t)\frac{\mathrm{d}^{n-1}x}{\math…...

Python-Celery-基础用法总结-安装-配置-启动

文章目录 1.安装 Celery2.配置 Celery3.启动 Worker4.调用任务5.任务装饰器选项6.任务状态7.定期任务8.高级特性9.监控和管理 Celery 是一个基于分布式消息传递的异步任务队列。它专注于实时操作&#xff0c;但也支持调度。Celery 可以与 Django, Flask, Pyramid 等 Web 框架集…...

vue中的nextTick() - 2024最新版前端秋招面试短期突击面试题【100道】

nextTick() - 2024最新版前端秋招面试短期突击面试题【100道】 &#x1f504; 在Vue.js中&#xff0c;nextTick 是一个重要的方法&#xff0c;用于在下次DOM更新循环结束之后执行回调函数。理解 nextTick 的原理和用法可以帮助你更好地处理DOM更新和异步操作。以下是关于 next…...

5G学习笔记三之物理层、数据链路层、RRC层协议

5G学习笔记三之物理层、数据链路层、RRC层协议 物理层位于无线接口协议栈的最底层&#xff0c;作用&#xff1a;提供了物理介质中比特流传输所需要的所有功能。 1.3.1 传输信道的类型 物理层为MAC层和更高层提供信息传输的服务&#xff0c;其中&#xff0c;物理层提供的服务…...

Ubuntu 通过Supervisor 或者 systemd 管理 .Net应用

在 Ubuntu 上安装 .NET 8.0&#xff0c;通过 supervisor 或 systemd 管理 .NET 应用服务&#xff0c;确保应用能够自动启动、运行以及在崩溃时重启。 1. 安装 .NET 8.0 最新的Ubuntu版本已经不需要注册 Microsoft 包存储库了&#xff0c;具体的可以参考微软官方文档安装&…...

超好用的视频剪辑软件分享:10款剪辑软件推荐

视频剪辑软件哪个比较好用&#xff1f;无论是短视频创作者、专业剪辑师&#xff0c;还是影视后期制作团队&#xff0c;选择一款合适的视频剪辑软件至关重要。今天&#xff0c;我将为大家分享几款超好用的视频剪辑软件&#xff0c;并介绍视频剪辑的六大核心流程。 1.影忆 特点&a…...

5G三大应用场景中的URLLC

5G三大应用场景中的URLLC 5G三大应用场景中的URLLC 1 Urllc不是一个独立的技术&#xff0c;更不是一张独立的网络&#xff0c;他是5G所谓的新空口标准NR&#xff08;New Radio&#xff09;中&#xff0c;涉及大规模降低时延、提高可靠性的相关技术&#xff1b; 2 Urllc在目前的…...

PyMOL中常用的命令列表

PyMOL中常用的命令列表 PyMOL中常用的命令列表&#xff0c;包括了加载文件、去除水分子、改变颜色、显示样式和图形优化等操作&#xff0c;可以帮助你完成全方位的分子展示设置。 基础命令流程 加载分子结构 load your_file.pdb # 加载PDB文件去除水分子 remove solvent …...

坏块处理 ORA-01578: ORACLE data block corrupted (file # 3, block # 152588)

帮客户检查环境时&#xff0c;发现sysaux表空间的数据文件有坏块&#xff0c;8月25日发生的&#xff0c;备份保留3个月&#xff0c;直接恢复处理。 rman备份log报错如下 RMAN-00571: RMAN-00569: ERROR MESSAGE STACK FOLLOWS RMAN-00571: RMAN-03009: failure of backu…...

像`npm i`作为`npm install`的简写一样,使用`pdm i`作为`pdm install`的简写

只需安装插件pdm-plugin-i即可&#xff1a; pdm plugin add pdm-plugin-i 然后就可以愉快地pdm i了&#xff0c;例如&#xff1a; git clone https://github.com/waketzheng/fast-dev-cli cd fast-dev-cli python -m pip install --user pipx pipx install pdm pdm plugin a…...

DNS域名解析服务器--RHCE

1.DNS简介 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分布式 数据库&#xff0c;能够使人更方便的访问互联网 DNS 系统使用的是网络的查询&#xff0c;那么自然需要有监听的 port 。 DNS 使用的是…...

数据库物化视图的工作原理与Java实现

引言 物化视图&#xff08;Materialized View&#xff09;是数据库中一种特殊的对象&#xff0c;它存储了查询结果的物理副本&#xff0c;使得复杂查询的结果可以快速地被访问。本文将详细介绍物化视图的工作原理、技术策略&#xff0c;并提供Java代码示例。 1. 物化视图的基…...

炫酷的登录框!(附源码)

大家想看什么前端效果请留言 预览效果 源码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>登录页…...

使用Python实现智能生态系统监测与保护的深度学习模型

随着人类活动的增加,生态系统受到的威胁也在不断加剧。为了更好地保护我们的生态环境,智能生态系统监测与保护成为了一项重要的任务。通过深度学习技术,我们可以实现生态系统的自动化监测与管理,从而及时发现和应对环境变化。本文将详细介绍如何使用Python构建一个深度学习…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...