打印

呵呵,中国人都喜欢**别人的东西

[复制链接]
4278|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
brmcu|  楼主 | 2008-5-4 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>

#define uchar unsigned char
#define uint  unsigned int

code const uint DaiMaTab[]=
{
  //.......
};

code const uchar NumTab[]=
{
 '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};
code const uchar *FsrReg[]=
{
 "INDF   ",
 "T0CNT  ",
 "PCL    ",
 "STATUS ",
 "FSR    ",
 "PAD    ",
 "PBD    ",
 "PCD    ",
 "CLKCON ",
 "WDTE   ",
 "PWRDN  ",
 "INTCON ",
 "INPND  ",
 "PINTD  ",
 "T0CON  ",
 "T0DATA ",
 "PWM0CON",
 "PWM0DAT",
 "PWM1CON",
 "PWM1DAT",
 "BZCON  ",
 "PACONL ",
 "PACONH ",
 "PBCON  ",
 "PCCONL ",
 "PCCONH ",
 "ADCCON ",
 "ADCDATL",
 "ADCDATH",
 "       ",
 "GPR0   ",
 "GPR1   "
};
void IntCom(void)
{
 PCON=0x00;
 SCON=0x50;
 TMOD=0x20;
 TH1=0xFD;
 TL1=0xFD;
 TR1=1;
 ES=0;
 EA=0;
}  

void SendByte(uchar Byte)
{
 SBUF=Byte;
 while(!TI);
 TI=0;
}

void SendMany(uchar *String,Count)
{
 uchar i;
 for(i=0;i<Count;i++)
 {
  SendByte(String);
 }
}

void Delayms(uint ms)
{
 uint i,j;
 for(i=0;i<ms;i++)
 for(j=0;j<120;j++)
 ;
}


void main(void)
{
 uchar Temp,Temp1;
 uint Addr=0;
 uint TempInt;
 IntCom();
 Delayms(100);
 SendMany("INDF     EQU 00H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("T0CNT    EQU 01H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PCL      EQU 02H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("STATUS   EQU 03H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("FSR      EQU 04H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PAD      EQU 05H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PBD      EQU 06H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PCD      EQU 07H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("CLKCON   EQU 08H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("WDTE     EQU 09H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PWRDN    EQU 0AH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("INTCON   EQU 0BH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("INPND    EQU 0CH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PINTD    EQU 0DH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("T0CON    EQU 0EH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("T0DATA   EQU 0FH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PWM0CON  EQU 10H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PWM0DAT  EQU 11H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PWM1CON  EQU 12H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PWM1DAT  EQU 13H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("BZCON    EQU 14H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PACONL   EQU 15H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PACONH   EQU 16H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PBCON    EQU 17H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("PCCONL   EQU 18H    ",20);
 SendMany("\r",2);   
 Delayms(100);           
 SendMany("PCCONH   EQU 19H    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("ADCCON   EQU 1AH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("ADCDATL  EQU 1BH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("ADCDATH  EQU 1CH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany("GPR0     EQU 1EH    ",20);
 SendMany("\r",2);    
 Delayms(100);                  
 SendMany("GPR1     EQU 1FH    ",20);
 SendMany("\r",2);
 Delayms(100);
 SendMany(" ORG 000H           ",20);
 SendMany("\r",2);
 Delayms(100);
 while(1)
 {
  if(Addr<1052)
  {
   TempInt=Addr;
  }
  else 
  {
   if(Addr==1052)
   {
    SendMany(" ORG 700H           ",20);
    SendMany("\r",2);
    Delayms(100);
   }
   TempInt=(Addr+740);
  }
  SendMany("_",1);
  Temp=(uchar)((TempInt&0x0F00)>>8);
  SendMany(&NumTab[Temp],1);
  Temp=(uchar)((TempInt&0x00F0)>>4);
  SendMany(&NumTab[Temp],1);
  Temp=(uchar)((TempInt&0x000F));
  SendMany(&NumTab[Temp],1);
  SendMany(": ",2);
  Temp=(uchar)(DaiMaTab[Addr]>>12);
  if(Temp>1)
  {
   if(Temp==3)
   {
    SendMany("GOTO ",5);
    SendMany("_",1);
    Temp=(uchar)((DaiMaTab[Addr]&0x0FFF)>>8);
    SendMany(&NumTab[Temp],1);
    Temp=(uchar)((DaiMaTab[Addr]&0x00FF)>>4);
    SendMany(&NumTab[Temp],1);
    Temp=(uchar)(DaiMaTab[Addr]&0x000F);
    SendMany(&NumTab[Temp],1);
    SendMany("   ",3);
   }
   else if(Temp==2)
   {
    SendMany("CALL ",5);
    SendMany("_",1);
    Temp=(uchar)((DaiMaTab[Addr]&0x0FFF)>>8);
    SendMany(&NumTab[Temp],1);
    Temp=(uchar)((DaiMaTab[Addr]&0x00FF)>>4);
    SendMany(&NumTab[Temp],1);
    Temp=(uchar)(DaiMaTab[Addr]&0x000F);
    SendMany(&NumTab[Temp],1);
    SendMany("   ",3);
   }
  }
  else
  {
  Temp=(uchar)(DaiMaTab[Addr]>>8);
  Temp1=(uchar)(DaiMaTab[Addr]&0x00FF);
  switch(Temp)
  {
   case 0x00: if((Temp1&0x80)>0)
              {
               SendMany("MOVWF ",6);
               if((Temp1&0x7F)>0x1F)
               {
                SendMany(&NumTab[(Temp1&0x70)>>4],1);
                SendMany(&NumTab[(Temp1&0x0F)],1);
                SendMany("H",1);
               }
               else
               {
                SendMany(FsrReg[Temp1&0x7F],7);
               }
               //SendMany("   ",3);
              }
              else if(Temp1==0x00)
              SendMany("NOP         ",12);
              else if(Temp1==0x40)
              SendMany("RET         ",12);
              else if(Temp1==0x60)
              SendMany("RETI        ",12);
              else if(Temp1==0x89)
              SendMany("CLRWDT      ",12);
              else if(Temp1==0x1A)
              SendMany("SLEEP       ",12);
              break;

   case 0x01: if(Temp1==0x40)
              {
               SendMany("CLRW       ",12);
              }
              else if((Temp1&0x80)>0)
              {
               SendMany("CLRF ",5);
               if((Temp1&0x7F)>0x1F)
               {
                SendMany(&NumTab[(Temp1&0x70)>>4],1);
                SendMany(&NumTab[(Temp1&0x0F)],1);
                SendMany("H",1);
               }
               else
               {
                SendMany(FsrReg[Temp1&0x7F],7);
               }
               //SendMany("    ",4);
              }
              break;
   case 0x02: SendMany("SUBWF ",6);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
   case 0x03: SendMany("DECF ",5);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany("  ",2);
              break;
   case 0x04: SendMany("IORWF ",6);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
   case 0x05: SendMany("ANDWF ",6);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
  case 0x06: SendMany("XORWF ",6);
             if((Temp1&0x7F)>0x1F)
             {
              SendMany(&NumTab[(Temp1&0x70)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
             }
             else
             {
              SendMany(FsrReg[Temp1&0x7F],7);
             }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
   case 0x07: SendMany("ADDWF ",6);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
   case 0x08: if((Temp1&0x80)==0)
              {
               SendMany("MOVFW ",6);
               if((Temp1&0x7F)>0x1F)
               {
                SendMany(&NumTab[(Temp1&0x70)>>4],1);
                SendMany(&NumTab[(Temp1&0x0F)],1);
                SendMany("H",1);
               }
               else
               {
                SendMany(FsrReg[Temp1&0x7F],7);
               }
               //SendMany("   ",3);
              }
              else 
              {
               SendMany("TESTZ ",6);
               if((Temp1&0x7F)>0x1F)
               {
                SendMany(&NumTab[(Temp1&0x70)>>4],1);
                SendMany(&NumTab[(Temp1&0x0F)],1);
                SendMany("H",1);
               }
               else
               {
                SendMany(FsrReg[Temp1&0x7F],7);
               }
               SendMany("   ",3);
              }
              break;
   case 0x09: SendMany("COMF ",5);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany("  ",2);
              break;
   case 0x0A: SendMany("INCF ",5);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany("  ",2);
              break;
   case 0x0B: SendMany("DECFSZ ",7);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              break;
   case 0x0C: SendMany("RRF ",4);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany("   ",3);
              break;
   case 0x0D: SendMany("RLF ",4);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany("   ",3);
              break;
   case 0x0E: SendMany("SWAPF ",6);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              //SendMany(" ",1);
              break;
   case 0x0F: SendMany("INCFSZ ",7);
              if((Temp1&0x7F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x70)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x7F],7);
              }
              SendMany(",",1);
              if((Temp1&0x80)==0)
              SendMany("0",1);
              else
              SendMany("1",1);
              break;
   case 0x10: SendMany("BCF ",4);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[(Temp1>>6)],1);
              //SendMany("   ",3);
              break;
   case 0x11: SendMany("BCF ",4);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[((Temp1>>6)|0x04)],1);
              //SendMany("   ",3);
              break;
   case 0x12: SendMany("BSF ",4);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[(Temp1>>6)],1);
              //SendMany("   ",3);
              break;
   case 0x13: SendMany("BSF ",4);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[((Temp1>>6)|0x04)],1);
              //SendMany("   ",3);
              break;
   case 0x14: SendMany("BTFSC ",6);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[(Temp1>>6)],1);
              //SendMany(" ",1);
              break;
   case 0x15: SendMany("BTFSC ",6);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[((Temp1>>6)|0x04)],1);
              //SendMany(" ",1);
              break;
   case 0x16: SendMany("BTFSS ",6);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[(Temp1>>6)],1);
              //SendMany(" ",1);
              break;
   case 0x17: SendMany("BTFSS ",6);
              if((Temp1&0x3F)>0x1F)
              {
               SendMany(&NumTab[(Temp1&0x30)>>4],1);
               SendMany(&NumTab[(Temp1&0x0F)],1);
               SendMany("H",1);
              }
              else
              {
               SendMany(FsrReg[Temp1&0x3F],7);
              }
              SendMany(",",1);
              SendMany(&NumTab[(Temp1>>6)|0x04],1);
              //SendMany(" ",1);
              break;
   case 0x18: SendMany("RETLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
              break;
   case 0x19: SendMany("MOVLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
              break;
   case 0x1A: SendMany("IORLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
   case 0x1B: SendMany("ANDLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
              break;
   case 0x1C: SendMany("ADDLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
              break;
   case 0x1F: SendMany("XORLW ",6);
              SendMany(&NumTab[(Temp1&0xF0)>>4],1);
              SendMany(&NumTab[(Temp1&0x0F)],1);
              SendMany("H",1);
              SendMany("   ",3);
              break;
   default:  SendMany("ERROOR//////",12);
             P0=0;
             do{}while(1);
             break;          
  } 
  }
  
  //SendMany("             ",8);
  SendMany(" ;",2); 
  /*Temp=(uchar)((DaiMaTab[Addr]&0xF000)>>12);
  SendMany(&NumTab[Temp],1); 
  Temp=(uchar)((DaiMaTab[Addr]&0x0F00)>>8);
  SendMany(&NumTab[Temp],1);
  Temp=(uchar)((DaiMaTab[Addr]&0x00F0)>>4);
  SendMany(&NumTab[Temp],1);
  Temp=(uchar)((DaiMaTab[Addr]&0x000F));
  SendMany(&NumTab[Temp],1);*/
  //SendMany("     ",5);
  //SendMany("                                    ",36);
  SendMany("\r",2);
  Delayms(100);
  Addr++;
  if(Addr>1161)
  {
   SendMany("END",3); 
   do{}while(1);
   Addr=0;
  }
 }
}

相关帖子

沙发
McuPlayer| | 2008-5-4 17:03 | 只看该作者

这个idea不错啊

单片机程序可以自己反汇编,通过串口发出去。
然后用户在PC上用超级终端看source code
只是这个应用在什么领域?

使用特权

评论回复
板凳
hotpower| | 2008-5-5 00:30 | 只看该作者

哈哈~~~有创意!!!顶!!!!

使用特权

评论回复
地板
hkap| | 2008-5-5 09:37 | 只看该作者

是基于PIC的,不错

使用特权

评论回复
5
gyt| | 2008-5-5 10:56 | 只看该作者

谢谢发表

使用特权

评论回复
6
lhj200304| | 2008-5-5 16:55 | 只看该作者

太棒了

不错,顶了

使用特权

评论回复
7
九把刀| | 2008-5-5 16:58 | 只看该作者

^_^, 楼主好思维,

使用特权

评论回复
8
古道热肠| | 2008-5-6 09:55 | 只看该作者

好,共享精神值得表扬!

最好讲讲前因后果,来龙去脉,一堆纯代码看起来很费神的。

使用特权

评论回复
9
dld2| | 2008-5-6 09:58 | 只看该作者

好主意

使用特权

评论回复
10
zxq1234508| | 2008-5-6 20:04 | 只看该作者

看不明白,请LZ讲讲

使用特权

评论回复
11
brmcu|  楼主 | 2008-5-7 01:15 | 只看该作者

我也是被逼的

我也是被逼的 不会VC只有用单片机来实现了

使用特权

评论回复
12
hotpower| | 2008-5-7 01:19 | 只看该作者

哈哈~~~VC,VB,TC,BC,CVI,DELPHI等都比这种方法强~~~玩玩可以

使用特权

评论回复
13
brmcu|  楼主 | 2008-5-7 01:23 | 只看该作者

这种方法还是可以行的

楼主我只会C,所有只有在C上面下功夫了,这样也实用啊 ,希望能给其他开发人员一点思路,当然会其他上位机开发语言的就没有必要搞这个了,只是给不会上位机开发的兄弟们看看,我用了是可以通过的.

使用特权

评论回复
14
hotpower| | 2008-5-7 01:28 | 只看该作者

MPLAB自带的反汇编已经很完善,而且PIC的反汇编难度最小~~~

说说而已~~~

使用特权

评论回复
15
brmcu|  楼主 | 2008-5-7 01:31 | 只看该作者

这个不是PIC的,我只是给"大火"一种思路,并不推荐

这个不是PIC的,我只是给"大火"一种思路,并不推荐
让"大火"见笑了

使用特权

评论回复
16
brmcu|  楼主 | 2008-5-7 10:41 | 只看该作者

最近学VB,准备用VB再开发个出来给大伙分享下

最近学VB,准备用VB再开发个出来给大伙分享下

使用特权

评论回复
17
brmcu|  楼主 | 2008-5-7 14:20 | 只看该作者

单片机反汇编的用处一般不是很大

单片机反汇编的用处一般不是很大
但是可以把不同类型的单片机之间互相转换就是比较好的
但单片机架构要基本相同,比如义隆与PIC,与麦肯这些就很相近

使用特权

评论回复
18
zxp12345| | 2008-5-7 14:41 | 只看该作者

要是能监控芯片的地址/数据总线就好了

精神可嘉.
你这个怎么输入文件?不会也用串口把.
很巧这几天也写了个EMC的反汇编译器,其他型号还在完善中.

使用特权

评论回复
19
brmcu|  楼主 | 2008-5-7 19:49 | 只看该作者

搞好了记得分享下哦

使用特权

评论回复
20
huangqi412| | 2008-5-7 19:54 | 只看该作者

思路很强啊,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

151

帖子

0

粉丝