سلام برنامه یک ولتمتر سه رقمی رو نوشتم که الگوریتمش نمایش اعداد بر روی سون سگمنت رو به شکل زیر تعریف کردم که متاسفانه به این صورت نمایش میده مثلا 150 ولت ورودی را 155 نشون میده ، از 200 تا 209 رو 200 نشون میده ، وهمینطور برای بقیه اعداد هم همینطور ، مشکل کجاست ؟
کد:
while (1) { vin=read_adc(0); vin=vin*300/1023; sadgan=vin/100; PORTD=0x01; PORTB=digits[sadgan]; delay_ms(10); PORTD=0x00; dahgan=vin/100; dahgan=dahgan*100; dahgan=vin-dahgan; dahgan=dahgan/10; PORTD=0x02; PORTB=digits[dahgan]; delay_ms(10); PORTD=0x00; ykan=vin/10; ykan=ykan*10; ykan=vin-ykan; PORTD=0x04; PORTD=digits[ykan]; delay_ms(10); PORTD=0x00; } }
دیدگاه