51单片机(一)软硬件环境和单片机介绍

news2024/10/6 8:35:57

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其实STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习51单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

单片机安装软件、各种资料以及源码的路径:
https://pan.baidu.com/s/1vDTN2o8ffvczzNQGfyjHng
提取码:gdzf

文章目录

  • 一、概述
  • 二、软件的安装过程
    • 2.1 安装并破解keil5
    • 2.2 安装STC-ISP
    • 2.3 STC-USB驱动程序安装(板子还没到,到了记得补充)
  • 三、单片机概述
    • 3.1 单片机介绍
    • 3.2 单片机应用领域:
    • 3.3 STC89C52单片机
    • 3.4 单片机的命名规则
    • 3.5 单片机的构成
      • 3.5.1 单片机的内部结构
      • 3.5.2 单片机管脚图
      • 3.5.3 单片机最小系统
      • 3.5.4 开发板和开发板原理图

一、概述

所需硬件:51单片机开发板(淘宝上普中科技的,五六十块钱一个),Windows电脑(XP、win7/8/10都可以),如下图所示

在这里插入图片描述

所需软件:Keil5、STC-ISP;如下图所示

在这里插入图片描述

keil5是用来编写程序的,也就是我们单片机需要下载程序来运行指定的功能;Keil5会生成单片机可以识别的二进制文件。

STC-ISP是用来下载写好的程序,将Keil5写好的带有具体功能的二进制文件下载到单片机中。

二、软件的安装过程

关于keil5和STC-ISP可以去官网下载安装包,如果嫌麻烦,也可以在江协科技提供的百度云盘中提取:https://pan.baidu.com/s/1vDTN2o8ffvczzNQGfyjHng 提取码:gdzf,链接里压缩包的解压密码:51

2.1 安装并破解keil5

keil5安装过程和注意事项:
1、运行c51v954.exe,安装路径尽量为英文
在这里插入图片描述

2、安装时信息随便填

在这里插入图片描述
3、安装完成后可以看到桌面多了keil5图标,双击是可以打开的。
4、keil5破解过程
打开keygen_new2032.exe,会跳出以下界面,并伴随着一段音乐(如果打不开,请关闭杀毒软件),如下图所示
在这里插入图片描述
然后打开keil5软件(注意要用管理员身份运行),选择File->License Management...

在这里插入图片描述

将CID号码复制一下

在这里插入图片描述
在刚刚打开的keygen_new2032.exe界面,在以下位置粘贴刚刚复制的CID码,然后点击下方的Generate,就会生成一串破解码,如下图所示:

在这里插入图片描述
将破解码复制下来,这个破解软件就可以退出了,然后回到keil5中,如下图所示,看到*** LIC Added Sucessfully ***就证明破解成功了。
在这里插入图片描述

2.2 安装STC-ISP

STC-ISP是绿色软件,不需要安装,下图的exe文件直接运行即可,为了方便可以生成一个快捷方式放到桌面,不再详细阐述。
在这里插入图片描述

2.3 STC-USB驱动程序安装(板子还没到,到了记得补充)

三、单片机概述

3.1 单片机介绍

1、单片机,英文Micro Controller Unit,简称MCU
2、MCU内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能
3、单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机、LED等)的控制
4、单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但是在性能上,与计算机相差甚远,单计算机成本低、体积小、结构简单,在生活和工业控制领域大有所用
5、同时,学习使用单片机是了解计算机原理与结构的最佳选择

3.2 单片机应用领域:

单片机的使用领域已经十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词—“智能型”,如智能型洗衣机等。

3.3 STC89C52单片机

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf
在这里插入图片描述

3.4 单片机的命名规则

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf

在这里插入图片描述

3.5 单片机的构成

本小节初步介绍单片机的构成以及开发板构成等,均参考以下两个文件:
51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf
51单片机入门教程资料\课件及程序源码\相关资料\HC6800-ES+V2.0+新版.pdf
建议详细阅读。

3.5.1 单片机的内部结构

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf

在这里插入图片描述

在这里插入图片描述

3.5.2 单片机管脚图

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf
在这里插入图片描述

3.5.3 单片机最小系统

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\STC89C52.pdf

在这里插入图片描述

3.5.4 开发板和开发板原理图

详细的请看:51单片机入门教程资料\课件及程序源码\相关资料\HC6800-ES+V2.0+新版.pdf

在这里插入图片描述
开发板原理图:

在这里插入图片描述

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

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

相关文章

delta.io 参数 spark.databricks.delta.replaceWhere.constraintCheck.enabled

总结 默认值true 你写入的df分区字段必须全部符合覆盖条件 .option("replaceWhere", "c2 == 2") false: df1 overwrite tb1: df1中每个分区的处理逻辑: - tb1中存在(且谓词中匹配)的分区,则覆盖 - tb1中存在(谓词中不匹配)的分区,则append - tb1中不存…

热闹之后,香港是否会成为Web3的“应许之地”?

出品|欧科云链研究院 作者|Jason Jiang 自从2022年底有关虚拟资产在港发展的政策宣言发布后,香港始终是Web3世界的焦点。当港府官员频繁现身以鼓励Web3创新发展,当数以万计的Web3 Builders时隔三年再次聚首香江,当传…

密码学报Latex模板使用

密码学报Latex模板使用 首先从密码学报下载模板 然后注册overleaf账号 创建新项目,把.zip包导入 修改编译器为XeLaTeX 然后点击重新编译即可

信息安全复习六:公开密钥密码学

一、章节梗概 1.公开密钥密码模型的基本原理 2.两个算法:RSA&D-H算法 主要内容 1.对称密钥密码的密钥交换问题 2.公钥密码模型的提出 3.设计公钥密码的基本要求 4.数字签名 5.RSA算法 6.公钥密码的特征总结 二、对称密钥密码 对称加密算法中,数据…

