新手学习什么单片机新手推荐51系列单片机的学习资料?

单片机可以用于各种工业控制系统、自适应控制系统、数据采集系统等。4.单片机硬件结构为什么称之为单片机最小系统呢?这两个标准,当然现在还有对电压要求更低的单片机系统,一般多用在一些特定场合,在学习中我们不做过多的关注。最终完成我们想要的功能就是通过对单片机编程来控制各种各样的外设实现的。

微控制器是采用超大规模集成电路技术,将具有数据处理能力的中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、各种I/O端口组合在一起的集成电路芯片。和中断系统以及定时器/计数器。 将显示驱动电路、脉宽调制电路、模拟多路复用器、A/D转换器等电路集成在一块硅片上,形成一个小而完整的计算机系统。

单片机的结构框图如下:

新手学习什么单片机新手推荐51系列单片机的学习资料?

2. 微控制器可以做什么?

小到玩具汽车、电子手表,大到航天器、机器人,无论是数据采集、工业控制还是智能仪器仪表和通信设备,微控制器无处不在。 其主要应用领域如下: (1)机电一体化应用。 单片机与传统机械产品的结合,简化了传统机械产品的结构,使控制更加智能化,将传统产品转变为新一代机电一体化产品。 这是机械工业的发展方向。 (2)在监控系统中的应用。 单片机在仪器仪表设备中的应用,推动仪器仪表向数字化、智能化、多功能化、综合化方向发展。 单片机软件编程技术解决了测量仪器中长期存在的误差修正、线性化处理等问题。 (3)在测控系统中的应用。 微控制器可应用于各种工业控制系统、自适应控制系统、数据采集系统等。例如工业锅炉控制、电机控制、车辆检测系统、水闸自动控制、数控机床和军事武器装备等。 (4)在智能接口中的应用。 计算机系统,特别是较大的工业测控系统,均采用单片机进行接口控制和管理。 单片机与主机并行工作,可以大大提高系统的运行速度。

3、新手应该学习什么单片机?

新手推荐51系列单片机。 该系列单片机相关的学习资料很多,网上也比较容易找到。 51系列单片机拥有比较大的市场份额,在很多产品中都能找到它的身影。 同时51系列单片机也是学习ARM、DSP、FPGA等高端MCU的基础。

4、单片机硬件结构

(1)单片机的三大内部资源

Flash——程序存储空间。 早期的微控制器采用OTPROM:在早期的微控制器中,OTPROM(一次性可编程只读存储器)主要用于存储微控制器的程序。 该程序只能写入一次。 随着技术的发展,Flash以其可重复擦除、容量大、成本低的特点,成为大多数微控制器的程序存储器。 对于单片机来说,Flash最大的意义就是断电后数据不会丢失。

RAM——数据存储空间:RAM用于存储程序运行过程中产生和需要的数据。 断电后数据丢失。 它的优点是,一是读写速度非常快,二是理论上可以无限写入,即具有无限的寿命,无论程序如何运行和读取都不会中断。写道。

SFR——特殊功能寄存器:单片机有很多功能,每个功能对应一个或多个SFR。 我们通过编写程序控制SFR的读写来实现单片机的各种功能。

(2)标签信息

下面以STC89C52RC单片机为例进行介绍:

新手学习什么单片机新手推荐51系列单片机的学习资料?

芯片上的所有标签为STC89C52RC、40I-PDIP40、1428HBS967.C90C。 标签说明如下。

STC——芯片生产公司,STC的意思是宏晶公司。 常见的前缀有AT、P、W、SST等,其中AT代表Atmel公司,P代表Philips公司,W代表Winbond公司,SST代表SST公司。

8 – 该芯片是8051核心芯片。

9——芯片内含Flash EEPROM存储器。 其他如80C51中的0表示包含内部掩膜存储器(Mask ROM),87C51中的7表示包含内部UV可擦除ROM(EPROM)。

C——该器件是CMOS产品。 其他包括 89LE52、89LV52 和 89LS52。 LE、LV、LS代表低压产品(通常工作电压为3.3V)。 89S52中的S代表该系列芯片具有ISP在线编程功能。

5 – 已修复。

