当前位置: 首页 > 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. **监控与日…...

芯片AI深度实战:基础篇之langchain

基于ollama, langchain,可以构建一个自己的知识库,比如这个 Build Your Own RAG App: A Step-by-Step Guide to Setup LLM locally using Ollama, Python, and ChromaDB | HackerNoon 这是因为: 以上范例就实现了这样一个流程: 系列文章&…...

WordPress使用(1)

1. 概述 WordPress是一个开源博客框架,配合不同主题,可以有多种展现方式,博客、企业官网、CMS系统等,都可以很好的实现。 官网:博客工具、发布平台和内容管理系统 – WordPress.org China 简体中文,这里可…...

单机伪分布Hadoop详细配置

目录 1. 引言2. 配置单机Hadoop2.1 下载并解压JDK1.8、Hadoop3.3.62.2 配置环境变量2.3 验证JDK、Hadoop配置 3. 伪分布Hadoop3.1 配置ssh免密码登录3.2 配置伪分布Hadoop3.2.1 修改hadoop-env.sh3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改yarn-site.xml3.2.5 …...

【高内聚】设计模式是如何让软件更好做到高内聚的?

高内聚(High Cohesion)是指模块内部的元素紧密协作,共同完成一个明确且相对独立的功能。就像高效的小团队,成员们目标一致,相互配合默契。 低耦合(Loose Coupling)是指模块之间的依赖较少&#…...

10.2 目录(文件夹)操作

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 10.2.1 DirectoryInfo类 DirectoryInfo类可以获得目录信息。 DirectoryInfo常用属性: Name:获取Director…...

LiteFlow Spring boot使用方式

文章目录 概述LiteFlow框架的优势规则调用逻辑规则组件定义组件内数据获取通过 DefaultContext自定义上下文 通过 组件规则定义数据通过预先传入数据 liteflow 使用 概述 在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻…...

OSCP:Windows 服务提权详解

在Windows操作系统中,服务是一种特殊的后台进程,它们通常以较高的权限(如 SYSTEM 或 Administrator)运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升(提权)。本文将详细分析Windows服务提…...

星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)

文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现(1)分析接口请求(2)代码实现 3.功能测试(1)测试对话功能(2)测试记住上下文功能 三、基于JAVA实现HTTP流…...

21.Word:小赵-毕业论文排版❗【39】

目录 题目​ NO1.2 NO3.4 NO5.6 NO7.8.9 NO10.11.12 题目 NO1.2 自己的论文当中接收老师的修改:审阅→比较→源文档:考生文件夹:Word.docx→修订的文档:考生文件夹:教师修改→确定→接收→接收所有修订将合并之…...

Python中的函数(上)

Python中的函数是非常重要的编程概念,以下是详细的介绍: 函数定义基础 在Python中,函数是组织好的、可重复使用的代码块,用于执行特定任务。通过函数,我们可以将复杂的程序分解为较小的、更易管理的部分&#xff0c…...