江协科技/江科大-51单片机入门教程——P[1-3] 单片机及开发板介绍

news2025/2/27 23:42:18

前言:本节主要的任务是了解一下 51 单片机和所用的普中51开发板。

目录

一、单片机介绍

二、单片机的应用领域

三、STC89C52单片机

四、命名规则 

五、单片机内部拆解

六、单片机内部结构图

七、单片机管脚图

八、单片机最小系统

九、开发板介绍

十、开发板原理图


一、单片机介绍

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

二、单片机的应用领域

单片机的使用领域已经十分广泛,比如智能仪表、实时工控、通讯设备、导航系统、家用电器等。比如,拍的红绿灯,里面有单片机用来简单控制红绿灯的计时和亮灯;一些比赛,像现在叫恩智浦智能车竞赛(之前叫 FACECAR ),使用单片机检测线路并控制小车移动;四轴飞行器利用单片机控制在空中保持平稳姿态和飞行,还有无线模块可遥控飞行。各种产品用上单片机,能使产品升级换代,常冠以 “智能型”,如智能型洗衣机,其定时控制等简单控制用单片机就能很好实现,加单片机还能通过通讯设备加入互联网,这就涉及物联网领域,物联网在硬件上靠单片机实现,所以我们要了解这个单片机。

三、STC89C52单片机

STC89C52单片机是单片机家族的一员,所属系列是 51 单片机。我们一般读 51,业界习惯这么称呼。那 51 单片机为什么叫 51 单片机呢?可以在百度上搜索,百度百科上说,51 单片机是指 80 年代英特尔开发的 8051 单片机内核的统称,因为 8051 中带个 51,凡是与 8051 内核一样的单片机,都被统称为 51 单片机。英特尔生产的 8051 单片机很好用、应用广泛,别人使用它的内核做出很多东西,这些兼容 8051 单片机内核的单片机都叫 51 单片机。比如我们这个 89C52 单片机,虽以 52 结尾,但仍然是 51 单片机。百度百科还写 51 单片机是对所有兼容 8031 指令的统称,后来发展成为最广泛的八位单片机之一,进入工程系统控制等领域。

我们这块 51 单片机是 STC89C52,由 STC 公司生产,这是一家中国公司,在中国销量不错,尤其是初学者用的开发板,淘宝上搜 51 单片机开发板,清一色用的是 STC 的这块芯片。这个单片机的位数是 8 位,现在电脑有 32 位和 64 位,可见其位数较低,因为它使用比较简单。

接着说一下 RAM 和 ROM,电脑和手机中的 RAM 和 ROM 是两种存储器,RAM 即随机存储器,ROM 即只读存储器,现在电脑和手机都需要这两种存储。RAM 的特点是掉电丢失,就像一个工作的工厂,停止工作后里面的东西不再保证;ROM 相当于仓库,用于存储掉电不丢失的数据,可长时间存储。电脑的内存条相当于单片机的 RAM,电脑内存条一般是 4G、8G,而单片机的 RAM 只有 512 字节(B),1024B 才是 1K ,1024K 才是一兆,1,024 兆才是 1G ,相比之下单片机的 RAM 少得可怜。ROM 相当于电脑的硬盘,电脑硬盘通常很大,几百 G 、1000G 很常见,而单片机的 ROM 只有 8K,用来存储烧写的程序,是一种 Flash ROM。手机的运行内存相当于 RAM,总的存储相当于 ROM,用于存音乐等。

下一个是工作频率,我们单片机使用的频率是 12 兆赫兹,取决于单片机连接的时钟,在开发板上,提供时钟的是晶振,我们开发板上的晶振是 12 兆,所以单片机的工作频率是 12 兆,相当于电脑的几个 g 的 g 赫兹,但实际上可能还会进行一些分频,后续会详细介绍,这能大概知道单片机的速度,我们这个 51 单片机速度大概是兆等级。

四、命名规则 

