最新消息:

【一起学51单片机】第2课 – 点亮LED小灯

51单片机 399浏览 0评论

2.1 单片机的内部资源

这里列几个关键字,要理解。
1.Flash (FLASH Memory)又称FLASH闪存。它是EEPROM的一种。它结合了ROM和RAM的长处。不仅具备电子可擦除可编辑(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据。它和EEPROM的最大区别是,FLASH按扇区(block)操作,而EEPROM按照字节操作。FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因此适合用于做程序存储器。

2.RAM (Random Access Memory)随机访问存储器。是与 CPU 直接交换数据的内部存储器,也叫内存。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介, 当电源关闭时RAM不能保留数据。RAM 可以进一步分为静态 RAM(SRAM)和动态内存(DRAM)两大类。

  • 静态RAM(Static RAM/SRAM):SRAM速度非常快,不需要刷新电路即能保存数据,是目前读写最快的存储设备了,但是集成度较低,非常昂贵,多用于CPU的一级缓存,二级缓存(L1/L2 Cache)。
  • 动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短(需要内存刷新电路,每隔一段时间,刷新充电一次,否则数据会消失),速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

3.ROM (Read Only Memory)只读存储器。它是一种只能读出事先所存的数据的固态半导体存储器。ROM中所存数据稳定,一旦存储数据就再也无法将之改变或者删除,断电后所存数据也不会消失。其结构简单,因而常用于存储各种固化程序和数据。
在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、‘const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。
为了便于使用和大批量生产,进一步发展出了可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)。EPROM需要用紫外线长时间照射才能擦除,使用很不方便。1980s又出现了电可擦除可编程只读存储器(EEPROM),它克服了EPROM的不足,但是集成度不高、价格较贵。于是又发展出了一种新型的存储单元结构同EPROM类似的快闪存储器(FLASH MEMORY)。FLASH集成度高、功耗低、体积小,又能在线快速擦除,因而获得了快速发展。

  • PROM 是可编程一次性(无法修改)的ROM;
  • EPROM 是紫外线可擦除可编程的ROM;
  • EEPROM 是电可擦除可编程的ROM,按字节进行删除和重写,写入时间很长,写入很慢; 现在多用作非易失的数据存储器。特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。

4.SFR(Special Function Register)特殊功能寄存器,说到特殊功能寄存器,这里要展开详细的说一下。
51系列单片机内部主要有4大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口)。51单片机开发的重点其实就是对这4个部分进行具体的开发,而其对这4个模块的开发实质则又是能否对每个模块所对应寄存器的正确操纵。
单片机的内部结构可以大概归纳如下图:
51的特殊功能寄存器sfr笔记
四大功能模块相关的寄存器又可分为四大部分:
I/O口相关:P1 P2 P3 P4
中断相关:IP IE
定时器相关:TMOD TCON TL0 TH0 TL1 TH1
串口通信相关:PCON SBUF

现在所有80C51系列功能的增加和扩展几乎都是通过增加特殊功能寄存器SFR来达到目的的。对于51系列单片机(MCS-51系列),共定义了21个特殊功能寄存器(SFR);对于52系列单片机(MCS-52子系列),共定义了26个特殊功能寄存器(SFR)。
SFR位于80H~FFH,但仅有21个字节(MCS-51系列)或26个字节(MCS-52子系列)作为SFR离散分布在这128个字节范围内,每个字节对应一个SFR,其余字节无定义,用户不能对这些单元进行读/写操作。每个SFR占1个字节,多数字节单元中的每一位又有专用的“位名称”。这21个SFR又按是否可以位寻址分为两大部分,ACC、IE、P1等11个可以位寻址,SP、TMOD等不可以位寻址。

注:后 5 个带*的寄存器与定时器/计数器 2 有关,仅在 52 子系列芯片中存在。

具体更详细的SFR介绍,可查看这篇8051单片机特殊功能寄存器(SFR)详解
位寻址的概念可查看这篇什么叫可位寻址,什么叫不可位寻址?

2.2 单片机最小系统

为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机最小应用系统,是指用最少的原件组成单片机可以工作的系统。单片机最小系统的三要素就是电源晶振复位电路

单片机最小系统框图

这是最小系统的电路图。

复位电路:由电容串联电阻构成,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位。所以适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C取10uF,R取8.2K。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。

单片机复位一般分三种情况:上电复位、手动复位和程序自动复位。

特别注意:对于31脚(EA/Vpp),当接高电平时(EA = 1),单片机在复位后从内部ROM的0000H开始执行;当接低电平时(EA = 0),复位后直接从外部ROM的0000H开始执行,这一点是初学者容易忽略的。

晶振电路:也可理解为系统时钟电路,系统时钟电路主要用于为主控芯片提供时钟节拍,在人体中就相当于心脏的作用,只有随着心脏的跳动,血液才会到达身体各个部位,以保持人体生存及生活。典型的晶振取11.0592MHz,它每秒振荡11059200次,外加2个20pF的电容,电容的作用是帮助晶振起振,并维持振荡信号的稳定。11.0592MHz的晶振,可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合,产生精确的uS级定时。

2.3 LED小灯

LED(light-emitting diode),即发光二极管,俗称 LED 小灯,这种二极管通常的正向导通电压是1.8V到2.2V之间,工作电流一般在1mA~20mA之间。其中,当电流在1mA~5mA之间变化时,随着通过 LED 的电流越来越大,我们的肉眼会明显感觉到这个小灯越来越亮,而当电流从5mA~20mA之间变化时,我们看到的发光二极管的亮度变化就不是太明显了。当电流超过20mA时,LED就会有烧坏的危险了,电流越大,烧坏的也就越快。

原理图里的LED画成这样方便在电路上观察,方向必须接对了才会有电流通过让LED小灯发光。刚才提到了我们接入的VCC电压是5V,发光二极管自身压降大概是2V,那么在右边R34这个电阻上承受的电压就是3V。那么现在我们要求电流范围是1~20mA的话,就可以根据欧姆定律R=U/I,把这个电阻的上限和下限值求出来。

U=3V,当电流是1mA的时候,电阻值是3K;当电流是20mA的时候,电阻值是150欧,也就是R34的取值范围是150~3K欧姆。这个电阻值大小的变化,直接可以限制整条通路的电流的大小,因此这个电阻我们通常称之为“限流电阻”。

发光二极管的正负极如何区分?

您必须 登录 才能发表评论!