تبلیغات
برق. قدرت. کنترل. الکترونیک. مخابرات. تاسیسات. - فرکانس متر دیجیتال

برق. قدرت. کنترل. الکترونیک. مخابرات. تاسیسات.

دایره المعارف تاسیسات برق (اطلاعات عمومی برق)

در این برنامه به طرح یک فرکانس متر دیجیتال می پردازیم. این برنامه بیشتر برای یادگیری با طرز کار تایمرها، کانترها و نحوه کار با وقفه های موجود نوشته شده است. در این برنامه توسط تایمر صفر، زمانی حدود ۱ ثانیه درست شده و در طی این زمان تایمر یک بصورت کانتر کار کرده و تعداد پالسهای TTL وارد شده به پایه T1 یا همان PORTB.1 میکرو، را می شمارد. پس از سپری شدن یک ثانیه، تعداد پالسهای وارد شده به پایه T0 مشخص کننده فرکانس پالس ورودی است. در این برنامه بالاترین فرکانس اندازه گیری شونده 8MHZ است.

تولید یک ثانیه توسط T/C0 :

ثانیه 0.983040 = 8000000 / 30* 1024 * 256

تایمر یک بصورت کانتر عمل می کند و در صورت سر ریز شدن یعنی زمانی که تعداد 65536 پالس را شمرد، به زیر برنامه وقفه خود رفته و محتوای کانتر را با عدد صفر ریست می کند و دوباره شروع به شمردن می کند. پس از سپری شدن زمان یک ثانیه، تعداد پالسهای شمرده شده در زیر برنامه وقفه تایمر صفر مشخص شده و در LCD نمایش داده میشود. ورودی کانتر 1 نیز PULL-UP شده است تا فرکانسمتر کار خود را درست انجام دهد.

برنامه:

$regfile = "M32DEF.dat" 'internal crystal 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 =Portc.3 ,Db7 = _
Portc.4 , E = Portd.2 , Rs = Portd.3
Config Lcd = 16 * 2
Config Timer1 = Counter , Edge = Rising
Ddrb.1 = 0 : Portb.1 = 1 'PULL UP RESISTOR ACTIVATED
Config Timer0 = Timer , Prescale = 1024
Enable Counter1
Enable Interrupts
Enable Timer0
Enable Timer1
On Ovf1 Pulsecount
On Ovf0 Ovf0occures
Dim A As Long , I As Long , B As Byte
B = 0
Cls
Start Timer0
Do

Loop
End 'end program

Ovf0occures:
Incr I
If I > 30 Then
Stop Timer0
Cls : Home
A = B * 65536
A = A + Counter1
Lcd "FREQ IS :" ; A ; "HZ "
B = 0
I = 0 : Counter1 = 0
Start Timer0
End If
Return

Pulsecount:
Incr B
Counter1 = 0
Return

تصویر مدار:



منبع: کتاب میکرو کنترلر های AVR - نوشته مهندس علی کاهه

صفحات جانبی

نظرسنجی

    لطفاً نظرات خود را درمورد وبلاگ با اینجانب در میان بگذارید.(iman.sariri@yahoo.com)نتایج تاکنون15000مفید و 125غیرمفید. با سپاس


  • آخرین پستها

آمار وبلاگ

  • کل بازدید :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :