من یه مشکلی توی برنامه نویسی با بسکام دارم .من دو تا برنامه ولتمتر و فرکانس متر نوشتم. حالا میخوام دو تا کلید اضافه کنم تا با فشردن یکی ولتمتر و فشردن کلید دوم فرکانسمتر کار کنه .نمیدونم چیطور برنامشو بنویسم
این برنامه ولتمتره :
و این برنامه فرکانسمتره :
میشه کد برنامه کامل شده را بنویسین ؟ چون خیلی روش کار کردم و میخوام از دستور debounce استفاده کنم ولی نمیدونم چطوری .
نکته دیگه اینکه در برنامه اول تایمر 1 به عنوان تایمر و در برنامه دوم به عنوان کانتر استفاده شده.
حالا چطور این دو برنامه رو با دستور debounce یکی کنم ؟
این برنامه ولتمتره :
کد:
$regfile = "m16def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , _ Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 Config Lcd = 16 * 2 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer1 = Timer , Prescale = 64 Dim U As Word , V As Single , Vrms As Single , A As Byte , T As Single Enable Timer1 Enable Interrupts On Timer1 Timer1_isr Timer1 = 3036 Start Timer1 Vrms = 0 A = 0 T = 0 Start Adc Do U = Getadc(0) V = U V = V * 0.004887 V = V * 3 V = V ^ 2 Vrms = Vrms + V T = T + 1 Loop Until A = 1 T = 0.5 / T Vrms = Vrms * T Vrms = Vrms / 0.5 Vrms = Sqr(vrms) Cls Lcd "vrms(v)=" ; Vrms End Timer1_isr: Timer1 = 3036 A = 1 Return
کد:
$regfile = "m16def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , _ Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 Config Timer1 = Counter , Edge = Rising Config Timer0 = Timer , Prescale = 1024 Enable Timer1 Enable Timer0 Enable Interrupts On Ovf1 Pulse_counter On Ovf0 Main Dim Freq As Long , Overflow1 As Byte , Overflow0 As Long Overflow1 = 0 Start Timer0 Do Loop End Main: Incr Overflow0 If Overflow0 > 30 Then Stop Timer0 Cls Freq = Overflow1 * 65536 Freq = Freq + Counter1 Lcd "frequency:" ; Freq Overflow1 = 0 Overflow0 = 0 Counter1 = 0 Start Timer0 End If Return Pulse_counter: Incr Overflow1 Counter1 = 0 Return
نکته دیگه اینکه در برنامه اول تایمر 1 به عنوان تایمر و در برنامه دوم به عنوان کانتر استفاده شده.
حالا چطور این دو برنامه رو با دستور debounce یکی کنم ؟
دیدگاه