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

51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)

文章目录

  • 1. 什么是单片机
    • 1.1 微型计算机的组成
    • 1.2 微型计算机的应用形态
    • 1.3 单板微型计算机
    • 1.4 单片机(MCU)
      • 1.4.1 单片机内部结构
      • 1.4.2 单片机应用系统的组成
    • 1.5 80C51单片机系列
      • 1.5.1 STC公司的51单片机
      • 1.5.1 STC公司单片机的命名规则
  • 2. 单片机的特点及应用领域
    • 2.1 单片机的特点
    • 2.2 单片机的应用领域
  • 3. 单片机的发展趋势
  • 4. 学习51单片机需要哪些基础知识
  • 5. 如何快速的掌握51单片机

1. 什么是单片机

在认识单片机之前,需要了解单片机的前身,微型计算机的组成及应用形态

1.1 微型计算机的组成

在这里插入图片描述
主板上有微处理器CPU,还有内存RAM,内部总线控制器,通过系统总线连接到IO接口,IO接口上接外设,以上就是微型计算机的组成,通俗的讲这就是我们使用的电脑。

1.2 微型计算机的应用形态

将微处理器CPU、存储器(RAM、ROM)、基本输入/输出(I/O)接口电路和总线接口等组装在一块主机板(即微机主板)。各种适配(卡)插在主机板的扩展槽上并与电源、软/硬盘驱动器和光驱等装在同一机箱内,再配上系统软件,就构成了一台完整的微型计算机系统。微型计算机硬件组成如图所示。
在这里插入图片描述
由微型计算机又发展到单板微型计算机

1.3 单板微型计算机

将CPU芯片、存储器芯片、I/O接口芯片和简单的1/0设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),:就构成了一台单板微型计算机(简称单板机)。单板微型计算机组成如图所示。主要应用于工业控制器、家用电器等。
在这里插入图片描述
由单板机又进一步发展到单片机。

1.4 单片机(MCU)

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机
在一片集成电路芯片上集成中央处理器(CPU)、存储器(ROM/RAM)、1/0接口电路,从而构成了单芯片微型计算机,简称单片机。
常用英文字母的缩写MCU表示单片机(Microcontroller Unit)

1.4.1 单片机内部结构

单片机内部结构示意图如图所示,它由微处理器CPU、随机存取存储器RAM、只读存储器ROM、基本输入Input/输出0utput(I/O)接口电路、定时器/计数器和中断系统等部件组成,并把它们制作在一块大规模集成电路芯片上,就构成一个完整的单片微型计算机。
在这里插入图片描述
下面对其内部结构图进行简单的了解:CPU的右侧箭头为数据总线,数据总线从上往下,从右往左接了程序存储器ROM,相当于电脑的硬盘,数据存储器相当于电脑的内存条,2个16位的定时器计数器,全双工串行口,可编程IO(用于接收和返回数据),总线控制器(现在使用的比较少了),左上角为振荡器(采用外部接振荡源,给CPU工作提供一个频率和节拍),左下为外部和内部中断,上面提到的都会在后面的课程中一一学习原理和使用。

1.4.2 单片机应用系统的组成

对于实现某个功能需要利用单片机的应用系统实现,单片机应用系统的组成如图所示。单片机应用系统是以单片机为核心,再加上接口电路及外设等硬件电路和软件,就构成了单片机应用系统。因此,单片机应用系统的设计人员必须从硬件和软件角度来研究单片机,这样才能研究和开发出单片机应用系统和产品。
在这里插入图片描述

1.5 80C51单片机系列

