Thông báo

Collapse
No announcement yet.

Mô phỏng code mạch đếm dùng 890c52 = proteus bị báo lỗi ?

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

  • Mô phỏng code mạch đếm dùng 890c52 = proteus bị báo lỗi ?

    Chào các bác !
    em có viết đoạn mã dùng cho mạch đếm sản phẩm , đoạn mã của em chỉ có tác dụng là khi nhận được kích thích tới ngắt ngoài 1 thì tăng bộ đếm lên 1 sau đó hiện thị ra đèn led 7 thanh ( loại chỉ có 1 số , và cathode chung ), em chỉ cần hiện thị lên 2 con led 7 thanh ( không nhiều ) , và dùng cổng P1 và P2 ...
    đấy là đoạn mã em viết , rất ngắn , tuy nhiên em đã biên dịch ra file hex bằng read51 và thấy không báo lỗi ...
    đoạn mã viết = ASM

    org 0000h ; chuong trinh
    ljmp main ; bo qua bang vecto ngat

    ; ======================================

    org 0013 ; trinh phuc vu ngat ngoai 1
    ljmp ngatngoai_1 ; nhay den trinh phuc vu ngat ngoai 1

    ;=======================================
    #include <sfr52.inc>
    org 0030h ; bat dau chuong trinh
    MAIN:
    SETB TCON.2 ; NGAT NGOAI 1 , KICH PHAT SUON
    MOV IE,#10000100b ; CHO PHEP NGAT NGOAI 1
    CLR A ; XOA THANH GHI A , CHON THANH GHI A LAM BO DEM
    MOV B,#0AH ; KHOI TAO SO CHIA = 10
    CLR 90h ; XOA CONG P1
    CLR 0A0h ; XOA CONG P2
    HERE:
    SJMP HERE ; LAP LAI

    ; KET THUC CHUONG TRINH CHINH
    ;========================================

    ORG 100H ; TRINH PHUC VU NGAT
    NGATNGOAI_1 : ; DO TA CHI DEM DEN 99 NEN NEU A = 100 THI
    ; SE RESET LAI , TUC LA A = 0
    CJNE A,64H,CONTINUE ; A KHAC 100 ==> TOI CONTINUE
    CLR A ; XOA A , A= 0
    CONTINUE :
    INC A ; TANG BO DEM LEN 1
    MOV R1,A ; LUU VAO THANH GHI R1
    DIV AB ; CHIA BO DEM CHO 10
    ; THUONG SO CHUA TRONG A
    ; SO DU CHUA TRONG B
    MOV P1,B ; CHUYEN SO DU , HAY HANG DON VI TOI CONG P1
    MOV P2,A ; CHUYEN THUONG SO , HAY SO HANG CHUC TOI CONG P2
    MOV B,#0AH ; KHOI PHUC LAI SO CHIA , B= 10
    MOV A,R1 ; KHOI PHUC LAI BO DEM
    RETI ; KET THUC

    ;========================================
    ; KET THUC TOAN BO CHUONG TRINH

    END

    ;========================================
    đây là nội dung của file hex , mở bằng notepad , cực ngắn , em cũng không biết có đúng không nữa ...

    :03000000020030CB
    :03000D00020100ED
    :0F003000D28A75A884E475F00AC290C2A080FE3F
    :11010000B56401E404F98485F090F5A075F00AE9324B
    :00000001FF
    sau đó em dùng proteus để mô phỏng lại thì thấy báo lỗi , mach đấu dây cũng đủ cả , em chỉ dùng có 2 cổng P1 , P2 để hiện thị led , mắc thêm con thạch anh 12 Mhz, tụ điện đi kèm , 2 con led 7 thanh , IC 4511 thế là hết ...

    SIMULATION LOG
    ==============
    Design: UNTITLED.DSN
    Doc. no.: <NONE>
    Revision: <NONE>
    Author: <NONE>
    Created: 05/08/07
    Modified: 05/08/07

    Compiling source files...
    Build completed OK.
    Compiling netlist...
    Linking netlist...
    Partition analysis...

    Simulating partition 1
    PROSPICE Release 6.5 SP2 (C) Labcenter Electronics 1993-2002.
    SPICE Kernel Version 3f5. (C) Berkeley University ERL.

    Reading netlist...
    ERROR: [U1] DSIM model MCS8051.DLL failed to authorize - Product Key does not match Customer Key.
    Net VDD taken as alias for VCC
    Net VSS taken as alias for GND
    Reading SPICE models...
    Loading library 'LINTEC.SML'
    Loading library 'FAIRCHLD.SML'
    Loading library 'NATOA.SML'
    Loading library 'TECCOR.SML'
    Loading library 'TEX101.SML'
    Loading library 'TEX3_1.SML'
    Loading library 'TEX301.SML'
    Loading library 'TEX401.SML'
    Loading library 'TEX5_1.SML'
    Loading library 'VALVES.SML'
    Loading library 'ZETEX.SML'
    Loading library 'SUPERTEX.SML'
    Loading library 'ANALOGD.SML'
    Loading library 'APEX.SML'
    Loading library 'BURRBROWN.SML'
    Loading library 'ELANTEC.SML'
    Loading library 'INTERSIL.SML'
    Building circuit...
    Adding +5V power rail for VCC
    Instantiating SPICE models...
    Real Time Simulation failed to start

    Simulation FAILED due to fatal simulator errors.
    thực sự là em cũng chưa rõ là vì sao nữa , cũng chưa hiểu được là nó bị sai ở điểm gì , bản proteus em dùng là bản 6.7 ( bản full 1 đĩa CD 330 Mb , em mua ở ngoài hàng ) em cũng mới lập trình cho 8051 nên cũng chưa có nhiều kinh nghiệm lắm ,còn phải học hỏi các bác nhiều ...

    Rất mong các bác chỉ dùm em ...Chân thành cảm ơn các bác !

  • #2
    ERROR: [U1] DSIM model MCS8051.DLL failed to authorize - Product Key does not match Customer Key. -> lỗi do chưa *****/ Bạn sang đây lấy proteus 7.1 sp2 có ***** mà dùng :
    http://dientuvietnam.net/forums/show...5041#post45041

    Comment


    • #3
      Nguyên văn bởi ng2mat Xem bài viết
      ERROR: [U1] DSIM model MCS8051.DLL failed to authorize - Product Key does not match Customer Key. -> lỗi do chưa *****/ Bạn sang đây lấy proteus 7.1 sp2 có ***** mà dùng :
      http://dientuvietnam.net/forums/show...5041#post45041
      bác cho em hỏi với , như vậy là lỗi đó do phân mềm của em chưa ***** chứ không phải là em viết code bị sai hoặc là thuật toán bị lỗi đúng không ạ...

      cám ơn bác nhiều lắm

      Comment


      • #4
        Em đã down bản proteus 7.1 theo link ở trên rùi , và chạy thử đoạn mã mà em viết , tuy nhiên vẫn không được đúng như mong muốn , đây là đoạn mã ( có sửa lại 1 chút ...)

        org 0000h ; chuong trinh
        ljmp main ; bo qua bang vecto ngat

        ; ======================================

        org 0013 ; trinh phuc vu ngat ngoai 1
        ljmp ngatngoai_1 ; nhay den trinh phuc vu ngat ngoai 1

        ;=======================================
        #include <sfr52.inc>
        org 0030h ; bat dau chuong trinh
        MAIN:
        SETB TCON.2 ; NGAT NGOAI 1 , KICH PHAT SUON
        MOV IE,#10000100b ; CHO PHEP NGAT NGOAI 1
        MOV A,#0 ; XOA THANH GHI A , CHON THANH GHI A LAM BO DEM
        MOV B,#0AH ; KHOI TAO SO CHIA = 10
        MOV P1,#0 ; XOA CONG P1
        MOV P2,#0 ; XOA CONG P2
        HERE:
        SJMP HERE ; LAP LAI

        ; KET THUC CHUONG TRINH CHINH
        ;========================================

        ORG 100H ; TRINH PHUC VU NGAT
        NGATNGOAI_1 : ; DO TA CHI DEM DEN 99 NEN NEU A = 100 THI
        ; SE RESET LAI , TUC LA A = 0
        CJNE A,64H,CONTINUE ; A KHAC 100 ==> TOI CONTINUE
        MOV A,#0 ; XOA A , A= 0
        CONTINUE :
        INC A ; TANG BO DEM LEN 1
        MOV R1,A ; LUU VAO THANH GHI R1
        DIV AB ; CHIA BO DEM CHO 10
        ; THUONG SO CHUA TRONG A
        ; SO DU CHUA TRONG B
        MOV P1,B ; CHUYEN SO DU , HAY HANG DON VI TOI CONG P1
        MOV P2,A ; CHUYEN THUONG SO , HAY SO HANG CHUC TOI CONG P2
        MOV B,#0AH ; KHOI PHUC LAI SO CHIA , B= 10
        MOV A,R1 ; KHOI PHUC LAI BO DEM
        RETI ; KET THUC

        ;========================================
        ; KET THUC TOAN BO CHUONG TRINH

        END

        ;========================================
        khi em chạy mô phỏng thì chỉ hiện thị được số 0 dù có điện đưa vào hay không , tức là ngắt ngoài 1 mà em dùng đó , hình như không kích hoạt được
        mấy bác giúp em với , em cũng chưa hiểu tại sao lại không chạy đúng được ...



        Last edited by schanbkhn; 09-05-2007, 11:02.

        Comment


        • #5
          Địa chỉ của INT1 là 13H chứ không phải 13 đâu nhé. Hehe.
          AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
          Xem thêm tại Online Store ---> Click here
          Mob: 0982.083.106

          Comment


          • #6
            Nguyên văn bởi VNarmy Xem bài viết
            Địa chỉ của INT1 là 13H chứ không phải 13 đâu nhé. Hehe.
            em sửa lại rùi ,( 0013h ) nhưng mà vẫn chưa được

            em thêm đoạn mã : mov P0,# 11111111b
            tức là tất cả các chân của P0 đều ra là 1 , nhưng mà khi mô phỏng thì tất cả các chân này đều không có điện tức là nó có màu xanh
            như vậy là chương trình không thực hiện đoạn mã viết trong MAIN
            bác nào biết bảo giùm cho em với ...
            ( em viết lệnh của 8051 dùng cho 89s52 và 89c52 chắc là dùng được )

            Comment


            • #7
              Bạn thử treo chân reset ( chân số 19 ) lên VCC xem và chân 13 cũng phải treo bằng trở rồi nối đất. Nếu không được thì gửi bài giả lập + file .asm mình xem cho

              Comment


              • #8
                Bạn thêm RETI sau dòng : ljmp ngatngoai_1 và RETI ở dòng gần cuối cùng thay bằng RET

                Comment


                • #9
                  Nguyên văn bởi ng2mat Xem bài viết
                  Bạn thêm RETI sau dòng : ljmp ngatngoai_1 và RETI ở dòng gần cuối cùng thay bằng RET
                  cám ơn bác nhiều , em sẽ làm theo lời bác xem sao
                  còn về phần bài viết của em chỉ có đoạn mã ở trên thui , em chỉ cần đếm sản phẩm và hiện lên led thế là xong , thực sự em cũng đang bí quá , nếu bác có điều kiện bác tư vấn giúp em với , đạy là địa chỉ email của em : chanbkhn@yahoo.com

                  Comment


                  • #10
                    Bạn thiết kế mạch này như thế nào vậy! Chỉ cách thiết kế cho mình với!Mình đang rất cần người hiểu về thiết kế mạch chỉ dậy cho một ít kiến thức để thiết kế được một mạch. Có bác nào có thể giúp em được không? Cho em xin tí tài liệu về mô phỏng các loại mạch điện như Protel, Orcard, Proteus cũng được. Em xin đa tạ các bác nhiều lắm!

                    Comment


                    • #11
                      anh gi oi, em cung dang lam ve mach dem san pham, phan cung va mem ve cung tuong doi roi. con moi mo phong ma em lam chua dc ro lam. bac nao biet cach lam thi chi cho em voi neu co phan mo phong bang proteus thi cang tot. em cam on cac bac nhieu

                      Comment


                      • #12
                        buon qua hu hu. khong ai giup em a

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X