đo dòng 1 chiều sử dụng 8051

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • trungtin1232
    Thành viên mới
    • Jan 2010
    • 14

    #1

    đo dòng 1 chiều sử dụng 8051

    đây là code của thằng bạn nó gửi cho em, nhưng không có hình
    *********/
    #include<reg52.h>
    #include<stdio.h>
    #include<math.h>
    //khai bao cac bit
    sbit adc_int=P2^5;
    sbit adc_rd=P2^3;
    sbit adc_rw=P2^4;
    sbit led1=P2^0;
    sbit led2=P2^1;
    sbit led3=P2^2;
    sbit thang1=P1^7;
    sbit thang2=P1^6;
    sbit thang3=P1^5;
    float volt,ampe;
    unsigned char chuc,donvi,phan1,phan2,nguyen,phan;
    unsigned int x;
    unsigned char M[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x02,0x82,0xF8,0x80,0x9 0}; //array use dp
    unsigned char M1[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x1 0}; //arrray use dp
    void delay(delay) //delay use timer 0 mode 2
    {
    TMOD=0x02;
    TH0=TL0=-100;
    TR0=1;
    while(!TF0);
    TF0=0;
    TR0=0;
    }
    void dieukhien_adc(void)//control adc
    {
    adc_rw=0;
    delay(2);
    adc_rw=1;
    while(adc_int);
    adc_rd=0;
    x=P3;
    adc_rd=1;
    }

    void hienthi(void)//scan led
    {
    unsigned int i;
    ampe=ampe*10;
    ampe=(int)(ampe);
    nguyen=ampe/10;
    phan=(int)(ampe)%10;
    phan1=phan/10;
    phan2=phan%10;
    if((nguyen==0)&&(phan1<=1))
    {
    donvi=nguyen;
    phan1=phan/10;
    phan2=phan%10;
    for(i=0;i<100;i++)
    {
    led3=1;
    led1=0;
    led2=0;
    P0=0x40;
    delay(100);
    led2=1;
    led1=0;
    led3=0;
    P0=M[phan1];
    delay(100);
    led1=1;
    led2=0;
    led3=0;
    P0=M[phan2];
    delay(100);
    }
    }
    if((nguyen<1)&&(phan1>1))
    {
    donvi=nguyen;
    phan1=phan/10;
    phan2=phan%10;
    for(i=0;i<100;++i)
    {
    led3=1;
    led1=0;
    led2=0;
    P0=M1[donvi];
    delay(100);
    led2=1;
    led1=0;
    led3=0;
    P0=M[phan1];
    delay(100);
    led1=1;
    led2=0;
    led3=0;
    P0=M[phan2];
    delay(100);
    }
    }
    if((nguyen<=10)&&(nguyen>=1))
    {
    donvi=nguyen/10;
    phan1=phan/10;
    phan2=phan%10;
    for(i=0;i<100;++i)
    {
    led3=1;
    led2=0;
    led1=0;
    P0=M1[nguyen];
    delay(100);
    led2=1;
    led1=0;
    led3=0;
    P0=M[phan1];
    delay(100);
    led1=1;
    led2=0;
    led3=0;
    P0=M[phan2];
    }
    }
    }
    void tatled(void) //off led
    {
    led1=0;
    led2=0;
    led3=0;
    P0=0xFF;
    }



    void main(void) //main funtion
    {
    while(1)
    {
    while(thang1==0)
    {
    dieukhien_adc();
    volt=(float)(x*100)/255; //range from 0 to 10
    }
    while(thang2==0)
    {
    dieukhien_adc();
    volt=(float)(x*10)/255; //range from 0 to 1
    }
    while(thang3==0)
    {
    dieukhien_adc();
    volt=(float)(x*1)/255; //range from 0 to 0.1
    }
    ampe=volt/10;
    hienthi();
    }
    }
    hicc , đề bài của em là : đo dòng 1 chiều sử dụng 8051 hiển thị lên led 7 thanh. Ai giúp em với
    Last edited by trungtin1232; 18-03-2010, 16:10.
  • trungtin1232
    Thành viên mới
    • Jan 2010
    • 14

    #2
    ai giúp em với

    Comment

    • vinhsnooker
      Thành viên tích cực
      • May 2006
      • 142

      #3
      Giúp cho bạn như mò kim đáy bể, cung cấp thêm thông tin về đề tài đi bạn.
      Quan trọng nhất là phải có sơ đồ nguyên lý thì mới giúp đc.

      Comment

      • trungtin1232
        Thành viên mới
        • Jan 2010
        • 14

        #4

        đây là cái hình ảnh thằng bạn nó gửi cho em để tham khảo. Bác xem giúp em nhé
        yêu cầu là : đo dòng 1 chiều sử dụng 8051 hiển thị ra led 7 thanh

        Comment

        • KDT_2008
          Banned
          • Jun 2008
          • 81

          #5
          Để đo dòng, phương pháp chính là chuyển đo dòng sang đo áp.
          Nếu dòng lớn, có thể dùng điện trở tùy loại như 0.1 ohm hay 1ohm. Rồi dùng opam khuyếch đại lên, qua ADC là xong!

          Comment

          • vinhsnooker
            Thành viên tích cực
            • May 2006
            • 142

            #6
            ơ, nhưng mà tóm lại là giúp cái gì nhẩy................................

            Comment

            • trungtin1232
              Thành viên mới
              • Jan 2010
              • 14

              #7
              dạ em cần bản vẽ chính xác và phần lập trình ạ. Thú thực là em hơi dốt về mảng này, vì bọn em học đa hệ nhưng em chỉ đi sâu về điện chiếu sáng vì sau này ra làm cùng anh em bên xây dựng thôi ạ. Đây là bài tập lớn của em

              Comment

              • trungtin1232
                Thành viên mới
                • Jan 2010
                • 14

                #8
                help meeee

                Comment

                • trungtin1232
                  Thành viên mới
                  • Jan 2010
                  • 14

                  #9
                  các pác giúp em với ạ. sao ko co ai thế. hixxx

                  Comment

                  • ssgabeo
                    Thành viên tích cực
                    • Jun 2008
                    • 485

                    #10
                    Ko làm được thì đi thuê. Chứ có cơm, có thịt , ai rỗi hơi đi đút thìa vào tận mồm cho nữa ?!

                    Comment

                    • quangnhat
                      Thành viên tích cực
                      • Jul 2005
                      • 940

                      #11
                      Phương pháp rẻ tiền nhất có lẽ là dùng điện trở shun để lấy áp theo định luật om U= I.R.
                      Sau đó bạn cho qua mạch khuyếch đại thuật toán==> Mạch lọc thông thấp==>hạn biên==>cho vào ADC==>Hiển thị
                      Bạn có thể tham khảo những đề tài sử dụng đến adc như: đo nhiệt độ...(trong diễn đàn đã có rồi đấy) các anh ấy hướng dẫn chi tiết lắm

                      Phương pháp khác là dùng cảm biến hall, nhưng khá đắt tiền...không phù hợp với SV
                      Quang Nhat
                      ---------------------------------------
                      Yahoo :quangnhat85ls
                      Mail :
                      Nhận thiết kế và ép nhựa cho đồ điện tử

                      Comment

                      • trungtin1232
                        Thành viên mới
                        • Jan 2010
                        • 14

                        #12
                        Nguyên văn bởi ssgabeo Xem bài viết
                        Ko làm được thì đi thuê. Chứ có cơm, có thịt , ai rỗi hơi đi đút thìa vào tận mồm cho nữa ?!

                        Bác chỉ cho em chỗ thuê với. Nếu bác làm thì cho em cái giá giúp em với. Thú thực với bác là em học nghành điện, bọn em học tất tần tật từ điện chiếu sáng, điện dân dụng, công nghiệp....( cái mà bọn em học 3-5 trình = người ta học 4-5 năm ).Nói chung là cưỡi ngựa xem hoa, chỉ ra để lấy cái bằng. Em thì chỉ đi chuyên sâu về các mảng thiết kế điện công trình ( vì nhà em có người nhận ). Nên thú thực là em chịu. Đây là bài tập trong phần đồ án của em, bắt buộc phải làm ạ

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...