Thông báo

Collapse
No announcement yet.

mong mọi người góp ý về lệnh của 1 số chương trình của em,

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

  • mong mọi người góp ý về lệnh của 1 số chương trình của em,

    hiện tại em dg có 1 đoạn code chương trình và em giải thick cho chương trình đó như thế này mọi người có kinh nghiệm xin chỉ giúp em em giải thick câu lệnh của chương trình ntn có chỗ nào sai hok.và chỗ ????? em chưa hiểu mong ai bjt thì giải thick hộ em chỗ đó với thanks mọi người.đoạn code của em viết cho mạch đếm sản phẩm hiện thị led 7 00>99
    mà mọi người lệnh MOV TMOd,#05h. nếu như em thay bằng MOV TMOD,03h. lệnh có khác gì không.tại lệnh đầu 2 con led bằng 00 mới đúng.sao em sửa lại TMOD,#00h hay TMOD,#03h.TMOD,#05h.thì nó vẫn là chọn 00 ở đầu vậy ?



    DEM SAN PHAM HIEN THI TREN 2 LED

    ORG 000H ; điểm nhập reset hệ thống
    MOV TMOD,#05H ; chọn chế độ định thời 05h = 00000101B, bộ định thời là bộ đếm (counter), chế độ định thời 16 bit
    MOV TH0,#0 ; byte cao của bộ định thời bằng 0 (dùng để lưu giá trị đếm)
    MOV TL0,#0 ; byte thấp của bộ định thời bằng 0 (dung để lưu giá trị đếm)
    CLR TF0 ; xóa cờ TF0
    SETB P3.4 ; cấu hình p3.4 là ngõ vào
    SETB TR0 ; cho timer hoat động
    TD: LCALL HEX_BCD ; gọi chương trình con HEX_BCD
    LCALL BCD_7DOAN ; gọi chương trình con BCD_7DOAN
    LCALL HIEN_THI ; hiện thị ra led
    JMP TD ; khi đếm chạy tới giá trị 99 thì nó sẽ tự chạy lại giá trị ban đầu 00
    ;================================================= ====
    HEX_BCD: giải mã HEX sang BCD
    MOV A,TL0 ; sao chép nội dung ô nhớ địa chỉ TL0 vào thanh ghi A
    MOV B,#10 ; nạp giá trị l0 vào thanh ghi B
    DIV AB ; chia số nguyên không dấu 8-bít chứa trong thanh ghi A cho số nguyên không dấu 8-bít chứa trong thanh ghi B
    MOV 10H,B ; sao nội dung của thanh ghi B vào ô nhớ 10H
    MOV B,#10 ; nạp giá trị 10H vào thanh ghi B
    DIV AB ;
    MOV 11H,B ;sao nội dung thanh ghi B vào ô nhớ 11H
    RET
    ;================================================= ====
    BCD_7DOAN: giải mã BCD sang mã LED
    MOV DPTR,#500H ; địa chỉ vùng mã 7 đoạn
    MOV R0,#10H ; vị trí hiển thị dữ liệu trong vùng mã
    MOV R1,#20H ;
    BC: MOV A,@R0 ; di chuyển nội dung ô nhớ có địa chỉ chứa trong thanh ghi R0 vào A
    MOVC A,@A+DPTR ; lấy mã hiển thị trong vùng mã theo vị trí
    MOV @R1,A ; di chuyển nội dung thanh ghi A vào ô nhớ có địa chỉ chứa trong R1
    INC R0 ; tăng R0
    INC R1 ; tăng R1
    CJNE R0,#12H,BC ; so sánh nếu R0 = 12 thì quay lại “BC”
    RET
    ;================================================= ====
    HIEN_THI:
    MOV R0,#20H ; địa chỉ vùng mã hiển thị
    MOV A,#0FDH ; mã quét
    HT: MOV P0,@R0 ; xuất mã hiển thị
    MOV P2,A ; xuất mã quét
    LCALL DELAY ; gọi lệnh delay
    MOV P2,#0FFH ; tắt led chống lem
    INC R0 ; lấy mã hiển thị kế tiếp
    RL A ; chuyển sang LED kế tiếp
    CJNE A,#0F7H,HT ; kiểm tra đã quét xong chưa
    RET
    ;================================================= ====
    DELAY: ; chương trình tạo thời gian trễ 50 us
    MOV 70H,#50 ; nạp giá trị 50 vào ô nhớ thập phân vào ô nhớ 70H
    DJNZ 70H,$ ; giảm ô nhớ 70 đi 1 và nhảy tại chổ nếu 70H chưa bằng 0
    RET

    ORG 500H ; đĩa chỉ lưu mã led 7 đoạn ( 0 => 9)
    DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
    END ; kết thúc
    Last edited by gonsun; 04-05-2012, 00:25.

  • #2
    hĩ hok có ai ư

    Comment


    • #3
      nó hiện 00 là do thanh ghi TL0 đang có giá trị là 00 đây là thanh ghi lưu giá trị đếm của counter, do chưa có xung tác động nên nó là 00, còn việc TMOD là 05 hay 03 thì em xem lại thanh ghi TMOD của kon 89. Đây là mạch đếm sản phẩm nên timer của em phải khởi tạo ở chế độ counter , em xem lại thì rõ tại sao là 05 thôi.

      Comment


      • #4
        em mới học môn này.đoạn lệnh này là thầy cho về nhà nghiên cứu rùi giải thick.em vẫn chưa hiểu lắm anh giải thick rõ hộ em dc hok.TMOD là 05 hay 03 xem lại TMOD của con 89c51.là sao vậy anh.cái này là gí trị của từng con ic ah

        Comment


        • #5
          tức là kêu em đọc kĩ các bit trong thanh ghi tmod ,thì lúc đó em sẽ biết tại sao lại đưa vào 05, 05 tức là set timer0 sang chế độ counter

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          • tuyennhan
            Trả lời cho Tiếng Anh cho người Việt
            bởi tuyennhan
            Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
            Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
            23-02-2025, 07:44
          • vi van pham
            Trả lời cho Tiếng Anh cho người Việt
            bởi vi van pham
            Cám ơn những lời chúc tốt đẹp của em.

            Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

            Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
            23-02-2025, 02:00
          • nhathung1101
            Trả lời cho Tiếng Anh cho người Việt
            bởi nhathung1101
            Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

            Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

            Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
            22-02-2025, 22:18
          • dinhthuong80
            Trả lời cho Tiếng Anh cho người Việt
            bởi dinhthuong80
            Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

            Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
            22-02-2025, 14:51
          • dinhthuong80
            Trả lời cho Tiếng Anh cho người Việt
            bởi dinhthuong80
            Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

            Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
            22-02-2025, 14:39
          • dinhthuong80
            Trả lời cho Tiếng Anh cho người Việt
            bởi dinhthuong80
            Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

            Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
            22-02-2025, 14:28
          • bqviet
            Trả lời cho Tiếng Anh cho người Việt
            bởi bqviet
            Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
            21-02-2025, 20:26
          • mèomướp
            Trả lời cho Tiếng Anh cho người Việt
            bởi mèomướp
            Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
            21-02-2025, 12:32
          • vi van pham
            Trả lời cho Tiếng Anh cho người Việt
            bởi vi van pham
            Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

            Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
            20-02-2025, 21:31
          • bqviet
            Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
            bởi bqviet
            Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
            20-02-2025, 17:22
          Đang tải...
          X