Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Часы пропеллер на PIC16F84A

Вт окт 16, 2012 13:55:35

Мяу мяу, собрал часы по схеме http://www.tehnari.ru/f170/t52199/
Все получилось часики тикают, но хотелось бы что бы часики показывали вечернее времая не 7 асчов а 19. В програмированни полный ноль. Может кто сможет исправить это или у кого есть прошивка!

Re: Часы пропеллер на PIC16F84A

Вт окт 16, 2012 15:18:51

Автор и сможет, там бы и спросили.

Ндаа, а автор часов не знает как прошивку править. Давайте исходник поправлю ))

Re: Часы пропеллер на PIC16F84A

Вт окт 16, 2012 15:46:22

исходника нет, только сама прошивка
Вложения
Для большого дисплея.hex
(1.42 KiB) Скачиваний: 626

Re: Часы пропеллер на PIC16F84A

Вт окт 16, 2012 15:53:05

А вот дизассемблированная )
Спойлер
Код:
;***********************************
; disassembled by HellFire v4.00.0 b00
;       16 Oct 12 15:53:16
;***********************************
; Input file Äëÿ ñâåòîäèîäîâ 3 ìì.hex
; Processor pic16f84

; Configuration bits
   __config   0x3FF5


   org   0x0000
ResetVector:
   goto      L_00F1
   addlw      0xFF      ;b'1111 1111','ÿ',.255
   addlw      0xFF      ;b'1111 1111','ÿ',.255
   addlw      0xFF      ;b'1111 1111','ÿ',.255
HighInterruptVector:
   movwf      0x0C
   swapf      STATUS,W
   movwf      0x0D
   incf      0x0E,F
   btfsc      STATUS,Z
   decf      0x0E,F
   clrwdt   
   incf      0x18,F
   btfsc      STATUS,Z
   incf      0x17,F
   btfsc      STATUS,Z
   incfsz   0x16,F
   goto      L_0018
   movlw      0xFC      ;b'1111 1100','ü',.252
   movwf      0x16
   movlw      0x6C      ;b'0110 1100','l',.108
   movwf      0x17
   movlw      0x79      ;b'0111 1001','y',.121
   movwf      0x18
   bsf      0x11,1
L_0018:
   swapf      0x0D,W
   movwf      STATUS
   swapf      0x0C,F
   swapf      0x0C,W
   bcf      0x0B,2
   retfie   
L_001E:
   addwf      PCL,F
   retlw      0xC1      ;b'1100 0001','Á',.193
   retlw      0xBE      ;b'1011 1110','¾',.190
   retlw      0xBE      ;b'1011 1110','¾',.190
   retlw      0xBE      ;b'1011 1110','¾',.190
   retlw      0xC1      ;b'1100 0001','Á',.193
   retlw      0xFF      ;b'1111 1111','ÿ',.255
   retlw      0xDE      ;b'1101 1110','Þ',.222
   retlw      0x80      ;b'1000 0000','€',.128
   retlw      0xFE      ;b'1111 1110','þ',.254
   retlw      0xFF      ;b'1111 1111','ÿ',.255
   retlw      0xDE      ;b'1101 1110','Þ',.222
   retlw      0xBC      ;b'1011 1100','¼',.188
   retlw      0xBA      ;b'1011 1010','º',.186
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xCE      ;b'1100 1110','Î',.206
   retlw      0xBD      ;b'1011 1101','½',.189
   retlw      0xBE      ;b'1011 1110','¾',.190
   retlw      0xAE      ;b'1010 1110','®',.174
   retlw      0x96      ;b'1001 0110','–',.150
   retlw      0xB9      ;b'1011 1001','№',.185
   retlw      0xF3      ;b'1111 0011','ó',.243
   retlw      0xEB      ;b'1110 1011','ë',.235
   retlw      0xDB      ;b'1101 1011','Û',.219
   retlw      0x80      ;b'1000 0000','€',.128
   retlw      0xFB      ;b'1111 1011','û',.251
   retlw      0x8D      ;b'1000 1101','',.141
   retlw      0xAE      ;b'1010 1110','®',.174
   retlw      0xAE      ;b'1010 1110','®',.174
   retlw      0xAE      ;b'1010 1110','®',.174
   retlw      0xB1      ;b'1011 0001','±',.177
   retlw      0xE1      ;b'1110 0001','á',.225
   retlw      0xD6      ;b'1101 0110','Ö',.214
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xF9      ;b'1111 1001','ù',.249
   retlw      0xBF      ;b'1011 1111','¿',.191
   retlw      0xB8      ;b'1011 1000','¸',.184
   retlw      0xB7      ;b'1011 0111','·',.183
   retlw      0xAF      ;b'1010 1111','¯',.175
   retlw      0x9F      ;b'1001 1111','Ÿ',.159
   retlw      0xC9      ;b'1100 1001','É',.201
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xC9      ;b'1100 1001','É',.201
   retlw      0xCF      ;b'1100 1111','Ï',.207
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xB6      ;b'1011 0110','¶',.182
   retlw      0xB5      ;b'1011 0101','µ',.181
   retlw      0xC3      ;b'1100 0011','Ã',.195
   retlw      0xFF      ;b'1111 1111','ÿ',.255
   retlw      0xC9      ;b'1100 1001','É',.201
   retlw      0xC9      ;b'1100 1001','É',.201
   retlw      0xFF      ;b'1111 1111','ÿ',.255
   retlw      0xFF      ;b'1111 1111','ÿ',.255
