Thông báo

Collapse
No announcement yet.

cần giúp quét led 7 đoạn

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

  • cần giúp quét led 7 đoạn

    Em mới học xong lý thuyết vi điều khiển 8051, hiện đang học thực hành nhưng thấy ngở ngàng quá. Thầy yêu cầu làm bài báo cáo thực hành về giao tiếp vdk với 6 led 7 đoạn bằng phương pháp quét hiển thị đếm 00 đến 99, sửa dụng nút nhấn đếm 00 đến 99 và đếm ngược lại. Chương trình đếm giây, chương trình đếm phút giấy.Toàn bộ chương trình được viết bằng hợp ngử. Bro nào biết về vấn đề này có thể giúp e với được không. Em Thank trước nhá
    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

  • #2
    bạn tự thiết kế phần cứng đi (bằng proteus để tiện mô phỏng). Mình thấy trong lúc học ko lẽ thầy ko chỉ viết quét led 7 đoạn. Phải tự làm rồi có gì sai thì hỏi

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      bạn tự thiết kế phần cứng đi (bằng proteus để tiện mô phỏng). Mình thấy trong lúc học ko lẽ thầy ko chỉ viết quét led 7 đoạn. Phải tự làm rồi có gì sai thì hỏi
      bây giờ mạch đếm lên đếm xuống thì em viết được rồi. nhưng còn cái mạch này em có thắc mắc mãi mà không hiểu. Trong đường link dưới em có viết đoạn code bằng hợp ngử với phần cứng luôn. Mạch đếm lên 00 đến 99 và đếm xuống 99 đến 00 có sửa dụng nút nhấn. ý của em là lập trình sao cho mạch đang đếm lên ta bấm nút nhấn thì mạch bắt đầu đếm xuống va ngược lại nhưng em làm mãi mà chỉ có nhấn nút là đếm lên hoặc đếm xuống thôi. Bro nào biết chỉ dùm hoắc sửa dùm cho em học hỏi với. Thank nhiều
      link
      QUET 2 LED 7 DOAN DEM CO NUT NHAN.rar
      QUET 2 LED 7 DOAN DEM CO NUT NHAN.zip
      ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

      Comment


      • #4
        mà trong chương trình trên hình như em thấy delay không ổn thì phải. Phương pháp quét theo em biết thì thời gian delay sao cho phải lớn hơn thời gian lưu ảnh của mắt là 24 lần/1s nhưng em làm kung không dk. Bro nào biết chỉ dùm cho em với. Thank nhiều
        ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

        Comment


        • #5
          bạn viết CT như thế thì ko chạy là phải rồi. CT của bạn kiểm tra nút là nghiệm vụ chính vì thế quét led sẽ ko thể thấy đc led sáng. Bạn phải cho quét led là nv chính, quét xong thì kiểm tra nút nhấn rồi lại quay về quét tiếp.

          Comment


          • #6
            Nguyên văn bởi chung1608 Xem bài viết
            bạn viết CT như thế thì ko chạy là phải rồi. CT của bạn kiểm tra nút là nghiệm vụ chính vì thế quét led sẽ ko thể thấy đc led sáng. Bạn phải cho quét led là nv chính, quét xong thì kiểm tra nút nhấn rồi lại quay về quét tiếp.
            bác có thể giải thít rỏ hơn được không
            ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

            Comment


            • #7
              Nguyên văn bởi chung1608 Xem bài viết
              bạn viết CT như thế thì ko chạy là phải rồi. CT của bạn kiểm tra nút là nghiệm vụ chính vì thế quét led sẽ ko thể thấy đc led sáng. Bạn phải cho quét led là nv chính, quét xong thì kiểm tra nút nhấn rồi lại quay về quét tiếp.
              mà chương trình của em chạy tốt mà. Khi mô phỏng nhấn play rồi ấn nút nhấn button ở port p1.0 đếm lên và p1.1 đếm xuống nó mới bắt đầu đếm chứ. Ý của em muốn hỏi là làm sao khi đang đếm lên ta ấn nút nhấn button p1.1 nó chuyển sang đếm xuống và khi đang đếm xuống ta nhấn nut button port p1.0 thì nó lại đếm lên cơ.
              Last edited by thuongdtqb; 07-12-2011, 12:38.
              ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

              Comment


              • #8
                Bây giờ em làm theo ý như em nói ở trên được rồi bác ạ. Nhưng khi đang đếm lên da ấn nút nhấn đếm xuống thì nó bắt đầu đếm từ 99 trở về. Khi đang đếm xuống ta ấn nút nhấn thì nó trở về đếm từ 0 đếm lên. Nếu như cùng phần cứng đó mà em muốn đang đấm lên (ví dụ như đang đếm lên ngang số 34) ta ấn nút nhấn cho đếm xuống thì nó đếm ngang số 34 đó về 33,32,31.....0 thì phải làm như thế nào.
                ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                Comment


                • #9
                  viết thêm cho bạn 2 dòng
                  Code:
                  	ORG	00H
                  BD:	JNB	P1.0,DEMLEN
                  	JNB	P1.1,DEMXUONG
                  	JMP	BD
                  DEMLEN:
                  	MOV	R1,#0
                  	MOV	DPTR,#MALED7SEG
                  LOOP:	JNB	P1.1,LOOP1
                  	CALL	GIAIMA
                  	CALL	HIENTHI
                  	INC	R1
                  	CJNE	R1,#100,LOOP
                  	SJMP	DEMLEN
                  DEMXUONG:
                  	MOV	R1,#100
                  	MOV	DPTR,#MALED7SEG
                  LOOP1:	JNB	P1.0,LOOP
                  	CALL	GIAIMA
                  	CALL	HIENTHI
                  	DEC	R1
                  	CJNE	R1,#0,LOOP1
                  	SJMP	DEMXUONG
                  GIAIMA:
                  	MOV	A,R1
                  	MOV	B,#10
                  	DIV	AB
                  	MOVC	A,@A+DPTR
                  	MOV	41H,A
                  	MOV	A,B
                  	MOVC	A,@A+DPTR
                  	MOV	42H,A
                  	RET
                  HIENTHI:
                  	MOV	P0,42H
                  	SETB	P3.0
                  	CALL	DELAY
                  	CLR	P3.0
                  	MOV	P0,41H
                  	SETB	P3.1
                  	CALL	DELAY
                  	CLR	P3.1
                  	RET
                  DELAY:
                  	MOV	R5,#10
                  	MOV	R6,#250
                  LAP:	MOV	R6,#200
                  	DJNZ	R6,$
                  	DJNZ	R7,LAP
                  	RET
                  MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
                  	END

                  Comment


                  • #10
                    Nguyên văn bởi chung1608 Xem bài viết
                    viết thêm cho bạn 2 dòng
                    Code:
                    	ORG	00H
                    BD:	JNB	P1.0,DEMLEN
                    	JNB	P1.1,DEMXUONG
                    	JMP	BD
                    DEMLEN:
                    	MOV	R1,#0
                    	MOV	DPTR,#MALED7SEG
                    LOOP:	JNB	P1.1,LOOP1
                    	CALL	GIAIMA
                    	CALL	HIENTHI
                    	INC	R1
                    	CJNE	R1,#100,LOOP
                    	SJMP	DEMLEN
                    DEMXUONG:
                    	MOV	R1,#100
                    	MOV	DPTR,#MALED7SEG
                    LOOP1:	JNB	P1.0,LOOP
                    	CALL	GIAIMA
                    	CALL	HIENTHI
                    	DEC	R1
                    	CJNE	R1,#0,LOOP1
                    	SJMP	DEMXUONG
                    GIAIMA:
                    	MOV	A,R1
                    	MOV	B,#10
                    	DIV	AB
                    	MOVC	A,@A+DPTR
                    	MOV	41H,A
                    	MOV	A,B
                    	MOVC	A,@A+DPTR
                    	MOV	42H,A
                    	RET
                    HIENTHI:
                    	MOV	P0,42H
                    	SETB	P3.0
                    	CALL	DELAY
                    	CLR	P3.0
                    	MOV	P0,41H
                    	SETB	P3.1
                    	CALL	DELAY
                    	CLR	P3.1
                    	RET
                    DELAY:
                    	MOV	R5,#10
                    	MOV	R6,#250
                    LAP:	MOV	R6,#200
                    	DJNZ	R6,$
                    	DJNZ	R7,LAP
                    	RET
                    MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
                    	END
                    Hay lắm thế mà em không nghỉ ra.Thank bác nhiều nha
                    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X