کد:
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
در مورد توضیح این قسمت؛
ببینید ما یه رمز 12345 تعریف کردیم که میشه؛
10000(رقم اول و به ازای کلید 1 از کی پد) + 2000(رقم دوم و به ازای کلید 2 از کی پد) + 300(رقم سوم و به ازای کلید 3 از کی پد) + 40(رقم چهارم و به ازای کلید 4 از کی پد) + 5 (رقم پنجم و به ازای کلید 5 از کی پد)
که تو این قسمت جمع این 5 عدد برابر رمز 12345 میشه و led سبز روشن میشه.
کد:
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)
به مابقی اعداد کی پد هم با دستور ( RND(X یه مقدار تصادفی بین 0 تا 65535 میدیم(چون X رو WORD تعریف کردیم) تا درصورت عدم صحت رمز جمع مقادیر برابر 12345 نشده و رمز تایید نشود.
نقل قول: مهندس جان نمی دانم چرا روی مگا 16 دقیقا مشکل کد خودم را دارد یعنی اعدادی که از کیپد بدست می اید اشتباه هستن ، به هر سطر یک عدد میدهد ، مثلا یک سطر 1 یک سطر 4 و دیگری 9 ؟؟؟ من کد شما را بعد از حدف نمایش گر بر روی هر دو میکرو تست کردم ولی مگا 16 نمی تواند مثل مگا 32 اعداد را بگیرد !
برنامه ی خودتان را با حذف نمایشگر در زیر قرار میدهم (بر روی هر دو میکرو) .
امکان دارد که بفرمایید چرا مگا 16 نمی تواند مثل مگا 32 اعداد را بخواند !!!
برای مگا 16 راهی هست که درست اطلاعات را از کیپد بگیرد یا باید میکرو را عوض کنم !!؟؟
ممنون میشم دوستان بتونن کمکم کنند .
میکائیل خان این مشکل فقط رو شبیه ساز وجود داره و وقتی رو سخت افزار پیاده کنید مشکلتون حل میشه(با هرمیکروی دلخواه جواب میده)
خوش باشید