新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機的擴展RAM讀寫時序

        單片機的擴展RAM讀寫時序

        作者: 時間:2011-03-08 來源:網絡 收藏

        書上看到的畢竟是理論的東西,實際應用中總會碰上意外的或者說是不可預測的情況,與其在那瞎推理,還不如動手做點實際的工作。

        本文引用地址:http://www.104case.com/article/172955.htm

           特權同學用的是11.0592MHz的STC89C52做測試,C代碼也很簡單:

          #include

          #define uchar unsigned char

          #define uint unsigned int

          uchar xdata LD _at_ 0x7fff;

          void delay(uint cnt)

          {

          uint i;

          for(i=0;i

          }

          void main(void)

          {

          uchar i;

          delay(1000);

          while(1)

          {

          LD = 0x00;

          LD = 0xf0;

          LD = 0x73;

          // i = LD;

          delay(1000);

          LD = 0xff;

          delay(1000);

          }

          }

          LD就是擴展的外部RAM變量,地址是0x7fff,也就是說P2的最高位就是CS信號。示波器測試了P0口任意一個數據的變化、CS的變化、WRRD信號的變化。大體整理了一下,波形基本如下:

          

        點擊看大圖

          另外,除了第一次LD讀操作需要5個指令周期外(1.085us*5),以后每次LD讀操作都只要3個指令周期(1.085*3)。這也是從匯編的代碼里仿真后得出來的結論。而從上圖也可以知道CS有效時間其實是一個指令周期(1.085us)。平均3個指令周期完成一次數據傳輸(所謂的RAM方式讀寫數據),這應該是單片機和外部通信的最快速度了。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 即墨市| 昌都县| 青龙| 桐乡市| 荣成市| 鄂尔多斯市| 阿勒泰市| 许昌县| 北安市| 安龙县| 扎兰屯市| 精河县| 天镇县| 洞头县| 桑植县| 黔江区| 太保市| 银川市| 屏东县| 都江堰市| 镇沅| 通江县| 蒲江县| 庆元县| 扎赉特旗| 平乡县| 同心县| 鄄城县| 建昌县| 小金县| 丰镇市| 阳西县| 石河子市| 庐江县| 龙川县| 玉屏| 冀州市| 罗田县| 临桂县| 察雅县| 瑞安市|