① 单片机Ram的作用
数据存储器:这是个可以随时存取数据的一块存储器,也就是可以读(取)也可以写(存)的存储器,简称RAM。现在的单片机里面使用的RAM属于静态RAM或SRAM,这个和电脑用的内存条有所不同,只要你把数据写入SRAM后,只要不断电,或者不清除掉,这个数据就一直保存在那里,电脑是用的动态RAM,要不断给它加刷新脉冲才能保存数据。因为单片机处理的信息量比电脑小很多,所以它带的RAM也比较少:从完全不带、带128、256、...1K,2K,到4K,比ROM少多了。因为实际上RAM只是作为数据临时存放的地方,除非进行图像处理需要存放大量的数据外,一般对于执行较简单任务的单片机,有这么多也够用,如果实在不够用也只能采取外加SRAM如6116,6264等等来扩展。
为了对RAM单元存取8位二进数,当然也的和ROM一样用“地址”来标示它的具体位置假如某单片机有1K(1024)RAM,它的地址也是从0000到1024,或16进数的0000H到03FFH,可见和ROM的地址是一样的,不会混淆不清?不会,因为读ROM是由单片机的程序指针或转移指令或查表指令进行,而这些指令是不会进入RAM区的,读写RAM是另外的数据传送指令,也不会进入ROM区,这点也是和电脑不同之处,后者程序和数据都在内存条里面,地址不同,如果窜位了就会造成不可预见后果。单片机的这种存储器结构也称为哈佛结构。
RAM在单片机里的用途,主要是存放临时数据,例如用单片机测温,每秒测1次,显示1分钟的平均值(1分钟更新一次);我们先通过传感器,放大电路,A/D转换,把温度这个模拟量转变为成比例的二进数,然后每秒钟1次把数字量通过输入口顺序存入到单片机的RAM中,然后对他们进行两两求和再平均的计算(题外话:要单片机进行“除法“运算比较麻烦,例外的是除以2,4,8。。。却非常简单!----运用“右移”指令1,2,3次便可)最后的数值显示出来,然后把这60个存储单元统统写0清除旧数据,下次又如此这般地循环进行。。。
② 单片机应用程序一般存放在哪一个存储器中
单片机的应用程序通常存储在只读存储器(ROM)中。这种存储器是非易失性的,意味着一旦数据被写入,即使关闭电源,数据也会保留下来。与随机存储器(RAM)不同,ROM不支持数据的随机写入,它的数据在整机制造过程中被写入,并且在整个使用过程中只能读取,不能修改。由于ROM中存储的数据在断电后不会丢失,且结构简单,使用方便,它非常适合用来存放单片机的固化程序和数据。
数据存储器则由读写存储器RAM组成,它可以被单片机直接读写。RAM的容量可以扩展到64k,用于存储实时数据。在8051单片机中,内部有256个单元的RAM,其中00H到7FH地址范围用于内部RAM,80H到FFH地址范围则用于专用寄存器。在使用单片机时,应优先考虑使用内部存储器,因此了解其结构和地址分配非常重要。
8051单片机的内部数据存储器地址范围从00H到FFH,共有256个字节。这个空间分为两部分:00H到7FH是内部数据RAM,用于存储数据;80H到FFH是特殊功能寄存器的地址空间。在00H到1FH的区域内,还专门安排了四组工作寄存器,每组占用8个RAM字节,分别记为R0到R7。