在这里我所讲到的单片机内部资源,和传统单片机书籍讲单片机内部结构不同,我这里讲到的内部资源,是指我们作为单片机用户,单片机提供给我们可使用的一些内容。总结起来,主要是三大资源:
1、flash(程序存储空间,早期单片机是otprom)
2、ram(数据存储空间)
3、sfr(特殊功能寄存器)
在早期的技术里边,主要是用otprom(onetimeprogramableread-onlymemory,即一次可编程只读存储器)来存储单片机的程序,随着技术的发展,flash的以其可重复擦写且大容量低成本的优点成为绝大多数单片机的程序存储器。对于单片机来说flash最大的意义是断电后数据不丢失,这个概念类似于我们电脑的硬盘,你看我们保存了电影、文档、音乐等文件,我们把电源关掉后,下次重新开电脑,所有的文件都还照样存在。
ram是单片机的数据存储空间,用来存储程序运行过程中产生的和需要的数据,和我们电脑的内存是一个概念,其实最典型的比喻是我们的计算器,我们用计算器计算个加减法,一些中间的数据都会保存在ram里边,关电后数据丢失,所以我们每次打开计算器,都是从归零开始计算。但是他的优点第一是读写速度非常快,第二是理论上是可无限次写入的,即寿命无限,不管程序怎么运行怎么读写它都不会坏的。
第三个资源是sfr,特殊功能寄存器。这个概念大家可能刚开始理解不了,但是一定要记住。单片机有很多很多功能,每个功能都会配一个或多个sfr,我们就是通过对sfr的读写来实现单片机的多种多样的功能的。
讲到这里,我们来了解一下51单片机。通常我们一说到51单片机,指的都是兼容intelmcs-51体系架构的一系列单片机。全球有众多的半导体厂商推出了无数款这一系列的单片机,比如atmel的at89c52,nxp(philips)的p89v51,宏晶科技的stc89c52,具体型号千差万别,但他们的基本操作都是一样的,程序开发环境也是一样的。这里我们要分清楚51这个统称和具体的单片机型号之间的关系。
单片机内部资源的三个主要部分我们清楚了,那么我们选择stc89c52rc这款单片机来进行学习。stc89c52rc单片机是宏晶科技出品的一款51内核的单片机,具有标准的51体系结构,全部的51标准功能,程序下载方式简单,方便学习,我们就用它来学习单片机。它的资源呢,flash程序空间是8k字节(1k=1024字节,1字节=8位),ram数据空间是512字节,sfr我们后边需要逐一提到并且应用。