Thông báo

Collapse
No announcement yet.

Lỗi khi chạy mô phỏng proteus ? Xin giúp đỡ

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

  • Lỗi khi chạy mô phỏng proteus ? Xin giúp đỡ

    Hiện tại mình đang làm đề tài mạch đếm sản phẩm dùng 8051
    Sơ đồ nguyên lí Click image for larger version

Name:	sơ đồ nguyên lí mạch đếm sản phẩm.jpg
Views:	1
Size:	57.4 KB
ID:	1410565
    Code
    co_phim equ 20h
    en_dem equ p3.3
    donvi equ 21h
    chuc equ 22h
    tram equ 23h
    nghin equ 24h
    org 100h
    mov sp,#50h
    mov psw,#00h
    mov r0,#0
    mov nghin,#0
    mov tram,#0
    mov chuc,#0
    mov donvi,#0
    mov r6,#4
    clr co_phim
    call hien_thi
    lap_chinh:
    nhan_gia_tri:
    call ban_phim
    jnb co_phim,cho_dem_lui
    clr co_phim
    cjne r0,#10,h_nghin;nhan phim enter
    jmp dem_lui
    h_nghin:
    cjne r6,#4,h_tram;nhap gia tri hang nghin
    call truyen_gt_r
    jmp cho_dem_lui
    h_tram:
    cjne r6,#3,h_chuc
    call truyen_gt_r
    jmp cho_dem_lui
    h_chuc:
    cjne r6,#2,h_donvi
    call truyen_gt_r
    jmp cho_dem_lui
    h_donvi:
    cjne,#1,cho_dem_lui
    call truyen_gt_r
    jmp cho_dem_lui
    cho_dem_lui:
    call hien_thi
    cjne r6,#0,nhan_gia_tri
    mov r6,#4
    jmp nhan_gia_tri
    dem_lui:
    clr p3.7
    lap_nghin:
    lap_tram:
    lap_chuc:
    lap_donvi:
    call hien_thi
    jnb en_dem,dem_lui
    ldl: jb en_dem,ldl
    dec donvi
    mov a,donvi
    cjne a,#0ffh,lap_donvi
    mov donvi,#9
    dec chuc
    mov a,chuc
    cjne a,#0ffh,lap_chuc
    mov chuc,#9
    dec tram
    mov a,tram
    cjne a,#0ffh,lap_tram
    mov tram,#9
    dec nghin
    mov a,nghin
    cjne a,#0ffh,lap_nghin
    mov nghin,#0
    mov tram,#0
    mov chuc,#0
    mov donvi,#0
    setb p3.7
    jmp lap_chinh
    ;tryen gia tri vao r
    truyen_gt_r:
    mov a,tram
    mov nghin,a
    mov a,chuc
    mov tram,a
    mov a,donvi
    mov chuc,a
    mov a,r0
    mov donvi,a
    dec r6
    ret
    ;chuong trinh con nham phim
    ban_phim:
    mov p1,#0f0h;day 1 ra nua cao
    nop
    nop
    mov a,p1;nhan du lieu ve
    cjne a,#0f0h,co_phim_nhan
    jmp thoat
    co_phim_nhan:
    mov p1,#0fh;day 1 ra nua thap
    mov r0,p1
    orl a,r0
    mov r0,a
    setb co_phim
    ;cho phim tha
    cho_tha_phim:
    mov p1,#0fh
    nop
    nop
    mov a,p1
    cjne a,#0fh,cho_tha_phim
    phim0:
    cjne r0,#7eh,phim1
    mov r0,#0
    jmp thoat
    phim1:
    cjne r0,#0beh,phim2
    mov r0,#1
    jmp thoat
    phim2:
    cjne r0,#0deh,phim3
    mov r0,#2
    jmp thoat
    phim3:
    cjne r0,#0eeh,phim4
    mov r0,#3
    jmp thoat
    phim4:
    cjne r0,#7dh,phim5
    mov r0,#4
    jmp thoat
    phim5:
    cjne r0,#0bdh,phim6
    mov r0,#5
    jmp thoat
    phim6:
    cjne r0,#0ddh,phim7
    mov r0,#6
    jmp thoat
    phim7:
    cjne r0,#0edh,phim8
    mov r0,#7
    jmp thoat
    phim8:
    cjne r0,#7bh,phim9
    mov r0,#8
    jmp thoat
    phim9:
    cjne r0,#0bbh,enter
    mov r0,#9
    jmp thoat
    enter:
    cjne r0,#0dbh,thoat
    mov r0,#10
    thoat:
    ret
    ;ket thuc chuong trinh con bat phim
    ;chuong trinh con hien thi so ra led 7 thanh
    hien_thi:
    ;hang nghin
    mov p2,nghin
    mov p0,#01h
    call delay
    ;hang tram
    mov p2,tram
    mov p0,#02h
    call delay
    ;hang chuc
    mov p2,chuc
    mov p0,#04h
    call delay
    ;hang don vi
    mov p2,donvi
    mov p0,#08h
    call delay
    ret
    ;ket thuc chuong trinh con hien thi
    ;chuong trinh tre
    delay:
    push psw
    mov psw,#08h;bank 1
    mov r0,#10
    dl1: mov r1,#60
    dl2: djnz r1,dl2
    djnz r0,dl1
    pop psw
    ret
    end
    khi chạy thì báo lỗi mô phỏng không chạy do CPU quá tải , các bạn có thể giúp mình với không ? đoạn Code trên có gì sai sót không vì mình nghĩ là do code . Thanks nhiều

  • #2
    CPU chạy ko nổi thì tăng thời gian delay lên, còn chạy ko nổi nữa thì kiếm máy bàn mà mô phỏng

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      CPU chạy ko nổi thì tăng thời gian delay lên, còn chạy ko nổi nữa thì kiếm máy bàn mà mô phỏng
      Mình dùng máy bàn mà bạn ,lỗi đâyClick image for larger version