虽然目前单片机的品种很多,Intel公司在1980年推出80C51系列单片机,由于80C51单片机应用早,影响面很大,已经成为工业标准。
后来很多著名厂商如Atmel,philps,STC等公司申请了版权,生产了各种与80C51兼容的单片机系列。虽然制造工艺在不断地改进,但内核却没有变化,指令系统完全兼容,而且大多数管脚也兼容。我们把这些公司生产的与80C51兼容的单片机统称为80C51系列,也就是我们常说的80C51系列单片机
如:ATMEL公司的AT89S51、AT89S52、AT89S53等等,STC公司的STC89C51、STC89C52、STC89C53、STC90C516等等。
上面提到的单片机型号虽然不同,但是其程序、管脚等都是相同的,型号名又代表什么呢?简单的说就是内存不同,以后面课程使用的STC为例:AT89S51最后一位的1表示程序存储器空间为4kb,AT89S51最后一位的2表示程序存储器空间为8kb,依此类推
后期使用到的是STC89C52芯片作为学习的硬件,STC单片机烧录要比AT公司的更为便捷。

1.5.1 STC公司的51单片机

下面以STC89C52芯片为例进行介绍,下面是采用不同封装形式下的

DIP封装采用双列直插式,学习也是使用的此种;PLCC封装是正方形四面都有引脚,脚是往里弯的;LQFP也是采用正方形四面有引脚,引脚没有向里弯。根据实际情况选用不同的封装类型,DIP封装较大,适合需要拆装的地方,其他两种适合在集成度要求比较高的地方。

1.5.1 STC公司单片机的命名规则

在这里插入图片描述

2. 单片机的特点及应用领域

2.1 单片机的特点

单片机芯片的集成度非常高,它将微型计算机的主要部件都集成在一块芯片上,因此,具有如下特点:
1、体积小、重量轻、价低、耗电少、易于产品化
2、控制性能。
实时控制功能强、运行速度快。因为CPU可以对I/0端口直接进行指令操作,而且位指令操作能力更是其它计算机无法比拟的。
3、可靠性高。
由于CPU、存储器及I/0接口集成在同一芯片内,各部件间的连接紧凑数据在传送时受干扰的影响较小,且不易受环境条件的影响,所以单片机的可靠性非常高。

2.2 单片机的应用领域

1、家用电器。”家用电器是单片机的重要应用领域之一,前景广阔。如微波炉、电视机、电饭煲、空调器、电冰箱、洗衣机等。
2、在交通领域中。如交通灯、汽车、火车、飞机等均有单片机的广泛应用。
3、智能仪器仪表。如各种智能电气测量仪表、智能传感器等4、机电一体化产品。如医疗设备(B超)、机人、数控机床、自动包装机、打印机、复印机等。
5、实时工业控制。如温度控制、电机转速控制、生产线控制等。

3. 单片机的发展趋势

20世纪80年代以来,单片机有了新的发展,各半导体器件厂商也纷纷推出自己的产品系列。根据市场的需求要求,未来单片机的发展趋势有如下几个方面:

  • 单片机的字长由4位、8位、16 位发展到32位。( 字长越长,单片机的数据处理能力越强,运算精度也越高
    目前8位的单片机仍然占主流地位,只有在精度要求特别高的场合如图像处理等,才采用16位或32位的单片机,用户可以根据需要进行字长的选择运行速度不断提高。
  • 单片机的使用最高频率由6MHz、12MHz*、24MHz、33MHz发展到 40MHz和更高,用户可以根据产品的需要进行速度的选择

以下是物联网中嵌入到开关的的单片机系统,黑色的为无线模块,可以无线传输数据,无线模块下面是小的单片机,右侧中间是一个接收头,可以接收到红外遥控板的信号,左上角为集电器,接到交流电上控制开关
在这里插入图片描述

4. 学习51单片机需要哪些基础知识

  • 会使用电脑
  • 有C语言基础
  • 了解简单的模拟电子和数字电路的知识(后期原理和选型都是进行介绍)

不必专门去学习没有掌握的东西,用到了再去学习了解,否则会花费大量时间,效果也不一定好。

5. 如何快速的掌握51单片机

在这里插入图片描述
以下为视频推荐的51开发学习板:
在这里插入图片描述
下为硬件接口描述:
在这里插入图片描述
课程安排如下:
在这里插入图片描述

以下为学习视频地址:【51系列单片机2018新版教程】零基础学习单片机的开发-最全最新最基础!

相关文章:

51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)

