Thông báo

Collapse
No announcement yet.

Test giúp mình đoạn chương trình

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

  • Test giúp mình đoạn chương trình

    Mọi người check giúp mình đoạn chương trình này nhé! Khi mình dịch thì trình dịch ko báo lỗi nhưng khi cho chạy thử trong trình dịch(pinnacle52) thì lại báo lỗi là không xác định đc địa chỉ trở về của lệnh RET. Mình không tìm đc vị trí lỗi, rất mong đc anh em giúp đỡ! Thanks!

    ;================================================= =================
    ;chuong trinh thuc hien hien thi va chay chu tren 2 ma tran led 8x8
    ;================================================= =================
    org 000h ;khoi dau chuong trinh, doc bo nho tai dia chi ROM 000h
    nhan1:
    mov r1,#01 ;bao ** bit dich
    nhan2:
    mov r0,#1 ;bao ** vong lap cho mot frame hien thi, thoi gian huong toi khoang 0.7s
    nhan3:
    ;--------------------------------------------------------------------
    ;bat dau quet hang thu nhat
    mov r2,#01h ;khai bao hang ** 1
    mov r3,#11100111b ;khai bao trang thai 1
    mov r4,#0ffh ;khai bao trang thai 2
    mov r5,#00111111b ;khai bao trang thai 3
    lcall hienthi ;goi chuong trinh con hien thi
    ;xong hang 1
    ;-----------------------------------------------------------------------
    ;bat dau quet hang thu hai
    mov r2,#02h ;khai bao hang **1
    mov r3,#10001001b ;khai bao trang thai 1
    mov r4,#01100100b ;khai bao trang thai 2
    mov r5,#00100100b ;khai bao trang thai 3
    lcall hienthi
    ;xong hang 2
    ;-----------------------------------------------------------------------
    ;bat dau quet hang thu ba
    mov r2,#03h ;khai bao hang **1
    mov r3,#10010001b ;khai bao trang thai 1
    mov r4,#11111100b ;khai bao trang thai 2
    mov r5,#00100111b ;khai bao trang thai 3
    lcall hienthi ;goi chuong trinh con hien thi
    ;xong hang 3
    ;-----------------------------------------------------------------------
    ;bat dau quet hang thu tu
    mov r2,#04h ;khai bao hang **1
    mov r3,#10001001b ;khai bao trang thai 1
    mov r4,#00100000b ;khai bao trang thai 2
    mov r5,#00111111b ;khai bao trang thai 3
    lcall hienthi ;goi chuong trinh con hien thi
    ;xong hang 4
    ;-----------------------------------------------------------------------
    ;bat dau quet hang thu nam
    mov r2,#05h ;khai bao hang **1
    mov r3,#10000111b ;khai bao trang thai 1
    mov r4,#11111100b ;khai bao trang thai 2
    mov r5,#00111111b ;khai bao trang thai 3
    lcall hienthi ;goi chuong trinh con hien thi
    ;xong hang 5
    ;-----------------------------------------------------------------------
    inc r0 ;tang bien tao ** frame/s
    cjne r0,#40,nhan3 ;se lap 25frame
    inc r1 ;neu r0 da du bang 25 thi tang noi dung thanh ghi dia chi 08h, chua ** bit can dich len 1
    mov A,r1
    cjne A,#24,nhan2 ;neu khong bang thi tiep tuc set lai r1
    jmp nhan1


    ;================================================= ======================
    ;chuong trinh con "hien thi"
    ;================================================= ======================
    hienthi:
    mov 09h,#0 ;dat bien ** cho bit dich xuat phat tu 0
    mov A,09h ;lay thanh ghi accumulator lam trung gian
    nhan4:
    inc A ;tang A them 1
    mov 09h,A ;tuong duong voi tang noi dung thanh ghi co dia chi 09h them 1
    cjne A,01h,nhan5 ;** sanh A(luc nay chua bien ** ve ** bit dich can thiet voi ** bit can dich chuan luu trong 08h)
    jmp nhan6
    nhan5:
    lcall dich1bit ;goi ctc dich mot bit
    jmp nhan4
    nhan6:
    lcall quet1hang ;goi ctc quet mot hang, co tac dung hien thi

    RET
    ;ket thuc ctc
    ;================================================= ==========================


    ;================================================= ===========================
    ;ctc dich di mot bit du lieu chua trong 3 thanh ghi
    ;================================================= ==========================
    dich1bit:
    mov 31h,A
    push 31h
    mov A,r5 ;luu r5 sang thanh ghi A de thuc hien lenh quay
    rlc A ;xoay bit, luc nay co C chua bit A.7, hay bit 7 cua thanh ghi R5
    mov 20h,A ;luu len 20h de cho xu li bit
    mov A,r4 ;luu r6 sang A de thuc hien quay
    rlc A ;xoay bit, hoan hao, luc nay C chua R6.7
    mov r4,A ;luu lai vao r6
    mov A,r3 ;luu R7 sang A
    rlc A ;xoay bit,hoan hao, luc nay C chua R7.7
    mov r3,A ;luu lai vao r7
    mov 00h,c ;dua bit R7.7 vao bit 0 cua 20h
    mov r5,20h ;hoan thanh xoay mot bit
    pop 31h
    mov A,31h
    RET
    ;hoan thanh chuong trinh con
    ;================================================= ============================


    ;================================================= ============================
    ;chuong trrinh con hien thi "quet1hang"
    ;================================================= ============================

    ;================================================= ============
    ;chuong trinh con quet mot hang voi du lieu gui tren R2, R3, R4
    ;================================================= ============
    quet1hang:
    mov p1,r2 ;mo hang
    setb p1.3 ;mo IC1
    mov p3,r3 ;mo trang thai 1
    lcall tre_1_mgiay ;goi ham tre
    mov p3,#00h ;tat trang thai
    clr p1.3 ;tat IC1
    lcall tre_1_mgiay ;goi ham tre
    setb p1.4 ;mo IC2
    mov p3,r4 ;mo trang thai 2
    lcall tre_1_mgiay ;goi ham tre
    mov p3,#00h ;tat trang thai
    clr p1.4 ;tat IC2
    lcall tre_1_mgiay ;goi ham tre
    RET
    ;================================================= ==============
    ;CTC tao thoi gian tre 1ms
    ;================================================= =================
    tre_1_mgiay:
    push 07h ;luu r7 vao stack
    mov r7,#250 ;tao 250 vong lap
    loop1milli:
    nop ;tre 1CK may
    nop
    djnz r7,loop1milli ;lenh co thoi gian 2ck may
    pop 07h ;lay lai r7
    RET
    end
    Dù chưa biết sẽ tới đâu,ta vẫn tiếp tục bước

  • #2
    xin lỗi bạn. 1 chương trình thì phải luôn đi kèm với phần cứng của mạch. nên có thể góp ý với bạn rằng sẽ ko ai có thể giúp bạn trong việc này. bởi ko ai đủ kiên trì đọc hộ bạn 1 chương trình dài đến thế. mà để hiển thị trên 2 led matrix như vậy thì quá dài. bạn nên tự xem xét 1 hướng giải quyết mới nhé.thân!!!

    Comment


    • #3
      Cám ơn Công rất nhiều!
      Thực ra mình cũng mới học VDK thôi, nên mình muốn tự mình viết chương trình và chỉnh sửa dần cho hoạt động, vì mình nghĩ như vậy sẽ thu đc nhiều kinh nghiệm.
      Mình cũng mới đọc bài reply của Công và đã ngồi tự xem lại chương trình và tìm ra một lỗi rất nhỏ. Mình đã vô tình cài trước dữ liệu lên một ngăn nhớ nằm trên đường tiến của SP. Mình đã chỉnh lại và chương trình chạy cho mạch tốt. Mình sẽ cố gắng tìm thuật toán gọn hơn. Rất vui đc bạn góp ý!
      Thân!
      Dù chưa biết sẽ tới đâu,ta vẫn tiếp tục bước

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      • mèomướp
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi mèomướp
        Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
        hôm nay, 13:11
      • tuyennhan
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi tuyennhan
        Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
        hôm nay, 09:25
      • tuyennhan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi tuyennhan
        Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
        Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
        hôm nay, 09:10
      • Ng.Phuong.5
        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Mấy con...
        Hôm qua, 19:44
      • viettinh
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi viettinh
        Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
        Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
        Hôm qua, 18:12
      • nguyendinhvan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi nguyendinhvan
        Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
        Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
        Cách đơn giản...
        Hôm qua, 00:04
      • mèomướp
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi mèomướp
        Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
        08-01-2025, 19:02
      • tuyennhan
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi tuyennhan
        Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
        08-01-2025, 15:43
      • tuyennhan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi tuyennhan
        Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
        08-01-2025, 15:28
      • mèomướp
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi mèomướp
        Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
        08-01-2025, 11:44
      Đang tải...
      X