2——芯片内部程序存储空间的大小。 1 为 4 KB,2 为 8 KB,3 为 12 KB。 也就是说,这个数字乘以4KB就是芯片内部程序存储空间的大小。 空间越大,可以加载的程序代码就越多。 当然,空间越大,芯片的价格就越高。 所以,我们在选择芯片的时候,一定要根据自己的需求进行合理的选择,只要够用就可以了。 该空间的大小与单片机的其他性能无关,不影响单片机的功能。

RC——STC单片机内部RAM为512B,RD+表示内部RAM为1280B。

40——芯片外部晶振最高可达40 MHz。 像Atmel的单片机,​​这个值一般是24,也就是说外部晶振最高是24MHz。

I——产品级别。 I是指工业级,温度范围为-40~85℃。 其他如C表示商业级,温度范围为0~70℃; A表示汽车级,温度范围-40~125℃; M表示军用级,温度范围为-55~150℃。

PDIP——产品封装模型。 PDIP 是双列直插式的。 其他如PLCC是带引线的塑料芯片封装; QFP是塑料方形扁平封装; PFP是塑料扁平元件封装; PGA是引脚栅格阵列封装; BGA是一种球栅阵列封装。

40——引脚数。

1428——这批芯片的生产日期是2014年第28周。

(3) 引脚功能介绍

新手学习什么单片机新手推荐51系列单片机的学习资料?

注:芯片上通常标有芯片的第一个引脚。 有的是一个小圆坑或一个点,有的是整个芯片起始脚旁边的标记。 找到引脚 1 后,从俯视图中的引脚 1 开始,按逆时针顺序对其他引脚编号进行编号。

单片机的引脚大致可以分为四类:

① 电源引脚:VCC、GND。

② 时钟引脚:XTAL1、XTAL2。

③ 控制引脚:RST、PSEN、ALE/PROG、EA/VPP。

④ I/O 引脚:4 个 8 位并行 I/O 口 P0、P1、P2、P3,共 32 个引脚。

VCC(引脚40):单片机电源正极。 不同类型的单片机的供电电压会有所不同,通常为+5V,如果是低电压则为+3.3V。 使用前请查看单片机对应的数据表。

GND(20脚):单片机电源负极,接地端。

XTAL1(引脚19)、XTAL2(引脚18):时钟电路引脚。 XTAL1连接外部晶振和微调电容的一端。 在片内,它是振荡器反相放大器和时钟发生器的输入端。 如果使用外部时钟,该引脚必须接地。 XTAL2连接外部晶振和微调电容的另一端。 在片内,它是振荡器反相放大器的输出端。 如果使用外部时钟,则该引脚连接到外部时钟的输入。

RST(引脚9):MCU 复位引脚。 持续超过两个机器周期的高电平会导致系统复位。 这意味着该程序将从头开始运行。

PSEN(引脚29):外部程序存储器选通信号输出引脚。 读外部ROM时,PSEN低电平有效,实现外部ROM单元的读操作。 随着技术的发展,单片机的内部存储ROM越来越大,已经能够满足使用的需要,基本上已经没有人再扩展外部ROM了。 设计电路时,该引脚一般悬空,不使用。

① 读取内部ROM时,PSEN不操作;

② 读取外部ROM时,每个机器周期操作两次;

③ 从外部RAM读取时,两个PSEN脉冲将被跳过,不会输出;

④ 连接外部 ROM 时,连接至 ROM 的 OE 引脚。

ALE/PROG(引脚30):具有两种功能,可作为地址锁存使能端和编程脉冲输入端。 当用作地址锁存使能端时,为ALE。 当微控制器访问外部程序存储器时,ALE的负跳变锁存低8位地址。 当访问外部数据存储器时,例如执行 MOVX 类指令时,ALE 引脚将跳过一个脉冲。 当单片机不访问外部程序存储器时,ALE引脚会有1/6振荡频率的正脉冲信号输出,可用于外部计数或电路其他部分的时钟信号。 作为编程脉冲输入端子时为PROG,下载程序时使用。 现在很多单片机在烧写程序的时候已经不再需要通过脉冲引脚来烧写内部程序了。比如我们使用的STC单片机就是通过串口烧写的。

已记录,使用更方便。 如今的单片机有丰富的RAM和更简单的程序烧录方式,所以ALE/PROG引脚很少使用,我们只需要了解它即可。 设计电路时,一般不连接,不使用。

EA /VPP(引脚31):有两个功能。 EA:程序存储器选择。 当EA=1时,微控制器执行内部程序存储器中的程序。 当扩展外部程序存储器时,执行完内部程序存储器中的部分程序后,自动执行外部程序存储器中的程序。 EA=0,单片机执行外部程序存储器中的程序。

VPP:内部程序存储器擦除和写入时提供编程脉冲。 现在的单片机内部ROM一般都足够大,能够满足我们的程序存储需要,所以一般不使用VPP功能。 因此,一般在设计电路时,可以将该引脚一直接高电平。

I/O引脚:STC89C52共有4个8位并行I/O口,即P0、P1、P2、P3口,共32个引脚。

端口P0(引脚39~引脚32):端口P0为8位开漏双向端口,分别为P0.0~P0.7,可独立控制。 当P0口作为低8位地址/数据总线时,不需要接上拉电阻; 用作通用I/O口时,由于内部没有上拉电阻,需要外接上拉电阻。 一般采用10kΩ电阻作为上拉电阻。

P1端口(引脚1~8):P1端口是带上拉电阻的8位准双向端口,分别是P1.0~P1.7端口。 它们可以独立控制,也可以用作输入或输出端口。

端口 P2(引脚 21 至 28):端口 P2 是带上拉电阻的 8 位准双向端口。 分别是端口P2.0至P2.7。 它们可以独立控制,并可以用作输入或输出端口。 功能是一样的。 P1口类似。

端口P3(引脚10~17):端口P3是8位准双向端口,带上拉电阻,分别为端口P3.0~P3.7,可独立控制。 它是一个双用途端口,可用作输入或输出端口。 其功能与P1口类似。 它还有一个辅助功能,如表所示。

新手学习什么单片机新手推荐51系列单片机的学习资料?

(4)最小系统

新手学习什么单片机新手推荐51系列单片机的学习资料?

图1-1

为什么被称为最小的微控制器系统? 单片机最小系统,也称单片机最小应用系统,是指使用最少的原有元件使单片机工作的系统。 单片机最小系统的三要素是电源、晶振、复位电路,如上图所示。

1)电源

这很容易理解。 所有的电子设备都需要电源,就连我们的家用电器(手电筒^_^)也不例外。 目前主流单片机的供电分为两种标准:5V和3.3V。 当然,也有电压要求较低的微控制器系统。 它们一般用于一些特定的场合。 我们在学习中不会过多关注它们。 我们选择的STC89C52需要5V供电系统。 我们的开发板直接由USB端口输出的5V DC供电。 从上中图可以看到,电源电路在40脚和20脚。40脚接+5V,通常也称为VCC或VDD,代表电源正极。 20脚接GND,代表电源负极。 +5V和GND之间还有一个电容。

这里我们还需要普及一下看原理图的知识。 电路原理图的存在是为了表达电路的工作原理。 当绘制许多器件时,他们更关心的是便于原理分析,而不是表达每个器件的实际位置。 例如原理图中的单片机引脚图,我们可以随意放置引脚,但每个引脚上都有一个数字标签。 该数字标签代表微控制器的真实引脚位置。 一般情况下,这种双列直插式封装芯片的引脚1在左上角。 逆时针旋转针数会增加,直到右上角为最大的针。 我们现在使用的单片机共有40个引脚。 因此,右上角为40(代表芯片的方框内),如下图所示。 您必须区分原理图引脚编号和实际引脚位置之间的差异。

新手学习什么单片机新手推荐51系列单片机的学习资料?

图1-2

2)晶振电路

晶振,也叫晶振,从这个名字我们就可以看出它在整个生命周期中注定要不断地振荡。

它的作用是为单片机系统提供参考时钟信号,类似于我们军事训练时喊命令的人。 微控制器内部的所有工作都是基于这个时钟信号作为节奏基准。 STC89C52单片机的18、19引脚是晶振引脚。 我们连接了一个11.0592M晶振(每秒振荡11,059,200次),加上两个20pF电容。 电容的作用是帮助晶振起振和维持振荡。 信号稳定性。

3)复位电路

图1-1左侧是复位电路,连接到单片机的9脚RST(Reset)复位引脚。 稍后我们将讨论这个复位电路的工作原理。 现在我们将重点讨论复位对单片机的作用。 单片机复位一般有三种类型:上电复位、手动复位、程序自动复位。

假设我们的微控制器程序有 100 行。 跑到50号线时,突然停电。 此时,单片机内部有些区域数据会丢失,有些区域数据可能不会丢失。 那么当我们下次开机的时候,我们希望单片机能够正常运行,所以上电后,单片机会经历一个内部的初始化过程。 这个过程可以理解为上电复位。 上电复位确保微控制器每次都从固定值启动。 在相同的状态下开始工作。 这个过程和我们打开电脑电源时的过程是一致的。

当我们的程序运行时,如果遇到意外的干扰,导致程序崩溃,或者程序跑掉,我们可以按一个复位按钮,重新初始化程序,重新运行。 此过程称为手动重置。 最典型的就是我们电脑的重启按钮。

当程序崩溃或者跑掉的时候,我们的微控制器往往都有一个自动复位机制,比如看门狗。 具体应用我们稍后再详细了解。 这种情况下,如果程序长时间失去响应,MCU看门狗模块会自动复位,重启MCU。 也有一些情况是我们的程序故意重启并重置微控制器。

电源、晶振、复位构成了最小单片机系统的三要素。 换句话说,如果单片机满足这三个条件,它就可以运行我们下载的程序。 其他设备如LED灯、数码管、液晶等都可以是属于单片机的外部设备,即外设。 我们最终想要的功能是通过对单片机进行编程来控制各种外设来实现的。

点亮 LED1。 了解普通发光二极管的参数,掌握限流电阻的计算方法。

LED,即发光二极管,俗称LED小灯,种类繁多,参数各异。 通常二极管的正向导通电压为1.8V~2.2V,工作电流一般在1mA~20mA之间。 当电流在1mA到5mA之间变化时,随着通过LED的电流越来越大,肉眼可以明显感觉到LED小灯的亮度越来越强。 当电流超过20mA时,LED就有烧坏的危险。 电流越大,烧坏的可能性就越大。

如上电路图所示,VCC代表接入电压,其电压值为5V,发光二极管本身的压降为2V,所以此时R34电阻所能承受的电压应为3V。由上可知,LED可通过的电流范围为1mA~20mA。 此时,可以根据欧姆定律计算出R34电阻的上限(R=U/I,R代表电阻,U代表电压,I代表电流)。 电阻值下限。

2. LED照明原理

不同的发光二极管具有不同的正向导通电压。 具体的压降取决于二极管,但相同的特点是二极管的正电压必须大于负电压。 如图原理图所示,二极管的阳极接一个电阻再接Vcc,阴极直接接P20口。 当Vcc为高电平时,P20端口为低电平,电阻在此提供压降,防止D1端口两端电压过高,限制电流过大。 这样我们就得到了我们需要设置的参数,P20口电压为0,也就是说Keil中需要设置的参数是P20电压为0。

3.代码

#include “reg52.h”   
                   //此文件中定义了单片机的一些特殊功能寄存器,调用头文件
 sbit led=P0^0;    //将单片机的P0.0端口定义为led,p是port的缩写
                   //此处LED接在单片机P0^0端口
void main()
{
    while(1)
    {
        led=1;  //P0.0端口设置为高电平
    }       
}
//补充:bit和sbit都是C51扩展的变量类型。sbit用法:sbit 变量名=地址值;在给某个引脚取名的时候经常会用到。

LED灯闪烁一、C语言中常用预处理命令typedef的使用

typedef 无符号字符 u8;

typedef 无符号 int u16; (后面加分号)2.延时功能

void delay(u16 i)//大约延时10us
{
    while(i--); 
}

3.代码

#include "reg52.h"          
typedef unsigned int u16;                    //预处理命令
typedef unsigned char u8;
    sbit led=P0^0;                       //端口定义
 
void delay(u16 i)                                   //大约延时10us
{
    while(i--);                                     
}
 
void main()                                            
{
    while(1)
    {
        led=0;                         //管脚置低电平
        delay(50000);             //大约延时0.5秒
                            led=1;                         //管脚置高电平      
        delay(50000);   
    }       
}     
单片机

DS1818BB2020芯片的控制与使用关键词51单片机入门

2024-2-5 21:07:59

单片机

基于STC8989CC52RC单片机的C语言编程和单片机应用技术

2024-2-5 22:04:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索