文章目录 1. 什么是单片机1.1 微型计算机的组成1.2 微型计算机的应用形态1.3 单板微型计算机1.4 单片机(MCU)1.4.1 单片机内部结构1.4.2 单片机应用系统的组成 1.5 80C51单片机系列1.5.1 STC公司的51单片机1.5.1 STC公司单片机的命名规则 2. 单片机的特点及应用领域2.1 单片机的…...

万物皆有联系:驼鸟和布什

布什?一块布十块钱吗?不是,大家都知道,美国有两个总统,叫老布什和小布什,因为两个布什总统(父子俩),大家就这么叫来着,目的是为了好区分。 布什总统的布什&a…...

【最后203篇系列】007 使用APS搭建本地定时任务

说明 最大的好处是方便。 其实所有任务的源头,应该都是通过定时的方式,在每个时隙发起轮询。当然在任务的后续传递中,可以通过CallBack或者WebHook的方式,以事件的形态进行。这样可以避免长任务执行的过程中进行等待和轮询。 总结…...

go gin配置air

一、依赖下载 安装最新,且在你工作区下进行安装,我的是D:/GO是我的工作区,所有项目都在目录下的src, go install github.com/air-verse/airlatest 如果出现类似报错: 将图中第三行 github.com/air-verse/air 替换最…...

Java定时任务实现方案(五)——时间轮

时间轮 这篇笔记,我们要来介绍实现Java定时任务的第五个方案,使用时间轮,以及该方案的优点和缺点。 ​ 时间轮是一种高效的定时任务调度算法,特别适用于大量定时任务的场景。时间轮的定时任务实现,可以使用DelayQueue…...

【事务管理】

目录 一. 介绍与操作二. Spring事务管理三. 事务四大特性 \quad 一. 介绍与操作 \quad \quad 二. Spring事务管理 \quad 推荐加在经常进行增删改的方法上 \quad 三. 事务四大特性 \quad ctrlaltt...

Highcharts 柱形图:深入解析与最佳实践

Highcharts 柱形图:深入解析与最佳实践 引言 Highcharts 是一个功能强大的图表库,它允许用户轻松地在网页上创建各种类型的图表。其中,柱形图因其直观的展示方式,在数据分析、业务报告等领域得到了广泛应用。本文将深入解析 Highcharts 柱形图,包括其基本用法、高级特性…...

js笔记(黑马程序员)

js(day2) 一、运算符 1.赋值运算符 运算符作用加法赋值-减法赋值*乘法复制/除法赋值%取余赋值 2.一元运算符 符号作用说明自增变量自身的值加1,如X--自减变量自身的值减1,如X-- 3.比较运算符 运算符作用>左边是否大于右…...

Mac m1,m2,m3芯片使用nvm安装node14报错

使用nvm安装了node 12/16/18都没有问题,到14就报错了。第一次看到这个报错有点懵,查询资料发现是Mac芯片的问题。 Issue上提供了两个方案: 1、为了在arm64的Mac上安装node 14,需要使用Rosseta,可以通过以下命令安装 …...

LeetCode:63. 不同路径 II

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:63. 不同路径 II 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0]…...

安装zsh并美化

0 Zsh 是一种功能强大的 shell,通常用于替代默认的 Bash shell。它为命令行提供了更多的功能,例如自动补全、强大的模式匹配和主题支持等。 Oh My Zsh 是用于管理 Zsh 配置的框架。 powerlevel10k是样式,通过p10k configure脚本可以调节自己…...

读量子霸权18读后总结与感想兼导读

