Thông báo

Collapse
No announcement yet.

mạch điện tử dùng trong các game shown

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

  • mạch điện tử dùng trong các game shown

    Em đang làm cái mạch trò chơi "who the fist" sử dụng con ic at89c51 với yêu cầu sau:
    +sử dụng cảng P0 de nhận 8 nút nhấn,nút nào nhấn nhanh nhất thì:
    + tên đội đó sáng (vd:đội a,đội b,...) và chuông kêu(với mọi đội nhấn nhanh nhất)
    + dùng led 7 đoạn hiện thị số thứ tự đội nhấn nhanh nhất(vd:đội a stt là 1,đội b stt là 2,...)
    Các anh các chị các bác và mọi người giúp em với,em đang cần gấp
    Có code share lên thì càng tốt
    Cuối cùng em xin cảm ơn các anh các chị các bác và mọi người

  • #2
    Bạn tham khảo thử code này xem !

    Nguyên văn bởi greenland63 Xem bài viết
    Em đang làm cái mạch trò chơi "who the fist" sử dụng con ic at89c51 với yêu cầu sau:
    +sử dụng cảng P0 de nhận 8 nút nhấn,nút nào nhấn nhanh nhất thì:
    + tên đội đó sáng (vd:đội a,đội b,...) và chuông kêu(với mọi đội nhấn nhanh nhất)
    + dùng led 7 đoạn hiện thị số thứ tự đội nhấn nhanh nhất(vd:đội a stt là 1,đội b stt là 2,...)
    Các anh các chị các bác và mọi người giúp em với,em đang cần gấp
    Có code share lên thì càng tốt
    Cuối cùng em xin cảm ơn các anh các chị các bác và mọi người
    Chương trình này mình viết theo những gì bạn mô tả bằng code ASM.
    Code:
    ; 8 Nut an duoc noi voi Port 0, nhu sau: Doi 1, 2, 3, 4, 5, 6, 7, 8 <=> P0.0, P0.1, P0.2, ..., P0.7
    ; 
    ; 1 Led 7 doan dung loai Anot chung duoc noi voi Port 2 theo tu: A -> G <=> P2.0 -> P2.6
    ;	A	bit p2.0
    ;	B	bit p2.1
    ;	C	bit p2.2
    ;	D	bit p2.3
    ;	E	bit p2.4
    ;	F	bit p2.5
    ;	G	bit p2.6
    ;	CHUONG	bit p2.7 CHUONG keu khi P2.7 o muc 1
    ;
    ;===============================
    	org 0h	
    	mov p0, #0ffh			;Thiet lap P0 lam dau vao cho phim an
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va tat CHUONG
    start:
    	cjne p0, #11111110b, next1
    	call delay_100ms		;Chong rung phim
    	jnb p0.0, $			;Cho nha phim
    	mov p2, #111111001		;Hien so 1 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next1:	cjne p0, #11111101b, next2
    	call delay_100ms		;Chong rung phim
    	jnb p0.1, $			;Cho nha phim
    	mov p2, #10100100b		;Hien so 2 va chuong keu
    	call 				;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next2:	cjne p0, #11111011b, next3
    	call delay_100ms		;Chong rung phim
    	jnb p0.2, $			;Cho nha phim
    	mov p2, #10110000b		;Hien so 3 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next3:	cjne p0, #11110111b, next4
    	call delay_100ms		;Chong rung phim
    	jnb p0.3, $			;Cho nha phim
    	mov p2, 			;Hien so 4 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next4:	cjne p0, #11101111b, next5
    	call delay_100ms		;Chong rung phim
    	jnb p0.4, $			;Cho nha phim
    	mov p2, 			;Hien so 5 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next5:	cjne p0, #11011111b, next6
    	call delay_100ms		;Chong rung phim
    	jnb p0.5, $			;Cho nha phim
    	mov p2, #10000010b		;Hien so 6 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next6:	cjne p0, #10111111b, next7
    	call delay_100ms		;Chong rung phim
    	jnb p0.6, $			;Cho nha phim
    	mov p2, 			;Hien so 7 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, 			;Hien so 0 tren led 7 doan va ta CHUONG
    ;-------
    next7:	cjne p0, #01111111b, start
    	call delay_100ms		;Chong rung phim
    	jnb p0.7, $			;Cho nha phim
    	mov p2, #10000000b		;Hien so 8 va chuong keu
    	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
    	mov p2, #01000000b		;Hien so 0 tren led 7 doan va ta CHUONG
    	sjmp start
    ;===============================
    delay_100ms:
    	push 5
    	push 6
    	push 7
    	mov r5, #100
    	mov r6, #2,
    	mov r7, #248
    	djnz r7, $
    	djnz r6, $-4
    	djnz r5, $-8
    	pop 7
    	pop 6
    	pop 5
    ret
    ;-------
    delay_10s:
    	push 4
    	push 5
    	push 6
    	push 7
    	mov r4, #50
    	mov r5, #100
    	mov r6, #20,
    	mov r7, #248
    	djnz r7, $
    	djnz r6, $-4
    	djnz r5, $-8
    	djnz r4, $-12
    	pop 7
    	pop 6
    	pop 5
    	pop 4
    ret
    ;================================
    	end
    Mình chưa biên dịch và kiểm tra chương trình trên nên không biết có lỗi hay không, nhưng mình biết là nó vẫn còn chưa chặt chẽ vì đề bài bạn yêu cầu cũng chưa chặt chẽ và mình cũng không biết phần cứng của bạn ghép nối thế nào nên chỉ viết tạm như vậy để bạn tham khảo thôi !
    Hy vọng nó giúp được bạn!

    Comment


    • #3
      Click image for larger version

