|
單片機驅動SRAM6116外部ram芯片的一個proteus仿真的例子,仿真原理圖如下:
這個程序可以幫助我們熟悉單片機的外部ram操作的過程.
所有資料下載:
SRAM6116.rar
(30.82 KB, 下載次數: 45)
2016-9-27 12:11 上傳
點擊文件名下載附件
源程序:
- #include "reg51.h"
- sbit P27=P2^7; //模擬8051的ALE引腳
- sbit P26=P2^6; //模擬8051的WR引腳
- sbit P25=P2^5; //模擬8051的RD引腳
- #define uint unsigned int
- #define uchar unsigned char
- void delay(uint); //函數聲明
- void main()
- {
- //uchar x=0;
- P27=0; //P27原本為1,故實際電路中加反相器
- P0&=0x06; //寫地址000 0000 0110到74LS373并進行鎖存,共11位,這里的地址是任意選擇的。 注:這樣書寫的P0口作為普通I/O口
- P2&=0xF8;
- delay(20);
- P27=1;
- P26=0; //寫命令
- P0=0xD7; //通過數據口P0寫數據到SRAM
- delay(20);
- P26=1; //寫完成
- P27=0;
- P0&=0x06; //寫地址000 0000 0110到74LS373進行鎖存 共11位
- P2&=0xF8;
- delay(20);
- P27=1;
- P25=0; //讀命令
- delay(20); //通過數據口P0讀取SRAM中的數據
- P25=1; //讀完成
- while(1);
- }
- void delay(uint i) //若i=10,則延時1ms=10*125*8us
- {
- uint j;
- while(i--)
- {
- for(j = 0; j < 125; j++);
- }
- }
復制代碼 |
|