接下来看单片机的命名规则,以 STC89C52 为例,STC 是公司名,89 是系列,代表 12T、6T 的 8051 单片机系列,C 代表工作电压为 5.5 伏到 3.3 伏,52 表示程序空间为 8K 及 512 字节 RAM ,所以它以此结尾。第二行的 35 表示工作频率可达到 35 兆,最大 35 兆,i 代表工业级工作范围,即 0 下 40 度到 85 度,c 代表商业级,工作范围是 0 度到 70 度 ,DIP 40 中 DIP(和 PDIP 一样)代表直插,40 代表有 40 个引脚。关于封装类型,可以在百度图片搜索,比如 PDIP 是直插封装,还有 LQFP、PLCC 等封装类型,不同封装只是外表不同,里面的东西一样。

五、单片机内部拆解

下面是单片机内部拆解,拿一个 51 单片机,用火将外壳烧脆,用钳子掰开,费了很大劲才拆开芯片,虽拆的时候损坏了一小角,但能看出芯片封装里面绝大部分是引脚走线,引脚向中间伸过去,左右两大块没什么实质内容,全部集中在中间小块,这小块代表芯片,89C52 代表芯片本身,不同封装只是包装形式不同,里面东西一样。平常看到的芯片外面是黑色塑料封装,很耐高温、结实,容易让人误以为硅芯片是黑色的,其实真正的硅芯片迎着光泛着七彩光芒。

六、单片机内部结构图

接着看单片机内部的结构图,接下来的几张 PPT 是从手册里得到的,如下就是其手册。

之前说的命名规则就在手册里,下面是内部结构图,从图中能看到 8051 微处理器内核,所有 51 单片机都有兼容的几乎一样的 8051 内核,不同的是外面的周边设备。

单片机里有用于存储数据的EEPROM;看门狗防止程序跑飞;还有复位电路、通讯接口、串口、双数据指针;I/O 口即输入输出接口,引出单片机两边的引脚;SRAM 是静态 RAM,属于 RAM 的一种;闪存是 ROM 的一种叫 Flash,现在的存储卡、固态硬盘都是 Flash,整个芯片包括这些东西。I/O 口引出的引脚内部接到 I/O 口设备。

内部结构图有块状图和详细图,详细图里有引脚、晶振,晶振电路给内部总线和 CPU 提供时钟,还有定时器、串口等,它们是总线结构,所有外部设备挂接在总线上,CPU 通过总线可访问所有外部设备,就像大马路连接所有住户,方便访问。

七、单片机管脚图

引脚图需要记住 I/O 口位置 。除了 I/O 口,还有必要引脚,VCC 是电源正极,GND 是电源负极,XTAL1 和 2 是给单片机时钟的,外接晶振驱动代码运行,RST 是复位引脚,ALE 等暂时不用管基本用不到。

引脚排列有 P0、P1、P2、P3 组,每组 8 个引脚(0~7),因为单片机是 8 位,所以引脚以 8 个为一组,这和计算机中数字多与 2 的次方数有关,CPU 按二进制存储。记住这些引脚位置很重要,设计电路时如果把电源正负极接反,后果严重。

八、单片机最小系统

单片机本身是个系统,但要运行还得有外部设备,就像人工作得吃饭,单片机得有电源,在图中,电源不是像初高中那样连电池回路,而是用 VCC 表示电源正极,GND 表示电源负极,电源正极经开关给单片机供电,两个电容用于滤波,稳定电源,就像用水池稳定水流一样。负极给单片机供电,这样单片机就有电了。

还有晶振电路,单片机不接晶振程序不运行,接晶振后,晶振每震荡一下,内部动作一次,经分频确定固定周期,驱动程序往下走,STC 有些更高系列单片机内置晶振,不用外接,我们的 89C52 没有,必须外接。晶振电路由晶振、起振电容等组成,一般设计电路有的不接那个电阻,但可能接了会更稳定。

还有复位引脚,在上电时使程序从第一条开始运行,或者中途让程序重新开始,复位电路是高电平复位,上电瞬间电容没充电相当于短路,给复位引脚接高电平,随着电容充电,充满后相对断路,复位引脚通过电阻变为低电平,实现上电复位。实际做东西,如果不是做产品,复位电路可以不接,自己玩调试方便,做产品为了稳定肯定要接;如果买的芯片内部集成晶振,晶振就不用接,我们这个没有,所以要外接。

九、开发板介绍

之前介绍的是开发板中间的芯片,现在看看开发板里有啥。中间是单片机,可通过拉杆拔下来,安装时注意别插反,因为有 VCC 和 GND 引脚,插反可能损坏单片机。确定正反看单片机上的缺口,缺口下方是 1 号引脚,依次是 2 号、3 号…… 到 40 号引脚,安装时缺口朝上,压下拉杆固定。

再看板子上其他东西,右边第 1 - 8 是常见的 LED,单片机基本操作 I/O 口控制 LED 亮灭,可做流水灯等

下面是按键,有矩阵按键和独立按键,可接收输入的按键数值,控制产生相应功能,后续会逐一介绍检测按键按下和松开及处理方法

再下面是红外接收头,开发板配套有红外遥控器,接收头可接收遥控器信号,学了单片机后,家里电视、空调遥控器丢了能自己做遥控器控制

左边是 AT下载,是AT 系列单片机下载程序用的,我们的单片机是 STC 公司的,STC 单片机通过 USB 直接下载程序,这个了解一下就行

接着是无线模块,买板子配件可能会给,用于做 2.4G 无线遥控器,像无线鼠标用的就是 2.4G,我们能用它实现单片机之间的操控或做无线遥控器

再左边是 USB 自动下载线路,连好线用于下载程序,自己设计电路可参考,不用详细了解

然后是 DS1302 时钟芯片,单片机可利用它做小时钟、闹钟,产生时间显示在屏幕上,用于定时控制等;

上面是复位电路,还有复位按键,运行时手动按按键,程序从头开始执行

左边是 AD/DA,即模拟量到数字量的转换器,单片机是数字芯片,只能处理高低电平(高电平 5 伏,低电平 0 伏),像光敏电阻、电位器、热敏电阻等输出的模拟信号,通过触摸屏芯片采集转化为数字信号交给单片机处理,DA 是单片机把数字信号转化为 0 - 5 伏模拟信号给外部使用,AD/DA 能让单片机不仅控制亮灭,还能控制亮度等;

光敏电阻

电位器

热敏电阻

接下来是 74HC 95 芯片,用于扩展 I/O 口,单片机 I/O 口总共 32 个左右,有些东西需要很多 I/O 口,比如点阵需要 16 个,就可用这个芯片扩展,上面 8 个灯是扩展输出实验用的,3 个 I/O 口能控制 8 个 LED;

再上面是步进电机,左边有排针,开发板配套有直流电机,步进电机需额外买,它能精确控制角度和转速,不受电压高低影响,在工业控制领域有应用,比如空调控制吹风的部件可能用步进电机

下面是蜂鸣器,左边是超声波接口,需外接模块用于测距,蜂鸣器可根据单片机输出信号以固定频率响,可做简单音乐播放器或警报器

接着是138译码器,也可扩展 I/O 口,主要用来驱动数码管,具体驱动方法后续讲

下面是 24C02,是一种 EEPROM,写入数据掉电不丢失,单片机的程序存储在 Flash ROM 里,Flash 更先进,但这款单片机的 Flash 只能存储程序,中途产生的掉电不丢失的数据可存到 24C02 里再读取

再往右是温度传感器 DS18B20,用于实时检测温度,可做室内测温度系统,显示在数码管等设备上

上面的 74HC245 芯片用来驱动数码管,开发板原理图有新旧两个版本,新版用 74HC 45 驱动数码管,旧版用 74HC573,两个芯片作用一样,实际使用区别不大

