بسهولة إنشاء عدادات التردد Hz – السرعة RPM و Km/hr وغيرها ولغة Basic والمترجم Proton:
المشروع الأساسى : عداد سرعة
خرج حساس السرعة المستخدم يجب أن يكون له خرج على شكل موجة مربعة . البرنامج التالى يقوم بعد النبضات خلال فترة زمنية معينة وحفظ النتيجة فى متغير . يتم استخدام الأمر "DIG" وثلاثة متغيرات لحفظ قيمة كل رقم (خانة) . القيمة الثنائية المكودة عشريا BCD التى تمثل كل رقم يتم إخراجها إلى المنفذ إلى الدائرة المتكاملة 4511 فى التوقيت المناسب . يتم استخدام الميكروكونترولر PIC16F628A لتنفيذ مشروع عداد السرعة .
الدائرة الكهربية :
البرنامج :
كود:
;Digital counters with 16F628A
Device 16F628A
Xtal 4
All_Digital TRUE
Dim COUN As Word ; COUNTER Variable 0 to 999
Dim ONES As Byte ; LSD , DIGIT 0 For ONES 0 to 9
Dim TENS As Byte ; DIGIT 1 For TENS 0 to 9
Dim HUNDREDS As Byte ;MSD , DIGIT 2 For HUNDREDS 0 to 9
Output PORTB ;TRISB = %00000000 output
PORTB = 0 ; Clear PORTB
Input PORTA.0
Symbol Enable_ONES = PORTB.6 ;Enable 4511 for ONES
Symbol Enable_TENS = PORTB.5 ;Enable 4511 For TENS
Symbol Enable_HUNDREDS = PORTB.4 ;Enable 4511 For HUNDREDS
COUN=0 ;Clear COUN , Main from 0
Main:
; Note : Variable = Counter Pin, Period
COUN = Counter PORTA.0,1000 ;Period "1000 ms = 1 sec" time value to calibrate display
COUN = COUN * 1 ;scaling if you need it
COUN = COUN / 1 ;more scaling if you need it
If COUN > 999 Then COUN = 0 ; set to 0 if over count
Display:
;COUN consists of
ONES=COUN Dig 0
TENS=COUN Dig 1
HUNDREDS = COUN Dig 2
PORTB=240 | ONES ; Sens ONES data
; Note : 240 = %11110000 , (|) OR to use bit0 to bit3 for 7 segment
;and make bit4 to bit7 high for enable function
;Enable (LE) 4511 ONES digit by low pulse
Low Enable_ONES : DelayMS 1 : High Enable_ONES : DelayMS 1
PORTB=240 | TENS ; Send TENS data
;Enable (LE) 4511 TENS digit by low pulse
Low Enable_TENS : DelayMS 1 : High Enable_TENS : DelayMS 1
PORTB=240 | HUNDREDS ; Send HUNDREDS data
;Enable (LE) 4511 HUNDREDS digit by low pulse
Low Enable_HUNDREDS : DelayMS 1 : High Enable_HUNDREDS : DelayMS 1
GoTo Main ; Loop again
End
تطبيق رقم 1 :
عداد لقياس تردد المنبع بالهرتز Hz