Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • led sáng lâu là do thời gian trễ nhiều hay ít. Tất nhiên trong chương trình của bạn có 1 chương trình con delay. Nếu bằng một cách nào đó, thay đổi giá trị mặc định ban đầu trong delay thì thời gian delay cũng thay đổi: VD nhé
    delay:
    - mov r1,bien_delay
    --d1: mov r2,#255
    ---d2:djnz r2,d2
    -- --djnz r1,d1
    --ret
    Nếu bằng phím bấm, bạn điều chỉnh giá trị của bien_delay (tăng hoặc giảm) thì thời gian trễ thay cũng thay đổi(tăng hoặc giảm).VD:
    scan_button:
    ----- JB p3.0,exit
    ----- INC bien_delay ; INC lệnh tăng giá trị thanh ghi (ô nhớ ) thêm 1 đơn vị.
    -exit: ; DEC: lệnh giảm .
    --ret
    Chúc bạn thành công.

    Comment


    • trc hết xin cảm ơn bạn.mình làm theo cách bạn và viết chtrinh ra thế này:
      tạo sóng tại p1.0,nhấn nút p1.7 làm tăng trễ và nhấn p1.6 thì giảm.mình mô phong bằng Proteus nhưng lại k thấy thay đổi
      include 8051.mc
      main:
      MOV 20H,#5 ;DELAY 0.25S
      MOV 21H,#10 ;DELAY .5S
      MOV 22H,#15 ;DELAY .75S
      MOV 23H,#20 ;DELAY 1S
      MOV R1,#21H
      MOV A,@R1
      LOOP:
      SETB P1.0
      ACALL KIEMTRA
      ACALL DELAY
      CLR P1.0
      ACALL KIEMTRA
      CALL DELAY
      SJMP LOOP
      KIEMTRA:
      JNB P1.7,TTUC1
      TTUC1: INC R1
      MOV A,@R1
      JNB P1.6,TTUC2
      TTUC2:
      DEC R1
      MOV A,@R1
      RET
      DELAY:
      MOV R5,A
      LAP2:MOV R6,#100
      LAP1:MOV R7,#250
      DJNZ R7,$
      DJNZ R6,LAP1
      DJNZ R5,LAP2
      RET
      END
      |

      Comment


      • Code:
        KIEMTRA:
        JNB P1.7,TTUC1
        TTUC1: INC R1
        MOV A,@R1
        JNB P1.6,TTUC2
        TTUC2:
        DEC R1
        MOV A,@R1
        RET
        Thứ 1:Câu hỏi đặt ra là nếu R1 tăng quá giá trị 23h thì chuyện gì xảy ra? Có lẽ trường hợp của bạn rơi vào tình huống này.
        Thứ 2: Khi bạn bấm 1 phím, VD phím tăng chẳng hạn, thì vi điều khiển đã thực hiện kiểm tra được bao nhiêu lần bạn bấm phím? Khi bạn bấm phím, ít ra là bạn đấ giữ phím trong khoảng 20ms rồi. Bạn thử tưởng tượng xem con trỏ R1 đã tăng bao nhiêu đơn vị khi 1 lần bạn bấm ?
        Thứ 3: Đừng dùng A vào công việc delay, nên thay bằng 1 thanh ghi R nào đó.
        Thứ 4: Chương trình kiểm tra phím không đúng.
        Bạn thử kiểm lại nhé:
        ---------------------Nếu phím chân P1.7 được bấm thì........................
        ---------------------Nếu phím chân P1.7 không được bấm thì..............
        Hãy thật bình tĩnh, xem xét cẩn thận ý mình vừa nói bạn sẽ tìm được cái sai.
        Last edited by mrcuongcon; 23-11-2008, 19:52.

        Comment


        • Ban quynh cho to hoi lâ tai sao trong chounh trinh j<120 ko?>
          |

          Comment


          • có aj có sách j về vi điều khiển họ 8051 không?send ch
            o e mới.e mới học về vi điều khiển nên rất cần.mong các tiên bối jup sức.mail của e là
            :mylove_forever_9x_thichtien@yahoo.com

            Comment


            • tài liệu tiếng việt thì em xin còn tiếng anh thì em chiu em không bít tiếng anh

              Comment


              • http://dientuvietnam.net/forums/show...ghlight=tallht
                bác vào trang này nhá!
                SỰ HỌC LÀ MÃI MÃI......!!!!

                Comment


                • bạn dùng delay bình thường đi chớ kiểm tra cờ bận đó khó lắm.Mình cũng từng mô phỏng như bạn mà chưa được

                  Comment


                  • Nguyên văn bởi DungNTvt Xem bài viết
                    Các bác giúp em với. Hiện nay em đang làm bài tập về LCD mô phỏng hiện chữ lên màn hình dùng chương trình mô phỏng Proteus. Em đã mô phỏng 2 trường hợp của chương trình con WAIT_LCD
                    Trường hợp 1 em đợi khoảng thời gian mù ( dùng delay ) thì chữ hiện lên LCD bình thường.
                    Trường họp 2 em đợi cho cờ BF (ACC.7) từ mức 1 xuống mức 0. Nhưng cờ không thể xuống mức 0 được ( em không hiểu tại sao ??) và chương trình không thể thoát khỏi chương trình con được.
                    Đây là chương trình và của em. Mong các bác tìm giúp em lỗi sai ở cờ BF (ACC.7). Em có đính kèm các file chương trình + mô phỏng ở dưới.
                    Em cảm ơn nhiều.


                    org 0000h
                    DB0 BIT P0.0
                    DB1 BIT P0.1
                    DB2 BIT P0.2
                    DB3 BIT P0.3
                    DB4 BIT P0.4
                    DB5 BIT P0.5
                    DB6 BIT P0.6
                    DB7 BIT P0.7
                    RW BIT P3.5
                    RS BIT P3.6
                    E BIT P3.7
                    MAIN:

                    LCALL DELAY
                    LCALL INIT_LCD
                    LCALL CLR_LCD
                    MOV A,#'D'
                    LCALL WRITE_TEXT
                    MOV A,#'U'
                    LCALL WRITE_TEXT
                    MOV A,#'N'
                    LCALL WRITE_TEXT
                    MOV A,#'G'
                    LCALL WRITE_TEXT

                    ;************************************************* *************
                    ; Delay program
                    ;************************************************* *************
                    DELAY:
                    PUSH 7
                    PUSH 6
                    MOV R7,#1
                    RE1: MOV R6,#2
                    DJNZ R6, $
                    DJNZ R7,RE1
                    POP 6
                    POP 7

                    RET

                    ;************************************************* **************
                    ; Start LCD
                    ;************************************************* **************
                    INIT_LCD:
                    CLR RS
                    CLR RW
                    MOV P0,#38h
                    SETB E
                    CLR E
                    LCALL WAIT_LCD
                    CLR RS
                    CLR RW
                    MOV P0,#0Eh
                    SETB E
                    CLR E
                    LCALL WAIT_LCD
                    CLR RS
                    CLR RW
                    MOV P0,#06h
                    SETB E
                    CLR E
                    LCALL WAIT_LCD
                    RET

                    ;************************************************* **************
                    ; Clear LCD
                    ;************************************************* **************
                    CLR_LCD:
                    CLR RW
                    CLR RS
                    MOV P0,#01h
                    SETB E
                    CLR E
                    LCALL WAIT_LCD
                    RET

                    ;************************************************* *************
                    ; Write the context to LCD
                    ;************************************************* ************
                    WRITE_TEXT:
                    CLR RW
                    SETB RS
                    MOV P0,A
                    SETB E
                    CLR E
                    LCALL WAIT_LCD
                    RET

                    ;************************************************* *************
                    ; Test busy flat ( wait lcd program )
                    ;************************************************* ************
                    WAIT_LCD:
                    ; lcall delay
                    ; CLR E ;Start LCD command
                    CLR RS ;It's a command
                    SETB RW ;It's a read command
                    MOV P0,#0FFh ;Set all pins to FF initially
                    SETB E
                    MOV A,P0 ;Read the return value
                    JB ACC.7,$ ;If bit 7 high, LCD still busy
                    CLR E ;Finish the command
                    CLR RW ;Turn off RW for future commands
                    RET
                    END
                    bạn dùng delay bình thường đi chớ kiểm tra cờ bận đó khó lắm.Mình cũng từng mô phỏng như bạn mà chưa được

                    Comment


                    • ;********************************************
                      READY:SETB BUSY
                      SETB RW
                      CLR RS
                      HERE:
                      CLR ENB
                      SETB ENB
                      JB BUSY,HERE
                      RET
                      ;********************************************
                      Bạn so sánh module kiểm tra cờ bận của mình nhé, hơi khác của bạn chút. Mình làm rất nhiều với nó, thấy nó thực sự ổn định. Trong quyển Họ vi điều khiển 8051 của Nguyễn Tăng Cường đã nói rất rõ.
                      Nhưng làm với Proteus chỉ là giả lập thôi, thực tế thì dường như cái LCD nó chạy khác hẳn. Có mạch là tốt nhất, tất nhiên nên chạy giả lập dc thì hay hơn.
                      Last edited by mrcuongcon; 27-11-2008, 23:58.

                      Comment


                      • ban nào cho mình xin mạch nạp 89c52 với

                        Comment


                        • Mạch AT89c52, tốt nhất nên đi mua bạn à, đến PNLAB trên đường Lương Định Của mà mua, cũng kô đắt lắm . Tại sao bạn kô dùng AT89s52, con chíp này làm mạch nạp dễ thôi, kô như con AT89c52

                          Comment


                          • cho minh hoi khi thi hanh chuong trinh trong ram noi thi chan ALE va PSEND duoc ket noi nhu the nao
                            cam on
                            |

                            Comment


                            • Em muốn tìm hiểu cấu trúc hoạt động ngắt của ONCHIP 8051. Mọi người giúp em với???

                              Comment


                              • cac ban co gang nha , hay noi nhieu de chun toi duoc mo mang kien thuc!!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • vi van pham
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi vi van pham
                                  Đồng ý với Bqv.
                                  50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
                                  - Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...
                                  hôm nay, 08:09
                                • mèomướp
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi mèomướp
                                  Dạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
                                  hôm nay, 06:19
                                • bqviet
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi bqviet
                                  Cuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
                                  24-01-2025, 19:40
                                • bqviet
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi bqviet
                                  Bqv phải vào ngay để tán đồng với bài viết trên của bạn. Chỉ bàn về kỹ thuật, thiết bị máy móc của hãng dù danh tiếng vẫn có thể xảy ra những chuyện ngoài dự kiến, thậm chí những chuyện tưởng như không bao giờ có thể xảy ra....
                                  24-01-2025, 19:31
                                • dinhthuong80
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi dinhthuong80
                                  (ĐT chia sẻ MPPT này, với mong muốn rằng, chúng ta hãy tự tin lên, hãy tự hào là người VN, đừng quá tin vào người khác, đừng quá thần tượng họ, cần kiểm tra thực chứng chứ không nên cứ cho các thiết bị thông minh, cao siêu là hoàn hảo)
                                  24-01-2025, 12:08
                                • dinhthuong80
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi dinhthuong80
                                  Dưới đây là hình ảnh thực:

                                  (bị phạm con tụ pi C17 (phía trên IC U3/DIP08: văng mất xác!)

                                  (hàn vào vị trí C17 tụ pi 27nF ( giá trị phỏng đoán từ 10-100nF!), mạch vẫn chạy như trước khi cạy keo)...
                                  24-01-2025, 12:05
                                • dinhthuong80
                                  Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                  bởi dinhthuong80
                                  ĐT đã mạnh dạn mail thử cho hãng SRNE, họ trả lời là nó dùng nhiệt điện trở ở bên trong mạch như sau:

                                  "Our street light controller product triggers high temperature protection based on internal thermistor sampling''

                                  Thấy hơi lo lắng vì kiến thức điện tử...
                                  24-01-2025, 11:39
                                • mèomướp
                                  Trả lời cho tìm mua đồng hồ vạn năng
                                  bởi mèomướp
                                  Dạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
                                  https://vn.shp.ee/dWYVgq7
                                  21-01-2025, 12:48
                                • vi van pham
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi vi van pham
                                  Bác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
                                  Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...
                                  21-01-2025, 11:55
                                • nguyendinhvan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi nguyendinhvan
                                  Bây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
                                  Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...
                                  21-01-2025, 00:47
                                Đang tải...
                                X