导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求助:EM78P153,C语言编程出现问题。[nit_wjf]

 *第3190篇: 求助:EM78P153,C语言编程出现问题。

  
楼 主:nit_wjf 2008年5月8日14:57
 求助:EM78P153,C语言编程出现问题。

 
 求助EM78P153S,C语言编写遇到的问题

#include"EM78x153xx.h"
#define NOP() _asm{nop}
#define DISI() _asm{disi}
#define ENI() _asm{eni}
#define RETI() _asm{reti}
#define T 50
#define TIME 5
#define N 1
unsigned int i @0x22:bank 0;
unsigned int j @0x23:bank 0;
static unsigned int m @0x2A:bank 0;
static unsigned int hz @0x20:bank 0; 
static unsigned int sec @0x21:bank 0;

void main()
{
m=1;
j=i;
WDTCR=0x00;
i=j=0;
m=1;
DISI();
PHCR=0x00;
// PDCR=0x00;
ODCR=0xF7;
P6CR=0x08;
IMR=0x02;
ISR=0x00;
ENI();
while(1)
{
   R60=1;
   
  if(i!=j)//不知道为什么"i!=j"这个语句永远都是成立的。让我很头疼。
  {
  
   break;
  }
}
while(1)
{
  NOP();
}
}

void Count(void)
{
if(hz>  =T)
{
  hz=0;
  sec++;
  if(sec>  =TIME)
  {
   sec=0;
   i++;
   if (i>  =N)
   {
    i=0;
   }
  }
}
}

void _intcall interrupt_l(void) @ 0x08:low_int 0
{
_asm 
{
  MOV 0X1F,A   ;backup A to 0x1F
  SWAPA 0X04   ;backup R4 to 0x2F
  MOV 0X2F,A   ;backup R4 to 0x2F
  SWAPA 0X03   
  MOV 0X2E,A   ;backup R3 to 0x2E 
  SWAPA 0X10
  MOV 0X2D,A
}   
}

void _intcall interrupt(void) @ int 0
{
DISI();
ICIF=0;

hz++;
Count(); 

    RETI();
  
    _asm
   {
   SWAPA 0X2D
   MOV 0X10,A
      SWAPA 0X2E   ;restore R3
      MOV 0X03,A
      SWAPA 0X2F   ;restore R4
      MOV 0X04,A
      SWAP 0X1F    ;restore A
      SWAPA 0X1F
   }

}
 
 不知道为什么只要是中断产生后,i,j两个变量就没有办法进行比较,不管是>  ,  <,==,!=,语句结果都是为真的。让菜鸟很头疼希望大虾能帮忙看看,解决问题,不甚感激。


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:RFID论坛

[下一篇主题]:[原创]外扩RAM+锁存地址,不明白了