Bonjour,
Je voudrais tester la conduction des fils, donc j'ai fait un schéma ISIS ou j'ai mis des connecteurs (fermé dans le cas où le fil est passant, ouvert si le fil est bloquant). Et je voudrais afficher sur un afficheur LCD l'état de chaque fil systématiquement (s'il est passant ou non).
J'ai fait un programme en langage C sur MikroC pro mais j'ai un petit problème, l'afficheur saute quelques instructions pendant la simulation et je ne sais pas où est le problème.
Je vous mets ici le montage ISIS et le programme ci-dessous (juste le void main) :
Code:void main() { TRISB=0xFF; Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Out(1, 1, "TEST START"); delay_ms(500) ; while(1) { delay_ms(500); if (PORTB.F0==1) { Lcd_Out(1, 1, " Fil 1 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 1" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F1==1) { Lcd_Out(1, 1, " Fil 2 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 2" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F2==1) { Lcd_Out(1, 1, " Fil 3 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 3" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F3==1) { Lcd_Out(1, 1, " Fil 4 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 4" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F4==1) { Lcd_Out(1, 1, " Fil 5 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 5" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F5==1) { Lcd_Out(1, 1, " Fil 6 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 6 " ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F6==1) { Lcd_Out(1, 1, " Fil 7 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 7" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300); if (PORTB.F7==1) { Lcd_Out(1, 1, " Fil 8 OK "); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300) ; } else Lcd_Out(1, 1, " Faulty Fil 8" ); delay_ms(1000) ; Lcd_Cmd(_LCD_CLEAR); delay_ms(300);
J'ai besoin de votre aide s'il vous plaît.
-----