Thông báo

Collapse
No announcement yet.

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

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

  • #16
    cũng k cần thiết phải dùng lệnh so sánh phức tạp như vậy đâu
    bạn chỉ cần dùng lệnh CPL để đảo 2 bit điều khiển 2 led là được rồi
    Code:
    ; cac led tich cuc muc 0    
    led_do     equ p0.1
        led_xanh equ p0.0
    ;---------------------    
        org 0
        mov dptr,#bang_ma
        mov r0,#0
        SETB led_do        ; ban dau hien thi so 00 nen cho led do tat, led xanh sang
        CLR led_xanh
    main:
        call hien_thi
        jb p3.0,kt1
        call delay
        jnb p3.0,$
        cpl led_do        ; dao trang thai 2 led
        cpl led_xanh            
        inc r0
        cjne r0,#100,main
        mov r0,#0 
        jmp main
    kt1:
        jb p3.1,main
        call delay
        jnb p3.1,$
        cpl led_do
        cpl led_xanh        
        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 giay
        mov p1,#11111110b            ;cho led don vi giay sang
        call delay1                    ;chong lem
        mov p1,#0ffh
        ;-------------
        mov p2,30h                        ;chuyen ma led chuc giay
        mov p1,#11111101b            ;cho led chuc  giay 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

    Comment


    • #17
      thêm video mô phong cho sinh động

      Comment


      • #18
        Nguyên văn bởi vietlamdt Xem bài viết
        thêm video mô phong cho sinh động
        Bác dùng phần mềm nào để quay vái video mô phỏng này đấy?

        Comment


        • #19
          Nguyên văn bởi vietlamdt Xem bài viết
          cũng k cần thiết phải dùng lệnh so sánh phức tạp như vậy đâu
          bạn chỉ cần dùng lệnh CPL để đảo 2 bit điều khiển 2 led là được rồi
          Code:
          ; cac led tich cuc muc 0    
          led_do     equ p0.1
              led_xanh equ p0.0
          ;---------------------    
              org 0
              mov dptr,#bang_ma
              mov r0,#0
              SETB led_do        ; ban dau hien thi so 00 nen cho led do tat, led xanh sang
              CLR led_xanh
          main:
              call hien_thi
              jb p3.0,kt1
              call delay
              jnb p3.0,$
              cpl led_do        ; dao trang thai 2 led
              cpl led_xanh            
              inc r0
              cjne r0,#100,main
              mov r0,#0 
              jmp main
          kt1:
              jb p3.1,main
              call delay
              jnb p3.1,$
              cpl led_do
              cpl led_xanh        
              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 giay
              mov p1,#11111110b            ;cho led don vi giay sang
              call delay1                    ;chong lem
              mov p1,#0ffh
              ;-------------
              mov p2,30h                        ;chuyen ma led chuc giay
              mov p1,#11111101b            ;cho led chuc  giay 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
          Trong code này của bác có đoạn delay1 em thấy bác chú thích là chống lem, vậy chống lem là chống thế nào ạ? không có nó thì có ảnh hưởng gì tới kết quả không?

          Comment


          • #20
            Nguyên văn bởi Ck33spkt Xem bài viết
            Bác dùng phần mềm nào để quay vái video mô phỏng này đấy?
            t dùng Camtasia Studio 7
            Nguyên văn bởi Ck33spkt Xem bài viết
            Trong code này của bác có đoạn delay1 em thấy bác chú thích là chống lem, vậy chống lem là chống thế nào ạ? không có nó thì có ảnh hưởng gì tới kết quả không?
            chống lem thực ra là xóa dữ liệu cũ trước khi nạp dữ liệu mới, làm như vậy nó sẽ không còn sáng mờ mờ ở số trước khi mình chuyển sang hiển thị 1 số mới. nếu bạn đã làm mạch thật 1 mạch nào đó có quét led 7 đoạn thì bạn sẽ thấy ảnh hưởng của lem nếu k có đoạn chống lem này

            Comment


            • #21
              Nguyên văn bởi vietlamdt Xem bài viết
              t dùng Camtasia Studio 7

              chống lem thực ra là xóa dữ liệu cũ trước khi nạp dữ liệu mới, làm như vậy nó sẽ không còn sáng mờ mờ ở số trước khi mình chuyển sang hiển thị 1 số mới. nếu bạn đã làm mạch thật 1 mạch nào đó có quét led 7 đoạn thì bạn sẽ thấy ảnh hưởng của lem nếu k có đoạn chống lem này
              Nếu em muốn mở rộng code trên để có thể đếm tiến, lùi đến 9999 thì em phải sửa code trên thế nào hả bác? Vì các thanh ghi chỉ nạp được giá trị tối đa là 255 nên em chưa nghĩ ra hướng giải quyết. Bác biết xin chỉ giúp em với !

              Comment


              • #22
                bạn dùng thêm 1 thanh ghi khác, 1 thanh ghi đếm từ 0-99, rồi so sánh khi nào đếm đến 99 thì tăng thanh ghi thứ 2 lên 1 đơn vị là được

                Comment


                • #23
                  Nguyên văn bởi vietlamdt Xem bài viết
                  bạn dùng thêm 1 thanh ghi khác, 1 thanh ghi đếm từ 0-99, rồi so sánh khi nào đếm đến 99 thì tăng thanh ghi thứ 2 lên 1 đơn vị là được
                  Thế còn cái đoạn số hàng trăm và hàng nghìn thì mình phải cũng phải chia như số hàng chục và hàng đơn vị phải không ạ? Và còn phải sửa thêm cái đoạn hiển thị để quét cả số hàng trăm và hàng nghìn luôn kể cả khi mình chưa đếm đến 100 đúng không ạ?

                  Comment


                  • #24
                    đúng rồi đó, bạn phải thêm phần hiển thị cho số hàng trăm và nghìn nữa
                    Last edited by vietlamdt; 01-06-2012, 13:15.

                    Comment


                    • #25
                      Cái mạch trên cuả anh vietlamdt có led 7 đoạn ghép đôi. nhưng e muốn dùng 2 con led 7 đoạn tách rời thì có phải sửa code ko? và nếu có thì sửa thế nào ạ!

                      Comment


                      • #26
                        code thì k phải sửa

                        Comment


                        • #27
                          E tách rùi nhưng nó ko chạy đc.. híc...

                          Comment


                          • #28
                            bạn tách ntn, cho cái hình ảnh lên cho dễ nhìn, bạn nói vậy thì chịu thôi.
                            bạn dùng 2 con thì các chân a...g bạn phải nối chúng với nhau

                            Comment


                            • #29
                              E ghép thế này có đúng ko?Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	30.4 KB
ID:	1362309

                              Comment


                              • #30
                                ko chạy đc mọi ng ạ

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X