Thông báo

Collapse
No announcement yet.

Help me!.."mạch thi game show" dùng VĐK 8051

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Help me!.."mạch thi game show" dùng VĐK 8051

    Em muốn làm 1 mạch thi game show đại khái là giống như trên truyền hình vậy.
    Ví dụ: có 3 người chơi. Thì mình làm 3 công tắc, khi nhấn 1 công tắc thì đèn công tắc đó sáng, đồng thời 3 công tắc kia bị vô hiệu hoá, mà còn phải có điểm số hiện lên con 2 led 7 đoạn. Nếu người A được 20đ thì hiển thị 20đ tương tư đối với người B và C
    Bài viết có ích, THANKS để ủng hộ nhé!

  • #2
    Mình cũng đang làm đề tài như bạn minh làm về chương trình olimpia bạn có tài liệu gì cho mình với nha

    Comment


    • #3
      Uh! nhưng minh cũng chưa có tài liệu gì? Khi nào có mình send cho bạn.
      Bài viết có ích, THANKS để ủng hộ nhé!

      Comment


      • #4
        Mình viết đoạn code như sau:
        ORG 00H
        MAIN:
        MOV P0,#00H
        MOV P1,#0FFH
        SCAN:
        JNB P1.0,SW1
        JNB P1.1,SW2
        JNB P1.2,SW3
        LJMP SCAN
        SW1:
        SETB P0.0
        JNB P0.1,THOAT
        JNB P0.2,THOAT
        LJMP SW1
        SW2:
        SETB P0.1
        JNB P0.0,THOAT
        JNB P0.2,THOAT
        LJMP SW2
        SW3:
        SETB P0.2
        JNB P0.0,THOAT
        JNB P0.1,THOAT
        LJMP SW3
        THOAT:
        CALL DELAY
        LJMP MAIN
        DELAY:
        PUSH 07H
        PUSH 06H
        PUSH 05H
        MOV R6,#255
        MOV R5,#25
        LOOP:
        MOV R7,#255
        DJNZ R7,$
        DJNZ R6,LOOP
        DJNZ R5,LOOP
        POP 05H
        POP 06H
        POP 07H
        RET
        END
        Cái đoạn code này chỉ làm đơn gian hơn đề tài đưa ra, chỉ ưu tiên và hiển thị bằng led thôi. Nhưng sau mình mô phỏng Proteus thì OK nhưng khi ráp mạch thật thì không chạy. Nhờ anh em cho y kiến dùm. Thank!
        Attached Files
        Bài viết có ích, THANKS để ủng hộ nhé!

        Comment


        • #5
          Bác đưa sơ đồ mạch thật lên! Chứ ráp mạch thât như trong file proteus thì không chạy rồi!
          ----------------------
          Bể học là mênh mông!

          Comment


          • #6
            Mạch ưu tiên 6 thí sinh

            Đây là chương trình viết bẳng C cho 89C51

            #include <REGX51.H>
            /*P2.0 --> P2.5: N1 --> N5*/
            /*P1.0 --> P1.5: TS1 --> TS5*/
            /*P1.6 --> CHUONG*/
            /*--------------------------------*/
            void delay (unsigned long i,unsigned long x)
            {for (;i;i--)
            {for (;x;x--)
            {
            TMOD = 0x01;
            TH0 = 0x3C;
            TL0 = 0xAF;
            TR0 = 1;
            while(!TF0)
            TF0 = 0;
            TR0 = 0;
            }}
            }
            /*---------------------------------*/
            void rset()
            {
            P2 = 255;P1 = 255;
            }
            /*---------------------------------*/
            void main ()
            {
            rset();
            while(1)
            {
            if ((P2_0 == 0) & (P1 == 255)) {P1_0 = 0;P1_6 = 0;while(!P2_0) P1_6=0;P1_6=1;delay(50000,100000);P1_0=1;}
            if ((P2_1 == 0) & (P1 == 255)) {P1_1 = 0;P1_6 = 0;while(!P2_1) P1_6=0;P1_6=1;delay(50000,100000);P1_1=1;}
            if ((P2_2 == 0) & (P1 == 255)) {P1_2 = 0;P1_6 = 0;while(!P2_2) P1_6=0;P1_6=1;delay(50000,100000);P1_2=1;}
            if ((P2_3 == 0) & (P1 == 255)) {P1_3 = 0;P1_6 = 0;while(!P2_3) P1_6=0;P1_6=1;delay(50000,100000);P1_3=1;}
            if ((P2_4 == 0) & (P1 == 255)) {P1_4 = 0;P1_6 = 0;while(!P2_4) P1_6=0;P1_6=1;delay(50000,100000);P1_4=1;}
            if ((P2_5 == 0) & (P1 == 255)) {P1_5 = 0;P1_6 = 0;while(!P2_5) P1_6=0;P1_6=1;delay(50000,100000);P1_5=1;}
            }
            }

            Còn đây là mạch sản phẩm
            Click image for larger version

