|
51單片機(jī)外接ram芯片6264的仿真原理圖:
0.png (261.16 KB, 下載次數(shù): 90)
下載附件
2016-9-25 13:12 上傳
0.png (51.28 KB, 下載次數(shù): 68)
下載附件
2016-9-25 13:13 上傳
仿真及程序下載:
數(shù)據(jù)存儲器_RAM_6264.7z.rar
(17.21 KB, 下載次數(shù): 132)
2016-9-25 13:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
- #include <reg52.h>
- #include <intrins.h> //使用_nop_();
- #include <absacc.h> //絕對物理地址訪問的頭文件
- #define uchar unsigned char
- #define uint unsigned int
- uint RAMADDR //定義6264的地址
- #define RAM_6264 XBYTE[RAMADDR] //6264地址范圍6000H-7FFFH
- ;uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
- 0x7d,0x07,0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71,0x00 };
- void delayms(uint t); //延時
- void display_cc(uint k); //共陽
- void display_ca(uint k); //共陰
-
- void main()
- {
- uchar temp;
- uint n,k=0;
- P0=0xff;
- P2=0x3f;
- RAMADDR=0x6000; //6264的首地址
- for(n=0;n<256;n++)
- {
- RAM_6264=n;
- RAMADDR++;
- delayms(1);
- }
- RAMADDR=0x6000; //6264首地址
- while(1)
- {
- for(n=0;n<10;n++)
- {
- temp=RAM_6264; //從6264讀出數(shù)據(jù)
- //P1=temp;
- display_ca(temp);
- }
- RAMADDR++; //地址自增
- if(RAMADDR==0x6100) RAMADDR=0x6000;
- }
- }
- void delayms(uint t)
- {
- uchar k;
- while(t--)
- {
- for(k=0; k<125; k++);
- }
- }
- void display_cc(uint k)
- {
- uint x,y,b;
- b=1000;
- P3=0xfc;
- x=k/16;
- y=k%16;
- P1=~sz[x];
- P3=0xfd;
- while(b--);
- _nop_();
- b=1000;
- P3=0xfc;
- P1=~sz[y];
- P3=0xfe;
- while(b--);
- _nop_();
- P3=0xfc;
- }
- void display_ca(uint k)
- {
- uint x,y,b;
- b=1000;
- P3=0xff;
- x=k/16;
- y=k%16;
- P1=sz[x];
- P3=0xfe;
- while(b--);
- _nop_();
- b=1000;
- P3=0xff;
- P1=sz[y];
- P3=0xfd;
- while(b--);
- _nop_();
- P3=0xff;
- }
復(fù)制代碼
|
|