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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nickname2606
    Thành viên tích cực
    • Aug 2008
    • 129

    #676
    mình vừa đi mua tụ cỡ pF nhưng không có
    mà tụ pF, lại còn tụ hóa nữa thì lại càng hiếm (trong mạch reset) ???
    Last edited by nickname2606; 07-03-2009, 17:14.
    Say thanks with any post you think it's helpful...

    Comment

    • tan_cumeo
      Thành viên chính thức
      • Jul 2007
      • 37

      #677
      Tụ hóa ở mạch reset là 10uF, không phải là 10pF. Tụ cỡ pF là tụ sứ. bạn hỏi tụ hóa pF không có là phải.

      Comment

      • hoang_hai
        Thành viên tích cực
        • Feb 2009
        • 108

        #678
        các anh ơi em mới học lập trình keil em ko hiểu họ viết câu lệnh có đoạn là:
        TMOD=0X01;
        WHILE(1)
        {
        TH0=-2500/256;
        TL0=-2500%256;
        TR0=1;
        while(!TF0);
        TF0=0;
        TR0=0;
        F=~F;}
        .....
        con nua...
        các anh giải thích kĩ một chút nhé.em đọc sách nhiều rồi họ viết em ko hiểu gì hết.em cảm ơn rất nhiều

        Comment

        • hoang_hai
          Thành viên tích cực
          • Feb 2009
          • 108

          #679
          sao ko ai giúp em vậy

          Comment

          • trch
            Thành viên tích cực
            • Aug 2007
            • 161

            #680
            bạn phải post code lên thì mọi người mới thấy sai mà giúp được chứ. nói như vậy ai hiểu gì mà giúp.

            Comment

            • trch
              Thành viên tích cực
              • Aug 2007
              • 161

              #681
              [QUOTE=hoang_hai;168927]các anh ơi em mới học lập trình keil em ko hiểu họ viết câu lệnh có đoạn là:
              TMOD=0X01;// khởi tạo chế độ định thời 16 bit của timer 0
              WHILE(1)
              {
              TH0=-2500/256;//lấy phần nguyên của phép chia gán vào TH0
              TL0=-2500%256;// lấy phần dư của phép chia gán vào TL0
              TR0=1;//cho timer 0 chạy
              while(!TF0);//nhảy tại chỗ cho dến khi cờ tràn TF0 được set thì thoát ra.
              TF0=0;// xóa cờ tràn
              TR0=0;// cho timer 0 ngừng
              F=~F;}//Đảo trạng thái của F
              .....
              chú ý TH0,TL0 là giá trị đặt trước của bộ định thời.
              bạn nên tìm hiểu về bộ định thời trong cuốn 8051 của Tống Văn Ôn để hiểu rõ hơn. các kết quả của phép gán bạn nên chuyển về số Hexa sẽ dễ hiểu hơn.
              cố gắng lên nhé.

              Comment

              • hoang_hai
                Thành viên tích cực
                • Feb 2009
                • 108

                #682
                vâng đẻ chút nưa em post lên.nhưng mà.
                ví dụ TH0=-9;
                vậy -9 có ý nghĩa như thế nào trong câu lệnh.
                Last edited by hoang_hai; 07-03-2009, 21:57.

                Comment

                • trch
                  Thành viên tích cực
                  • Aug 2007
                  • 161

                  #683
                  đổi số -9 ra số hexa có gia trị là F7. đó là giá trị dặt trước vào byte cao.khi giá tri timer đến F7 thì sẽ chuyển về 0 đếm lại lên F7 tiếp tục.hiểu rồi chứ.chú ý là giá trị đếm bắt đầu từ byte thấp nha.sau mỗi lần tràn sẽ tăng byte cao lên 1.

                  Comment

                  • tan_cumeo
                    Thành viên chính thức
                    • Jul 2007
                    • 37

                    #684
                    Nguyên văn bởi hoang_hai Xem bài viết
                    vâng đẻ chút nưa em post lên.nhưng mà.
                    ví dụ TH0=-9;
                    vậy -9 có ý nghĩa như thế nào trong câu lệnh.
                    Đặt như vậy để dễ tính thôi. 255-9=246. Bạn có thể thay TH0=-9 bằng lệnh TH0=246.
                    Nghĩa là bạn muốn lặp lại 9 lần thì trong câu lệnh có thể gán TH0=-9 hoặc TH0=246. Cách gán = -9 dễ tính hơn vì mình biết rằng cần lặp lại 9 lần mà không phải tính toán gì cả.

                    Comment

                    • qkhanh
                      Thành viên tích cực
                      • Jan 2008
                      • 778

                      #685
                      giả sử bạn muốn đếm 10ms thì có thể dùng lệnh:
                      mov tho,#high(-10000);byte cao
                      mov tl0,#low(-10000);byte thấp

                      Comment

                      • trch
                        Thành viên tích cực
                        • Aug 2007
                        • 161

                        #686
                        sory nha. lâu rồi quên mất.mình giải thích -9 bi sai rồi.nhu ban Tan đúng đó.

                        Comment

                        • imtuans88
                          Thành viên mới
                          • Sep 2008
                          • 4

                          #687
                          sao tui co vao trinh dich READS51 no toan bao loi vay?

                          Comment

                          • hoang_hai
                            Thành viên tích cực
                            • Feb 2009
                            • 108

                            #688
                            cám on nhiều nhá.các đại ca ơi.nếu mình muốn 1 đèn sáng trong 5s thì phải làm thế nào vậy.em thay đổi delay(nhiều rồi) sao mà nó vẫn nhấp nháy nhanh lắm mặc dù thay đổi giá tri rất lớn (trả lời cho em ý trên trước nhé)
                            .em co ý tưởng như thế này:
                            mới đầu ta có 4
                            chữ A B C D
                            mới đầu D sáng A B C tắt trong 2s
                            rồi C sáng ABD tắt trong 2s
                            B sáng ACD tắt 2s
                            A sáng BCD tắt
                            đay là sáng từ trái qua phải cuối cùng tất cả cùng sáng trong 10s anh nào có thể viết chương trình cho em tham khảo khảo được không
                            viết càng rễ hiểu càng tốt nhá.em mới học VDK mà.chỉ muốn tham khảo một chút thôi

                            Comment

                            • trch
                              Thành viên tích cực
                              • Aug 2007
                              • 161

                              #689
                              tại sao em không dùng thêm 1 biến nhỉ.em chỉ cần tạo chương trình delay với 1 thời gian cố định.chẳng hạn 10ms. muốn được bao nhiêu s thì chỉ cần nhân với giá tri biến của mình trong vòng lặp "for".nếu em đã viết được chương trình delay 1s thì yêu cầu thứ 2 của e ko khó nữa đâu.hiểu rồi chứ. chúc e thành công. Cố gắng lên nhé.

                              Comment

                              • hoang_hai
                                Thành viên tích cực
                                • Feb 2009
                                • 108

                                #690
                                anh có thể viết chương trình trên giúp em được ko.em làm hoài mà không được.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...