امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سئوال در رابطه با برنامه نویسی یک قفل رمزدار
نویسنده پیام
mikaeil@live آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #1
سئوال در رابطه با برنامه نویسی یک قفل رمزدار
سلام
در سایت جستجو کردم از دوستان هم کمک گرفتم ولی مشکلم حل نشد به همین خاطر این پست را زدم .

دوستان من یک مدار شامل
1 کیپد 3*4
1 میکروکنترل اتمگا 16
2 ال ئی دی

دارم در میکرو برنامه ای بار گذاری میشود که حاوی یک رمز 5 رقمی است .
در صورتی که کاربر رمز صحیح را بزند چراغ سبز و در صورت درج رمز بصورت اشتباه چراغ قرمز روشن می شود .

من برای این پروسه برنامه ای نوشتم که از نظر منطقی بنظر اشتباه نیست ولی وقتی در شبیه ساز روی مدار بارگیری میشود جواب نمی دهد .

ممنون میشم اگر برنامه را نگاه کنید و ایراداتش را بگید .
متاسفانه در فروم های ایرانی زیاد دیدم که کاربری میاد و یک جمله می گه و فکر می کنه که مشکل دوستش را حل کرده ! واقعا اینطور نیست کسی که میاد مشکلی مطرح می کنه مطمئن باشید خیلی گشته و از این نظرات یک خطی و برنامه های جور وا جور دیده ولی نتیجه نگرفته چون میشه گفت انقدر تسلط روی موضوعی که در فورم مطرح می کند ندارد که با یک سرنخ به مقصد برسد .


ممنون از لطفتون
کد:
$regfile = "m16def.dat"
$crystal = 8000000

Config Kbd = Portb
'Porta.0 cheragh ghermez (Khata)
Config Porta.0 = Output
'Porta.1 cheragh sabz (Sahih)
Config Porta.1 = Output

'LED TEST
Set Porta.0
Set Porta.1
Waitms 50

'khamosh kardan LED ha
Reset Porta.0
Reset Porta.1

'Moteghaieri ke vorodi ha ra az keypad migirad
Dim Key As Byte
'Password delkhahi ke bar gozari mikonim
Dim Pass(5) As Byte
'Moteghaieri ke meghdarash ra az jadval estekhraj mikonim
Dim Number As Byte
'Input Password
Dim I_pass(5)as Byte
'shomarandeh
Dim C As Byte

'Password = 12345
For C = 0 To 4
Pass(c) = C + 1
Next C

C = 0

Do
Key = Getkbd()
Number = Lookup(key , Keypad_table)

Select Case Number
Case 0 To 9 :
I_pass(c) = Number
Incr C

Case 10:
C = 0
Reset Porta.0
Reset Porta.1

Case 20:
If C = 4 Then
For C = 0 To 4
If I_pass(c) <> Pass(c) Then
Set Porta.0
C = 0
Exit For

'agar halghe ta akharin dor iani c=4 shekaste
'nashod iani tamame char ha ba ham barabarand
Elseif C = 4 Then
C = 0
Set Porta.1
End If
Next C
Else
Set Porta.0
C = 0
End If
End Select

Loop

End 'end program

'10 reset
'20 Enter
'12 zamani ast ke kelidi zade nashodeh

'Keypad Table
Keypad_table:
Data 1 , 2 , 3
Data 4 , 5 , 6
Data 7 , 8 , 9
Data 10 , 0 , 20 , 12
۲۲-بهمن-۱۳۹۱, ۱۵:۱۶:۴۲
ارسال‌ها
پاسخ
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #2
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
سلام.
دوستان اینجا اگه کمکی از دستشون بر بیاد دریغ نمی کنند...
یعنی نمی خواین ال سی دی داشته باشه؟

START...

۲۲-بهمن-۱۳۹۱, ۱۵:۴۱:۲۶
ارسال‌ها
پاسخ
تشکر شده توسط : abbasalifix
mikaeil@live آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
بله بله حتما همین طوره دوست عزیز