再看这个地方,左边是电位器,右边是两个排座,上面排座插 LCD1602 液晶屏,下面排座插更大的 LCD12864 液晶屏(板子不自带需自己买),电位器调节液晶屏对比度(清晰度),插上液晶屏可显示比如温度等信息,方便调试;

最大最显眼的是点阵屏,由 LED 阵列组成,水平和数值方向都是 8 个 LED,和单片机位数一样,可用单片机驱动显示任意图案,商店门口的流动字幕广告牌、大屏幕很多是由这种点阵屏拼接而成,我们板子上的点阵屏可驱动,也能驱动多块做更大的点阵屏显示各种东西。

整个板子大概就是这些外设,课程会分节次一一介绍这些外设,比如数码管驱动、按键检测、LCD 液晶显示、读温度等,这就是课程安排。

十、开发板原理图

接下来看开发板原理图,现在买的开发板应该是新版,用 245 芯片驱动数码管。

原理图内容很多,但能看出一些东西,比如 DS1302 下面有 GND,上面有 VCC,基本上每个模块都有 VCC 和 GND,分别代表电源正极和负极,所有 GND 连在一起,VCC 也连在一起。

图中有网络编号,像 P2、P23、LED 等红色字,相同网络编号代表相连,比如 P00、P01、P02 连在单片机相应位置,用网络编号避免连线过多使图过于复杂。

这些小方块代表板子上的器件,中间的 CPU 其实应叫 MCU,只是也可作为一个称呼,黄色的代表单片机,还有排座、芯片、晶振等都能对应上。

这个图和之前看的电路图不同在于有些线用网络编号表示连接,实际板子上它们已相连,这样画图更清晰。

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

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

相关文章

【Uniapp-Vue3】导入uni-id用户体系

在uniapp官网的uniCloud中下载uni-id用户体系 或者直接进入加载,下载地址:uni-id-pages - DCloud 插件市场 进入以后下载插件,打开HbuilderX 选中项目,点击确定 点击跳过 点击合并 右键uniCloud文件夹下的database文件夹&#x…

如何免费使用稳定的deepseek

0、背景: 在AI辅助工作中,除了使用cursor做编程外,使用deepseek R1进行问题分析、数据分析、代码分析效果非常好。现在我经常会去拿行业信息、遇到的问题等去咨询R1,也给了自己不少启示。但是由于官网稳定性很差,很多…

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明: 一、三级视图核心概念 数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下: …

easyexcel和poi同时存在版本问题,使用easyexcel导出excel设置日期格式

这两天在使用easyexcel导出excel的时候日期格式全都是字符串导致导出的excel列无法筛选 后来调整了一下终于弄好了,看一下最终效果 这里涉及到easyexcel和poi版本冲突的问题,一直没搞定,最后狠下心来把所有的都升级到了最新版,然…

取topN不同算法的实现的性能差别

背景 最近在实现一个需求,需要对大量数据中排序出前N,最暴力的方法肯定是直接全量排序。这里很明显是可以不用全量排序的,取前N,我们自然而然可以想到一个算法——堆排序。 一开始自己先写好了一版,后来想起&#xff…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.1.2典型应用场景:日志分析、实时搜索、推荐系统

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 为什么选择Elasticsearch?——典型应用场景深度解析1. 引言2. 日志分析:海量数据的实时洞察2.1 行业痛点2.2 ES解决方案关键技术实现: 2.…

Spring Cloud Alibaba学习 3- Sentinel入门使用

Spring Cloud Alibaba学习 3- Sentinel入门使用 中文文档参考:Sentinel中文文档 一. SpringCloud整合Sentinel 1.1 下载Sentinel-Dashboard Sentinel下载地址:Sentinel-Dashboard 到下载目录,cmd输入 java -jar sentinel-dashboard-1.8…

使用DeepSeek/chatgpt等AI工具辅助网络协议流量数据包分析

随着deepseek,chatgpt等大模型的能力越来越强大,本文将介绍一下deepseek等LLM在分数流量数据包这方面的能力。为需要借助LLM等大模型辅助分析流量数据包的同学提供参考,也了解一下目前是否有必要继续学习wireshark工具以及复杂的协议知识。 pcap格式 目…

