با سلام
یه برنامه ولتمتر دانلود کردم که صفر تا 5 ولت هست
هدفم اینه که اگه ولتاژ از 3.2 کمتر بشه پایه 19 که پین 5 پورت b هست یک بشه
فعلن خاستم با دستور if مقدار adc رو بخونم که اگه از 128 کمتر شد خروجی بده که جواب نگرفتم متغیر رو از نوع بیت تعریف کردم که نشد
کسی میتونه اصلاح کنه دستوراتو برای ولتاژی که میخام
ممنون
یه برنامه ولتمتر دانلود کردم که صفر تا 5 ولت هست
هدفم اینه که اگه ولتاژ از 3.2 کمتر بشه پایه 19 که پین 5 پورت b هست یک بشه
فعلن خاستم با دستور if مقدار adc رو بخونم که اگه از 128 کمتر شد خروجی بده که جواب نگرفتم متغیر رو از نوع بیت تعریف کردم که نشد
کسی میتونه اصلاح کنه دستوراتو برای ولتاژی که میخام
ممنون
کد:
$regfile = "m8def.dat" $crystal = 500000 Config Adc = Single , Prescaler = Auto , Reference = Off Config Portb = Output Config Portd = Output Dim A As Word Dim B As Long Dim C As Word Dim D As Word Dim E As Word Dim F As Byte Dim G As Byte Dim I As Byte Dim J As Word Declare Sub Yekan Y Alias Portb.3 D0 Alias Portb.2 S Alias Portb.1 Dp Alias Portb.4 Enable Adc Start Adc '******************************************************************************* Do B = A * 4887 B = B / 10000 '******************************************************************************* Call Yekan Portb.4 = 1 Y = 1 Portd = F Dp = 1 Waitms 4 Y = 0 D0 = 1 Portd = G Waitms 4 D0 = 0 S = 1 Portd = I Dp = 0 Waitms 4 S = 0 Loop End 'end program '******************************************************************************* Hadi: Data &B1000000 , &B1111001 , &B0100100 , &B0110000 Data &B0011001 , &B0010010 , &B0000010 , &B1111000 Data &B0000000 , &B0010000 '******************************************************************************* Sub Yekan C = B / 10 C = C * 10 C = B - C F = C F = Lookup(f , Hadi) D = B / 100 D = D * 100 D = B - D D = D / 10 G = D G = Lookup(g , Hadi) E = B / 100 I = E I = Lookup(i , Hadi) End Sub
دیدگاه