標(biāo)題: 51單片機外接6264靜態(tài)RAM proteus及程序 [打印本頁]

作者: 51黑ff    時間: 2016-9-25 13:14
標(biāo)題: 51單片機外接6264靜態(tài)RAM proteus及程序
51單片機外接ram芯片6264的仿真原理圖:



仿真及程序下載: 數(shù)據(jù)存儲器_RAM_6264.7z.rar (17.21 KB, 下載次數(shù): 132)

  1. #include <reg52.h>
  2. #include <intrins.h> //使用_nop_();   
  3. #include <absacc.h> //絕對物理地址訪問的頭文件  
  4. #define uchar unsigned char   
  5. #define uint unsigned int   
  6. uint RAMADDR   //定義6264的地址
  7. #define RAM_6264 XBYTE[RAMADDR]  //6264地址范圍6000H-7FFFH
  8. ;uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
  9.                                                                           0x7d,0x07,0x7f,0x6f,0x77,0x7c,
  10.                                                                           0x39,0x5e,0x79,0x71,0x00     };
  11. void delayms(uint t);     //延時
  12. void display_cc(uint k);  //共陽
  13. void display_ca(uint k);  //共陰
  14.                                                                
  15. void main()
  16. {   
  17.         uchar temp;   
  18.         uint n,k=0;   
  19.         P0=0xff;   
  20.         P2=0x3f;   
  21.         RAMADDR=0x6000; //6264的首地址   
  22.         for(n=0;n<256;n++)
  23.         {   
  24.                 RAM_6264=n;
  25.                 RAMADDR++;
  26.                 delayms(1);   
  27.         }   
  28.         RAMADDR=0x6000; //6264首地址  
  29.         while(1)   
  30.         {   

  31.                 for(n=0;n<10;n++)   
  32.                 {   
  33.                         temp=RAM_6264; //從6264讀出數(shù)據(jù)
  34.                         //P1=temp;
  35.                         display_ca(temp);
  36.                 }   
  37.                 RAMADDR++; //地址自增
  38.                 if(RAMADDR==0x6100) RAMADDR=0x6000;  
  39.         }   
  40. }   

  41. void delayms(uint t)   
  42. {   
  43.         uchar k;   
  44.         while(t--)   
  45.         {   
  46.                 for(k=0; k<125; k++);
  47.         }   
  48. }

  49. void display_cc(uint k)
  50. {
  51.         uint x,y,b;
  52.         b=1000;
  53.         P3=0xfc;
  54.         x=k/16;
  55.         y=k%16;
  56.         P1=~sz[x];
  57.         P3=0xfd;
  58.         while(b--);
  59.         _nop_();
  60.         b=1000;
  61.         P3=0xfc;
  62.         P1=~sz[y];
  63.         P3=0xfe;
  64.         while(b--);
  65.         _nop_();
  66.         P3=0xfc;
  67. }

  68. void display_ca(uint k)
  69. {
  70.         uint x,y,b;
  71.         b=1000;
  72.         P3=0xff;
  73.         x=k/16;
  74.         y=k%16;
  75.         P1=sz[x];
  76.         P3=0xfe;
  77.         while(b--);
  78.         _nop_();
  79.         b=1000;
  80.         P3=0xff;
  81.         P1=sz[y];
  82.         P3=0xfd;
  83.         while(b--);
  84.         _nop_();
  85.         P3=0xff;
  86. }
復(fù)制代碼



作者: 感性的菜松    時間: 2016-12-20 22:10
可以,有用
作者: rgafhfha    時間: 2016-12-21 11:14
很棒,剛好用上
作者: qq1244683773    時間: 2017-1-1 16:48
謝謝啦,剛好需要
作者: qq1244683773    時間: 2017-1-2 22:24
為什么我下載沒有成功也扣除我金幣啊。這還怎么玩?
作者: 小潘哥    時間: 2017-4-17 12:09
謝謝,也在做6264
作者: 陳皮    時間: 2018-8-2 11:39
謝謝正好需要
作者: shideli    時間: 2018-10-9 10:02
有沒有外部RAM 6264保護電路和程序啊
作者: am0802    時間: 2018-10-20 16:30
謝謝樓主,正好需要需要用到。
作者: parmhan    時間: 2019-9-13 22:19
正在弄這個,真是太好了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1