sabato 29 giugno 2019

uKernel per PIC16C67

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

In ricordo

Accludo due link in ricordo Angles of view Angles of reflection