計(jì)算機(jī)模型機(jī)
1.png (36.88 KB, 下載次數(shù): 87)
下載附件
2016-3-16 11:51 上傳
首先打開(kāi)NEWest.DSN。在AT89C51器件上雙擊,在Program File: 路徑選中該文件夾中的new.hex文件。然后可以按仿真開(kāi)始按鈕。大概經(jīng)過(guò)5~10秒程序?qū)懭胪戤。然后將一些開(kāi)關(guān)撥回。即將SW15,SW18,SW10,SW9撥至右邊。SW14撥至上邊。和U41連接的LOGICSTATE撥為0,和U45連接的LOGICSTATE撥至1。然后可以按動(dòng)START上的LOGICSTATE。整個(gè)系統(tǒng)開(kāi)始運(yùn)行。 - #include "reg51.h"
- sbit OE =P2^7;
- sbit WE =P2^6;
- sbit CS2=P2^5;
- sbit CS1=P2^4;
- sbit CS0=P2^3;
- sbit t=P2^2;
- sbit WE_R=P2^1;
- sbit LDRAM=P2^0;
- sbit tr=P1^7;
- #define n 100
- void delay(void)
- {
- char i,j;
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {}
- }
- void init(void)
- {
- OE=1;
- WE=1;
- CS2=1;
- CS1=1;
- CS0=1;
- WE_R=1;
- LDRAM=1;
- t=0;
- }
- void main(void)
- {
- char c2[25]= {0x01,0x01,0x00,0x00,0x00,0x01,0x95,0x00,0x00,0x01,0x01,
- 0x01,0x01,0x02,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x07,0x00,0x07,0x06};
- // char c1[25]= {0x81,0xed,0xc0,0xe0,0xb0,0xa2,0x9a,0xe0,0x12,0xed,0xed,
- // 0xed,0xed,0x82,0xe0,0xa0,0xed,0xed,0xa0,0x80,0x20,0x0a,0xd1,0x0a,0x8a};
- char c1[25]= {0x81,0xed,0xc0,0xe0,0xb0,0xa2,0x9a,0xe0,0x10,0xed,0xed,
- 0xed,0xed,0x82,0xe0,0xa0,0xed,0xed,0xa0,0x80,0x20,0x0a,0xd1,0x0a,0x8a};
- char c0[25]= {0x10,0x82,0x48,0x04,0x05,0x06,0x01,0x0d,0x01,0x83,0x87,
- 0x8e,0x96,0x01,0x0f,0x15,0x92,0x94,0x17,0x01,0x18,0x01,0x81,0x10,0x11};
- char ram[11]={0x00,0x10,0x0a,0x20,0x0b,0x30,0x0b,0x40,0x00,0x00,0x01};
- char i;
- init();
- WE=0;
- for(i=0;i<=24;i++)
- {
- P1=i;
- t=!t;
- P0=c2[i];
- CS2=0;
- delay();
- CS2=1;
- P0=c1[i];
- CS1=0;
- delay();
- CS1=1;
- P0=c0[i];
- CS0=0;
- delay();
- CS0=1;
- t=!t;
- }
- WE=1;
- CS2=0;
- CS1=0;
- CS0=0;
- OE=0;
- P0=0x00;
- for(i=0;i<25;i++)
- {
- P1=i;
- t=!t;
- t=!t;
- delay();
- }
- P1=0x01;
- t=!t;
- t=!t;
- delay();
-
- P3=0;
-
- LDRAM=0;
- tr=0;
- for(i=0;i<11;i++)
- {
- P3=i;
- tr=!tr;
- tr=!tr;
- P3=ram[i];
- WE_R=0;
- delay();
- WE_R=1;
- }
-
- P3=0x00;
- tr=!tr;
- tr=!tr;
- LDRAM=1;
- while(1){}
- }
復(fù)制代碼
實(shí)驗(yàn)結(jié)果:
微地址順序(八進(jìn)制)
00 20
00 01 02 10
00 01 02 10 03 04 05 06
00 01 02 10 07 15
00 01 02 10 16 17 25
00 01 02 10 26
再跳轉(zhuǎn)到開(kāi)始,重復(fù)執(zhí)行
00 20
00 01 02 10
00 01 02 10 03 04 05 06
00 01 02 10 07 15
00 01 02 10 16 17 25
00 01 02 10 26
|