امروز چهارشنبه ۲۵ تیر ۱۴۰۴
دسته بندی سایت
پیوند ها
آمار بازدید سایت
گاهی اوقات ما دستگاهی نیاز داریم که با رسیدن تعداد پالس مشخص به آن و در یک عدد تنظیم شده یک خروجی را روشن کند .
برای تنظیم ابتدا دکمه ستاره "*" را چند ثانیه نگه دارید تا وارد مرحله تنظیم شویم ، سپس میتوان توسط صفحه کلید رقم مورد نظر را وارد نمود.
با هر پالس تحریک به پایه فتوکوپلر شمارنده یک رقم کاهش می یابد و این مقدار در حافظه ثبت خواهد شد تا چنانچه در حین شمارش با قطع برق مواجه شویم و یا در اثر نویز ، سیستم ما ریست شود ، اختلالی در کار شمارش ایجاد نشده و ادامه شمارش انجام شود.
زمانی که شمارش به صفر برسد خروجی رله ما روشن شده و عمل شمارش متوقف خواهد شد.
بعد از متوقف شدن میتوان دکمه مربع "#" را چند ثانیه فشرده نگه دارید تا عدد تنظیم شده اول مجدداً بارگزاری و آماده شمارش شود.
برنامه این سیستم به روشی متفاوت نسبت به سیستمهای مشابه نوشته شده است که باعث کم شدن خطوط برنامه میشود.
شماتیک:
سورس برنامه:
*****************************************
Name : Counter 6 Digit
Ver : 2.0
Designer : Esmaeil Mohammad Zadeh
Mobile : 09139545140
Date : 1390/7/ 21
*****************************************
$regfile = "m32def.dat" : $crystal = 8000000 : Enable Interrupts
Config Kbd = Portd : Config Clock = Soft , Gosub = Sectic
Declare Sub Show
Config Portc = Output : Seg Alias Portc
Config Porta = Output : Disp Alias Porta
Config Pinb.0 = Input : Triger Alias Pinb.0
Config Portb.1 = Output : Rel Alias Portb.1
Config Portb.3 = Output : Dp Alias Portb.3
Dim Flag As Bit
Dim A As Byte , I As Byte , L As Byte , X As Byte , Key As Byte
Dim Num As Long , Eprom As Long
Dim Num_str As String * 6 , Dig As String * 6 , Dig1 As String * 1
Dim E_num As Eram Long , Eeprom As Eram Long
*******************************************************
Begin:
Flag = 0 : Dp = 1 : Num = E_num : Eprom = Eeprom
Main:
Key = Getkbd()
Key = Lookup(key , Keybd)
If Key = 10 Then
_sec = 0
Do
Key = Getkbd()
If _sec => 2 Then Goto Esmaeil
Call Show
Loop Until Key > 11
End If
If Key = 11 Then
_sec = 0
Do
Key = Getkbd()
If _sec => 2 Then
Rel = 0 : Num = Eprom : Waitms 3
E_num = Num
End If
Call Show
Loop Until Key > 11
End If
Call Show
Debounce Triger , 1 , Decrease , Sub
If Num = 0 Then : Rel = 1 : Else : Rel = 0 : End If
jmp Main
*******************************************************
Sub Show
For I = 1 To 6
Num_str = Str(num) : L = Len(num_str)
If L < 6 Then
A = 6 - L : Dig = String(a , 48) 48 = Ascii Code "0"
Num_str = Dig + Num_str
End If
Dig = Mid(num_str , I , 1)
A = Val(dig)
Seg = Lookup(i , Dta2)
Disp = Lookup(a , Dta)
Waitms 1
Next I
End Sub
*******************************************************
Decrease:
If Num > 0 Then Decr Num
Waitms 2
E_num = Num
Return
*******************************************************
Esmaeil:
Num = 0 : X = 0 : _sec = 0 : Flag = 1
Do
Key = Getkbd()
Seg = &HFF : Disp = &HBF
Loop Until Key > 11
Edit:
Key = Getkbd()
Call Show
If _sec => 10 Then Goto Begin
If Key > 11 Then Goto Edit
Key = Lookup(key , Keybd)
_sec = 0
Select Case Key
Case 10:
Waitms 4
E_num = Num : Waitms 4
Eeprom = Num : Goto Begin
Case 11 :
If X <> 0 Then
Num = 0 : X = 0
Else
Goto Begin
End If
Case Else:
Incr X
If X <= 6 Then
Dig1 = Str(key ) : Dig = Str(num)
Dig = Dig + Dig1 : Num = Val(dig)
End If
End Select
Do
Key = Getkbd()
Call Show
Loop Until Key > 11
JMP Edit
*******************************************************
Sectic:
If Flag = 1 Then Toggle Dp
Return
Keybd:
Data 1 , 6 , 7 , 10 , 2 , 5 , 8 , 0 , 3 , 4 , 9 , 11
Dta:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90
Dta2:
Data &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20
END
فرکانس رادیویی (کوتهنوشت به انگلیسی: RF) به محدوده ای از نوسانات در بازهٔ ۳۰ کیلوهرتز تا ۳۰۰ گیگاهرتز گفته میشود که معادل است با بسامد موجهای رادیویی و جریانهای متناوبی که حامل سیگنالهای رادیویی هستند. آراِف معمولاً بیشتر از کارکردهای مکانیکی، به کارکردهای الکتریکی ... ...
کتاب بسیار زیبای افسانه های مشرق زمین در 108 صفحه با فرمت pdf این کتا ب قدیمی از کتابخانه شخصی اینجانب انتخاب و آماده استفاده کاربران عزیز شده است : منصوررخشانی ... ...
اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.
ایجاد وب سایت یامحبوب ترین ها
پرفروش ترین ها
پر فروش ترین های فورکیا
پر بازدید ترین های فورکیا