نه دوست عزیز فقط همین قطعات بالا در مدار است ، رمز از قبل بار گذاری شده و فقط چک می شود .
برنامه را که چک می کنم بیشتر مشکل را در قسمت خواندن دیتا از کیپد توسط تابع کامپایلر می بینم ، بنظر می رسد دیتای خوانده شده 0-12 نیست ! نحوه ی اتصال سیم های کیپد به میکرو را به شکل زیر گذاشتم
PBD0=1
PBD1=2
PBD2=3
PBD3=A
PBD4=B
PBD5=C
PBD6=D
۲۲-بهمن-۱۳۹۱, ۱۵:۵۸:۲۳
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #4
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
من یه برنامه میزارم ببینید و ازش بهره بگیرین -البته برنامه کار خودم نیست
برنامه خودتون رو هم بعد از ظهر براتون یه نگاهی میکنم
۲۲-بهمن-۱۳۹۱, ۱۶:۰۲:۱۲
ارسال‌ها
پاسخ
تشکر شده توسط : mikaeil@live, omid_phoenix, Ambassador
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #5
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
سلام
دوست عزیز به فروم خوش اومدید
در صورت امکان شبیه ساز مدار و هم بذارید تا بررسی بشه

۲۲-بهمن-۱۳۹۱, ۱۶:۱۱:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : abbasalifix
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #6
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
آقا میکاییل اون برنامه ای که من به شما دادم مشکلی که نداشت.
شما فقط دستورات ال سی دی رو حذف کن همونی میشه که میخواستی دیگه

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۲-بهمن-۱۳۹۱, ۱۸:۳۰:۳۱
وب سایت ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #7
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
مهندس برنامت کمی شلوغ بود حوصلم نکشید ایرادش و چک کنم
واست یه برنامه ساده نوشتم که شاید مشکلت و حل کنه
پسورد پیش فرض همون 12345 که درصورت صحت یه led سبز و عدم صحت قرمز روشن میشه.



.rar   KEYPAD.rar (اندازه: 51.41 KB / تعداد دفعات دریافت: 76)

۲۲-بهمن-۱۳۹۱, ۱۸:۵۵:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : mikaeil@live, Ambassador
mikaeil@live آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #8
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
بله از لطفتون ممنونم ولی من باید این را روی یک مدار فیزیکی که فقط همین قطعات را که در بالا گفتم دارد بار گذاری کنم . حتی بعد از حذف نمایشگر مدار شما قطعات بیشتری دارد و عملا روش خواندن کیپد شما برای مدار من امکان پذیر نیست .

کل مدار مثل عکس زیر است :
http://photos.uvs.ir/img/fd5a10c877af.jpg
(آخرین ویرایش در این ارسال: ۲۲-بهمن-۱۳۹۱, ۱۹:۲۹:۲۰، توسط mikaeil@live.)
۲۲-بهمن-۱۳۹۱, ۱۹:۰۷:۳۳
ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #9
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
مهندس عکسی که گذاشتید سایزش خیلی بزرگه بهتر بود تو خود سایت آپلود میکردید.
نقل قول: بله از لطفتون ممنونم ولی من باید این را روی یک مدار فیزیکی که فقط همین قطعات را که در بالا گفتم دارد بار گذاری کنم . حتی بعد از حذف نمایشگر مدار شما قطعات بیشتری دارد و عملا روش خواندن کیپد شما برای مدار من امکان پذیر نیست .
خب شما فقط کافیه جای مگا 32 رو با مگا16 عوض کنید...همین

۲۲-بهمن-۱۳۹۱, ۱۹:۱۲:۳۰
ارسال‌ها
پاسخ
mikaeil@live آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #10
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
مهندس R0b0 پاسخ قبلی من به آقای h.unique بود در حین پاسخ من شما پست گذاشتید به همین خاطر من ندیدم پست شما را ، واقعا ببخشید .
عکس را ویرایش می کنم .

دوست عزیز واقعا ممنونم از برنامه ی شما ، کاملا منطبق با مداری است که می خواهم فقط امیدوارم با تغییر میکرو باز هم به همین شکل اعداد را بگیره ، ممنون میشم اگر نحوه ی خواندن اعداد را بگید ، من فکر می کردم (یعنی خوانده بودم در سایت ها برای حل این مشکلم) یک کیبورد 3*4 از 0 تا 12 اندیس گذاری شده به شکل زیر
اندیس 0= عدد 1 روی کیبورد
اندیس 1 = عدد 2 روی کیبورد
و ...
و 12 هم برای زمانیست که عددی وارد نشده .
ممنون میشم اگر ساختار
کد:
A = Getkbd()
Select Case A

