امروز پنجشنبه ۲۶ تیر ۱۴۰۴
دسته بندی سایت
پیوند ها
آمار بازدید سایت
در اینجا برنامه یک قفل رمز دیجیتال ساده (ورژن یک ) را برای شما نوشتم که میتوان از آن بعنوان یک درب بازکن دیجیتالی رمزی استفاده کرده و نیز از این روش برنامه نویسی برای نوشتن سایر برنامه های کاربردی و پیشرفته تر بهره برد.
روش کار بدین صورت میباشد که در ابتدا برای رمز گذاری باید دکمه Button را فشرده نگه داشته و سپس برق دستگاه وصل شود. در این حالت چراغ تغییر رمز Change Password روشن خواهد شد.
رمز را از یک تا 10 رقم به دلخواه وارد نموده و دکمه "*" رافشار دهید. چند بوق متناوب زده و نیز چراغ تغییر رمز هم چند بار چشمک خواهد زد و مجدداً روشن میماند.
در اینجا باید رمز را مجدد وارد نموده و سپس دکمه "*" را بفشارید. در صورت برابری رمزها ، در حافظه ذخیره خواهد شد. در غیر اینصورت بوق خطا داده و آماده تغییر مجدد رمز میشود.
در حین ورود رمز چنانچه رقمی را اشتباه وارد کنید میتوان توسط دکمه "#" آن را پاک و دوباره از اول وارد کنید و چنانچه رقمی را وارد ننموده باشید توسط دکمه مربع میتوان به حالت عادی برگشت.
برای باز کردن درب کافیست رمز صحیح را وارد نموده و دکمه مربع را بزنید. در پست های بعدی قفل رمز پیشرفته تر برای سایر وسایل منزل خواهم گذاشت. با سایت من همراه باشید
شماتیک:
برنامه :
************************************
NAME : Digital Lock
Ver : 1.0
DESIGNER : Esmaeil Mohammad Zadeh
DATE : 1391/7/5
TEL : 09139545140
MAIL : Esmaeil_AVR@yahoo.com
Weblog : www.esmaeil-avr.Mihanblog.com
************************************
$regfile = "m8def.dat" : $crystal = 8000000 : Enable Interrupts
Config Kbd = Portd , Debounce = 50 , Delay = 50
VAR
Dim A(10) As Byte , A2(10) As Byte
Dim B As Byte , Num_of_password As Byte
Dim Result As Byte , K As Byte
Dim Num As Byte , I As Byte
Dim Enum_of_password As Eram Byte
Dim Enum(10) As Eram Byte
Declare Sub Check
I/O
Config Pinb.0 = Input : Button Alias Pinb.0
Config Pinc.2 = Output : Beep Alias Portc.2
Config Portc.3 = Output : Relay Alias Portc.3
Config Portc.4 = Output : Change_led Alias Portc.4
If Button = 1 Then Jmp Chang
********************** START
Begin:
Num_of_password = Enum_of_password
Change_led = 0 : Relay = 0
B = 0 : I = 0 : Result = 0
*******************************************************************************
Main:
Do
K = Getkbd()
Loop Until K < 12
Beep = 1
Waitms 100
Beep = 0
Num = Lookup(k , Dta)
Select Case Num
Case 0 To 9:
If B < 10 Then
Incr B
A(b) = Num
End If
Case 10: * Button
If B <> 0 Then
For I = 1 To Num_of_password
If A(i) = Enum(i) Then Incr Result
Next I
If Result = Num_of_password Then OK Password
Relay = 1 : Wait 1
Relay = 0
Else Error Password
Relay = 0 : Beep = 1
Wait 2
Beep = 0
End If
jmp Begin
End If
Case 11 : Jmp Begin # Button
End Select
Do
K = Getkbd()
Loop Until K > 11
jmp Main
***************************************** CHANGE PASSWORD
Chang:
B = 0 : Change_led = 1
Chang2:
Do
K = Getkbd()
Loop Until K < 12
Beep = 1
Waitms 100
Beep = 0
Num = Lookup(k , Dta)
Select Case Num
Case 0 To 9:
If B < 10 Then
Incr B
A(b) = Num
End If
Case 10: * BUTTON
If B <> 0 Then
Goto Confirm
Else
Goto Chang2
End If
Case 11 : # BUTTON
If B <> 0 Then
B = 0
Else
Goto Begin
End If
End Select
Do
K = Getkbd()
Loop Until K > 11
JMP Chang2
---------------------------------------- CONFIRM ------------------------------
Confirm:
Num_of_password = B
For B = 1 To 10
Toggle Change_led : Toggle Beep
Waitms 100
Next B
Change_led = 1 : Beep = 0
B = 0
Do
K = Getkbd()
Loop Until K > 11
Confirm2:
Do
K = Getkbd()
Loop Until K < 12
Beep = 1
Waitms 100
Beep = 0
Num = Lookup(k , Dta)
Select Case Num
Case 0 To 9:
If B < 10 Then
Incr B
A2(b) = Num
End If
Case 10: * button
If B <> 0 Then
Call Check
If Result = Num_of_password Then verify tel number
For B = 1 To Num_of_password
Enum(b) = A(b)
Waitms 10
Next B
Enum_of_password = Num_of_password
For B = 1 To 6
Toggle Beep
Waitms 50
Next B
Beep = 0
Goto Begin
Else
Beep = 1 : Wait 1
Beep = 0 : Jmp Chang
End If
End If
Case 11: # BUTTON
If B <> 0 Then
B = 0
Else
Goto Begin
End If
End Select
Do
K = Getkbd()
Loop Until K > 11
jmp confirm2
-------------------------------------------------------------------------------
Sub Check
Result = 0
For B = 1 To Num_of_password
If A(b) = A2(b) Then Incr Result
Next B
End Sub
-------------------------------------------------------------------------------
Dta:
Data 1 , 4 , 7 , 10 , 2 , 5 , 8 , 0 , 3 , 6 , 9 , 11
جزوه عالی مدارهای الکتریکی 1 برای دانلود مشخصات دانشگاه: شهید بهشتی تهران استاد: دکتر حق جو فرمت: PDF پی دی اف - قابل اجرا و خواندن بر روی لپ تاپ، گوشی و ... تعداد صفحات: 64 کیفیت: بسیار عالی رشته: مهندسی برق دانلود نمونه ... ...
فرکانس رادیویی (کوتهنوشت به انگلیسی: RF) به محدوده ای از نوسانات در بازهٔ ۳۰ کیلوهرتز تا ۳۰۰ گیگاهرتز گفته میشود که معادل است با بسامد موجهای رادیویی و جریانهای متناوبی که حامل سیگنالهای رادیویی هستند. آراِف معمولاً بیشتر از کارکردهای مکانیکی، به کارکردهای الکتریکی ... ...
کتاب بسیار زیبای افسانه های مشرق زمین در 108 صفحه با فرمت pdf این کتا ب قدیمی از کتابخانه شخصی اینجانب انتخاب و آماده استفاده کاربران عزیز شده است : منصوررخشانی ... ...
اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.
ایجاد وب سایت یامحبوب ترین ها
پرفروش ترین ها
پر فروش ترین های فورکیا
پر بازدید ترین های فورکیا