L_0056:
   movlw      0x07      ;b'0000 0111',' ',.07
   movwf      0x19
   movlw      0x12      ;b'0001 0010','',.18
   movwf      0x14
   clrf      0x15
   clrf      0x12
   clrf      0x13
   movlw      0xFC      ;b'1111 1100','ü',.252
   movwf      0x16
   retlw      0x00      ;b'0000 0000',' ',.00
L_0060:
   movlw      0x00      ;b'0000 0000',' ',.00
   tris      PORTB
   movlw      0x17      ;b'0001 0111','',.23
   tris      PORTA
   retlw      0x00      ;b'0000 0000',' ',.00
L_0065:
   bcf      INTCON,T0IF
   bsf      INTCON,GIE
   bsf      INTCON,T0IE
   clrf      TMR0
   clrwdt   
   movlw      0xD8      ;b'1101 1000','Ø',.216
   option   
   clrf      TMR0
   retlw      0x00      ;b'0000 0000',' ',.00
L_006E:
   movf      PORTA,W
   xorwf      0x11,W
   andlw      0x10      ;b'0001 0000',' ',.16
   btfsc      STATUS,Z
   retlw      0x00      ;b'0000 0000',' ',.00
   xorwf      0x11,F
   btfsc      0x11,4
   retlw      0x00      ;b'0000 0000',' ',.00
   movf      0x0E,W
   movwf      0x0F
   clrf      0x0E
   clrf      0x13
   clrf      0x12
   movf      0x10,W
   subwf      0x0F,W
   btfss      STATUS,C
   goto      L_0083
   sublw      0x02      ;b'0000 0010',' ',.02
   btfss      STATUS,C
   incf      0x10,F
   retlw      0x00      ;b'0000 0000',' ',.00
L_0083:
   addlw      0x02      ;b'0000 0010',' ',.02
   btfss      STATUS,C
   decf      0x10,F
   retlw      0x00      ;b'0000 0000',' ',.00
L_0087:
   movlw      0x05      ;b'0000 0101',' ',.05
   xorwf      0x12,W
   movlw      0xFF      ;b'1111 1111','ÿ',.255
   btfsc      STATUS,Z
   goto      L_00A9
   bcf      STATUS,C
   rlf      0x13,W
   addwf      PCL,F
   swapf      0x14,W
   goto      L_009A
   movf      0x14,W
   goto      L_009A
   movlw      0x0A      ;b'0000 1010',' ',.10
   goto      L_009A
   swapf      0x15,W
   goto      L_009A
   movf      0x15,W
   goto      L_009A
   retlw      0x00      ;b'0000 0000',' ',.00
L_009A:
   andlw      0x0F      ;b'0000 1111',' ',.15
   movwf      0x1A
   addwf      0x1A,F
   addwf      0x1A,F
   addwf      0x1A,F
   addwf      0x1A,F
   btfss      STATUS,Z
   goto      L_00A6
   movf      0x13,F
   movlw      0xFF      ;b'1111 1111','ÿ',.255
   btfsc      STATUS,Z
   goto      L_00A9
L_00A6:
   movf      0x12,W
   addwf      0x1A,W
   call      L_001E
L_00A9:
   movwf      PORTB
   bcf      STATUS,C
   rrf      0x10,W
   addlw      0xF4      ;b'1111 0100','ô',.244
   call      L_00B6
   incf      0x12,F
   movlw      0x06      ;b'0000 0110',' ',.06
   xorwf      0x12,W
   btfss      STATUS,Z
   retlw      0x00      ;b'0000 0000',' ',.00
   clrf      0x12
   incf      0x13,F
   retlw      0x00      ;b'0000 0000',' ',.00
L_00B6:
   movwf      0x1B
L_00B7:
   decfsz   0x1B,F
   goto      L_00B7
   return   
L_00BA:
   movf      PORTA,W
   xorwf      0x19,W
   andlw      0x07      ;b'0000 0111',' ',.07
   btfsc      STATUS,Z
   retlw      0x00      ;b'0000 0000',' ',.00
   xorwf      0x19,F
   movlw      0x64      ;b'0110 0100','d',.100
   movwf      0x1A
L_00C2:
   movlw      0xFF      ;b'1111 1111','ÿ',.255
   call      L_00B6
   decfsz   0x1A,F
   goto      L_00C2
   btfss      0x19,2
   goto      L_00E4
   btfss      0x19,1
   goto      L_00CD
   btfss      0x19,0
   goto      L_00D3
   retlw      0x00      ;b'0000 0000',' ',.00
L_00CD:
   movlw      0x0A      ;b'0000 1010',' ',.10
   movwf      0x1A
L_00CF:
   call      L_00E4
   decfsz   0x1A,F
   goto      L_00CF
   retlw      0x00      ;b'0000 0000',' ',.00
L_00D3:
   movlw      0x12      ;b'0001 0010','',.18
   xorwf      0x14,W
   btfsc      STATUS,Z
   goto      L_00DE
   movlw      0x07      ;b'0000 0111',' ',.07
   addwf      0x14,W
   movlw      0x07      ;b'0000 0111',' ',.07
   btfss      STATUS,DC
   movlw      0x01      ;b'0000 0001',' ',.01
   addwf      0x14,F
   retlw      0x00      ;b'0000 0000',' ',.00
L_00DE:
   movlw      0x01      ;b'0000 0001',' ',.01
   movwf      0x14
   retlw      0x00      ;b'0000 0000',' ',.00
L_00E1:
   btfss      0x11,1
   retlw      0x00      ;b'0000 0000',' ',.00
   bcf      0x11,1
L_00E4:
   movlw      0x07      ;b'0000 0111',' ',.07
   addwf      0x15,W
   btfsc      STATUS,DC
   goto      L_00EA
   incf      0x15,F
   retlw      0x00      ;b'0000 0000',' ',.00
L_00EA:
   movwf      0x15
   movlw      0x60      ;b'0110 0000','`',.96
   xorwf      0x15,W
   btfss      STATUS,Z
   retlw      0x00      ;b'0000 0000',' ',.00
   clrf      0x15
   goto      L_00D3
L_00F1:
   call      L_0056
   call      L_0060
   call      L_0065
L_00F4:
   call      L_006E
   call      L_0087
   call      L_00BA
   call      L_00E1
   goto      L_00F4
   addlw      0xFF      ;b'1111 1111','ÿ',.255

   end   ; directive 'end of program'

Re: Часы пропеллер на PIC16F84A

Вт окт 16, 2012 15:58:22

смотрю и ничего в ней не понимаю наверно пора уже и самому начать разбираться :))

Re: Часы пропеллер на PIC16F84A

Ср окт 17, 2012 12:44:58

Вот вам прошивка, прям такая как вам хотелось.
Вложения
DinamClock.HEX
(1.42 KiB) Скачиваний: 645

Re: Часы пропеллер на PIC16F84A

Ср окт 17, 2012 12:49:55

Ну а тем у кого интересы поглубже, повыше ну и более того - архив с проектом в мплабе (исходник дизассемблирован) и проект в протеусе, где можно посмотреть работу часов.
За синхронизацию прошу не пинать, как смог, так и слепил на скорую руку с небольшой параболической кривизной :)
Вложения
DinamClock.zip
(64.1 KiB) Скачиваний: 373

Re: Часы пропеллер на PIC16F84A

Ср окт 17, 2012 16:08:39

спасибо, попробую

Re: Часы пропеллер на PIC16F84A

Ср окт 17, 2012 20:11:15

еще раз большое спасибо, все хорошо работает
Ответить