Name:	6TS.jpg
Views:	1
Size:	146.4 KB
ID:	1337418
            Bạn chỉ cần chỉnh sửa lại một chút là được mạch ưu tiên 3 thí sinh thôi.
            Chúc sức khỏe!
            Last edited by Lee; 29-04-2009, 11:11.

            Comment


            • #7
              Đoạn code này hoàn thiên hơn!!
              ;------------------------------------------------------------
              ORG 0000h
              MAIN:
              MOV P2,#00H ;TAT TAT CA CAC LED
              MOV P1,#00H
              SCAN:
              MOV A,P1
              JNZ BAO ;NHAY DEN BAO NEU A KHAC O(CO CONG TAC AN)
              JMP SCAN
              BAO:
              ACALL DELAY_20MS ;CHONG DOI
              MOV A,P1
              JNZ KIEMTRA1 ;NHAY DEN KIEMTRA1 NEU A CON KHAC 0
              JMP SCAN

              ;-------------------------------------------------------------

              KIEMTRA1:
              CJNE A,#01H,KIEMTRA2 ;SO SANH VA NHAY KHI KHONG BANG
              SETB P2.1
              SETB P2.0
              CALL DELAY_2S
              KT1:
              CLR P2.1
              CLR P2.0
              JB P1.0,KT1
              SJMP MAIN
              KIEMTRA2:
              CJNE A,#02H,KIEMTRA3 ;SO SANH VA NHAY KHI KHONG BANG
              SETB P2.2
              SETB P2.0
              CALL DELAY_2S
              KT2:
              CLR P2.2
              CLR P2.0
              JB P1.1,KT2
              SJMP MAIN
              KIEMTRA3:
              CJNE A,#04H,KIEMTRA4 ;SO SANH VA NHAY KHI KHONG BANG
              SETB P2.3
              SETB P2.0
              CALL DELAY_2S
              KT3:
              CLR P2.3
              CLR P2.0
              JB P1.2,KT3
              SJMP MAIN
              KIEMTRA4:
              CJNE A,#08H,THOAT ;SO SANH VA NHAY KHI KHONG BANG
              SETB P2.4
              SETB P2.0
              CALL DELAY_2S
              KT4:
              CLR P2.4
              CLR P2.0
              JB P1.3,KT4
              SJMP MAIN
              THOAT:
              SJMP MAIN

              ;---------------------------------------------------------
              ;CHUONG TRINH CON DELAY
              ;---------------------------------------------------------
              DELAY_2S:
              MOV R2,#10
              DELAY1:
              MOV R3,#200
              DELAY2:
              MOV R4,#250
              DELAY3:
              NOP ;1T
              NOP ;1T
              DJNZ R4,DELAY3 ;2T giam R5 khac 0 nhay den delay
              DJNZ R3,DELAY2
              DJNZ R2,DELAY1
              RET
              ;250*200*10*4
              ;----------------------------------------------------------
              DELAY_20MS:
              MOV R5,#20
              DELAY_1:
              MOV R6,#250
              DELAY_2:
              NOP ;1T
              NOP ;1T
              DJNZ R6,DELAY_2 ;2T giam R5 khac 0 nhay den delay
              DJNZ R5,DELAY_1
              RET
              END
              ;20*250*4
              Attached Files
              Bài viết có ích, THANKS để ủng hộ nhé!

              Comment

              Về tác giả

              Collapse

              nam-it Tìm hiểu thêm về nam-it

              Bài viết mới nhất

              Collapse

              Đang tải...
              X