اطلاعیه

Collapse
No announcement yet.

درخواست جواب برای پروژه 8051(با تمام وجود از شما می خواهیم جواب دهید) و (توضیح)

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

    درخواست جواب برای پروژه 8051(با تمام وجود از شما می خواهیم جواب دهید) و (توضیح)

    مداری طراحی کنید که دو تا از آخرین کلید فشرده شده بر روی صفحه کلید به صورت یک بایت در حافظه ی رم داخلی (مثل خانه ی 30h)ذخیره شده و با زدن کلید # ارزش این دو کلید بر روی دو سون سگمنت نشان داده شود.
    یعنی دو کلید فشرده شده قبل از کلید # مثلا اگر 2سپس3و بعد 4 فشرده شود و بعد # عدد 3و4 نشان داده شود.

    #2
    پاسخ : درخواست جواب برای پروژه 8051(با تمام وجود از شما می خواهیم جواب دهید) و (

    سلام.
    دوست عزیز سوال مشابهی در:

    http://www.eca.ir/forum2/index.php?topic=17084.0

    هست،
    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

    دیدگاه


      #3
      پاسخ : درخواست جواب برای پروژه 8051(با تمام وجود از شما می خواهیم جواب دهید) و (توضیح)

      KEY_PORT EQU P2
      OUT_PORT EQU P1
      BUZZER BIT P3.7


      MAIN:
      MOV 30H,#00
      LOOP_MAIN:
      CALL INDEX
      CJNE A,#STAR,NO_START
      JMP LOOP_MAIN
      NO_STAR:
      CJNE A,#SQ,NO_SQ
      MOV OUT_ORT,30H
      SJMP $

      NO_SQ:
      MOV R6,A
      MOV A,30H
      SWAP A
      ANL A,#0F0H
      ORL A,R6
      MOV 30H,A
      JMP LOOP_MAIN

      ;--------------------------
      ; *** INDEX *** ---
      ;--------------------------
      START EQU 10
      SQ EQU 11
      INDEX:
      CALL INDEX1
      CALL BEEP
      MOV DPTR,#DATA_KEY
      MOVC A,@A+DPTR
      RET
      DATA_KEY:
      DB 1,2,3,4,5,6,7,8,9,STAR,0,SQ
      ;--------------------------
      ; *** INDEX1 *** ---
      ;--------------------------

      INDEX1:
      MOV R3,#50
      LOOP1_INDEX1:
      CALL KEY
      JNC INDEX1
      DJNZ R3,LOOP1_INDEX1

      PUSH ACC

      LOOP2_INDEX1:
      MOV R3,#50
      LOOP3_INDEX1:
      CALL KEY
      JC LOOP2_INDEX1
      DJNZ R3,LOOP3_INDEX1

      POP ACC

      RET

      ;--------------------------
      ; *** KEY *** ---
      ;--------------------------

      KEY:
      MOV A,#0FEH
      MOV R6,#3
      LOOP_TEST:
      MOV KEY_PORT,A
      MOV R7,A
      MOV A,KEY_PORT
      ANL A,#0F0H
      CJNE A,#0F0H,PRESS
      MOV A,R7
      RL A
      DJNZ R6,LOOP_TEST
      CLR C
      RET
      PRESS:
      MOV R7,A
      MOV A,#3
      CLR C
      SUBB A,R6
      MOV R6,A
      MOV A,R7
      SWAP A
      MOV R5,#4
      AGAIN:
      RRC A
      JNC DONE
      INC R6
      INC R6
      INC R6
      DJNZ R5,AGAIN
      DONE:
      SETB C
      MOV A,R6

      RET
      ;--------------------------
      ; *** BEEP *** ---
      ;--------------------------

      BEEP:
      CLR BUZZER
      CALL DELAY_100msec
      SETB BUZZER

      RET
      ;--------------------------
      ; *** DELAY 100msec *
      ;--------------------------

      DELAY_100msec:
      PUSH 06
      PUSH 05

      MOV R6,#200
      LOOP_DELAY_100msec:
      MOV R5,#250
      DJNZ R5,$
      DJNZ R6,LOOP_DELAY_100msec

      POP 05
      POP 06

      RET

      دیدگاه

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