| 
 | 
Коллеги, помощь нужна. Есть прошивка, нужно понять что и как она делает. а от PIC я далек... 1. PIC16C505 2. Есть PicKIT2, им и слита прошивка (как для 16F505), а вот сможет ли PicKIT2 ее залить в аналогичный чип (именно OTP)? - уже разобрался - нет а если залить её-же но в 16F505 - нужно ли что-то  менять? 3. Включение портов: RB0 - Выход (акт. низкий) RB1- LED (bidirectional) RB2- in (кнопка на землю) RB3- in (switch - на землю) RB4 - LED (bidirectional) RB5 - out RC0- Выход (акт. низкий) RC1- вход или выход, сложно сказать, как-то связано с потенциометромRC3 RC2- Выход (акт. низкий)- буззер RC3- вход или выход, сложно сказать, как-то связано с потенциометром на RC1 RC4- ??? RC5- ??? работает с внутр. генератора. RC1,3-5 - работают с датчиком температуры собственно прошивка: http://www.onlinedisk.ru/file/577365/  | 
  
 | 
| 
 | 
IC-Prog имеет встроеный дизассемблер, главное прочитать, а потом потихоньку разбираться. если  действительно это вся программа, значит писали на ассемблере   Программу загрузить в IC-prog, переключить в режим ассемберных кодов, распечатать-записать, далее можно разбираться с карандашиком, а можно попытаться загрузить асемблерный текст в MPLAB и эмулировать работу программы.  | 
  
 | 
| 
 | 
я сейчас ушел с пиков на AVR-ки. они мне показались "слаще". Да и их фирменная AVR Studio мне больше понравилась, чем  ПИКовская MPLab. я не профессиональный программист мк. С каким датчиком температуры работает? У меня такое впечатление, что это не вся прошивка, потому как только процесс обмена с датчиком, (даже на ассемблере) не уместится в таком объеме. а еще похоже что pic16c505 имеет отличие в системе команд c pic16F84. а код для pic16c505 мне не удалось дизассемлировать в IC-Prog. и окончание листинга не похоже на  окончание программы.   Похоже на бред. LIST      P=16F84, F=INHX8M include "P16FXX.inc" ORG     0x0000 ; ???? INCF    0x4A      , W SWAPF   STATUS    , W CLRF    0x62 MOVF    0x6E      , f MOVF    0x7C      , f MOVF    0x5E      , f SWAPF   STATUS    , W CLRF    0x62 MOVF    0x50      , f MOVF    0x42      , f MOVF    0x60      , f SWAPF   STATUS    , W CLRF    0x62 MOVF    0x36      , W MOVF    0x3A      , W MOVF    0x38      , W XORWF   0x67      , W MOVF    INDF      , W DECF    0x70      , f INCF    0x11      , W SUBWF   0x31      , f ; ???? ADDWF   0x71      , W INCF    0x11      , W MOVF    INDF      , W CLRWDT ANDWF   0x24      , f ; ???? ; ???? SUBWF   0x12      , W COMF    PCL       , W ; ???? SUBWF   0x12      , W COMF    0x07      , W CLRW COMF    0x11      , W RRF     TMR0      , W CLRW RRF     0x44      , f ; ???? SUBWF   0x10      , W CLRF    0x74 XORWF   STATUS    , W SUBWF   0x35      , f SUBWF   0x11      , W CLRF    0x75 SUBWF   0x73      , f MOVF    INDF      , W RRF     FSR       , W ; ???? IORWF   STATUS    , W DECF    0x35      , W DECF    0x34      , W SUBWF   0x73      , f INCF    0x33      , W SUBWF   0x12      , W COMF    0x0C      , W ; ???? SUBWF   0x15      , W NOP SUBWF   0x24      , f SUBWF   0x14      , W NOP  | 
  
 | 
| 
 | 
Полученно с помощью MPlab Line  Address  Opcode               Disassembly 1   000     025   MOVWF 0x5 2   001     A4A   GOTO 0x4a 3   002     E03   ANDLW 0x3 4   003     1E2   ADDWF 0x2, F 5   004     8EE   RETLW 0xee 6   005     8FC   RETLW 0xfc 7   006     8DE   RETLW 0xde 8   007     E03   ANDLW 0x3 9   008     1E2   ADDWF 0x2, F 10   009     8D0   RETLW 0xd0 11   00A     8C2   RETLW 0xc2 12   00B     8E0   RETLW 0xe0 13   00C     E03   ANDLW 0x3 14   00D     1E2   ADDWF 0x2, F 15   00E     836   RETLW 0x36 16   00F     83A   RETLW 0x3a 17   010     838   RETLW 0x38 18   011     667   BTFSC 0x7, 0x3 19   012     800   RETLW 0 20   013     3F0   INCFSZ 0x10, F 21   014     A11   GOTO 0x11 22   015     2B1   INCF 0x11, F 23   016     004   CLRWDT 24   017     771   BTFSS 0x11, 0x3 25   018     A11   GOTO 0x11 26   019     800   RETLW 0 27   01A     064   CLRF 0x4 28   01B     5A4   BSF 0x4, 0x5 29   01C     071   CLRF 0x11 30   01D     070   CLRF 0x10 31   01E     212   MOVF 0x12, W 32   01F     902   CALL 0x2 33   020     007   TRIS 0x7 34   021     212   MOVF 0x12, W 35   022     907   CALL 0x7 36   023     127   IORWF 0x7, F 37   024     911   CALL 0x11 38   025     C01   MOVLW 0x1 39   026     167   ANDWF 0x7, F 40   027     CC4   MOVLW 0xc4 41   028     007   TRIS 0x7 42   029     210   MOVF 0x10, W 43   02A     1F4   ADDWF 0x14, F 44   02B     603   BTFSC 0x3, 0 45   02C     2B5   INCF 0x15, F 46   02D     211   MOVF 0x11, W 47   02E     1F5   ADDWF 0x15, F 48   02F     2F3   DECFSZ 0x13, F 49   030     800   RETLW 0 50   031     C04   MOVLW 0x4 51   032     033   MOVWF 0x13 52   033     403   BCF 0x3, 0 53   034     335   RRF 0x15, F 54   035     334   RRF 0x14, F 55   036     2F3   DECFSZ 0x13, F 56   037     A33   GOTO 0x33 57   038     212   MOVF 0x12, W 58   039     90C   CALL 0xc 59   03A     024   MOVWF 0x4 60   03B     215   MOVF 0x15, W 61   03C     020   MOVWF 0 62   03D     2A4   INCF 0x4, F 63   03E     214   MOVF 0x14, W 64   03F     020   MOVWF 0 65   040     000   NOP .......................................................................... .......................................................................... 1023   3FE     000   NOP 1024   3FF     C9C   MOVLW 0x9c  ; калиб. конст.  | 
  
 |