پاسخ : پروژه قفل رمزی الکترونیکی از 0 تا 100
واما ادامه ماجرا...
144) در این خط دستور شرط 1 شدن G را بررسی میکند و در صورت درستی آن دستورا بدنه شرط اجرا میشود.....................If G = 1 Then
145) مکان نمای روی Lcd در سطر دوم و ستون سوم توسط این دستور قرار میگیرد....................Locate 2 , 3
146)علامت *روی Lcd در سطر دوم و ستون سوم توسط این دستور نوشته میشود................Lcd "*"
147)مقدار گرفته شده از صفحه کلید که در متغییر C در مراحل قبلی دریافت شده در متغیر H برای استفاده درمراحل بعدی ریخته میشود....................H = C
148) با این دستور یکی از G کم میشود.............Decr G
149)پرش به زیر برنامه Mmainوانتظار برای دریافت رقم بعدی....................Goto Mmain
150)اعلان پایان دستور شرط اغاز شده در خط 144با این دستور. .................End If
151)مشابها یک دستور شرطی دیگر برای بررسی ودریافت کم ارزش ترین رقم رمز ایجاد میکنیم...............If G = 0 Then
152)کرسر را در سطر دوم وستون چهارم Lcdقرار میدهیم...............Locate 2 , 4
153)علامت * را در محل گفته شده در خط قبل مینویسیم................."*"Lcd
نکته ظریف0:با این سرعت بالای avr اگر ما بعد از این خط یک تاخیر کوچولو ایجاد نکنیم میکرو بلافاصله بعد از دریافت رقم چهارم رمز به مرحله بعدی میرود و زحمت ما در نوشتن خط بالا به هدر .پس ایجاد یک تاخیر مناسب بعد از این خط مهم است که من یادم رفته بنویسم........
154)مقدار کم ارزش ترین رقم رمز را در متغیر I برای استفاده در مراحل بعدی ذخیره میکنیم...............I = C
155)مقدار متغیر G برابر 3 قرار داده میشود................G = 3
نکته مهم 0:در این خط G رار برابر 3 قرار دادیم زیرا ما با رسیدن به این قسمت از برنامه 4 رقم رمز را دریافت کرده ایم و برای وارد کردن مجدد 4 رقم رمز و بررسی دستورات شرطی در یافت ارقام رمز احتیاج داریم که برنامه با بار گذاری یا بهتر بگویم با مقدار دهی دوباره به متغیر G منتظر دریافت رمز 4 رقمی ما با شروع کاستن یکی یکی ازمتغیرG از 3 تا 0 باشد.
نکته1:به نظر من اینجا بهترین مکان برای مقدار دهی دوباره به متغیر G میباشد.
156)اعلان پایان دستورشرطی خط151...............End If
واما ادامه ماجرا...
144) در این خط دستور شرط 1 شدن G را بررسی میکند و در صورت درستی آن دستورا بدنه شرط اجرا میشود.....................If G = 1 Then
145) مکان نمای روی Lcd در سطر دوم و ستون سوم توسط این دستور قرار میگیرد....................Locate 2 , 3
146)علامت *روی Lcd در سطر دوم و ستون سوم توسط این دستور نوشته میشود................Lcd "*"
147)مقدار گرفته شده از صفحه کلید که در متغییر C در مراحل قبلی دریافت شده در متغیر H برای استفاده درمراحل بعدی ریخته میشود....................H = C
148) با این دستور یکی از G کم میشود.............Decr G
149)پرش به زیر برنامه Mmainوانتظار برای دریافت رقم بعدی....................Goto Mmain
150)اعلان پایان دستور شرط اغاز شده در خط 144با این دستور. .................End If
151)مشابها یک دستور شرطی دیگر برای بررسی ودریافت کم ارزش ترین رقم رمز ایجاد میکنیم...............If G = 0 Then
152)کرسر را در سطر دوم وستون چهارم Lcdقرار میدهیم...............Locate 2 , 4
153)علامت * را در محل گفته شده در خط قبل مینویسیم................."*"Lcd
نکته ظریف0:با این سرعت بالای avr اگر ما بعد از این خط یک تاخیر کوچولو ایجاد نکنیم میکرو بلافاصله بعد از دریافت رقم چهارم رمز به مرحله بعدی میرود و زحمت ما در نوشتن خط بالا به هدر .پس ایجاد یک تاخیر مناسب بعد از این خط مهم است که من یادم رفته بنویسم........

154)مقدار کم ارزش ترین رقم رمز را در متغیر I برای استفاده در مراحل بعدی ذخیره میکنیم...............I = C
155)مقدار متغیر G برابر 3 قرار داده میشود................G = 3
نکته مهم 0:در این خط G رار برابر 3 قرار دادیم زیرا ما با رسیدن به این قسمت از برنامه 4 رقم رمز را دریافت کرده ایم و برای وارد کردن مجدد 4 رقم رمز و بررسی دستورات شرطی در یافت ارقام رمز احتیاج داریم که برنامه با بار گذاری یا بهتر بگویم با مقدار دهی دوباره به متغیر G منتظر دریافت رمز 4 رقمی ما با شروع کاستن یکی یکی ازمتغیرG از 3 تا 0 باشد.
نکته1:به نظر من اینجا بهترین مکان برای مقدار دهی دوباره به متغیر G میباشد.
156)اعلان پایان دستورشرطی خط151...............End If
دیدگاه