Thông báo

Collapse
No announcement yet.

HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]

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

  • xin chào các Bác trong diễn đàn .
    có Bác nào biết cách khởi động và dùng ngát timer2 của con 89s52 ?
    |

    Comment


    • Chào mọi người! Mọi người cho em hỏi lệnh nào là "quay trái ( rotate left) và "quay phải ( rotate right ) " trong keil C. em muốn quay trái thanh chứa ACC thì làm sao? Cảm ơn mọi người nhiều!

      Comment


      • cách nap cho vđk

        mình đã viết xong chương trình nhưng còn phần nạp thì không được, dù mình đã mạch nạp các file dịch từ các file ám thi ok nhung nạo các file hex dịch từ keilc thi không được

        Comment


        • Nguyên văn bởi dvnccbmacbt Xem bài viết
          Chào mọi người! Mọi người cho em hỏi lệnh nào là "quay trái ( rotate left) và "quay phải ( rotate right ) " trong keil C. em muốn quay trái thanh chứa ACC thì làm sao? Cảm ơn mọi người nhiều!
          Toán tử dịch trái trong C là << và dịch phải là >>. Còn với phép quay thì bạn có thể biến báo từ đó mà ra. Ví dụ như dùng toán tử | (OR).
          AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
          Xem thêm tại Online Store ---> Click here
          Mob: 0982.083.106

          Comment


          • Anh VNarmy có thể cho em xin một cái code mẫu hay 1 ví dụ dơn giản được không? Em không rõ cú pháp lắm. Xài >> hay << không được! Cảm ơn anh trước.

            Comment


            • Chào bạn.

              Ví dụ: A = 0x01; //0000 0101

              Thì lệnh:
              Code:
              B = A<<1;   // B = 0000 1010 , dịch sang trái 1 bit
              C = A>>1;   // C = 0000 0010 , dịch sang phải 1 bit
              Bạn có thể hiểu:
              Code:
              [latex] A>>i = A*2^{-i} [/latex]  //Toán tử dịch phải >>
              [latex] A<<i = A*2^{i} [/latex]   // Toán tử dich trái <<
              Bạn cần chú ý đến việc chuyển đổi kiểu dữ liệu nữa, dùng A>>i thì những bit thêm vào bit cao nhất sẽ là 0, và bit thấp bị dịch đi sẽ mất. Và A<<i thì tương tự. (Bạn xem ví dụ trên là hiểu).

              Chúc bạn thành công.
              Technical sale at WT Microelectronics S'pore
              Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
              Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

              Comment


              • Phép quay thì trong C ko có. Em có thể dùng inline để cài ASM vào hoặc viết đơn giản như sau:
                Code:
                unsigned char RotateRight(unsigned char A, i){
                unsigned char tmp1, tmp2;
                tmp1=A;
                A>>=i;
                tmp2=A;
                A=tmp1;
                A<<=(8-i);
                A|=tmp2;
                return(A);
                }
                Phép quay trái em có thể tự viết nhé.
                AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                Xem thêm tại Online Store ---> Click here
                Mob: 0982.083.106

                Comment


                • Các bác cho em hỏi cai header của con 89s52 la ở file nào? em viết chương trình lấy header của 89X52, dịch ra file hex, nạp vào ok nhưng chạy không đúng. Mong các bác chỉ giúp. Cảm ơn rất nhiều!

                  Comment


                  • bạn oi câu lệnh dừng nop của asm tương đương với bên c la gì vậy

                    Comment


                    • while(0);
                      nhưng số chu kì là nhiều hơn.

                      Sông dài, Thuyền lớn, Biển rộng bao la.
                      Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

                      Comment


                      • Nguyên văn bởi sharps Xem bài viết
                        bạn oi câu lệnh dừng nop của asm tương đương với bên c la gì vậy
                        Lệnh trong C là: _nop_();
                        AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                        Xem thêm tại Online Store ---> Click here
                        Mob: 0982.083.106

                        Comment


                        • Nguyên văn bởi VNarmy Xem bài viết
                          Lệnh trong C là: _nop_();
                          Nếu dùng Keil C nhớ khai báo #include "intrins.h" mới dùng được hàm _nop_();

                          Comment


                          • Nguyên văn bởi longviet
                            bac nao cho tui cai duong link de dơn load ban KeilC v 7.08 co crak nha .
                            http://www.esnips.com/web/Deveplopme...icrocontroller

                            Comment


                            • cho hỏi cách chuyển từ C sang asm trong phần mềm keil ?

                              Comment


                              • Nguyên văn bởi khduc Xem bài viết
                                cho hỏi cách chuyển từ C sang asm trong phần mềm keil ?
                                Khi chạy debug Ctrl+F5, bạn vào menu View-Assembly Windows, mã hợp ngữ sẽ tương ứng với mã C bên chương trình chính!
                                Bạn bấm F11 để debug từng lệnh nhé!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X