一、静态ram和动态ram的区别
动态RAM会周期性的刷新,静态RAM不进行刷新
1、静态RAM,指SRAM:
- 只要有供电,它保存的数据就不会丢失,且为高速存储器,如CPU中的高速缓存(cache)
2、动态RAM,指DRAM:
- 有供电,还要根据它要求的刷新时间参数,才能保持存储的数据不丢失,如电脑中的内存条
- 静态RAM的优点:速度快,数据不易丢失,控制简单
- 动态 RAM的优点:存储密度高
- 静态RAM是靠双稳态触发器来记忆信息的;动态RAM是靠MOS电路中的栅极电容来记忆信息的。
由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用动态RAM,而高速缓冲存储器(Cache)则使用静态RAM。另外,内存还应用于显卡、声卡及CMOS等设备中,用于充当设备缓存或保存固定的程序及数据。
二、原理图
三、源代码
#include <reg52.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
void main()
{
uint i;
LED = 1;
for(i=0;i<200;i++)
{
XBYTE[i]=i+1;
}
for(i=0;i<200;i++)
{
XBYTE[i+0x0100]=XBYTE[199-i];
}
LED=0;
while(1);
}
扩展
一、程序要求 二组数组a〔2〕={9,0x0f,2,0x0a,5,0x0d,3,0x0c,8,0x0e,6,0x0b},要求先将写入5254以0x0080为首址的连续存储单元中。然后将其读出,并转换为相应的ASCII码,存入80C51内RAM数组b[]中。 二、原理图
#include<reg51.h>
#include<absacc.h>
unsigned char a[12]={/定义
9,0x0f,2,0x0a,5,0x0d,3,0x0c,8,0x0e,6,0x0
void main(){
unsigned char i;
unsigned char b[12]
for(i=0;i<12;i++)
XBYTE[0x0080+i]=a[i];
for(i=0;i<12;i++){
if(XBYTE[0x0080+i]<10)
b[i]=XBYTE[0x0080+i]+0x30;
else
b[i]=XBYTE[0x0080+i]+0x37;}
while(1);}原地等待
结束
总有一个人要赢的,那为什么不能是我! – 科比?布莱恩特
|