Il progetto più complesso sviluppato è stato senza dubbio il controllo motore con anti-sblinaciamento. Questo è stato anche il primo progetto serio per una grande azienda italiana di elettrodomestici, San Giorgio.
Anche in questo caso l'intero progetto era stato sviluppato in codice Assembly su un microcontrollore della società che avrebbe presto esaurito l'intero mercato mondiale a 8 bit.
Il micro era il mitico PIC16C57 ma anche in questo caso avevamo pensato di sviluppare da noi stessi un kernel per gestire i processi interni.
SCHEDULER
CLRWDT ; clear wdog
;------------------------------------
; GESTIONE TIMER DI SISTEMA E TASK
GEST_RTCC
MOVFW RTCC
XORWF RTCC_COPY,W
BTFSC STATUS,Z
GOTO P_TASK
INCF RTCC_COPY,Same ; avanza di un passo il mio orologio
C_TASK_0 ; controllo task 0
TASK set 0
BTFSC RET_ADD+TASK,7 ; testa se evento o tempo
DECF COND+TASK,SAME
C_TASK_1
TASK set 1
BTFSC RET_ADD+TASK,7 ; testa se evento o tempo
DECF COND+TASK,SAME
C_TASK_2 ; controllo task 2
TASK set 2
BTFSC RET_ADD+TASK,7
DECF COND+TASK,SAME
Nessun commento:
Posta un commento