|
我用51控制8253进行计数工作,片选接P24,A1A0通过373接P00P01,以下是我的总线方式
#define cnt0_8253 XBYTE[0xe0f0]
#define cnt1_8253 XBYTE[0xe0f1]
#define cnt2_8253 XBYTE[0xe0f2]
#define ctrl_8253 XBYTE[0xe0f3]
我的计数器可以选到,但是我写初值时写不进去,换句话说就是我的控制字写不进去,不知道为什么,求助各位大虾,有回报
gate=0;
P0=0xff;
P2=0xff;
XBYTE[0xe0f3]=0x34;//count0
XBYTE[0xe0c0]=0;
XBYTE[0xe0c0]=0;
XBYTE[0xe0f3]=0x74;//count0
XBYTE[0xe0c1]=0;
XBYTE[0xe0c1]=0;
XBYTE[0xe0f3]=0xb4;//count0
XBYTE[0xe0c2]=0;
XBYTE[0xe0c2]=0;
gate=1;
while(i--)
{
XBYTE[0xe0f3]=0x00; //锁存
cnt0[0]=XBYTE[0xe0c0];
cnt0[1]=XBYTE[0xe0c0];
XBYTE[0xe0f3]=0x40;
cnt1[0]=XBYTE[0xe0c1];
cnt1[1]=XBYTE[0xe0c1];
XBYTE[0xe0f3]=0x80;
cnt2[0]=XBYTE[0xe0c2];
cnt2[1]=XBYTE[0xe0c2];
}
}
|
|