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

  • mọi người ơi sửa hộ cái bài trong sách cái

    mấy cái tài liệu trong sách VDK sai linh tinh, ai sửa dùm cái bài đếm sản phẩm này cái(hiển thị 4 LED ngắt = sườn âm)


    #include<reg52.h>
    #include<stdio.h>
    #include<math.h>
    unsigned char M[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
    unsigned char donvi,chuc,tram,nghin;
    long int num,j;
    void tre (unsigned long int t)
    {
    unsigned long int i;
    for (i=1;i<=t;i++)
    }
    void main (void)
    {
    nghin=num/1000;
    tram=(num%1000)/100;
    chucnum%1000)%100)/10;
    donvinum%1000)%100)%10;
    for (j=1;j<=100;j++)
    {
    P1=0xF7;
    P2=M[donvi];
    tre(100);
    P1=0xFB;
    P2=M[chuc];
    tre(100);
    P1=0xFD;
    P2=M[tram];
    tre(100);
    P1=0xFE;
    P2=M[nghin];
    tre(100);
    P1=0xFF;
    }
    }
    voi main(void)
    {
    IE=0x84;
    IT1=1;
    num=0;
    while(1)
    {
    hienthi();
    }
    }
    void ngatngoai_1(void) interrupt 2
    {num++};

    Comment


    • Mới xem qua thấy 2 main là sao, không thấy while(1) ở đâu luôn, có thời gian mình sẽ xem tiếp giúp bạn ...
      dientuvietnam.net

      Comment


      • tôi thấy trên cửa sổ Keil C, hình đầu tiên có chữ "hello" có bắt buộc phải vào
        "Keil C_HELLO" k0 ? xin các vị chỉ giúp. Xin cảm ơn!
        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


        • Xin các cao nhân chỉ giúp chuong trình "HELLO" có ý nghĩa gì với các chuong trình khác viết sau này k0 ạ!
          Last edited by daominhchien; 04-09-2008, 10:23.
          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ói chung các bác phải học C trước, chứ cứ bập vào lập trinh VDK luôn thì khó giải thích lắm

            Comment


            • mấy pác thảo luận vấn đề này xông xáo we chừng. e vừa tập tỏm cái keil này các pác ạ, pác nào hướng dẫn giúp e kỹ hơn với, tụi bạn đưa tài liệu đọc chẳng hiểu j cả. từ đó e mới rút ra kinh nghiệm là phải có người hướng dẫn cái này mới mong...Ví dụ như các pác post một bài tập of pác rồi chỉ vài đường cho e với. hy vọng các pác giúp cho. cảm ơn các pác nhiêu2

              Comment


              • nếu bạn chưa học c lần nào thì nên tìm tài liệu về c đọc trước cho dễ nắm bắt về sau!
                SỰ HỌC LÀ MÃI MÃI......!!!!

                Comment


                • Bạn tallht nói đúng: Các bạn phải biết chút ít về lập trình C thì làm việc với Keil C mới dễ được. Ít nhất thì bạn cũng phải hiểu được các khai báo, các kiểu dữ liệu, và một số lệnh if, for ...

                  Comment


                  • Trích "mấy cái tài liệu trong sách VDK sai linh tinh, ai sửa dùm cái bài đếm sản phẩm này cái(hiển thị 4 LED ngắt = sườn âm)" của bạn diecthu: Tôi tặng bạn chương trình bộ đếm tôi đã thử chạy thực tế rất tốt. Dùng ngắt ngoài 1 làm đầu vào đếm và ngắt ngoài 0 làm đầu vào reset. hiển thị ra Led 7 thanh. Hãy so sánh với chương trình của bạn sẽ thấy bạn sai ở đâu:

                    Comment


                    • Chương trình:
                      #include<AT89x52.h>
                      #define L0 P2_5
                      #define L1 P2_4
                      #define L2 P2_3
                      #define L3 P2_2
                      #define L4 P2_1
                      #define L5 P2_0
                      int a[]={0x12,0x7e,0x0b,0x4a,0x66,0xc2,0x82,0x7a,0x02,0x4 2};
                      int tang,temp,trieu,tnghin,nghin,tram,chuc,donvi,i,j=0 ;
                      void delay_us(x){
                      int time3,time4;
                      for(time3=0;time3<x;time3++)
                      for(time4=0;time4<1;time4++){}
                      }
                      void init(){
                      IE=0x85;
                      IT1=1; //Lenh nay kha quan trong de dung vao bo dem
                      IT0=1;
                      tang=0;
                      }
                      void ngatngoai_1(void) interrupt 2 using 1{
                      tang++;
                      }
                      void ngatngoai_0(void) interrupt 0 using 2{
                      tang=0;
                      }
                      void display(){
                      P1=trieu;
                      L0=0;
                      delay_us(100);
                      L0=1;
                      P1=tnghin;
                      L1=0;
                      delay_us(100);
                      L1=1;
                      P1=nghin;
                      L2=0;
                      delay_us(100);
                      L2=1;
                      P1=tram;
                      L3=0;
                      delay_us(100);
                      L3=1;
                      P1=chuc;
                      L4=0;
                      delay_us(100);
                      L4=1;
                      P1=donvi;
                      L5=0;
                      delay_us(100);
                      L5=1;
                      }
                      void convert(){
                      trieu=tang/1000000;
                      temp=tang%1000000;
                      tnghin=temp/100000;
                      temp=temp%100000;
                      nghin=temp/1000;
                      temp=temp%1000;
                      tram=temp/100;
                      temp=temp%100;
                      chuc=temp/10;
                      donvi=temp%10;
                      for (i=0;i<=9;i++){
                      if (i==trieu) trieu=a[i];
                      if (i==tnghin) tnghin=a[i];
                      if (i==nghin) nghin=a[i];
                      if (i==tram) tram=a[i];
                      if (i==chuc) chuc=a[i];
                      if (i==donvi) donvi=a[i];
                      }
                      }
                      void main(void){
                      init();
                      P2 = 0xff;
                      P1 = 0xff;
                      while(1){
                      convert();
                      display();
                      }
                      }

                      Comment


                      • các bác ơi ai co chương trình delay miligiay chính xác không post lên gium em với
                        cảm ơn nhiều
                        bac jackychan ơi chương trình delay cua bác nếu nạp x =100 thì trể được bao nhiêu hả bác
                        Last edited by yeubom1; 17-09-2008, 11:24.

                        Comment


                        • cac anh oi co tai lieu tieng anh chuyen nghanh ko ai co gui cho em voi hell me

                          Comment


                          • Bạn chụp hình màn hình bằng nút print screen trên keyboard rùi paste vào paint.lưu lại rùi nén file đó, up lên đây cho mọi người xem!(chọn chức năng trả lời chi tiết!)
                            @BẠN NHỚ DÙNG TIẾNG VIỆT CÓ DẤU TRÊN DIỄN ĐÀN NHA!
                            SỰ HỌC LÀ MÃI MÃI......!!!!

                            Comment


                            • Các anh em ai có bài về đo gia tốc của 1 vật pots lên cho mình với nhé mình đang cần.Cảm ơn nhìu nhá.Em nghĩ mãi ko ra cách viết.

                              Comment


                              • Trích: "bac jackychan ơi chương trình delay cua bác nếu nạp x =100 thì trể được bao nhiêu hả bác"
                                Cái đoạn delay đó là tôi làm để chuyển từ us sang ms cho tiện
                                void delay_us(x){
                                int time3,time4;
                                for(time3=0;time3<x;time3++)
                                for(time4=0;time4<1;time4++){}
                                }

                                Nếu nạp x=100 thì trể được khoảng 100us
                                Nếu sửa lại một ít ta sẽ được delay_ms()
                                void delay_ms(x){
                                int time3,time4;
                                for(time3=0;time3<x;time3++)
                                for(time4=0;time4<100;time4++){}
                                }

                                Nói chung là nó ko chính xác đâu bạn ah.

                                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