各位看看下面这段程序为什么程序能运行,但向外部地址时数据总线上并没有数据,程序是通过ISP方式烧入的。 #include<reg52.h> #include<ABSACC.H> #define uchar unsigned char #define uint unsigned int
#define x_addr XBYTE[0x0000]
#define RegPage 0x00 //!< Page Select Register /***************************************************************************** *端口定义 *****************************************************************************/ sbit RC500_CE=P1^7; /*RC500片选*/ sbit RC500_RST=P1^6; /*RC500复位*/ sbit MF_LED = P1 ^ 5;
sbit CS_WD = P1 ^ 0; sbit BAD = P2 ^ 0;//TEMP ADD TEST PORT sbit R_W = P2 ^ 1;//TEMP ADD TEST PORT
bit wdog = 1; //看门狗输入数据 void TOGGLE_WD(void) //看门狗输入程序模块 { wdog = ~wdog; CS_WD = wdog; } void WriteRC(uchar Address,uchar value) { uchar pdata *pa;//pdata //TOGGLE_WD(); pa=RegPage; *pa=Address>>3; pa=Address; *pa=value; } void main(void) { bit led_bit; uint i; TOGGLE_WD(); while(1) { TOGGLE_WD(); i ++; if(i == 10000) { led_bit = ~led_bit; MF_LED = led_bit; i = 0; } WriteRC(0x22,0x03); x_addr = 0; } } |