Name:	Untitled.png
Views:	1
Size:	37.2 KB
ID:	1351821 ,ko biết là do code có vấn đề hay mạch có vấn đề nữa

      Comment


      • #4
        máy bạn cấu hình thế nào, đưa mạch mô phỏng mình chạy thử

        Comment


        • #5
          Nguyên văn bởi chung1608 Xem bài viết
          máy bạn cấu hình thế nào, đưa mạch mô phỏng mình chạy thử
          demsanpham.rar mạch mô phỏng và file hex bạn kiểm tra lỗi giùm mình
          cấu hình máy bàn khá ok core 2 dual 2gb ram

          Comment


          • #6
            Nguyên văn bởi maiyeumanu Xem bài viết
            demsanpham.rar mạch mô phỏng và file hex bạn kiểm tra lỗi giùm mình
            cấu hình máy bàn khá ok core 2 dual 2gb ram
            proteus mô phỏng chỉ sử dụng có 1 luồng của CPU thôi nên máy bạn có dùng tới core i7 mà xung nhịp khoảng 2Ghz thì cũng mô phỏng ko nổi.
            Mô phỏng ko đc do tốc độ quét led quá nhanh, nên tăng thời gian quét led lên

            Comment


            • #7
              Nguyên văn bởi chung1608 Xem bài viết
              proteus mô phỏng chỉ sử dụng có 1 luồng của CPU thôi nên máy bạn có dùng tới core i7 mà xung nhịp khoảng 2Ghz thì cũng mô phỏng ko nổi.
              Mô phỏng ko đc do tốc độ quét led quá nhanh, nên tăng thời gian quét led lên
              Mình vẫn chưa hiểu lắm, bạn nói ko mô phỏng dc do led quét quá nhanh vậy tăng time ntn ? sorry mình mới học và làm , tự mày mò vẽ thôi , chưa hiểu cặn kẽ lắm

              Comment


              • #8
                Nguyên văn bởi maiyeumanu Xem bài viết
                Mình vẫn chưa hiểu lắm, bạn nói ko mô phỏng dc do led quét quá nhanh vậy tăng time ntn ? sorry mình mới học và làm , tự mày mò vẽ thôi , chưa hiểu cặn kẽ lắm
                proteus mô phỏng quét led có 1 số lỗi:
                - LED 7 đoạn đơn như bạn, quét bằng transistor thì đc nhưng led luôn luôn bị nháy.
                - LED 7 đoạn loại đôi trở lên thì ko thể mô phỏng quét bằng transistor mà phải dùng cổng NOT để thay thế transistor ( phải dùng đúng cổng NOT mô phỏng của proteus mới đc)
                - Tần số lấy mẫu cũng như quét trên các chân của VDK quá nhanh sẽ làm CPU chạy nặng hơn, đồng nghĩa thời gian thực của mô phỏng tăng lên theo % hoạt động của CPU
                - Quét LED quá nhanh nghĩa là thời gian delay ngắn, vì thế phải tăng thời gian delay lên

                Comment


                • #9
                  Nguyên văn bởi chung1608 Xem bài viết
                  proteus mô phỏng quét led có 1 số lỗi:

                  - Quét LED quá nhanh nghĩa là thời gian delay ngắn, vì thế phải tăng thời gian delay lên
                  delay:
                  push psw
                  mov psw,#08h;bank 1
                  mov r0,#10
                  dl1: mov r1,#60
                  dl2: djnz r1,dl2
                  djnz r0,dl1
                  pop psw
                  Có phải sửa thời gian delay ở đây ko bạn ? sửa ntn là hợp lí đây

                  Comment


                  • #10
                    Nguyên văn bởi maiyeumanu Xem bài viết
                    Có phải sửa thời gian delay ở đây ko bạn ? sửa ntn là hợp lí đây
                    bạn sử dụng công thức tính thời gian quét led
                    thời gian quét(mSec)*số lượng led cần quét*tần số quét(Hz)=1 Sec
                    tần số quét thấp nhất là 24Hz, tần số này led vẫn còn chớp, nên tăng lên tầm trên 40Hz

                    Comment


                    • #11
                      Nguyên văn bởi maiyeumanu Xem bài viết
                      Hiện tại mình đang làm đề tài mạch đếm sản phẩm dùng 8051
                      Sơ đồ nguyên lí [ATTACH=CONFIG]34657[/ATTACH]
                      Code
                      khi chạy thì báo lỗi mô phỏng không chạy do CPU quá tải , các bạn có thể giúp mình với không ? đoạn Code trên có gì sai sót không vì mình nghĩ là do code . Thanks nhiều
                      phần cứng chỉ cần sửa lại bằng 4 con led đúc là được.
                      Attached Files
                      |

                      Comment


                      • #12
                        Nguyên văn bởi tdm Xem bài viết
                        phần cứng chỉ cần sửa lại bằng 4 con led đúc là được.
                        CPU 98 % kà @@

                        Comment


                        • #13
                          Nguyên văn bởi chung1608 Xem bài viết
                          bạn sử dụng công thức tính thời gian quét led
                          thời gian quét(mSec)*số lượng led cần quét*tần số quét(Hz)=1 Sec
                          tần số quét thấp nhất là 24Hz, tần số này led vẫn còn chớp, nên tăng lên tầm trên 40Hz
                          cụ thể trên code tăng ở đâu vậy bạn , mình chịu , học 8088 mà đồ án 8051
                          Nguyên văn bởi tdm Xem bài viết
                          phần cứng chỉ cần sửa lại bằng 4 con led đúc là được.
                          Đã chạy ko báo lỗi , nhưng bạn cho hỏi led khung với 4 con led 7 thanh thì code vẫn giữ nguyên như trên hay phải thay đổi

                          Comment


                          • #14
                            Nguyên văn bởi maiyeumanu Xem bài viết
                            cụ thể trên code tăng ở đâu vậy bạn , mình chịu , học 8088 mà đồ án 8051

                            Đã chạy ko báo lỗi , nhưng bạn cho hỏi led khung với 4 con led 7 thanh thì code vẫn giữ nguyên như trên hay phải thay đổi
                            trong công thức đó bạn

                            Comment


                            • #15
                              mạch phím nhấn ko có tác dụng , ko biết lỗi gì

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X