Name:	89c51.jpg
Views:	1
Size:	81.5 KB
ID:	1361821
      em lắp theo sơ đồ này nha !!!
      thanks Ck33spkt nha ^^,

      Comment


      • #4
        Bạn thử lại code này xem có dùng được không!

        Nguyên văn bởi greenland63 Xem bài viết
        [ATTACH=CONFIG]45178[/ATTACH]
        em lắp theo sơ đồ này nha !!!
        thanks Ck33spkt nha ^^,
        Mình đã sửa lại code theo sơ đồ của bạn. Dưới đây là code và file mô phỏng, bạn tải về xem có dùng được không nhé!
        Code:
        ; 8 Nut an duoc noi voi Port 0, nhu sau: Doi 1, 2, 3, 4, 5, 6, 7, 8 <=> p1.0, p1.1, p1.2, ..., p1.7
        ; 8 den bao nut an tuong ung duoc noi voi P3 theo thu tu: Den 1 -> 8 <=> p3.0 -> p3.7
        ; 1 Led 7 doan dung loai Anot chung duoc noi voi Port 2 theo tu: A -> G <=> p0.0 -> p0.6
        ;	A	bit p0.0
        ;	B	bit p0.1
        ;	C	bit p0.2
        ;	D	bit p0.3
        ;	E	bit p0.4
        ;	F	bit p0.5
        ;	G	bit p0.6
        ;	CHUONG	bit p2.0 CHUONG keu khi p2.0 o muc 1
        ;
        ;===============================
        	org 0h	
        	mov p1, #0ffh			;Thiet lap p1 lam dau vao cho phim an
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	mov p3, #0h
        	mov p2, #0h
        start:
        	mov a, p1
        	cjne a, #11111110b, next1
        	acall delay_100ms		;Chong rung phim
        	jnb p1.0, $			;Cho nha phim
        	setb p3.0
        	mov p0, #11111001b		;Hien so 1
        	setb p2.0			;Bat chuong
        	acall delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.0
        	clr p2.0			;Tat chuong
        ;-------
        next1:	cjne a, #11111101b, next2
        	acall delay_100ms		;Chong rung phim
        	jnb p1.1, $			;Cho nha phim
        	setb p3.1
        	mov p0, #10100100b		;Hien so 2
        	setb p2.0			;Bat chuong
        	acall delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.1
        	clr p2.0			;Tat chuong
        ;-------
        next2:	cjne a, #11111011b, next3
        	call delay_100ms		;Chong rung phim
        	jnb p1.2, $			;Cho nha phim
        	setb p3.2
        	mov p0, #10110000b		;Hien so 3
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.2
        	clr p2.0			;Tat chuong
        ;-------
        next3:	cjne a, #11110111b, next4
        	call delay_100ms		;Chong rung phim
        	jnb p1.3, $			;Cho nha phim
        	setb p3.3
        	mov p0, #10011001b		;Hien so 4
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.3
        	clr p2.0			;Tat chuong
        ;-------
        next4:	cjne a, #11101111b, next5
        	call delay_100ms		;Chong rung phim
        	jnb p1.4, $			;Cho nha phim
        	setb p3.4
        	mov p0, #10010010b		;Hien so 5
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.4
        	clr p2.0			;Tat chuong
        ;-------
        next5:	cjne a, #11011111b, next6
        	call delay_100ms		;Chong rung phim
        	jnb p1.5, $			;Cho nha phim
        	setb p3.5
        	mov p0, #10000010b		;Hien so 6
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.5
        	clr p2.0			;Tat chuong
        ;-------
        next6:	cjne a, #10111111b, next7
        	call delay_100ms		;Chong rung phim
        	jnb p1.6, $			;Cho nha phim
        	setb p3.6
        	mov p0, #11111000b		;Hien so 7
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.6
        	clr p2.0			;Tat chuong
        ;-------
        next7:	cjne a, #01111111b, ve_start
        	call delay_100ms		;Chong rung phim
        	jnb p1.7, $			;Cho nha phim
        	setb p3.7
        	mov p0, #10000000b		;Hien so 8
        	setb p2.0			;Bat chuong
        	call delay_10s			;Cho chuong keu va Led hien thi trong 10s
        	mov p0, #01000000b		;Hien so 0 tren led 7 doan
        	clr p3.7
        	clr p2.0			;Tat chuong
        ve_start:	ljmp start
        ;===============================
        delay_100ms:
        	push 5
        	push 6
        	push 7
        	mov r5, #100
        	mov r6, #2
        	mov r7, #248
        	djnz r7, $
        	djnz r6, $-4
        	djnz r5, $-8
        	pop 7
        	pop 6
        	pop 5
        ret
        ;-------
        delay_10s:
        ; START: Wait loop, time: 10 s
        ; Clock: 12000.0 kHz (12 / MC)
        ; Used registers: R0, R1, R2, R3
        	MOV	R3, #004h
        	MOV	R2, #0E8h
        	MOV	R1, #017h
        	MOV	R0, #0E8h
        	NOP
        	DJNZ	R0, $
        	DJNZ	R1, $-5
        	DJNZ	R2, $-9
        	DJNZ	R3, $-13
        	MOV	R1, #012h
        	MOV	R0, #0E2h
        	NOP
        	DJNZ	R0, $
        	DJNZ	R1, $-5
        	NOP
        	NOP
        ; Rest: 0
        ; END: Wait loop
        ret
        ;================================
        	end
        Attached Files
        Last edited by Ck33spkt; 20-05-2012, 02:33.

        Comment


        • #5
          em đã tải về và đang làm thử
          em cảm ơn Ck33spkt nhiều nha ^^,

          Comment

          Về tác giả

          Collapse

          greenland63 Tìm hiểu thêm về greenland63

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

          Collapse

          Đang tải...
          X