18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

51單片機擴展RAM讀寫子程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-4-7
 下麵的程序在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的變化、WR\RD信號的變化。大體整理了一下,波形基本如下:  
 點擊看大圖
   另外,除了第一次LD讀操作需要5個指令周期外(1.085us*5),以後每次LD讀操作都隻要3個指令周期(1.085*3)。這也是從匯編的代碼裏仿真後得出來的結論。而從上圖也可以知道CS有效時間其實是一個指令周期(1.085us)。平均3個指令周期完成一次數據傳輸(所謂的RAM方式讀寫數據),這應該是單片機和外部通信的最快速度了。
Tags:51單片機,RAM,讀寫,子程序  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