SpringCloud --- Feign远程调用

一、RestTemplate问题 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:GitHub - OpenFeign/feign:…

程序员如何提高代码能力

目录 程序员如何提高代码能力——C语言方向阅读优秀的代码不断练习学习新技术与他人合作不断反思和改进 程序员如何提高代码能力——C语言方向 C 是一种功能强大的编程语言,广泛应用于操作系统、数据库、游戏开发等领域。而要成为一名优秀的 C 程序员,不…

动力节点Vue笔记④ Vue与Ajax

四、Vue与AJAX 4.1 回顾发送AJAX异步请求的方式 发送AJAX异步请求的常见方式包括: 原生方式,使用浏览器内置的JS对象XMLHttpRequest const xhr new XMLHttpRequest()xhr.onreadystatechange function(){}xhr.open()xhr.send() 原生方式&#xff0…

RK3568平台开发系列讲解(调试篇)内核函数调用堆栈打印方法汇总

🚀返回专栏总目录 文章目录 一、dump_stack 函数二、WARN_ON(condition)函数三、BUG_ON (condition)函数四、panic (fmt...)函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将对驱动调试方法进行汇总学习。 一、dump_stack 函数 dump_stack 作用:打印内核调…

C++、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数(侯捷)

C、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数 (侯捷) 迭代器iterator_category 算法accumulatefor_eachreplacecountfindsortbinary_search 仿函数 functors(六大部件中最简单的一种!) 使用一个东西,却不明白它的道理&a…

Compiler- volatile关键字

为了直观的感受编译器为程序所做的编译优化&#xff0c;我们通过以下的C程序来进行演示&#xff08;只能体现编译优化的一小部分hh~&#xff09;。 请大家预测一下下面代码的输出结果 #include <iostream>int main(void) {const volatile int local 10;int* ptr (int…

中国人民大学与加拿大女王大学金融硕士国际班——海归学子最强后援

有人脉&#xff0c;成功像坐电梯&#xff1b;没人脉&#xff0c;成功像爬楼梯。这是每一个职场人都有体悟的“潜规则”。对海归同学来说&#xff0c;加入母校校友会是结识优秀人才、迅速拓展本地人脉圈的不二法宝。中国人民大学与加拿大女王大学金融硕士国际班为海归学子提供最…

QMS-云质说质量 - 4 为什么有的质量人不属于质量部?

想管理好质量&#xff0c;首先就要把质量人员放在合适的组织架构中。 对人进行管理&#xff0c;基本原则是&#xff1a;尽量让员工的利益与企业的利益保持同步&#xff0c;虽然无法做到完全重合&#xff0c;但出发点肯定要战略一致。 俗话说“屁股决定脑袋”&#xff0c;因此&a…

【数据结构初阶】第六节.队列的实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、队列的初步认识 二、Java中队列的使用 三、队列的模拟实现 四、力扣刷题演练 4.1 设计循环队列 4.2 用栈实现队列 4.3 最小栈 总结 前言 今天我…

日撸 Java 三百行day36

文章目录 day36 领接表1. 领接表知识点2.结合上图去抽象一个邻接表结点的对象3.广度优先遍历4.深度优先遍历 #说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff1a;h…

Vue3+Three.js+antvG2实战项目 智慧城市(三)

前言 在网上找了很久都没有找到使用Three.js开发智慧城市的免费文章或者免费视频,自己花了一点时间做了一个纯前端的智慧城市项目。 技术栈都是最新的:vue3vitetypeScriptThreeantv G2 源码分享 源码 模型,天空图盒子链接分享(不想下载源码可以只用下这个)提取码1234 20230424_…

【iOS】—— KVC再学习

KVC 文章目录 KVCKVC常用的四种方法 key和keyPath的区别用法&#xff1a; 批量存值操作批量赋值操作字典模型相互转化KVC的其他方法 KVC原理探索setValue:forKey: 的原理&#xff08;KVC赋值原理&#xff09;valueForKey:的原理&#xff08;KVC取值原理&#xff09; 注意事项 K…

C++数据结构:手撕AVL树

目录 一. 什么是AVL树 二. AVL树的节点定义 三. AVL树的插入操作 3.1 寻找插入位置 3.2 更新平衡因子 3.3 AVL树的旋转调整 3.4 AVL树插入操作的整体实现 四. AVL树的检验 附录&#xff1a;AVL树的实现完整代码 AVL树定义代码 -- AVLTree.h AVL树检验代码 -- test.…

你了解PostProcessor机制吗?

Spring框架对于后置处理器的最佳实践 PostProcessor译为后置处理器&#xff0c;大多数开发人员都使用过springboot对后置处理器的实例级别实践&#xff0c;也就是BeanPostProcessor接口。其实spring还提供了两种容器级别的实践&#xff1a;BeanDefinitionRegistryPostProcesso…

今天试了试chatgpt

今天试了试chatgpt&#xff0c;真是服了 arcade&#xff1f; Arcade是一个Python游戏开发库&#xff0c;它提供了一系列的工具和函数&#xff0c;可以帮助开发者快速地创建2D游戏。以下是Arcade的一些特点&#xff1a; 简单易用&#xff1a;Arcade提供了简单易用的API&#x…

egg3.0连接egg-mongoose插入一条数据、插入多条数据

插入一条数据 app/router.js use strict;/*** param {Egg.Application} app - egg application*/ module.exports app > {const { router, controller } app;router.get(/, controller.home.index);router.get(/role, controller.role.index);router.post(/role/add, co…