51单片机介绍

单片机简介

什么是单片机呢?

        单片机是一种集成电路芯片,采用超大规模集成电路技术将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O口、中断系统、定时器/计数器等功能集成到一块硅片上,构成一个小而完善的微控制器MCU。(所以它跟计算机是有非常多的相同点,但是不能等同哟);


单片机核心组成与功能

        CPU:作为单片机的控制中心,负责执行程序指令,处理数据运算,并协调各部件协同工作。

        存储器:分为两种ROM和RAM;ROM:存储固化程序,如启动代码、固定参数等,断电后数据不丢失。RAM:用于运行时数据存储,如变量、中间结果等,断电后数据丢失。

        I/O接口:通过输入输出端口与传感器、执行器等外部设备交互,实现数据采集与控制输出。

        定时器/计数器:实现精准时间控制,如定时中断、PWM输出等,或对外部事件进行计数。

        中断系统:处理紧急事件,如外部按键按下、定时器溢出等,通过中断机制实现实时响应。

单片机还有许多功能组成这里不一一解释啦!在后面的学习中我们逐步掌握(干中学)!


51单片机简介

什么是51单片机呢?

        51单片机是对兼容英特尔8051指令集系统的8位单片机的统称,其技术源自Intel 1980年代推出的8051内核,广泛应用于家电控制、汽车电子、工业测控及通信设备领域。(所以说51单片机不是一个芯片哟,而是基于Intel公司推出的8051指令集系统的8位单片机的统称,有非常多的公司基于Intel公司推出的8051指令集系统生产的芯片呢。这里小伙伴们还是不理解的话,就简单理解为很多公司用了Intel公司推出的8051指令集这个技术生产出的8位单片机就是51单片机啦!);


51单片机生产公司生产的型号

Intel:80C31、80C51、87C51、80C32、80C52、87C52等。

Atmel:89C51、89C52、89C2051、89S51(RC)、89S52(RC)等。

Philips、华邦、Dallas、Siemens等公司的许多产品。

STC(宏晶):STC89C51、STC90C51、STC11系列、STC15系列、STC8系列等。(这家公司真的非常牛掰!生产的51单片机目前可以说是处于垄断地位。是我们的国货之光!)


STC89系列51单片机总体简介

STC89系列51单片机介绍

1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可任意选择,指令代码完全兼容传统8051

2.工作电压:5.5V-3.3V(5V单片机)        /        3.8V-2.0V(3V单片机);

3.工作频率范围:0~40MHz,相当于普通8051的 0~80MHz,实际工作频率可达48MHz;

4. 用户应用程序空间:4K/8K/13K/16K/32K/64K字节;

5. 片上集成1280字节或512字节RAM;

6. 通用I0口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I0口);PO口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为0口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;

8.有EEPROM功能;

9.内置看门狗功能,防止程序跑飞,提高系统稳定性。

10.内部集成MAX810专用复位电路(HD版本和90C版本才有),外部晶体20M以下时,可省外部复位电路。

11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。

12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒。

13.通用异步串行口(UART),还可用定时器软件实现多个UART.

14.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级);

15.封装:LQFP-44,PDIP-40.PLCC-44,PQFP-44;


STC89系列单片机的内部结构

STC89C51RC/RD+单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/0接口、EEPROM、看门狗等模块。STC89C51RCIRD+系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。

STC89系列51单片机管脚图

图中虽然有三种芯片图,但是都是51芯片哟。只是封装格式不同啦,有贴片式和插件式。

以PDIP封装图为例,40引脚我们按其功能类别可分为四类:

        1.电源引脚:VCC、GND

        2.时钟引脚:XTAL1、XTAL2

        3.编程控制引脚:如RST、PSEN、ALE/PROG、EA/Vpp

        4.I/O口引脚:P0、P1、P2、P3;4组8位I/O

VCC(40 脚)、GND(20 脚):电源引脚,不同型号单片机接入对应电压, 常压为+5V,低压为+3.3V,大家在使用时要查看其芯片所要求的电压;

XTAL1(19 脚)、XTAL2(18 脚):外接时钟引脚。XTAL1 为片内振荡电路的 输入端,XTAL2为片内振荡电路的输出端。8051 的时钟有两种方式,一种是片内 时钟振荡方式,即需在这两个引脚处外接石英晶振和振荡电容,振荡电容的值一 般取 10p~30p;另一种是外部时钟方式,即将 XTAL1 接地,外部时钟信号从 XTAL2 脚输入。通常使用第一种方式。

P0 口(39 脚~32 脚):双向 8 位三态 I/O 口,每个口可独立控制。51 单片机 P0 口内部没有上拉电阻,若输出高时为高阻态,不能正常输出高电平,因此该组 I/O 口,每个口可独立控制。51 单片机 P0 口内部没有上拉电阻,若输出高 时为高阻态,不能正常输出高电平,因此该组 I/O 口在使用时务必要外接上拉电 阻,一般我们选择接入 10K 欧上拉电阻。

P1 口(1 脚~8 脚):准双向 8 位 I/O 口,每个口可独立控制,内部自带上拉 电阻,这种接口输出没有高阻态,输入也不能锁存,故不是真正的双向 I/O 口。 之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写 1 操作,然后单片机内部才可正确读出外部信号,也就是要使其先有个“准”备的 过程,所以才称为准双向口。对 52 单片机 P1.0 引脚的第二功能未 T2 定时器/ 计数器的外部输入,P1.1 引脚的第二功能为 T2EX 捕捉、重装触发,即 T2 的外 部控制端。

P2 口(21 脚~28 脚):准双向 8 位 I/O 口,每个口可独立控制,内部自带上拉电阻,与 P1 口相似。

P3 口(10 脚~17 脚):准双向 8 位 I/O 口,每个口可独立控制,内部自带上拉电阻。作为第一功能使用时就当做普通 I/O 口,与 P1 口相似。作为第二功能 使用时,各引脚的定义如下:


普中51开发板模块化功能介绍

普中51开发板模块化功能介绍:

本专栏采用普中51-实验板进行开发,如图所示:

接下来我在普中官网中采用编号图片为大家讲解普中51-实验板的各个模块化功能:

编号1:步进电机模块

步进电机模块:通常采用五线四相步进电机,搭配ULN2003A驱动芯片,实现步进电机的精确控制。

步进电机以28BYJ-48为例,这是一款五线四相单极性步进电机,具有体积小、扭矩适中、控制简单等特点。

ULN2003芯片是一种高耐压、大电流复合晶体管阵列,由七对NPN的达林顿管组成,可以驱动电机、继电器、灯等大功率器件。

在步进电机模块中,ULN2003芯片用于放大单片机输出的脉冲信号,以驱动步进电机正常工作。

编号2:蜂鸣器模块

蜂鸣器模块:采用无源蜂鸣器(压电式),需外部提供1.5-5kHz的脉冲信号才能发声。可通过调整频率实现音调变化(如播放简单音乐/报警提示),但需单片机输出特定频率的方波信号驱动。

编号3:DS1302时钟模块

DS1302时钟模块:通过简单的串行接口与单片机通信,为用户提供稳定的时间基准。可用于实现需要精确时间记录的场合,如电子时钟、数据记录设备等。

编号4:ADC/DAC模块

ADC/DAC模块:将模拟信号(如电压、温度、光强等)转换为数字信号,供单片机处理。例如对XPT2046和LM258等芯片,可对模拟信号采集转换,可设计简易电压表、烟雾监控系统等;

编号5:单片机复位模块

单片机复位模块:按键手动复位和上电自动复位相结合的设计,手动复位是对编号5中的按键按下,实现复位功能。上电自动复位是开发板上电后自动复位;

