51单片机-51单片机介绍
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单片机开发攻略!本人也会把文件一起发送大家一起学习!喜欢的小伙伴给个小赞赞!喜欢我的小伙伴点个关注!有不懂的地方和需要的资源随时问我哟!