C语言 --- 经典习题1

C语言 --- 经典习题1 第 一 题 - - - 交 换 两 个 整 数 的 值(四 种 方 法)第 二 题 - - - 最 大 公 约 数 和 最 小 公 倍 数 之 和总结 💻作者简介:曾 与 你 一 样 迷 茫,现 以 经 验 助 你 入 门 C 语 言 &#x1…

自定义mybatis拦截器,在springboot项目中不起作用的解决方法

自定义mybatis拦截器,在springboot项目中不起作用的解决方法 自定义mybatis拦截器,在若依springboot项目中不起作用的原因 找到 MyBatisConfig 配置类,引入自定义配置 在sqlSessionFactory中添加自定义拦截器,就可以正常使用了…

记录一下在k3s快速创建gitlab

废话不多说,直接上配置文件 需要修改的地方(备注都有写): 1.命名空间 namespace 2. claimName 文件挂载 Deployment kind: Deployment apiVersion: apps/v1 metadata:name: gitlabnamespace: cicd # 替换为您的命名空间la…

AWQ和GPTQ量化的区别

一、前言 本地化部署deepseek时发现,如果是量化版的deepseek,会节约很多的内容,然后一般有两种量化技术,那么这两种量化技术有什么区别呢? 二、量化技术对比 在模型量化领域,AWQ 和 GPTQ 是两种不同的量…

线性模型 - 支持向量机

支持向量机(SVM)是一种用于分类(和回归)的监督学习算法,其主要目标是找到一个最佳决策超平面,将数据点分为不同的类别,并且使得分类边界与最近的数据点之间的间隔(margin&#xff09…

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日,湖北中医药大学&谱度众合(武汉)生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行,湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…

面试基础---深入解析 AQS

深入解析 AQS:从源码到实践,剖析 ReentrantLock 和 Semaphore 的实现 引言 在 Java 并发编程中,AbstractQueuedSynchronizer(AQS)是一个核心框架,它为构建锁和其他同步器提供了基础支持。ReentrantLock 和…

从 0 到 1,用 Python 构建超实用 Web 实时聊天应用

从 0 到 1,用 Python 构建超实用 Web 实时聊天应用 本文深入剖析如何运用 Python 的 Flask 框架与 SocketIO 扩展,搭建一个功能完备的 Web 实时聊天应用。从环境搭建、前后端代码实现,到最终运行展示,逐步拆解关键步骤&#xff0…

Vue2+Element实现Excel文件上传下载预览【超详细图解】

目录 一、需求背景 二、落地实现 1.文件上传 图片示例 HTML代码 业务代码 2.文件下载 图片示例 方式一:代码 方式二:代码 3.文件预览 图片示例 方式一:代码 方式二:代码 一、需求背景 在一个愉快的年后&#xff…

[记录贴] 火绒奇怪的进程保护

最近一次更新火绒6.0到最新版,发现processhacker的结束进程功能无法杀掉火绒的进程,弹窗提示如下: 可能是打开进程时做了权限过滤,火绒注册了两个回调函数如下: 但奇怪的是,在另外一台机器上面更新到最新版…

【蓝桥杯】每天一题,理解逻辑(1/90)【Leetcode 移动零】

文章目录 题目解析讲解算法原理【双指针算法思路】(数组下标充当指针)如何划分和执行过程大致 代码详情 题目解析 题目链接:https://leetcode.cn/problems/move-zeroes/description/ 题目意思解析 把所有的零移动到数组的末尾保持非零元素的相对顺序 理解了这两层…

pycharm远程连接服务器运行pytorch

Linux部署pytorch 背景介绍 不同的开源代码可能需要不同的实验环境和版本,这时候的确体现出Anaconda管理环境的好处了,分别搞一个独立环境方便管理。 有的教程建议选择较旧的版本,但笔者建议在条件允许的情况下安装最新版,本次…