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

  • Trong keil C, khai báo tệp header file cho con Phillip 89V51RD2 thì dùng file nào vậy? em tìm mãi file regx51.h như khai báo của ATMEL trong thư mục keilC/Phillip/INC mà ko thấy.
    I Love You, vatili!

    Comment


    • Nguyên văn bởi kachiusa185 Xem bài viết
      Trong keil C, khai báo tệp header file cho con Phillip 89V51RD2 thì dùng file nào vậy? em tìm mãi file regx51.h như khai báo của ATMEL trong thư mục keilC/Phillip/INC mà ko thấy.
      Keil C không có thư viện cho con 89V51RD2, phải tự tạo lấy thư viện thôi
      Attached Files
      Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

      Comment


      • Nguyên văn bởi hiodong Xem bài viết
        Keil C không có thư viện cho con 89V51RD2, phải tự tạo lấy thư viện thôi
        Cảm ơn bác nhiều, Có gì thắc mắc các bác lại giúp em với nhé!
        I Love You, vatili!

        Comment


        • Nguyên văn bởi kachiusa185 Xem bài viết
          Cảm ơn bác nhiều, Có gì thắc mắc các bác lại giúp em với nhé!
          Cám ơn bằng lời cũng tốt nhưng nên có cả " hành động " nữa
          Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

          Comment


          • Nguyên văn bởi kachiusa185 Xem bài viết
            Cảm ơn bác nhiều, Có gì thắc mắc các bác lại giúp em với nhé!
            không nhất thiết phải tạo thư viện cho nó đâu.
            bạn có thể vào đây để nó tự lên web lấy file thư viện


            rồi lấy nó chép vào cùng thư mục project
            câu lệnh #include thì nhớ dùng include tương đối
            #include "p89v51rx2.h" //vì cùng thư mục

            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


            • ngat cua 8051

              hoi ve hoat dong cua cac ngat
              ________________________________________
              #include<reg52.h>
              //ham delay
              //khai bao vi tri ham
              unsigned char i,j=0x01;
              void delay();
              void timer0();
              void delay(unsigned char ms)
              {
              while(ms--)
              {
              //IE = 0x81;
              //cho phep ngat va ngat ngoai 0

              EA = 1; //ngat canh xuong
              EX0=1;
              IP =0x01;
              IT0 = 1;
              TMOD = 0x01;
              TH0 = 0xFC;
              TL0 = 0x18;
              TR0=1;
              while(!TF0);
              TR0 = 0;
              TF0 = 0;
              }
              }
              //ham ngat
              void timer_0(void)interrupt 0 using 0
              {
              for(i=0;i<=8;i++)
              {
              P0 = j<<i;
              delay(100);
              }

              }
              //ham main
              void main (void)
              {
              while(1)
              {
              P2 = 0xff;
              delay(255);
              P2 = 0x00;
              delay(255);

              }

              }
              Cho em hoi co phai sau khi thuc hien xong chuong trinh ngat thi tiep tuc lai tro ve chuong trinh chinh hay ko,va tiep tuc doi ngat tiep theo.Doan code tren la dang thuc hien P2 nhap nhay,khi co ngat ngoai_0 xay ra thi P0 dich led tu phai sang trai,roi tiep tuc tro ve chuong trinh chinh la P2 nhap nhay.Nhung em gap van de la sau khi thuc hien xong ngat thi chuogn trinh lai dung luon va ko quay ve chuong trinh chinh Mong cac anh giup do
              |

              Comment


              • a jindo viết khó hiểu quá!
                mình ít thấy viết khởi tạo ngắt trong hàm con
                Cái nữa là dùng ngắt ngoài (interrupt 0) mà lại đặt tên là timer_0
                Thêm 1 điểm nữa là trong hàm main, jindo gọi hàm delay, trong hàm delay cho chạy timer0; nếu xảy ra ngắt ngoài thì trong hàm ngắt này lại gọi hàm delay lần nữa, trong hàm delay lại cho chạy timer0 lần nữa, ...... Vậy là chạy lòng vòng a?
                Do đó, có thể khiến bộ nhớ con trỏ đầy luôn => vdkhiển treo!
                !e

                Comment


                • cam on anh zemen nhieu anh kho hieu la phai boi vi em moi chi biet ngat ve ly thuyet con thuc te la em chua lam bai nao ve ngat ca nen cung ko biet no hoat dong ra sao nua,neu cac anh co bai ngat nao don gian de hieu viet ve C thi Post len cho em tham khao DZoi .Cam on cac anh,mong dc huong dan nhieu hon
                  |

                  Comment


                  • Bác Có Sơ đồ Nguyên Lý Mạch đo Tốc độ động Cơ Sư Dụng Vi điều Khiển 89s52 Lam ơn Gưi Giúp Em

                    Comment


                    • Viết như vầy thì dễ hiểu hơn này jindo:


                      #include <reg52.h> //thu vien

                      void Ngat_ngoai0(void) interrupt 0
                      {
                      unsigned char i;
                      i=255;
                      while(i--){;} //giam toi i=0;
                      P0=~P0; //lat trang thai port 0
                      }

                      void delay(unsigned char i)
                      {
                      while(i--); //giam toi khi i=0
                      }

                      void main(void)
                      {
                      P0=0;
                      P2=0;
                      IT0 = 1; // ngat canh /INT0 (P3.2)
                      EX0 = 1; // chphep ngat ngoai 0
                      EA = 1; // chphep ngat (chung)
                      while(1)
                      {
                      P2++; //tang Port2 1 bit
                      delay(255);
                      }
                      }
                      !e

                      Comment


                      • moi tim hieu ve keil c

                        #include<reg52.h>
                        //khai bao vi tri cac ham
                        void delay(unsigned char ms);
                        void delay1(unsigned char time);
                        unsigned char i,b,c,e=0x01,z=0x80,a=0xff;

                        //bat dau viet cac ham
                        void delay(unsigned char ms)
                        {
                        while(ms--) //delay 1 ms
                        {
                        TMOD=0x01;
                        TH0=0xFC;
                        TL0=0x18;
                        TR0=1;
                        while(!TF0);
                        TR0=0;
                        TF0=0;
                        };
                        }
                        //bat dau viet ham chinh
                        void main (void)
                        {
                        while(1)
                        {//chuong trinh led tat dan tu phai sang trai
                        for(i=0;i<=8;i++)
                        {
                        P2=a<<i;
                        delay(200);
                        };
                        //chuong trinh led tat dan tu trai samh phai
                        for(i=0;i<=8;i++)
                        {
                        P2=a>>i;
                        delay(200);
                        };
                        //chuong trinh led tat dan tu giua ra
                        for(i=0;i<=8;i++)
                        {
                        b=a>>i;
                        c=a<<i;
                        P2=b|c;
                        delay(200);
                        };
                        //chuong trinh tat dan tu 2 ben vao giua
                        for(i=0;i<=8;i++)
                        {
                        b=a>>i;
                        c=a<<i;
                        P2=b&c;
                        delay(200);
                        };
                        //sang dan tu ngoai vao roi tat dan tu giua ra
                        for(i=0;i<=8;i++)
                        {
                        b=a>>i;
                        c=a<<i;
                        P2=b^c;
                        delay(200);
                        };
                        //chuong trinh 1 led sang dan tu phai sang
                        for(i=0;i<=8;i++)
                        {
                        b=e<<i;
                        P2=b;
                        delay(200);
                        };
                        //chuong trinh 1 led sang tu trai sang
                        for(i=0;i<=8;i++)
                        {
                        b=z>>i;
                        P2=b;
                        delay(200);
                        };
                        //DOAN NAY BI BAO LOI MONH CAC ANH GIAI THICH GIUP CHO EM
                        /*for(1=0;i<=8;i++)
                        {
                        b=e<<i;
                        c=z>>i;
                        P2=b|c;
                        delay(200);
                        };*/
                        };
                        }
                        ========== Cac anh giai thich dum em tai sao doan cuoi no lai bao loi la:
                        DICH LED.C(76): error C213: left side of asn-op not an lvalue
                        Target not created
                        ==========Voi chuong trinh tren nho cac giup cho viec lap trinh nut nhan,nhan nut nao thi tung chuong trinh voi nut nhan do duoc chay,Em thu lap trinh roi nhung ko chay dc mong cac anh giup do
                        |

                        Comment


                        • /*for(1=0;i<=8;i++)
                          {
                          b=e<<i;
                          c=z>>i;
                          P2=b|c;
                          delay(200);
                          };*/
                          Bạn lỗi ngay chỗ in đậm. Hãy sửa 1 thành i
                          Một bông hồng cho những ai đang còn mẹ,
                          Đang còn mẹ để lòng vui sướng hơn ..

                          Comment


                          • chào các bác.em là thành viên mơi toanh rât mê vi điều khiển.đang học lập trình cho vdk với ngôn ngư C.đang đọc dần các trang của chủ đề nhưng chưa đọc hết đươc nên tìm chưa ra cái mình cần.Chả là em đang làm bài tâp C cho vdk đếm sự kiện hiển thi lên 4 Led 7 thanh.bác nào chi giup em với(có chương trình tham khảo càng tôt)hoặc dã post lên rồi thi chi chổ cho em với nhe!cam ơn các bác nhiều!

                            Comment


                            • Bạn hoctro89xxx ơi.Cho mình xin Keil 8. đi.Link của bạn mình vô mà ko cho download.Bạn up lên trang khác đuợc không.Cám ơn nha

                              Comment


                              • cac anh oi gip em lam the nao giao tiep voi ban phim hex va gui no len lcd 20x1
                                thay giao em bat viet chuong trinh bang c su dung 89c51

                                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