Case 8 : Lcd "1"
S = S + 10000
Case 9 : Lcd "2"
S = S + 2000
Case 10 : Lcd "3"
S = S + 300
Case 4 : Lcd "4"
S = S + 40
Case 5 : Lcd "5"
S = S + 5
Case 6 : Lcd "6"
S = Rnd(x)
Case 0 : Lcd "7"
S = Rnd(x)
Case 1 : Lcd "8"
S = Rnd(x)
Case 2 : Lcd "9"
S = Rnd(x)

End Select
را یک توضیح مختصر بدهید ، ساختار سویچ کیس را میدانم ، فقط فلسفه و نحوه ی خواندن اعداد کیپد را نیم دانم !

باز هم از لطف شما متشکرم .
۲۲-بهمن-۱۳۹۱, ۱۹:۲۸:۳۱
ارسال‌ها
پاسخ
mikaeil@live آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: سئوال در رابطه با برنامه نویسی یک قفل رمزدار
مهندس جان نمی دانم چرا روی مگا 16 دقیقا مشکل کد خودم را دارد یعنی اعدادی که از کیپد بدست می اید اشتباه هستن ، به هر سطر یک عدد میدهد ، مثلا یک سطر 1 یک سطر 4 و دیگری 9 ؟؟؟ من کد شما را بعد از حدف نمایش گر بر روی هر دو میکرو تست کردم ولی مگا 16 نمی تواند مثل مگا 32 اعداد را بگیرد !
برنامه ی خودتان را با حذف نمایشگر در زیر قرار میدهم (بر روی هر دو میکرو) .
امکان دارد که بفرمایید چرا مگا 16 نمی تواند مثل مگا 32 اعداد را بخواند !!!
برای مگا 16 راهی هست که درست اطلاعات را از کیپد بگیرد یا باید میکرو را عوض کنم !!؟؟
ممنون میشم دوستان بتونن کمکم کنند .

لینک
لینک
لینک
(آخرین ویرایش در این ارسال: ۲۲-بهمن-۱۳۹۱, ۲۰:۵۰:۰۵، توسط mikaeil@live.)
۲۲-بهمن-۱۳۹۱, ۲۰:۴۷:۰۹
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] کمک در برنامه نویسی دور موتور خودرو HPower 6 2,592 ۲۵-آبان-۱۳۹۷, ۲۲:۰۳:۵۷
آخرین ارسال: alimogmov
  [مقاله] در رابطه با تشخیص کد ریموتها parviz2012 1 3,678 ۲۷-آذر-۱۳۹۵, ۱۴:۰۵:۰۵
آخرین ارسال: safeland
  برنامه نویسی AVR به روش فلوچارتی با نرم افزار FLOWCODE AVR V3 koorosh.k 8 12,641 ۲۴-آذر-۱۳۹۵, ۲۲:۴۶:۰۸
آخرین ارسال: 1نفر
  سوالهای برنامه نویسی با کامپایلر BASCOM EBKA 242 157,509 ۱۸-خرداد-۱۳۹۵, ۲۰:۱۸:۲۴
آخرین ارسال: hassan721
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  آموزش برنامه نویسی ربات مسیریاب kamran0080 3 10,199 ۲۶-تير-۱۳۹۴, ۱۷:۲۵:۳۶
آخرین ارسال: sona2
Exclamation کمک در مورد برنامه نویسی avr . saeedsniper2 5 3,585 ۱۵-اردیبهشت-۱۳۹۴, ۰۹:۲۰:۳۳
آخرین ارسال: kimiafars
  سوال در مورد انتخاب سنسور و برنامه نویسی dj kaka 10 6,397 ۰۲-اسفند-۱۳۹۳, ۰۹:۱۱:۰۳
آخرین ارسال: dj kaka
  کمک در برنامه نویسی mehdi_mecha 1 2,363 ۰۸-بهمن-۱۳۹۳, ۱۵:۵۸:۰۵
آخرین ارسال: a.mehran
  [سوال] سوال در رابطه با LCD و میکرو AVR saeednoo 5 4,198 ۱۴-شهریور-۱۳۹۳, ۱۳:۳۳:۳۰
آخرین ارسال: md3848

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS