俺想用单片机写一组数据到片外的ram中,单片机就是普通的AT89C51,片外的RAM用的AT28C64,写了数据后,又用编程器把RAM中的数据读出来以验证是否正确。编程器是TOP2007,具有读写RAM的功能。 想法是从0x0000开始写数据,地址有规律的加1,数据也是有规律的加1…… 下面是单片机的代码: #include<reg51.h> unsigned char v; //要存入片外存储器的数据 unsigned char xdata *addr;//片外ram地址指针
void delay200ms(void)//延时 { unsigned char i,j,k; for(i=5;i>0;i--) for(j=132;j>0;j--) for(k=150;k>0;k--); }
void WriteRam(void) { unsigned char i; addr = 0x0000; v = 0x00; for(i=0;i<=100;i++) { *addr = v; addr++; v++; delay200ms(); } }
void main(void) { WriteRam(); while(1); }
下面是TOP2007从RAM中读出来的数据,感觉写得很乱,好像又有规律- -!
|