رفتن به مطلب

Professional Electronic Forum Iran

تبلیغات تجاری گروه تخصصی تعمیرکاران (تعرفه تبلیغات)

sinasat

عضو انجمن
  • تعداد ارسال ها

    2
  • تاریخ عضویت

  • آخرین بازدید

دستاوردهای sinasat

تازه وارد

تازه وارد (1/11)

  • هفته اول انجام شد
  • یک ماه بعد
  • یک سال بعد

نشان های اخیر

0

اعتبار در سایت

  1. من يک برنامه نوشتم مال در بازکن تلفني ميخواستم ببينم درست نوشتمش اينم برنامه $regfile = "m8def.dat" $crystal = 8000000 '$baud = 9600 Config Portd = Input Config Portb.7 = Input Config Portb.6 = Output Config Portc.5 = Output Config Portc.4 = Output Config Portc.3 = Output Config Debounce = 50 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = _ Portc.0 , E = Portb.2 , Rs = Portb.1 Config Lcd = 16 * 2 Cursor Off Cls Declare Sub Main Dim D As Long , Seco As Byte , A As Byte , B As Byte , C As String * 8 , F As Long Dim E As Eram Long Sina: Delay Home Lcd " Waiting" Wait 1 Do If Pinb.7 = 1 Then Jmp Q Loop Q: Cls Home L Lcd " javab" Waitms 50 Set Portb.6 Cls If E = &HFFFFFFFF Then jmp Here Else jmp Sh End If Here: E = 123456 Sh: Cls : Home : Lcd "PASSWORD ENTER=quot; B = 0 : C = "" : Locate 2 , 1 Call Main If E = D Then If Pind = &B00001010 Then Goto Bb Else Jmp Control End If Else Cls : Home Lcd "Wrong Password" Reset Portb.6 Wait 2 : Cls : Home : Jmp Sina End If Bb: Cls : Cursor Off : Home Lcd "1:Change Pass" Locate 2 , 1 : Lcd "2:Back" Bc: A = Pind If Seco <= 60 And A > &B00001100 Then Reset Portb.6 Goto Sina '-------------------------- A = Lookup(a , Jadval) If A = 49 Then Jmp Change If A = 50 Then Jmp Sh jmp Bc Change: Cls : Cursor Off : Home Lcd "Type Old Pass" Locate 2 , 1 Call Main If E = D Then jmp Gh Else Cls : Home : Lcd "Wrong Pass" : Wait 2 Reset Portb.6 jmp sina End If Gh: Cls : Cursor Off : Home Lcd "Type New Pass" Locate 2 , 1 Call Main E = D jmp Bb End Control: Cls Home Lcd " wellcome" Wait 3 Cls 000: Do If Seco <= 60 And Pind < &B00001100 Then jmp klid Else Reset Portb.6 jmp sina End If Klid: If Pind = &B00000001 Then Goto Relay1 If Pind = &B00000010 Then Goto Relay2 If Pind = &B00000011 Then Goto Relay3 If Pind = &B00000100 Then Goto Relay1_off If Pind = &B00000101 Then Goto Relay2_off If Pind = &B00000110 Then Goto Relay3_off If Pind = &B00001001 Then Goto Int_off Loop ' LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABELLABEL '**************************************TV*************************************** Int_off: Waitms 10 Reset Portb.6 Waitms 10 jmp sina Relay1: Cls Set Portc.5 If Portc.5 = 1 Then Locate 1 , 4 Lcd "Relay1 on" End If Waitms 100 jmp 0000 Relay1_off: Cls Reset Portc.5 If Portc.5 = 1 Then Locate 1 , 4 Lcd "Relay1 off" End If Waitms 100 jmp 0000 '***************************************WASHER**********************************​ Relay2: Cls Set Portc.4 If Portc.4 = 1 Then Locate 1 , 3 Lcd "Relay2" End If Waitms 100 jmp 0000 Relay2_off: Cls Reset Portc.4 If Portc.4 = 1 Then Locate 1 , 3 Lcd "Relay2 Off" End If Waitms 100 jmp 0000 '**************************************FAN************************************** Relay3: Cls Set Portc.3 If Portc.3 = 1 Then Locate 1 , 3 Lcd "Relay3 ON" End If Waitms 100 jmp 0000 Relay3_off: Cls Reset Portc.3 If Portc.3 = 1 Then Locate 1 , 3 Lcd "Relay3 Off" End If Waitms 100 jmp 0000 End 'end program '----------------------------------------------------------- Main: B = 0 : C = "" Aa: A = Pind If Seco <= 60 And A > &B00001100 Then Reset Portb.6 Goto Sina A = Lookup(a , Jadval) Select Case A '---------------------- Case 48 To 57: If B < &B00001000 Then Incr B Lcd String(1 , A) C = C + String(1 , A) End If jmp Aa '---------------------- Case 35: D = Val(c) End Select Return '-------------------------------------------------- Jadval: Data 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 42 , 35 توضیحات برنامه این در بازکن تلفنی طوریه که شما اول بعد جواب دادن گوشی توسط دستگاه از شما رمز پیش فرض 123456 رو میخواد با زدن کلید مربع وارد میشوید و رمز نیز قابل تغییر میباشه و چند تا رله هم داره که بعد از وارد شدن قابلیت قطع و وصل داره توضیحات برنامه اولش که همه پیکر بندی اگر پین b.7 یک شد یعنی تلفن در حال زنگ زدنه و گوشی رو جواب بده و پین b.6 یک کن تا رله وصل بشه و گوشی جواب داده بشه در خط بعدی میگه اگر متغیر E مساوی با یک شد چون در eeprom مقدار اولیش 1 است پرش میکنه به لیبل here و متغیر e=123456 می کنه (اما وقتی کاربر رمز رو عوض کنه و برق مدار رو قطع کنه شرط here برقرار نمیشه و به لیبل sh پرش میکنه و دیگه کاری به داخل e نداره خط بعدی متغیر ها رو مقدار دهی می کنیم و سابروتین main رو فراخونی میکنه که توضیحاتش رو در آخر میدم اگر متغیر e=d شد برو خط بعدی پین d هم به آی سی mt8870 وصله اگر pind=10 شد برو به لیبل bb ذر غیر اینصورت برو به لیبل کنترل در غیر اینصورت پسورد اشتباه است گوشی رو قطع کن حالا بقیه توضیحات برنامه وبرو به لیبل اولیه سینا در این شرط اگر شما کلید ستاره رو بزنید به قسمت تغییر رمز میروید که شماره کلید ستاره 1010 است و به لیبل bb مراجعه می کند و روی LCD تایپ میکنه 1 -change pass در خط بعدی 2-back و بعد میره به لیبل Bc و PINd=A میکنه و اگر در مدت 60 ثانیه و عدد وارد شده بزرگتر از 1100 بود گوشی رو قطع میکنه و میره به لیبل sina در غیر اینصورت میره خط بعدی متغیر A را با اعداد داخل لیبل jadval مقایسه میکند و در صورت برابر بودن با هر کدام عدد رو داخل متغیر A میریزه اگر a=49 شد که همون 1 است برو لیبل Change اگر a=50 شد که همون 2 است برو به لیبل sh در غیر اینصورت اگر هر کدام از شرطها برقرار نبود به لیبل Bc برو لیبل Change روی LCD تایپ میشه Pass قدیمی رو از شما میخواد فراخوانی لیبل Main اگر E=d شد یعنی پسورد صحیح است و به لیبل GH میره در غیر اینصورت پسورد اشتابه است گوشی تلفن قطع میشه و میره به لیبل sina لیبل GH از شما میخواد رمز جدید خود را وارد کنید و E=D قرار میده و میره به لیبل Bb لیبل Control داخل حلقه اگر در مدت 60 ثانیه و عددی کوچکتر از 1100 وارد شد برو به لیبل klid در غیر اینصورت تلفن رو قطع کن و برو به لیبل sina لیبل klid در لیبل کلید هم براساس عدد وارد شده به رله مربوطه میره سابروتین Main متغیر های B, C رو مقدار دهی میکنه PIND = A اگر در مدت 60 ثانیه و مقدار A بزرگتر از 1100 شد شرط برقرار و گوشی تلفن قطع و به لیبل sina میره در غیر اینصورت خط بعدی متغیر A رو با مقادیر داخل لیبل jadval مقایسه میکنه و در صورت برابر بودن عدد مورد نظر رو میریز داخل متغیر A اینم PCB که خودم درست کردم و در اصل طرح کلی رو از روی این پروژه برداشتمش فقط تغییراتی کلی دادم مثلا مگا 16 رو کردم مگا 8 و جای پایه اشم کمی تغییر کرده دانلود proje asli zip اینم PCB دانلود rar برنامه رو هم که تغییر دادم تا بشه که با رمز وارد شد و رمز رو هم تغییر داد که از روی پروژه قفل رمزدار زیر نوشتمش برای همین میگم ببینم درست نوشتمش چون مجبور بودم تغییراتی توش انجام بدم چون ماکه صفحه کلید نداریم مثل قفل رمزدار برای همین خروجی mt8870 که به Pind وصله اعداد رو به ما میده اینم لینک در ست پروژه قفل رمز دار دانلود zip:smilies-azardl (113:ot0837h0nn8zfqu8ult:56::31::69::21::10:
  2. بنام خداiranir@n2:48::37::6::17::61::riz284::image177::27: با سلام ببخشید من یک ترانزیستور میخواستم که باهاش بتونم از طریق پایه میکرو سیم tip تلفن رو سوئیچ کنم لطفا کمک کنید یک روزم برای من یک روز توکل به خدا
×
×
  • اضافه کردن...