السلام عليكم ورحمته الله وبركاته
قمت بعمل جهاز يقوم بعد الاشخاص الداخلين الي الحافلة او الخارجين منها بالستخدام PIC16F877A مع شاشة LCD كان الجهاز يعمل في البداية لكن قمنا بتعديل على البرمجة عندما قمت بوضع البك في الدائرة ظهرت المربعات ومن السرعة والاستعجال وضعت البك بالشكلوب وكان الجهاز موصول بفرق جهد ... وظهرت مشكلة اخرى في ظهور ارقام ليس لها معنى (10 او 0 او 2 او 32 ) ..قمت بتغير الشاشة والبك والكرستالة ولكن نفس المشكلة ؟؟ احتمال انه المشكلة من البرمجة وهاي الملف على البرمجة اذا ممكن حدا يتبعلي اياه ويشوف وين المشكلة اذا سمحت
( المجس عبارة عن LDR + مقاومة )
صورة للمشكلة

هاي البرمجة
كود:
#include "C:\Users\357511\Desktop\counter\main.h"
#include <lcd.c>
void main()
{
int l1,l2,c;
setup_adc_ports(all_ANALOG);
setup_adc(ADC_clock_internal);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// TODO: USER CODE!!
lcd_init();
while(1){
set_adc_channel(0);
l1=read_adc();
set_adc_channel(1);
l2=read_adc();
if (l1>100){while(l2<100);}c++;delay_ms(400);
if (l2>100){while(l1<100);}c--;delay_ms(400);
printf(lcd_putc,"%2u",c);
if(c>10){output_high(pin_c7);}
else output_low(pin_c7);
}
}