Thông báo

Collapse
No announcement yet.

Tai Sao với 89c51 thì được còn 89c52 thì...

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

  • Tai Sao với 89c51 thì được còn 89c52 thì...

    Mong các bạn chỉ giúp tại sao với chương trình sau tôi nạp cho 89c51 thì nó chạy tốt nhưng khi thay = 89c52 thì nó không chạy đã thay vài 89c52 mới rồi


    $mod51
    ;................................................. .................................................. .................................................. .......
    ; BAI TAP: Truyen du lieu cho 74595 qua RxD
    ;gom 1 led matrix 8x8 , quet cot bang port P1 xuat du lieu ra hang bang IC 74595+2803
    ;byte duoc dich vao chan 14 (Din ) qua chan p3.0 cua 89c51 bang phuong phap truyen noi tiep MODE 0
    ;................................................. .................................................. ....
    Din bit p3.0 ;noi voi chan 14 cua IC74595
    clock bit p3.1 ;noi voi chan 11 cua IC74595
    Lacth bit p3.7 ;noi voi chan 12 cua IC74595
    flagOff bit p3.5
    contro equ 30h
    bodem equ 31h
    col_setb equ 32h
    socot equ 33h


    Khoitao: mov scon, #00h ;dat port noi tiep o model0
    mov dptr, #thu2
    mov contro, #0
    mov bodem, #0
    mov Col_setb, #00000001b
    mov p1, #0
    mov socot, #8

    MAIN:
    Hienthi:
    loop:
    cotke: clr Lacth
    mov a, bodem
    add a, contro
    movc a, @a+dptr
    call DichByte
    mov p1, col_Setb
    setb Lacth
    call delay
    mov p1, #0
    mov a, col_setb
    rl a
    mov col_setb, a
    inc Bodem
    mov a, bodem
    cjne a, socot,cotke
    mov bodem, #0
    djnz r5,loop
    mov r5, #25
    inc contro
    mov a, contro
    cjne a, #65,loop

    jmp khoitao
    ;................................................. ...........................

    ;................................................. .............................
    DichByte:
    mov Sbuf, a
    clr ti
    jnb ti,$

    ret
    ;................................................. .............................
    DELAY:
    mov r6, #255
    djnz r6, $
    RET





    Thu2:
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,20h,7ch,22h ;t
    db 00h,7eh,10h,10h,0eh ;h
    db 00h,1ch,02h,42h,9eh,30h ;u?/
    db 00h
    db 00h,7eh,10h,10h,0eh ;h
    db 00h,0ch,12h,12h,1eh ;a
    db 00h,10h,5eh,02h ;i
    db 0,0,0

    ;................................................. .............................
    DichByte:
    mov Sbuf, a
    clr ti
    jnb ti,$

    ret
    ;................................................. .............................
    DELAY:
    ;mov r7, #255
    Llai: mov r6, #255
    djnz r6, $
    ;djnz r7, Llai
    RET





    Thu2:
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,00h,00h,00h,00h,00h,00h,0fh
    db 00h,20h,7ch,22h ;t
    db 00h,7eh,10h,10h,0eh ;h
    db 00h,1ch,02h,42h,9eh,30h ;u?/
    db 00h
    db 00h,7eh,10h,10h,0eh ;h
    db 00h,0ch,12h,12h,1eh ;a
    db 00h,10h,5eh,02h ;i
    db 0,0,0

  • #2
    Bạn đã thay đổi thiết lập của trình dịch chưa?
    Có thể vấn đề đơn giản là file c của bạn thiết lập cho con AT89C51, khi chuyển sang AT89C52 bạn chưa thiết lập lại thông số cho trình dịch (Keil C chẳng hạn).

    Comment


    • #3
      Bổ Sung Thêm:
      Org 30h
      .....
      Mov Sp,#60h Dung Chung Cho 89c51 Và 89c52
      .....
      Viết Lại Mấy Cái đoạn Code ở Dưới, Bạn Viết Lũng Cũng Quá

      Comment


      • #4
        Vid Dụ:
        Khoitao:
        Mov Scon,#00
        Mov Sp,#...
        ;------------------
        Main:
        Lcall Hien_thi
        Ljmp Main
        ;------------------
        Hien_thi:
        .....
        Ret


        ;.................................................

        Comment


        • #5
          chưa khởi tạo giá trị ban đầu cho r5

          Comment


          • #6
            Cám ơn các bạn đã quan tâm mình làm mọi cái theo các bạn mà cũng vậy cuối cùng mình đi đến quyết định thay thêm 1 con IC nữa lần này mình mới biết là 3 con 89c52 trước của mình có vấn đề . Không biết mua IC ở đâu thì chất lượng tốt ? xin các bạn chỉ dẩn

            Comment


            • #7
              Phần cứng dịch Byte từ p1 vào 74595 sơ đồ kèm theo
              -IC 74165 lấy dữ liệu // từ p1 chuyển qua nối tiếp đưa vào 74595
              -IC SW bấp bênh lấy xung Clock từ thạch anh VXL cung cấp cho 3 IC 74165+74595+4017
              -IC4017 đếm lấy 8 bit và chốt 2 IC kia
              nhưng tôi thấy cách này không được tối ưu các bạn có cách nào khác không

              Comment


              • #8
                bạn dùng chương trình nào để nạp cho 89c52 vậy.

                Comment


                • #9
                  code viết cho 52 nạp 51 dc .. 51 nạp 52 k dc
                  đam mê là không sợ khó khăn

                  Comment


                  • #10
                    phần mềm đó là Kiel C
                    đam mê là không sợ khó khăn

                    Comment


                    • #11
                      Nguyên văn bởi JACSION Xem bài viết
                      code viết cho 52 nạp 51 dc .. 51 nạp 52 k dc
                      đào mồ mà còn nói bậy,chắc đang đào mà sợ
                      Không biết thì hỏi,muốn giỏi phải học.
                      E-mail:

                      Comment


                      • #12
                        Nguyên văn bởi thang37 Xem bài viết
                        đào mồ mà còn nói bậy,chắc đang đào mà sợ
                        e có nói gì sai bác cứ bảo .. e gặp sao e nói vậy tại em viết 51 nạp 52 chả bao h dc ? có gì bác chỉ bảo e chỉ là dân ngoại đạo
                        đam mê là không sợ khó khăn

                        Comment


                        • #13
                          Nguyên văn bởi JACSION Xem bài viết
                          e có nói gì sai bác cứ bảo .. e gặp sao e nói vậy tại em viết 51 nạp 52 chả bao h dc ? có gì bác chỉ bảo e chỉ là dân ngoại đạo
                          Nếu bạn viết cho 52 hết 8k bộ nhớ rồi nạp vào 51 đc ko? chưa kể đến mấy thứ khác.
                          Không biết thì hỏi,muốn giỏi phải học.
                          E-mail:

                          Comment


                          • #14
                            $mod51
                            chắc tại cái dòng này, sữa thành $mod52

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X