اطلاعیه

Collapse
No announcement yet.

کمک برای ذخیره ورودی کیبورد در ثبات

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک برای ذخیره ورودی کیبورد در ثبات

    سلام دوستان عزیز
    من یک برنامه کیبور دارم که کی خوام ورودی های اون رو در ثبات ذحیره کنم.
    یک پروژه دارم که باید در اون یک در باز کن داشته باشم که 4 تا رمز 4 رقمی داشته باشه و هر کدوم از این رمز ها که وارد شد اگر درست بود در باز بشه و اگر اشتباه بود آژیر به صدا در بیاد.
    متاسفانه برای نگهداری ورودی کیبورد در ثبات مشکل دارم. اگر کسی بتونه کمک کنه واقعا ممنونش می شم. چون روزهای آخر ترم هستش و کارآموزی و پروژه پایانی ایم هم هنوز تموم نشده.
    برنامه کیبورد ام هم این زیر نوشتم:

    ORG 0000H
    MOV A,#38H
    CALL JAVAD
    CALL DELAY
    MOV A,#0EH
    CALL JAVAD
    CALL DELAY
    MOV A,#80H
    CALL JAVAD
    CALL DELAY
    START:
    MOV P1,#00000000B
    CALL WAIT_OPEN
    CALL DELAY
    TRY_AGAIN:
    CALL WAIT_PRESSED
    CALL DELAY
    MOV A,P3
    ANL A,#000011111B
    CJNE A,#00001111B,SCAN
    SJMP TRY_AGAIN
    SCAN:
    MOV DPTR,#200H
    MOV A,#11111110B
    MOV R6,#4
    CALL ROW_SEARCH
    MOV A,R7
    CJNE A,#0FH,FIND_OFFSET
    SJMP START
    FIND_OFFSET:
    MOV R0,#0
    ROTATE:
    RRC A
    JNC FIND_KEY
    INC R0
    SJMP ROTATE
    FIND_KEY:
    MOV A,R0
    MOVC A,@A+DPTR
    MOV P2,A
    CALL HOMAM
    CALL DELAY
    SJMP START
    WAIT_OPEN:
    MOV A,P3
    ANL A,#00001111B
    CJNE A,#00001111B,WAIT_OPEN
    RET
    WAIT_PRESSED:
    MOV A,P3
    ANL A,#00001111B
    CJNE A,#00001111B,EXIT
    SJMP WAIT_PRESSED
    EXIT:
    RET
    ROW_SEARCH:
    MOV P1,A
    MOV B,P3
    ANL B,#00001111B
    MOV R7,B
    CJNE R7,#00001111B,FIND_ROW
    RL A
    INC DPTR
    INC DPTR
    INC DPTR
    INC DPTR
    DJNZ R6,ROW_SEARCH
    FIND_ROW:
    RET
    DELAY:
    MOV R1,#10
    LOOP:
    MOV TH0,HIGH(-1000)
    SETB TR0
    JNB TF0,$
    CLR TR0
    CLR TF0
    DJNZ R1,LOOP
    RET
    JAVAD:
    CALL READY
    MOV P2,A
    CLR P3.5
    CLR P3.6
    SETB P3.7
    CLR P3.7
    RET
    HOMAM:
    CALL READY
    MOV P2,A
    SETB P3.5
    CLR P3.6
    SETB P3.7
    CLR P3.7
    RET
    READY:
    SETB P2.7
    CLR P3.5
    SETB P3.6
    BACK:
    CLR P3.7
    SETB P3.7
    JB p2.7,back
    RET
    ORG 200H
    DB '7','8','9',&#039 ;/'
    DB '4','5','6','*& #039;
    DB '1','2','3',&#039 ;-'
    DB '?','0','=','+& #039;

    END

    #2
    پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

    نوشته اصلی توسط likable6
    سلام دوستان عزیز
    من یک برنامه کیبور دارم که کی خوام ورودی های اون رو در ثبات ذحیره کنم.
    یک پروژه دارم که باید در اون یک در باز کن داشته باشم که 4 تا رمز 4 رقمی داشته باشه و هر کدوم از این رمز ها که وارد شد اگر درست بود در باز بشه و اگر اشتباه بود آژیر به صدا در بیاد.
    متاسفانه برای نگهداری ورودی کیبورد در ثبات مشکل دارم. اگر کسی بتونه کمک کنه واقعا ممنونش می شم. چون روزهای آخر ترم هستش و کارآموزی و پروژه پایانی ایم هم هنوز تموم نشده.
    برنامه کیبورد ام هم این زیر نوشتم:
    منظورت از نگهداری ورودی در ثبات چیه؟ یعنی میخوای رمزی که از کیبورد وارد میشه رو روی رم ذخیره کنی و بعد با رمز اصلی مقایسه کنی؟
    یا نه .... منظورت نگهداری اطلاعات بعد از قطعی برق هست؟
    بیشتر توضیح بده.

    دیدگاه


      #3
      پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

      سلام
      بیبینید من یه پروژه باید برا درس آز میکرو بدم توی اون یه صفحه کلیده.
      ما 4 تا کاربر داریم که هر کدوم یک پسورد 4 کاراکتری دارن. حالا مشکل اینه که ا گر کلید * زده بشه یعنی یکی از کاربرا میخواد وارد شه و بعد از اون باید 4 تا کلمه گرفته شه و به کاربر در صورتی که کلمه عبورش با یکی از کلمه های عیور برابر بود خوش آمد بگیم مثلا پسورد ورودی با پسورد های موجود مثلا دومین پسورد برابر بود باید بگیم welcome user 2 . اگرم طرف اول # وارد کرد باید رمز باز بررسی بشه و طرف بتونه پسورد قبلیش رو عوض کنه.
      یه عالمه کار دیگه هم بعد از این بررسی رمز باید انجام شه و لی اونا رو میتونم بنویسم.
      مشکل من الان همون گرفتن و بررسی رمز هستش که هر کاری کردم و هر چی سعی کردم نتونستم بنویسم با اون همه وقتی که تو این شرایط برا این درس گذاشتم بیچاره دارم میشم این جوری فکر کنم پروژه ام رو هم نتونم به موقع برسونم :cry: بدبخت شدم رفت :cry:.
      خواهش کیکنم یکی کمکم کنه اگر رمز رو عوض هم نمیشه کرد یا سخته نمیخواد !! فقط بتونه کلمه عبورش رو عوض کنه.
      لطفا اگر میتونید تو همون تیکه بررسی رمز کمک کنید که مثلا اگر رمزی که وارد میشه درست بود یه پروسیجر رو صدا بزنه و خوش آمد بگه و اگر درست نبود یه پروسیجر دیگه رو صدا بزنه و بگه اشتباست.
      رمز ها 4 تا رمز 4 کاراکتریه که دادن پیش فرض اون دست خودمونه یعنی خودمون وارد میکنیم.
      در کل این توضیح اگر میتونید کمکم کنید ! اگرم توضیح بیشتری لازمه بگم. این یه تیکه رو بتونم بنویسم بقیه حله و گرنه که بقیه هم به همین تیکه بستگی داره :cry: :cry:
      راستی برنامه باید اسمبلی باشه هر چی به طرف التماس کردم با سی گفت نه اسمبلی اخر قدرته خوب سی هم اخر قدرته فقط کار منه بدبخت راحت تر میشد و اینجوری توش نمیموندم اخه من و چه به اسمبلی :cry:

      دیدگاه


        #4
        پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

        دوباره سلام
        برای راه اندازی صفحه کلید به این تاپیک برید و اون کدی که بصورت زیر برنامه گذاشتم استفاده کنید برای ورودی گرفتن از کیبرد. http://www.eca.ir/forum2/index.php/topic,8001.0.html
        برای مقایسه باید عدد هایی که گرفتین رو در رم ذخیره کنید و بعد با یک زیر برنامه اونها رو با رمز اصلی مقایسه کنید.

        مثلاً برای مقایسه اعداد ورودی با رمزاصلی از کدی مثل کد زیر استفاده کنید.
        در این کد فرض بر اینه که رمز اصلی در خانه های 30 تا 36 قرار گرفته. و رمزی که از کاربر گرفته شده در خانه های 40 تا 46 . (آدرس ها هگز هستند) در ضمن این کد مال یه قفل رمز هفت رقمی هستش.
        اگر رمز غلط بود از زیر برنامه خارج میشه. شما میتونید براش بوق اخطار در نظر بگیرید. اگر هم درست بود دستورات زیر خط R1,#47H,CHK_NXT ء CJNE اجرا میشه.

        ;********************************
        COMPARE MOV R0,#30H
        MOV R1,#40H
        CHK_NXT:MOV A,@R0
        MOV B,@R1
        CJNE A,B,WRONG
        INC R0
        INC R1
        CJNE R1,#47H,CHK_NXT
        IF PASSWORD IS ACCURATE
        WRONG SJMP
        WRONG: RET
        ;********************************

        برای این که کد رو بهتر ببینید اون رو به ناتپد ویندوز کپی کنید.

        دیدگاه


          #5
          پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

          سلام
          منونم چک میکنم اگر مشکل داشتم بازم میپرسم
          یه دنیا ممنونم. :redface:

          دیدگاه


            #6
            پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

            بازم سلام
            من این کار هایی که گفتید رو کردم و کدی رو نوشتم حالا 4 تا رمز ورودی رو میتونم بگیرم و رمز های قبلی رو هم البته فعلا یه رمز رو هم در ادرس 50H قرار دادم اما این دو تا رو هیچ وقت با هم برابر نمیگیره!!!
            نمیدونم شاید دارم جایی اشتباه میکنم اگه ممکنه این تیکه کار رو هم یه نگاه بندازید و اگر مشکل داره بگید کجاست ممنون میشم
            ORG 50H
            DB '1','1','1','1& #039;
            org 070h
            mov r0,#40h
            MOV A,#38H
            CALL JAVAD
            CALL DELAY
            MOV A,#0EH
            CALL JAVAD
            CALL DELAY
            MOV A,#80H
            CALL JAVAD
            CALL DELAY
            WAIT1:
            call GETKEY
            MOV P1,A
            CALL HOMAM
            CALL DELAY
            CJNE A,#'*',GO
            CALL PASS_GET
            GO:
            CJNE A,#'#',GO1
            CALL PASS_CHANGE
            GO1:
            SJMP WAIT1
            PASS_GET:
            MOV R2,#4H
            AG:
            call GETKEY
            MOV P1,A
            MOV @R0,A
            INC R0
            CALL HOMAM
            CALL DELAY
            DJNZ R2,AG
            CALL PASS_SHOW
            RET
            PASS_CHANGE:
            RET
            PASS_SHOW:
            MOV R0,#40H
            MOV R2,#4H
            MOV A,#1H
            CALL JAVAD
            CALL DELAY
            AG1:
            MOV A,@R0
            MOV P1,A
            INC R0
            CALL HOMAM
            CALL DELAY
            DJNZ R2,AG1
            CALL PASS_TRUE
            RET
            ;********************************
            PASS_TRUE:
            MOV A,#1H
            CALL JAVAD
            CALL DELAY
            MOV R0,#40H
            MOV R1,#50H
            CHK_NXT:
            MOV A,@R0
            MOV B,@R1
            CJNE A,B,WRONG
            INC R0
            INC R1
            CJNE R1,#54H,CHK_NXT
            CALL PASS
            WRONG:
            MOV A,#'H'
            CALL HOMAM
            CALL DELAY
            CALL BEEP
            PASS:
            MOV A,#'N'
            CALL HOMAM
            CALL DELAY
            ;********************************

            RET
            sjmp $
            JAVAD:
            CALL READY
            MOV P1,A
            CLR P2.5
            CLR P2.6
            SETB P2.7
            CLR P2.7
            RET
            HOMAM:
            CALL READY
            MOV P1,A
            SETB P2.5
            CLR P2.6
            SETB P2.7
            CLR P2.7
            RET
            READY:
            SETB P2.7
            CLR P2.5
            SETB P2.6
            DELAY:
            MOV R1,#10
            LOOP:
            MOV TH0,HIGH(-1000)
            SETB TR0
            JNB TF0,$
            CLR TR0
            CLR TF0
            DJNZ R1,LOOP
            RET
            GETKEY: MOV P3,#0FFH
            CLR P3.3
            CLR P3.4
            CLR P3.5
            CLR P3.6
            WAIT: JNB P3.0,HIT
            JNB P3.1,HIT
            JNB P3.2,HIT
            LJMP WAIT
            HIT: MOV P3,#0FFH
            CLR P3.3
            JNB P3.0,G1
            JNB P3.1,G2
            JNB P3.2,G3
            MOV P3,#0FFH
            CLR P3.4
            JNB P3.0,G4
            JNB P3.1,G5
            JNB P3.2,G6
            MOV P3,#0FFH
            CLR P3.5
            JNB P3.0,G7
            JNB P3.1,G8
            JNB P3.2,G9
            MOV P3,#0FFH
            CLR P3.6
            JNB P3.0,G10
            JNB P3.1,G0
            JNB P3.2,G11
            G1: MOV A,#'1'
            LJMP FIN
            G2: MOV A,#'2'
            LJMP FIN
            G3: MOV A,#'3'
            LJMP FIN
            G4: MOV A,#'4'
            LJMP FIN
            G5: MOV A,#'5'
            LJMP FIN
            G6: MOV A,#'6'
            LJMP FIN
            G7: MOV A,#'7'
            LJMP FIN
            G8: MOV A,#'8'
            LJMP FIN
            G9: MOV A,#'9'
            LJMP FIN
            G10: MOV A,#'*'
            LJMP FIN
            G0: MOV A,#'0'
            LJMP FIN
            G11: MOV A,#'#'
            FIN:
            RET
            BEEP:
            MOV A,#'H'
            CALL HOMAM
            CALL DELAY
            end

            دیدگاه


              #7
              پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

              سلام
              من کد شسته رفته خودمو بعد از 5 دقیقه میخونم هیچی نمیفهمم! اونوقت میخوای از این کد عجیب غریب سر در بیارم.(شوخی :biggrin: )

              ببینید .... یه مشکلی هست اونم اینکه بچه ها وقتی کدشونو واسه رفع اشکال میذارن اصلاً توضیح نمیدن که این کد قراره دقیقاً چیکار بکنه و ورودی و خروجیش چیه.
              و انتظار دارن بهشون کمک بشه. خوب طرفی که کد رو میخونه به قول بچه های سایت علم غیب که نداره که !
              شما کد کامل برنامه رو بذارید و اگه نمونه شبیه سازی شده برنامتون رو با پروتیوس دارید اینجا بذارید. یا حد اقل بگید اون زیر برنامه های javad و homam چیکار میکنن ؟
              احیاناً مال LCD که نیستن؟! اصلاً برای چی اطلا عات رو میفرستید بیرون؟ حد اقل شماتیک رو بذارید و یه کمی در کلیت مورد مدار توضیح بدید.

              یه چند تا نکته در باره کد شما:
              لازم نیست همه جا برای شمارش تعداد تکرار یک حلقه از یک بایت دیگه استفاده کنید. اگر دارید چیزی رو یک جا ذخیره میکنید و یا میخونید و شماره آخرین بایت رو میدونید، از همون عدد که با دستور INC زیادش کردید استفاده کنید.
              دستور SJMP $ که در بین یک عبارت RET و برچسب زیر برنامه javad استفاده کردین هرگز اجرا نخواهد شد.
              اون مقادیری که در ابتدای برنامه بیرون میفرستید چی هستند؟

              فعلا این تغییرات رو اعمال کنید و سوالها رو جواب بدید تا بعد.
              راستی گفتید برنامه رو اجرا کردم ولی جواب نداد. شما همین کد رو کامپایل کردید؟ این که پر از خطاست و مسلماً جواب نمیده.

              خواهش میکنم یکی کمکم کنه اگر رمز رو عوض هم نمیشه کرد یا سخته نمیخواد !! فقط بتونه کلمه عبورش رو عوض کنه.
              دوست عزیز رمز همون کلمه عبوره. فکر کنم منظورتون نام کاربری بوده باشه.درسته؟
              فعلاً

              دیدگاه


                #8
                پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                به خدا کمی خجالت داره گفتنه این،اما برای بار دوم این جا هم می نویسم :smile: :
                اکثر کامپایلر ها امکان تبدیل زبان خودشون به اسمبلی (دادن سورس اسمبلی در کنار HEX) رو دارن و اگرم ندارن برای تبدیل HEXآ‌به assembly برنامه هست ....
                اگه یارو گیر الکی داده که با اسمبلی بنویس،ما هم تغلب می کنیم ،C مینویسیم و تبدیل می کنیم :smile:

                دیدگاه


                  #9
                  پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                  نوشته اصلی توسط KhepeleSibilo
                  به خدا کمی خجالت داره گفتنه این،اما برای بار دوم این جا هم می نویسم :smile: :
                  اکثر کامپایلر ها امکان تبدیل زبان خودشون به اسمبلی (دادن سورس اسمبلی در کنار HEX) رو دارن و اگرم ندارن برای تبدیل HEXآ‌به assembly برنامه هست ....
                  اگه یارو گیر الکی داده که با اسمبلی بنویس،ما هم تغلب می کنیم ،C مینویسیم و تبدیل می کنیم :smile:
                  سلام KhepeleSibilo جان. خوبی؟
                  من با جو دانشگاه زیاد آشنا نیستم. یعنی اگه استاد بگه اسمبلی بنویسید و بعد شما با سی بنویسید و تبدیل کنید نمی فهمه؟
                  یا اصلاً ازتون توضیح نمیخواد که مثلاً این یه تیکه کد یعنی چی؟
                  اگه اینطوریه و استادا اینقدر الکی تکلیف میخوان خوب پس من هم به دوستمون پیشنهاد میکنم همین کار رو بکنن.
                  البته فکر میکنم به استادشم بستگی داره ها. ممکنه یه استاد از اون سه پیچ هاش باشه :biggrin:

                  دوست عزیز likable6 . اگه برنامه تبدیل هگز به اسمبلی هم خواستین میتونم آدرس بدم بهتون.
                  فعلاً

                  دیدگاه


                    #10
                    پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                    فهمیدن که اگه تابلو با اون LABEL های عددی ببره،حتما میفهمن،بعد از اسمبلی شدن،یک ذره باید روتووش بشه :mrgreen: دیگه اصل برنامه که معلوم شد،می تونن راحت کار رو بخونن؛جنبه آموزشی هم داره؛می بینن برنامه چطور این کارو کرده
                    فقط توضیح اینکه حواستوم باشه بعضی کامپایلر ها که خودشون اسمبلی میدن،کد بعضی قسمتها رو نمیدن،یعنی اونها توو .obj دارن و نمی خوان پخش بشه،برای همین سورس ناقص اینطوری هم ببرین تابلو میشه ها!!! اگه این کار رو می کنین لااقل حواستون باشه بعدا هیچ مسئولیتی نمی پذیرم ها!!

                    دیدگاه


                      #11
                      پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                      سلام
                      منون بچه ها
                      اما گیره الکی که گیر الکی ایشون این استدلال رو داشتن که اسمبلی (استادمون رو میگم) قویتر از سی هست و من بدبخت 3 ماه تلاش کردم بگم که هر چیز تو اسمبلی میخواید از دسترسی های بایتی و ثبات و بیتی بگیر به بالا تو سی هست و این دو تا زبون جفتشون مثله هم قدرتمندن تنها مزیت اسمبلی اینه که کمی پر سرعت تر از بقیه زبون هاست که اون سرعت اجرا هم بین سی و اسمبلی فرق زیادی نیمیکنه ولی خوب گیره الکی داده دیگه فقط میخواست قضیه سخت تر شه حالا من هی میگم استاد محترم من ترم اخرم هست 10 واحدم عملی بود که وقت زیادی ازم گرفته پروژه پایانیم در مورد امضای دیجیتال هست که خوب واقعا مبحث داغونی داره مخصوصا با اون الگوریتم های هش مسخره از این طرف باید 240 ساعت کارآموزیم رو برم و .... حالا از ما هی خواهش و التماس از اون گفتن نه نه نه :cry: :cry:

                      والا من دیروز میخواستم فایل رو اتچ کنم ولی انجمن این دسترسی رو به من یکی که نداده من امان ضمیمه فایل نداشتم برا همین فایل رو رو اف تی پی سایت خودم پلود کردم و اینجا میزارم.
                      http://www.2ir.ir/key1.zip
                      برنامه هم اجرا میشه و برا من خطایی نمیگیره. هم فایل شماتیک رو گذاشتم و هم فایل HEX و هم فایل اسمبلی.
                      زیر روال HOMAM کارش فرستادن دیتا به LCD هست یعنی هر وقت میخوام چیزی رو LCD رایت کنم HOMAM رو CALL میکنم و زیر روال JAVAD کارش فرستادن دستور به LCD هست هر وقت دستوری بخوام بفرستم به lCD اون رو صدا میزنم. من میخواستم دستورات رو چاپ کنم هم رمزی که کاربر میگیره و هم رمزی که ذخیره میشه تا مطمئن شم اطلاعات درست ذخیره میشه.
                      ولی وقتی کلمه عبور ورودی رو با کلمه عبور داخلی که از قبل ذخیره شده بررسی میکنه که یکی هستن یا نه همیشه میپره تو زیر روال WRONG و یه H رو LCD چاپ میکنه که من میفهمم همیشه کلمه عبورم با اونی که ذخیره کردم یکی نیست حالا چرا نمیدونم. در کل همین قسمت برنامه رو با اسمبلی مورد دارم واقعا هم این یه تیکه اذیت میکنه بقیش وقت گیره ولی سخت اینجوری نیست.
                      اگه میتونید بگید اشکال کارم کجاست تا رفعش کنم
                      KhepeleSibilo عزیز از شما هم منونم اگ نتونستم که حتما میگم و لینک رو ازت میگیرم شاید اونجوری فرجی بشه البته ازمون توضیح میخواد برا همین اول باید سعی کنم بنویسمش!!! اگر این 4 تا کلمه عبور قضیه اش درست شه بقیه رو میتونم برم و لی بدبختانه بقیه برنامه هم به همین بررسی رمز وابسته هستش و کار رو سخت کرده :cry:
                      به هر حال از تمام زحمت هایی که کشیدید بازم ممنونم


                      دیدگاه


                        #12
                        پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                        سلام
                        من این پست رو رو هاردم نوشتم و کپی کردم اینجا. الان دارم کد شما رو میخونم و هر چی به ذهنم میرسه میگم. پس اگه یکم ناپیوسته نوشتم بخشید.
                        1: تا اونجایی که من فهمیدم شما اول از کاربر یکی از کاراکتر های * یا # رو میگیرید و برای هر کدوم یه زیر برنامه نوشتید که یکیش رمز رو میگیره و اون یکی رمز رو عوض میکنه. (البته برنامه تغییر رمز رو هنوز کامل نکردید) . برای چارچوب اصلی، من پیشنهاد میکنم اول رمز را از کاربر بگیرید و بعد اگر * را زده بود وارد شود و اگر # را زده بود به زیر برنامه تغییر رمز برود.
                        2: دلیل این که همیشه رمز رو غلط میگیره اینه که شما اعداد رمز مورد نظرتون که "1111" باشه روی ROM ذخیره کردید نه RAM .
                        ببینید..... 8051 هم مثل تمام میکروکنترلر ها از یک رام استفاده میکنه که فقط یک بار در هنگام پروگرم کردن نوشته میشه و در موقع اجرا فقط میتونیم از روش بخونیم.
                        روی رام هم میتونیم کدهای اجرایی که همون برنامه باشن و هم مقادیر ثابتی رو که لازم داریم بنویسیم.
                        برای این کار (نوشتن مقادیر ثابت) ما از دستور DB استفاده میکنیم. پس شما 1111 رو روی آدرس 50 تا 53 از رام نوشتید. اما موقع خوندن شما با دستور MOV B,@R1 آدرسهای 50 تا 53 از رم رو بررسی میکنید که در این آدرسها عدد 00 رو تو خودشون دارند و اینطوری اشتباه میشه. ( به لغات رم و رام دقت کنید)
                        حالا شما دو تا کار میتونید بکنید. یکی این که در اول برنامتون و بعد از نوشتن ORG 00H این خطوط رو بنویسید و بعد بقیه برنامه رو : (رمز 1234 )
                        MOV 50H,#'1'
                        MOV 51H,#'2'
                        MOV 52H,#'3'
                        MOV 53H,#'4'
                        در واقع با این کار شما اعداد رمز رو درون رم (RAM) ریختید و بعداً میتونید بخونیدشون یا عوضشون کنید.
                        یه کار دیگه این که شما رمز ها رو همونجا تو رام بنیوسید و با دستور MOVC A,@A+DPTR اونها رو دونه دونه به رم بیارید. (DPTR باید حاوی آدرسی از رام باشه که میخواهید بخونیدش)
                        البته روش دوم عیبش اینه که شما فقط میتونید رمز رو بخونید و نمیتونید عوضش کنید.
                        در نتیجه در هر صورت باید از رم استفاده کنید. ولی از روش دوم میتونید حداقل برای ذخیره رمز های پیشفرض استفاده کنید.

                        حالا اگر همون کاری رو که در روش اول گفتم بکنید میبینید که عبارت NH روی LCD نمایش داده میشه.
                        این مشکل هم به این خاطره که شما بعد از تموم شدن دستوراتی که در صورت درستی رمز اجرا میشن خطی برای پرش به بیرون از زیر برنامه (RET) نگذاشتین.
                        در نتیجه هم دستورات درستی و هم دستورات غلطی اجرا میشه. این اشتباه یه جای دیگه هم هست.
                        شما تو اول برنامه بعد از خط CALL PASS_GET دوباره فراموش کردین پرش کنید به بعد از حالت دوم شرط . (البته فکر کنم این مورد رو چون کد کامل نبوده موقتاً لحاظ نکردید)

                        پس شما سعی کنید این مشکل ها رو رفع کنید تا بریم سر تغییر رمز .
                        فعلاً

                        دیدگاه


                          #13
                          پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

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

                          دیدگاه


                            #14
                            پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                            نوشته اصلی توسط likable6
                            اگر هم باز سوالی داشتم که فکر نمیکنم دیگه جای بحث برام گذاشته باشی میپرسم.
                            یا علی
                            بنده با کمال میل در خدمتم
                            یا علی

                            دیدگاه


                              #15
                              پاسخ : کمک برای ذخیره ورودی کیبورد در ثبات

                              سلام
                              از لطفت ممنونم. من نوشتم و فرستادم البته از اونجایی که گیر پروژه پایانی هم هستم تمام کارهایی که خواسته بود رو نکردم ولی همون بسشه.
                              فقط اگه ممکنه لینک اون برنامه تبدیل hex به اسمبلی رو هم اگه میشه بهم بدید ممکنه یه روزی بدردم بخوره یا به قول اون دوستمون خودش یه کلاس آموزشیه.
                              از لطفت ممنونم
                              یا علی

                              دیدگاه

                              لطفا صبر کنید...
                              X