编号6:电源开关

电源开关模块:开发板通过USB接口供电时,电源开关不按下板子是没有上电的。按下后板子才会上电。实现系统电源控制。

编号7:USB转TTL模块

USB转TTL模块:其核心通信组件,通常采用CH340芯片实现USB信号与TTL电平的双向转换,为开发板与电脑之间的串口通信提供桥梁。实现两个功能:即可下载程序,又可串口通信

编号8:MiniUSB接口模块

MiniUSB接口模块:兼容安卓手机数据线实现板子和电脑的数据和电源传输

编号9:电源模块

电源模块:AMS1117芯片作为电源模块的核心组件,主要承担5V转3.3V稳压供电任务,为开发板上的3.3V逻辑器件(如单片机核心、传感器模块、无线通信模块等)提供稳定电源。

编号10:电源输出端子模块

电源输出端子模块:是利用AMS1117芯片输出的电压作为外部使用,用户可根据需要使用杜邦线选择使用3V还是5V电源电压。

编号11:独立按键模块

独立按键模块:包含4个独立按键(K1-K4),通过机械弹性开关实现信号输入,采用软件消抖处理按键抖动,直接连接至单片机P3口的低4位(P3.0-P3.3),支持通过检测IO口电平状态实现按键功能开发。

编号12:NRF24L01接口模块

NRF24L01接口模块:是一款低功耗、高速率的2.4GHz无线收发模块,适用于短距离无线通信场景。

编号13:STC89C52单片机接口座和IO引脚模块

STC89C52单片机接口座和IO引脚模块:STC89C52单片机接口座是实验板上用于安装STC89C52单片机的插座,它提供了单片机与实验板上其他模块之间的电气连接。通过这个接口座,用户可以方便地更换单片机,进行不同的实验或项目开发。IO引脚模块:STC89C52单片机具有40个引脚,其中包含了多个IO(输入/输出)引脚,这些引脚被分为四个并行端口方便二次开发,每个端口都有其特定的功能和用途;

编号14:DS18B20模块

DS18B20模块:是一款基于单总线协议的数字温度传感器,具有高精度、低功耗、抗干扰性强等特点,适用于各种温度监测场景。

编号15:红外接收模块

红外接收模块:是一个用于接收红外信号并将其转换为电信号的关键组件,通常采用一体化红外接收头,支持38kHz载波频率,具有抗干扰能力强、信息传输可靠、功耗低、成本低等特点,适用于各种无线遥控场景。

编号16:矩阵按键模块

矩阵按键模块:是一种通过行列交叉连接按键阵列的设计,旨在减少单片机I/O口的使用,同时支持多个按键的检测。

编号17:LED灯模块

LED灯模块:是一种基础且常用的输出设备,主要用于通过发光二极管(LED)的亮灭状态来直观展示单片机的控制效果或程序运行状态。

编号18:8*8单色LED灯点阵模块

8*8单色LED灯点阵模块:是一种由64个LED灯组成的矩阵,能够独立控制每个LED灯的亮灭,以显示数字、字符、简单汉字或图形。

编号19:74HC595芯片模块

74HC595芯片模块:在普中51-A2实验板上,74HC595模块是一个重要的串行输入、并行输出移位寄存器芯片,用于扩展单片机的I/O口,驱动8×8单色LED点阵模块。

编号20:LCD12864液晶接口模块

LCD12864液晶接口模块:可以兼容LCD9648、Mini LCD1286、带字库LCD12864液晶、用于嵌入式系统中显示图形和文本信息。

编号21:LCD1602液晶接口模块

LCD1602液晶接口模块:可以兼容LCD1602/LCD9648液晶屏,用于嵌入式系统中显示数据信息。

编号22:动态数码管模块

动态数码管模块介绍:是一种常用的数字显示设备,由多个发光二极管(LED)封装在一起组成“8”字型的器件。该模块通常包含多个(如8个)数码管,通过动态扫描的方式实现多位数字的显示。动态数码管模块具有显示清晰、功耗低、寿命长等优点,广泛应用于各种嵌入式系统和单片机开发中。

编号23:EEPROM模块

EEPROM模块:采用AT24C02芯片,这是一种I2C接口的串行EEPROM存储器。256字节存储容量,存储数据掉电不丢失,可存储重要数据;

编号24:74HC138译码器模块

74HC138译码器模块:是一个高速CMOS译码器,用于将3位二进制输入转换为8个互斥的低电平有效输出,以实现动态数码管的片选功能,节约I/O口资源。 


本章部分内容引用于STC89xx中文参考手册和普中51单片机开发攻略!本人也会把文件一起发送大家一起学习!喜欢的小伙伴给个小赞赞!喜欢我的小伙伴点个关注!有不懂的地方和需要的资源随时问我哟!

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8月AI面试工具测评:破解规模化招聘难题

金秋校招临近,企业面临“百万简历涌入VS面试官团队告急”的典型困境。传统线下面试效率低下、标准参差,难以应对短时间内爆发式的人才筛选需求。AI面试工具凭借自动化与智能化特性成为破局关键,但市面上产品良莠不齐——究竟哪款能兼顾效率与…

Debian新一代的APT软件源配置文件格式DEB822详解

Debian 的 DEB822 格式详解:新一代 APT 源配置 DEB822 是一种基于 RFC 822 数据格式的配置文件语法,Debian 新一代的 APT 软件源配置文件格式就采用了 DEB822。DEB822 格式从 Debian 11 (Bullseye) 开始被引入,并在 Debian 12 (Bookworm) 中成…

实战 AI8051U 音视频播放:USART-SPI→DMA-P2P→SPI+I2S 例程详解

视频P2P播放,时间计算:fps20,50ms 周期刷屏时间:160*80 一帧刷屏时间28.2ms帧间隔:50ms-28.2ms21.8ms音频双缓冲区交叉播放,利用视频播放帧间隔加载下一个缓冲区音频数据,时间计算:16000采样率 …

解释器模式C++

解释器模式(Interpreter Pattern)是一种行为型设计模式,它用于定义一种语言的语法规则,并构建一个解释器来解释该语言中的句子。这种模式适用于需要处理固定语法规则的场景,如表达式解析、配置文件解析等。 解释器模式…

debian 13 显示中文字体 不再显示菱形块 终端显示中文

找了很多坑。。其它就安装一下中文字体即可 。 apt install ttf-wqy-zenhei 之后测试命令 fc-list :langzh 显示了刚字体的路径和中文字即成功了。 rootdebian:~# dpkg-reconfigure locales 以上命令配置中文语言。 debian 12.11 安装 MySQL 下载配置文件 &am…

51单片机-驱动蜂鸣器模块教程

本章概述思维导图: 51单片机驱动蜂鸣器模块教程 蜂鸣器简介 蜂鸣器是一种将电信号转换为声音信号的电子元件,广泛应用于报警、提示、通知等场景。其核心原理基于压电效应或电磁感应:因此可分为两种类型蜂鸣器:压电式蜂鸣器和电磁…

常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南

一、基础Linux指令1. 文件与目录操作ls -lh # 查看文件详情(人类可读格式) pwd # 显示当前目录路径 cd /path # 切换目录 mkdir dirname # 创建目录 rm -rf dirname # 强制删除目录 cp -r src dest # 递归复制目录 mv old new # 移动/重命…

小红书帖子评论的nodejs爬虫脚本

从小红书上爬取评论,但是目前还不能完全爬取子评论,使用GPT没能解决这个问题。后续博主可能会改进。或者如果你懂的话,可以在博主代码基础上改进。需要安装nodejs软件,部署环境变量。博主是在pycharm中运行的。代码无套路获取。自…

【iOS】多线程原理

目录 前言 基本概念及原理 线程、进程与队列 线程的定义: 进程的定义: 线程与进程之间的联系与区别: 线程和runloop的关系 影响任务执行速度的因素 多线程 多线程生命周期 线程池的原理 iOS中多线程的实现方式 线程安全问题 互斥…

药房发药的“时间密码”:同步时钟用药安全?

在医院的药房里,每一粒药片的流转都暗藏“时间密码”。从药品入库到患者服药,时间记录的精确性直接关乎生命安全。一旦时间数据出现偏差,轻则导致用药争议,重则引发医疗事故。近年来,随着医疗数字化进程加速&#xff0…

UI-TARS-Desktop 深度解析:下一代智能自动化桌面平台

目录 1. 产品概述 2. 核心功能与技术架构 2.1 关键技术 2.2 功能亮点 3. 竞品对比分析 4. 部署与成本分析 4.1 部署方案 4.2 隐性成本 5. 商业化前景 5.1 目标市场 5.2 盈利模式 5.3 风险挑战 6. 未来演进方向 7. 总结 1. 产品概述 UI-TARS-Desktop 是一款基于A…

STM32L051同时处理Alarm A和Alarm B中断

同时处理Alarm A和Alarm B中断 当同时启用Alarm A和Alarm B时,需要在中断处理程序中准确判断是哪个闹钟触发了中断。以下是完整的解决方案: 中断判断与处理流程 1. 在RTC中断服务程序中判断中断源 // stm32l0xx_it.c void RTC_IRQHandler(void) {/* USER…

OpenCV---morphologyEx形态学操作

在计算机视觉与图像处理领域,形态学操作是一种基于图像形状的非线性处理方法,广泛应用于噪声去除、边缘检测、目标分割等任务。OpenCV提供的morphologyEx函数是形态学操作的“瑞士军刀”,它整合了多种高级形态学运算,能够实现开运…

RuoYi-Cloud 接入 Sentinel 的 3 种限流方式

场景: 服务:ruoyi-robot(对外接口统一在 /external/gs/**) 网关:ruoyi-gateway(转发到 ruoyi-robot) 注册/配置:Nacos 流控:Sentinel 1.8.x 控制台 Dashboard&#x…

快速搭建python HTTP Server测试环境

这里用python http.server搭建一个api测试环境,自定义请求处理程序,以模拟不同api相应。 1 服务代码 /api/data,端口8000,GET 返回json数据为"{"message": "This is a sample API response"}" 代…

Docker容器定时任务时区Bug导致业务异常的环境变量配置解决方案

Docker容器定时任务时区Bug导致业务异常的环境变量配置解决方案 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是…

解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程

文章目录解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程引言:技术融合的奇妙开篇认识主角:Dify、MCP 与 MySQL(一)Dify:大语言模型应用开发利器(二)MCP:连接的桥梁&am…

杂记 02

1 WSL安装 WSL的安装遇到了问题,睡醒起来发现电脑蓝屏了,linux系统没装好,但是好像大部分开发环境都是linux下需要的,先这样用一下吧,到时候再说。可以问下前辈开发细节,主要是网络代理问题,保…

剧本杀小程序系统开发:重构推理娱乐生态

在娱乐产业蓬勃发展的今天,推理娱乐作为一种充满智慧和挑战的娱乐形式,受到了越来越多人的喜爱。剧本杀,作为推理娱乐的代表之一,正以其独特的魅力吸引着大量玩家。而剧本杀小程序系统开发,则为推理娱乐生态的重构带来…

力扣习题:基本计算器

本片内容我们将针对于一个力扣中的一道很经典的习题:基本计算器。 这道题目十分经典,在很多大厂的面试题中都有出现过 因此我们将进一步来学习 该题目代码已经上传作者的个人gitee:CPP 学习代码库: C代码库新库,旧有C仓库满员了喜…