1. 基本信息 量子霸权 【美】加来道雄 著 中信出版集团股份有限公司,2024年4月出版 1.1. 读薄率 书籍总字数281千字,笔记总字数65977字。 读薄率65977281000≈23.48% 1.2. 读厚方向 量子宇宙 从掷骰子到阿尔法狗:趣谈概率 上帝掷骰子吗&#xf…...

统计学中的样本概率论中的样本

不知道当初谁想的把概率论和数理统计合并,作为一门课。这本身是可以合并,完整的一条线,看这里。但是,作为任课老师应该从整体上交代清楚,毕竟是两个学科,不同的学科合并必然会有各种不协调的问题。 举个最…...

HTML 符号详解

HTML 符号详解 引言 HTML(超文本标记语言)符号是HTML文档中用来表示特殊字符的标记。这些符号在日常网页设计和开发中扮演着重要角色,特别是在需要显示版权、商标、货币符号等特殊字符时。本文将详细介绍HTML符号的用法、类型以及如何在HTML文档中插入这些符号。 HTML符号…...

蓝桥杯练习日常|c/c++竞赛常用库函数(下)

书接上回......蓝桥杯算法日常|c\c常用竞赛函数总结备用-CSDN博客 目录 书接上回......https://blog.csdn.net/weixin_47011416/article/details/145290017 1、二分查找 2、lower_bound uper_bound 3、memset() 函数原型 参数说明 返回值 常见用…...

Python vLLM 实战应用指南

文章目录 1. vLLM 简介2. 安装 vLLM3. 快速开始3.1 加载模型并生成文本3.2 参数说明 4. 实战应用场景4.1 构建聊天机器人示例对话: 4.2 文本补全输出示例: 4.3 自定义模型服务启动服务调用服务 5. 性能优化5.1 GPU 加速5.2 动态批处理 6. 总结 vLLM 是一…...

.NET MAUI 入门学习指南

引言 在当今移动应用和跨平台开发的热潮中,.NET MAUI(Multi - platform App UI)应运而生,为开发者提供了一种高效、统一的方式来构建跨多个平台(如 iOS、Android、Windows 等)的原生应用。它整合了 Xamarin.Forms 的优点,并在此基础上进行了诸多改进和创新,使得开发者…...

JavaScript系列(49)--游戏引擎实现详解

JavaScript游戏引擎实现详解 🎮 今天,让我们深入探讨JavaScript的游戏引擎实现。游戏引擎是一个复杂的系统,它需要处理渲染、物理、音频、输入等多个方面,让我们一步步实现一个基础但功能完整的游戏引擎。 游戏引擎基础概念 &am…...

AI如何帮助解决生活中的琐碎难题?

引言:AI已经融入我们的日常生活 你有没有遇到过这样的情况——早上匆忙出门却忘了带钥匙,到了公司才想起昨天的会议资料没有打印,或者下班回家还在纠结晚饭吃什么?这些看似微不足道的小事,往往让人疲惫不堪。而如今&a…...

K8s运维管理平台 - KubeSphere 3.x 和4.x 使用分析:功能较强,UI美观

目录标题 Lic使用感受优点:优化点: 实操首页项目 | 应用负载 | 配置 | 定制资源定义存储监控告警集群设置 **KubeSphere 3.x** 和 **4.x**1. **架构变化**:2. **多集群管理**:3. **增强的 DevOps 功能**:4. **监控与日…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...

【题解-洛谷】P10480 可达性统计

题目:P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M,接下来 M M M 行每行两个整数 x , y x,y x,y,表示从 …...

Java设计模式:责任链模式

一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...

前端异步编程全场景解读

前端异步编程是现代Web开发的核心,它解决了浏览器单线程执行带来的UI阻塞问题。以下从多个维度进行深度解析: 一、异步编程的核心概念 JavaScript的执行环境是单线程的,这意味着在同一时间只能执行一个任务。为了不阻塞主线程,J…...