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

                                • 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