PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوالاتی در مورد قفل دیجیتال و برنامه نوشته شده برای آن



sajadgreat
29-04-2013, 00:58
این پست رو زدم تا آخرین پستم در این زمینه باشه در اینجا همه چیز رو توضیح دادم از مدیران میخوام که پستهای قبلی مربوط به این مشکل رو حذف کنند با تشکر

سلام دوستان عزیز من یک قفل دیجیتال به وسیله نر افزار بسکام نوشتم که بعد از تکمیل و بستن روی مدار چاپی مشکلات زیادی رو که تا قبل از این بهش توجه نمیکردم سر راهم سبز کرد و فهمیدم هنوز خیلی با یک مهندس برق فاصله دارم

'$sim
$regfile = "m8def.dat"
$crystal = 4000000
Config Portb = Output
Config Portc = Input
Config Kbd = Portd , Debounce = 100 , Delay = 5
'================================================= ==============================
Dim A As Byte , B As Byte , C As Dword , D As Byte , R As Byte , Z As Byte , Q As Byte , F As Byte , _
G As Dword , E As Byte , K As Dword , X As Byte , L As Dword,

Declare Sub Main
Declare Sub Ese
Declare Sub Firest
Declare Sub Check
Declare Sub Ok
Declare Sub Wrong

Portc.0 = 0

Readeeprom K , 1

C = 0
G = 0
X = 0
E = 0

Main:

Reset Portb.7
Set Portb.6

A = Getkbd()
If Pinc.0 = 1 Then Goto Firest
If A = 16 Then Goto Main

Ese:
D = Getkbd()
If D <> 16 Then Goto Ese
B = Lookup(a , Keydata)

Select Case B
'================================================= ==============================
Case 0 To 9:

Incr X
C = C * 10
C = C + B

Sound Portb.3 , 100 , 25

Goto Main
'================================================= ==============================
Case 23:
Readeeprom K , 1

L = K
If C = L Then Goto Ok

If X < 6 Then Goto Wrong

If C <> L Then Goto Wrong

Case Else
Readeeprom K , 1

L = K
If C = L Then Goto Ok

If X < 6 Then Goto Wrong

If C <> L Then Goto Wrong
'================================================= ==============================
End Select

End

'================================================= ==============================
Ok:
Sound Portb.3 , 100 , 20
Sound Portb.3 , 100 , 40
Sound Portb.3 , 100 , 60
Sound Portb.3 , 100 , 85
Sound Portb.3 , 100 , 100
Sound Portb.3 , 100 , 125
Sound Portb.3 , 100 , 150
Sound Portb.3 , 100 , 180
Sound Portb.3 , 100 , 200

Set Portb.4
Waitms 500
Reset Portb.4

C = 0
G = 0
X = 0
E = 0
L = 0
K = 0
Goto Main
'================================================= ==============================
Wrong:

Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
C = 0
G = 0
X = 0
E = 0
L = 0
K = 0

Goto Main
'================================================= ======
Firest:
Reset Portb.6
Set Portb.7

Z = Getkbd()
If Z = 16 Then Goto Firest
Check:
R = Getkbd()
If R <> 16 Then Goto Check
F = Lookup(z , Keydata)
Select Case F
'================================================= ==============================
Case 0 To 9:

Incr E
G = G * 10
G = G + F

Sound Portb.3 , 100 , 30
If E > 6 Then
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20

E = 0
G = 0
End If
Goto Firest


Goto Firest

Case 23:

If E < 6 Then

Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20

E = 0
G = 0

Goto Firest
End If

If E > 6 Then
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20

E = 0
G = 0
Goto Firest
End If
If E = 6 Then
K = G
Sound Portb.3 , 100 , 20
Sound Portb.3 , 100 , 40
Sound Portb.3 , 100 , 60
Writeeeprom K , 1
Readeeprom K , 1
Reset Portb.7
Goto Main


End If
Case Else
If E < 6 Then

Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20

E = 0
G = 0

Goto Firest
End If

If E > 6 Then
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20
Sound Portb.3 , 200 , 40
Sound Portb.3 , 200 , 20

E = 0
G = 0
Goto Firest
End If
If E = 6 Then
K = G
Sound Portb.3 , 100 , 20
Sound Portb.3 , 100 , 40
Sound Portb.3 , 100 , 60
Writeeeprom K , 1
Readeeprom K , 1
Reset Portb.7
End If
Goto Main
End Select

'================================================= =======================

'================================================= ==============================
Keydata:
Data , 7 , 8 , 9 , 20 , 4 , 5 , 6 , 21 , 1 , 2 , 3 , 22 , 23 , 0 , 24 , 25
برنامه رو توضیح میدم تا بهتت و سریع تر بتونید راهنماییم کنید
مدار من به شکلیه که دو عدد led داره یکی قرمز و دیگری زرد که هر کدوم نشون دهنده موقعیت مدار هستند برای مثال led قرمز که به pinb.6 متصله نشون میده مدار در حال کاره و آماده برای دریافت رمزه و با زدن یک کلید که برای چند لحظه pinc.0 رو ست میکنه و برنامه رو وارد بخش رمز پزیری میکنه و با وارد کردن رمز که در این برنامه 6 رقم فرض شده و زدن مربع به منزله تایید رمزه ،رمز ست میشه و دوباره به محیط آماده به کار برمیگرده
ولی در عمل که این مدار رو بستم و از چهار عدد باری برای تغذیش استفاده کردم بعد از دو ساعت تا چهار ساعت ال ای دی قرمز شرو به چشمک زدن میکنه و سریع چشمک میزنه و مدار دیگه کار نمیکنه نمیدونم مشکل از کجاست ؟
من برای باز کردن در، هم به وسیله ی یک ترانزیستر ولتاژ میکرو رو تقویت کردم تا بتونه یک سنولوئید 6 ولت رو راه اندازی کنه
نمیدون آیا باید حتما بین عناصر غیر از میکرو مدار و میکرو مقاومت قرار داد یا نه شاید این مشکل بخاط عدم استفاده از مقاومت در مدارمه ولی من یک نمونه خارجی از این مدار رودیدم که توش 8 مقاومت داره 3 ترانزیستور و 3 خازن عدسی و 1 خازن الکترولیت و سه عدد دیود
این طور که به نظر میرسه در مدار نمونه خارجی که ساخت برادران چینیه سه ترانزیستور هریک منظورهای زیر استفاده شده دو عدد برای تقویت خروجی به صورت دارلینگتون

یکی برای تقویت ولتاژ بازر
دو مقاومت برای دو ال ای دی
س هم مقاومت برای بیس ها ی ترانزیستورها ولی نمیدونم خازن هارو برای چی استفاده کرده



pcbرو هم میزارم تا ببینید که مدر رو چطور در آوردم لطفا راهنماییم کنید

آیا برنامه مشکل داره یا مدار سخت افزاری که ساخته شده مشکل داره که مدار از کار میفته و
ledقرمز چشمک میزنه
در ضمن میخواستم بدونم چطور میشه فهمید که باتری جه قدر دوم میاره؟در واقع طول عمرش رو حساب کرد برای یک مدار مشخص
در ضمن من برای مدارم یه رگولاتور هم گذاشتم نمیدون آیا این کار باعث زود تر تموم شده باتری ها نمیشه ؟

sajadgreat.persiangig.com/other/New%20folder.zip