User Tag List

Trang 1/6 123 ... cuốicuối
kết quả từ 1 tới 10 trên 51
Cây cảm ơn2Cảm ơn

Ðề tài: Xin các bác giúp e tìm lỗi led 7seg này với !

  
  1. #1
    Thành viên mới chutinh's Avatar
    Tham gia
    Sep 2009
    Bài viết
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Xin các bác giúp e tìm lỗi led 7seg này với !

    em có 2 nút bấm SW1 và SW2 điều khiển 2led 7thanh chung anode. Ấn SW1 hoặc SW2 tăng hoặc giảm đi 1 đơn vị.đếm từ 00-99, tăng lên 99 thì về 00 hoặc giảm về 00 thì lên 99 và lại lặp lại quá trình. Nhưng e ko hiểu sao khi chạy mô phỏng xuất hiện mấy lỗi sau:
    - đặt vị trí ban đầu là 00 mà cứ hiện 80
    - khi ấn tăng hoặc giảm 1 lần mà nó nhảy nhanh tới mấy số (VD đang ở 80 e ấn SW1 tăng nó nhảy nhanh tới tận 84)
    hjc.các bác giúp e với.
    mã lệnh và sơ đồ mô phỏng đây ạ

    MOV R0,#0
    SJMP HIENTHI
    MAIN:
    JNB P3.0,SW1
    JNB P3.1,SW2
    SJMP MAIN
    SW1:
    INC R0
    MOV A,R0
    CJNE A,#100,HIENTHI
    MOV R0,#0
    SJMP HIENTHI
    ;////////////////////
    SW2:
    DEC R0
    MOV A,R0
    CJNE A,#255,HIENTHI
    MOV R0,#99
    SJMP HIENTHI
    ;///////////////
    HIENTHI:
    ;///////////////HIEN THI HANG CHUC//////////////
    MOV A,R0
    MOV B,#10
    DIV AB
    MOV DPTR,#MALED
    MOC A,@A+DPTR
    MOV P2,A
    CLR P1.0
    SETB P1.0
    ;///////////HIEN THI HANG DON VI//////////////
    MOV A,B
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P2,A
    CLR P1.1
    SETB P1.1
    CALL DELAY
    SJMP MAIN
    ;//////////////
    MALED:
    DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
    ;//////////////////
    DELAY:
    PUSH 07
    PUSH 06
    MOV r6,#100
    DELAY1:
    MOV r7,#255
    DJNZ r7,$
    DJNZ r6,delay1
    POP 06
    POP 07
    RET
    END

    Untitled.jpg

    Untitled2.jpg

    CHỦ ĐỀ TƯƠNG TỰ:


  2. #2
    Thành viên chính thức lep140389's Avatar
    Tham gia
    Jun 2010
    Bài viết
    62
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    mình có sửa chút ít bạn coi lại xem sao, máy mình mới cài win chưa cài proteus.
    Code:
    org 00h
    MOV R0,#0
    JMP HIENTHI
    MAIN:
    JNB P3.0,SW1
    JNB P3.1,SW2
    SJMP MAIN
    SW1:
    jnb P3.0,$	;them doan nay thi so ko nhay lung tung nua
    
    INC R0
    MOV A,R0
    CJNE A,#100,HIENTHI
    MOV R0,#0
    JMP HIENTHI
    ;////////////////////
    SW2:
    jnb P3.1,$
    
    DEC R0
    MOV A,R0
    CJNE A,#255,HIENTHI
    MOV R0,#99
    JMP HIENTHI
    ;///////////////
    HIENTHI:
    ;///////////////HIEN THI HANG CHUC//////////////
    MOV A,R0
    MOV B,#10
    DIV AB
    MOV DPTR,#MALED
    MOvC A,@A+DPTR	; movc A,@A+DPTR
    MOV P2,A
    CLR P1.0
    SETB P1.0
    ;///////////HIEN THI HANG DON VI//////////////
    MOV A,B
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P2,A
    CLR P1.1
    SETB P1.1
    ;CALL DELAY 	; ko can delay tai dem so bang nut nhan
    JMP MAIN
    ;//////////////
    MALED:
    DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
    ;//////////////////
    DELAY:
    PUSH 07
    PUSH 06
    MOV r6,#100
    DELAY1:
    MOV r7,#255
    DJNZ r7,$
    DJNZ r6,delay1
    POP 06
    POP 07
    RET
    END


    PCCC

  3. #3
    Thành viên tích cực vietlamdt's Avatar
    Tham gia
    Dec 2010
    Bài viết
    516
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    về phần cứng thì mạch của bạn k cần phải phải phức tạp như vậy.
    với 2 led bạn chỉ cần nối như hình sau
    dem xuoi nguoc.jpg
    về code: bạn cần thêm phần chống dội cho nút bấm vào như bạn "lep140389" đã sửa cho bạn. tuy nhiên phần code hiển thị của bạn vẫn sai. đầu tiên bạn phải tách riêng biệt phần chục và phần đơn vị ra trước, lưu 2 giá trị đó vào 2 ô nhớ, rồi sau đó mới giải mã dữ liệu trong 2 ô nhớ đó.
    bạn tham khảo code của mình
    Code:
    org 0
    	mov dptr,#bang_ma
    	mov r0,#0
    main:
    	call hien_thi
    	jb p3.0,kt1
    	call delay
    	jnb p3.0,$				;chong rung phim
    	inc r0
    	cjne r0,#100,main
    	mov r0,#0 
    	jmp main
    kt1:
    	jb p3.1,main
    	call delay
    	jnb p3.1,$				;chong rung phim
    	dec r0
    	cjne r0,#255,main
    	mov r0,#99 
    	jmp main
    ;=================
    hien_thi:
    	mov a,r0						
    	mov b,#10
    	div ab
    	movc a,@a+dptr			;lay ma led chuc 
    	mov 30h,a				;cat ma led chuc 
    	mov a,b
    	movc a,@a+dptr			;lay ma led don vi 
    	mov 31h,a				;cat ma led don vi 
    	;-----------------------
    	mov p2,31h				;chuyen ma led don vi
    	mov p1,#11111110b		;cho led don vi sang
    	call delay1				;chong lem
    	mov p1,#0ffh
    	;-------------------
    	mov p2,30h				;chuyen ma led chuc 
    	mov p1,#11111101b		;cho led chuc  sang
    	call delay1				;chong lem
    	mov p1,#0ffh
    	ret
    ;================
    delay1:
    	mov r1,#50
    	djnz r1,$
    	ret
    ;================
    delay:
    	mov r6,#40
    lap4:	
    	mov r7,#250
    	djnz r7,$
    	djnz r6,lap4
    	ret
    ;================
    bang_ma:
    	db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
    end
    file mô phỏng + code
    dem xuoi nguoc dung nut bam.rar


  4. #4
    Thành viên mới chutinh's Avatar
    Tham gia
    Sep 2009
    Bài viết
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    mình đã thử mạch của bạn vietlamdt chạy tốt. Nhưng mình đã tách hàng chục và hàng đơn vị ra cho vào 2 ô nhớ nhưng vẫn ko đc bạn ạ. Bạn viết lại code mạch của mình cho mình xem với.


  5. #5
    Thành viên mới chutinh's Avatar
    Tham gia
    Sep 2009
    Bài viết
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thanks bạn lep140389 nhiều nhé nhưng mà chỉ được mỗi phần chống dội phím thôi, còn lại bệnh vẫn thế.hjc. mong bạn chỉ giáo


  6. #6
    Thành viên tích cực lengo90's Avatar
    Tham gia
    Nov 2010
    Nơi Cư Ngụ
    Vĩnh Phúc
    Bài viết
    330


    Nhóm xã hội



    PCB Designer

    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi chutinh Click here to enlarge
    thanks bạn lep140389 nhiều nhé nhưng mà chỉ được mỗi phần chống dội phím thôi, còn lại bệnh vẫn thế.hjc. mong bạn chỉ giáo
    bệnh gì vẫn như thế, mình down ctr đó về chạy ok đúng đề bạn đưa ra mà, bạn xem lại xem


  7. #7
    Thành viên tích cực vietlamdt's Avatar
    Tham gia
    Dec 2010
    Bài viết
    516
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi chutinh Click here to enlarge
    mình đã thử mạch của bạn vietlamdt chạy tốt. Nhưng mình đã tách hàng chục và hàng đơn vị ra cho vào 2 ô nhớ nhưng vẫn ko đc bạn ạ. Bạn viết lại code mạch của mình cho mình xem với.
    mình chỉnh sửa code của bạn như sau
    Code:
    ORG 0
    MOV R0,#0
    MAIN:
    SJMP HIENTHI 
    KT:
    JNB P3.0,SW1
    JNB P3.1,SW2
    SJMP MAIN
    ;----------------
    SW1:
    JNB P3.0,$         ;chờ bỏ tay ra khỏi nút ấn mới thực hiện lệnh tiếp -> chống rung phím
    INC R0
    ;MOV A,R0                       
    ;CJNE A,#100,HIENTHI       
    CJNE R0,#100,HIENTHI       ; ;R0 có thể so sánh trực tiếp
    MOV R0,#0
    SJMP HIENTHI
    ;////////////////////
    SW2:
    JNB P3.1,$         ;chờ bỏ tay ra khỏi nút ấn mới thực hiện lệnh tiếp -> chống rung phím
    DEC R0
    ;MOV A,R0                       
    ;CJNE A,#255,HIENTHI       
    CJNE R0,#255,HIENTHI       ; ;R0 có thể so sánh trực tiếp
    MOV R0,#99
    SJMP HIENTHI
    ;///////////////
    HIENTHI:
    ;///////////////HIEN THI HANG CHUC//////////////
    MOV A,R0
    MOV B,#10
    DIV AB
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P2,A
    CLR P1.1
    SETB P1.0
    CALL DELAY
    MOV P1,#0FFH       ;chống lem cho led
    ;///////////HIEN THI HANG DON VI//////////////
    MOV A,B
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P2,A
    CLR P1.0
    SETB P1.1
    CALL DELAY
    MOV P1,#0FFH       ;chống lem cho led
    SJMP KT
    ;//////////////
    MALED:
    DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
    ;//////////////////
    DELAY:
    PUSH 07
    PUSH 06
    MOV r6,#40
    DELAY1:
    MOV r7,#255
    DJNZ r7,$
    DJNZ r6,DELAY1       ;các nhãn phải cùng tên nhau, vì pinnacle phân biệt viết hoa và viết thường 
    POP 06
    POP 07
    RET
    END



  8. #8
    Thành viên mới chutinh's Avatar
    Tham gia
    Sep 2009
    Bài viết
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    mình làm đc rồi bạn ạ.hihi. tại mình viết thiếu lệnh MOVC A,@A+DPTR thành MOC A,@A+DPTR. rất cảm ơn các bạn


  9. #9
    Thành viên chính thức lep140389's Avatar
    Tham gia
    Jun 2010
    Bài viết
    62
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ủa mình nhớ là có sửa đoạn đó cho bạn rồi mà, ko xem ah, với lại mih thắc mắc sao ko dùng 2 port chốt dữ liệu cho dễ mà cần j phải dung ic số vậy, có ứng dụng j hay ah.Click here to enlarge
    Click here to enlarge
    Code:
    org 00h
    MOV R0,#0
    JMP HIENTHI
    MAIN:
    JNB P1.0,SW1
    JNB P1.1,SW2
    SJMP MAIN
    SW1:
    jnb P1.0,$	;them doan nay thi so ko nhay lung tung nua
    
    INC R0
    MOV A,R0
    CJNE A,#100,HIENTHI
    MOV R0,#0
    JMP HIENTHI
    ;////////////////////
    SW2:
    jnb P1.1,$
    
    DEC R0
    MOV A,R0
    CJNE A,#255,HIENTHI
    MOV R0,#99
    JMP HIENTHI
    ;///////////////
    HIENTHI:
    ;///////////////HIEN THI HANG CHUC//////////////
    MOV A,R0
    MOV B,#10
    DIV AB
    MOV DPTR,#MALED
    MOvC A,@A+DPTR	; movc A,@A+DPTR
    MOV P2,A
    
    ;///////////HIEN THI HANG DON VI//////////////
    MOV A,B
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P3,A
    
    ;CALL DELAY 	; ko can delay tai dem so bang nut nhan
    JMP MAIN
    ;//////////////
    MALED:
    DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
    ;//////////////////
    
    END


    PCCC

  10. #10
    Thành viên mới khacnghia_hd's Avatar
    Tham gia
    May 2012
    Bài viết
    27
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Với mạch của anh Vietlamdt thì muốn cấy thêm 2 led đơn vào, 1 đỏ 1 xanh. số chẵn thì xanh sáng, số lẻ thì đỏ sáng
    thì làm thế nào ạ
    Mọi ng cho ý kiến nha...code hoàn chỉnh...thanks mọi ng


Trang 1/6 123 ... cuốicuối

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không được gửi luồng mới
  • Bạn không được trả lời bài viết
  • Bạn không được gửi file đính kèm
  • Bạn không được sửa bài viết của mình
  •