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

  • Thế không có bác nào xem hộ em với à ? Chán quá cơ !!!!!

    Comment


    • Nguyên văn bởi wish_blue07 Xem bài viết
      Chào các bác nhà ta , mình có vấn đề cần nhờ giúp đỡ . Mình đang làm mạch trái tim , mình có chút vấn đề là : mình muốn Port 1, Port 3,Port 2, điều tạo ra 1 xung giống nhau trong cùng 1 khoảng thời gian như nhau.Mình viết đoạn chương trình này nhưng khi mô phỏng Protues thấy xung tạo ra không được trùng nhau , xung trước xung sau.Mong các bac chỉ giáo cho vài đường để kiếm thêm kinh nghiệm
      Code:
      .....
      ...
      for(i=0;i<5;i++)
      {
      P2=0x00;P1=0x00;P3=0x00;delay(2000);
      P2=0xff;P1=0xff;P3=0xff;delay(2000);
      }
      hoặc code khác:
      for(i=0;i<5;i++)
      {
      P1=0x00;delay(2000);
      P1=0xff;delay(2000);
      P2=0x00;delay(2000);
      P2=0xff;delay(2000);
      P3=0x00;delay(2000);
      P3=0xff;delay(2000);
      }
      bạn lam thế này nhé:

      for(i=0;i<5;i++)
      {
      P1=0x00;P2=0x00;P3=0x00;delay(2000);
      P1=0xff;P2=0xff;P3=0xff;delay(2000);
      }
      chuc thành công!
      Tôi thích cái cầu kỳ của kỹ thuật
      Nhưng ghét mọi phức tạp trong tính cách con người

      Comment


      • hoặc thế này cũng đc
        for(i=0;i<5;i++)
        {
        P1=P2=P3=0x00;delay(2000);
        P1=P2=P3=0xff;delay(2000);
        }
        Tôi thích cái cầu kỳ của kỹ thuật
        Nhưng ghét mọi phức tạp trong tính cách con người

        Comment


        • 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


          • sao ko ai trả lời vậy giup em với.

            Comment


            • Nguyên văn bởi alasca Xem bài viết
              các bạn hãy vào đây mà download xuống nhé.Trong này có một số tài liệu về 8051 có bài tập và ví dụ với từng chương LCD, ADC,DAC, keyboad....rất cụ thể bằng ASM và C do mình sưu tầm được.


              mail: nguyendungvidieukhien@gmail.com

              user: nguyendungvidieukhien
              pass: vidieukhien


              Vào mục thư nháp mà download xuống nhé 100% nguyên chất. Mong anh em giữ gìn cho mọi người
              dùng chung. Ai có gì hay Xin góp phần nữa chứ heeeeee
              Tôi vào xem thử mà lằng nhằng ko mở xem đc, bạn hướng dẫn kỹ hơn chút
              Tôi thích cái cầu kỳ của kỹ thuật
              Nhưng ghét mọi phức tạp trong tính cách con người

              Comment


              • nhờ chỉ dẫn cài Protes

                Tôi cài proteus mãi mà ko đc, các licence cứ bị khóa, proteus ko chạy đc.
                tôi ko biết nhiều về các phầm mềm-> cho tôi hỏi file có đuôi".DSN" có fải để dùng trên proteus ko?
                Attached Files
                Last edited by daominhchien; 09-03-2009, 00:17. Lý do: sua lai
                Tôi thích cái cầu kỳ của kỹ thuật
                Nhưng ghét mọi phức tạp trong tính cách con người

                Comment


                • Nguyên văn bởi hoang_hai Xem bài viết
                  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
                  TMOD=0X01;// time0 mode1
                  WHILE(1)// lăp vo han
                  {TH0=-2500/256;// nap gia tri ban dau
                  TL0=-2500%256;// chia để lấy tần so sung (tuy thach anh)
                  TR0=1;// time0 chạy
                  while(!TF0);chờ cờ tràn
                  TF0=0;// xóa bỏ cờ
                  TR0=0;// nghỉ time0
                  F=~F;}//đảo F, F phải đc bật,định nghĩa khi khai báo
                  Tôi thích cái cầu kỳ của kỹ thuật
                  Nhưng ghét mọi phức tạp trong tính cách con người

                  Comment


                  • tôi là thợ sửa TV,ampli cũng ko biết nhiều về phần mềm nếu có sai đâu anh em góp ý gúp đỡ thêm!
                    Tôi thích cái cầu kỳ của kỹ thuật
                    Nhưng ghét mọi phức tạp trong tính cách con người

                    Comment


                    • Nếu bạn gọi #include<P89V51RX.h>
                      mà bị lỗi thì hãy vào INC của KielC ma sửa thư viện này là xong thui

                      Comment


                      • Nguyên văn bởi daominhchien Xem bài viết
                        tôi là thợ sửa TV,ampli cũng ko biết nhiều về phần mềm nếu có sai đâu anh em góp ý gúp đỡ thêm!
                        tải cái cack này về mà dùng
                        trong này có cả licence key, máy hỏi key thì trỏ vào file MAXIM_LICENCE.lxk sau đó cài đặt bình thường. cài xong rồi dùng file patch.exe để bẻ *****. đảm bảo chạy được. nếu máy có nối mạng thì ngắt kết nối mạng, bản patch này chỉ có tác dụng với proteus7.1
                        http://www.mediafire.com/download.php?mjzkmnjw5av

                        Comment


                        • cảm ơn tất cả mọi người nha.....

                          Comment


                          • Xin hỏi các Bác,Keil C là viết bằng ngôn ngữ C rồi,nhưng em nghe nói nó cơ thể viết bằng ngôn ngữ Assemler nữa phải không mấy Bác,nếu viết đc thì viết bình thường hay phải làm gì khác không để có thể mô phỏng đc trên Keil C luôn.Mong mấy bậc tiền bối chỉ giáo,em xin cảm ơn trước nhé.

                            Comment


                            • các bác giúp em với!

                              các bác giúp em tìm lỗi sai của cái này với
                              #include <REGX51.H>
                              #include <stdio.h>
                              #define vang;
                              #define den;
                              #define xanh;
                              int i;
                              sbit xanh = P1^2;
                              sbit vang = P1^1;
                              sbit den = P1^0;
                              void delay(int t)
                              {
                              for(i=1;i<=t;i++);
                              }
                              void main (void)
                              {
                              IE = 0x85;
                              while(1)
                              {
                              vang = 1;
                              delay(10000);
                              vang = 0;
                              delay(10000);
                              }
                              void ngat0(void) interrupt 0
                              {
                              for(i = 1;i<= 10;i++)
                              {
                              den = 1;
                              delay(10000);
                              den = 0;
                              delay(10000);
                              }
                              }
                              void ngat1(void) interrupt 3
                              {
                              for(i = 1:i<=5;i++)
                              {
                              xanh =1;
                              delay(10000);
                              xanh = 0;
                              delay(10000);
                              }
                              }
                              }
                              cảm ơn các bác trước nhe !
                              anhluong

                              Comment


                              • hehe. viết thì đúng nhưng chưa chính xác.
                                #define vang
                                #define den
                                #define xanh
                                for(i = 1;i<=5;i++)
                                vậy mới đúng.
                                void delay(int t);
                                hàm này không chính xác. kiểu int chỉ có 8bit tức giá trị đếm lên 255 thôi.cho nên
                                delay(10000); là không chính xác.
                                muốn lớn hơn có thể dùng unsigned long int cho bự. vậy nha.đọc độ lớn của biến cho kĩ nha. bảo trọng.

                                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