Thông báo

Collapse
No announcement yet.

mach do nhiet do giup voi !!!

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

  • mach do nhiet do giup voi !!!

    Chao cac ban trong dien dan,

    Minh dang lam mach do nhiet do nhưng khi mo phong thi nó nhay, ko hieu sao nua code ktra di ktra lai nhung chua tim duoc cho sai, cac ban trong dien dan ai da lam ve mach do nhiet do chi giup voi, cam on cac ban rat nhieu, mình gui file mophong va code len cac ban giup mình voi nhe.

    Chuong trinh

    #include<stdio.h>
    #include<reg52.h>
    #include<math.h>
    sbit INTR_ADC=P3^6;
    sbit WR_ADC=P3^7;
    sbit T=P1^6;//nut bam Tang
    sbit G=P1^7;//nut bam Giam
    sbit D=P3^3;//den Do
    sbit V=P3^4;//den Vang
    sbit X=P3^5;//den Xanh
    long int x,k,ch,dv,d,ndkc;
    float v;
    unsigned long int i;
    unsigned char M[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X9 0};
    void tre (unsigned long int t)
    {
    for(i=0;i<=t;i++);
    }
    void hienthi()
    {
    P1=1;P0=M[ch];tre(70);
    P1=2;P0=M[dv];tre(70);
    P1=4;P0=0X9C ;tre(70);
    P1=0;//cac Led sang dong deu
    }
    void dat()
    {
    if((T==1)||(G==1)) {d=0;tre(250);}//bam nut thi reset bien dem d, tao tre giua cac lan bam
    d=d+1;//dem qua trinh lap cua chuong trinh nay
    if (T==1) ndkc=ndkc+1;
    if (G==1) ndkc=ndkc-1;
    ch=ndkc/10;
    dv=ndkc%10;
    hienthi();
    }
    void main()
    {
    ndkc=20;
    while(1)
    {
    T=0;
    G=0;
    if((T==1)||(G==1))//kiem tra nut bam nhiet do khong che
    {
    while(1)
    {
    dat();
    if(d==100) break;//neu lap 100 lan ma k co su tac dong nut bam thi thoat
    }
    }
    WR_ADC=0;//cho phep ADC bien doi
    tre(100);//thoi gian tre cho ADC bien doi xong
    WR_ADC=1;//khong cho ADC bien doi
    x=P2;//gan gia tri bien doi vao x
    v=x*2.5/255;
    k=v*100;//nhiet do thuc
    ch=k/10;
    dv=k%10;
    if(k>ndkc) {D=1;V=0;X=0;}
    if(k==ndkc){D=0;V=1;X=0;}
    if(k<ndkc) {D=0;V=0;X=1;}
    hienthi();
    }
    }
    Attached Files

  • #2
    Nguyên văn bởi hahai Xem bài viết
    Chao cac ban trong dien dan,

    Minh dang lam mach do nhiet do nhưng khi mo phong thi nó nhay, ko hieu sao nua code ktra di ktra lai nhung chua tim duoc cho sai, cac ban trong dien dan ai da lam ve mach do nhiet do chi giup voi, cam on cac ban rat nhieu, mình gui file mophong va code len cac ban giup mình voi nhe.

    Chuong trinh

    #include<stdio.h>
    #include<reg52.h>
    #include<math.h>
    sbit INTR_ADC=P3^6;
    sbit WR_ADC=P3^7;
    sbit T=P1^6;//nut bam Tang
    sbit G=P1^7;//nut bam Giam
    sbit D=P3^3;//den Do
    sbit V=P3^4;//den Vang
    sbit X=P3^5;//den Xanh
    long int x,k,ch,dv,d,ndkc;
    float v;
    unsigned long int i;
    unsigned char M[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X9 0};
    void tre (unsigned long int t)
    {
    for(i=0;i<=t;i++);
    }
    void hienthi()
    {
    P1=1;P0=M[ch];tre(70);
    P1=2;P0=M[dv];tre(70);
    P1=4;P0=0X9C ;tre(70);
    P1=0;//cac Led sang dong deu
    }
    void dat()
    {
    if((T==1)||(G==1)) {d=0;tre(250);}//bam nut thi reset bien dem d, tao tre giua cac lan bam
    d=d+1;//dem qua trinh lap cua chuong trinh nay
    if (T==1) ndkc=ndkc+1;
    if (G==1) ndkc=ndkc-1;
    ch=ndkc/10;
    dv=ndkc%10;
    hienthi();
    }
    void main()
    {
    ndkc=20;
    while(1)
    {
    T=0;
    G=0;
    if((T==1)||(G==1))//kiem tra nut bam nhiet do khong che
    {
    while(1)
    {
    dat();
    if(d==100) break;//neu lap 100 lan ma k co su tac dong nut bam thi thoat
    }
    }
    WR_ADC=0;//cho phep ADC bien doi
    tre(100);//thoi gian tre cho ADC bien doi xong
    WR_ADC=1;//khong cho ADC bien doi
    x=P2;//gan gia tri bien doi vao x
    v=x*2.5/255;
    k=v*100;//nhiet do thuc
    ch=k/10;
    dv=k%10;
    if(k>ndkc) {D=1;V=0;X=0;}
    if(k==ndkc){D=0;V=1;X=0;}
    if(k<ndkc) {D=0;V=0;X=1;}
    hienthi();
    }
    }

    Comment


    • #3
      WR_ADC=0;//cho phep ADC bien doi
      tre(100);//thoi gian tre cho ADC bien doi xong
      WR_ADC=1;//khong cho ADC bien doi
      x=P2;//gan gia tri bien doi vao x
      những đoạn khác mình ko đọc, mình chỉ đọc đoạn này của bạn, cái tre(100) kìa ko phải là chờ adc biến đổi xong mà trễ tạo clock thôi, như thế này thì ko chạy đâu, sửa lại
      WR_ADC=0;//cho phep ADC bien doi
      tre(100);//thoi gian tre cho ADC bien doi xong
      WR_ADC=1;//khong cho ADC bien doi
      while(INT_ADC==0);// day moi la cho ADC chuyen doi xong, chan int dc dua len muc 1 thi thoat(ly thuyet la muc 0 nhung minh lam thuc te no la muc 1)
      x=P2;//gan gia tri bien doi vao x
      Website chính thức đổi địa chỉ website thành
      Mời các bạn ghé thăm !!!

      Comment


      • #4
        cam on ban da quan tam toi bai viet cua minh va loi minh dang gap pai, nhung khi minh sua lai quan code ma ban viet thi bien dich no bao loi dung doan while(INT_ADC==0)

        cac ban ai da tung lam giup minh giai quyet van de nay voi nhe,

        cam on cac ban rat nhieu

        Comment


        • #5
          lỗi là phải
          cái kia bạn khai báo là INTR_ADC, còn tôi viết là INT_ADC, nhìn vào INT là phải suy ra dc nó là chân ngắn int của ADC
          điều này chứng tỏ bạn còn chưa chịu xem xét qua code thì làm sao có thể hiểu dc code, tốt nhất là bạn hãy đọc lại kĩ code để hiểu thuật toán, hiểu con ADC làm việc như thế nào, sau đó hãng đưa thắc mắc, hỏi như thế này thì có đến sáng mai ko hết
          Website chính thức đổi địa chỉ website thành
          Mời các bạn ghé thăm !!!

          Comment


          • #6
            Cam on ban,

            mình da chinh sua lai nhung tinh hinh van ko co gi sang sua ca, van bi nhay nhu giang ngo vay, ko hieu sao nua, doan minh sua lai nhu the nay:

            WR_ADC=0;//cho phep ADC bien doi
            tre(100);//thoi gian tre cho ADC bien doi xong
            WR_ADC=1;//khong cho ADC bien doi
            while(k==0 && INTR_ADC==1) k=0;
            x=P2;//gan gia tri bien doi vao x
            v=x*2.5/255;

            cac ban giup minh voi gio ko biet pai lam the nao nua,

            Comment


            • #7
              Nguyên văn bởi hahai Xem bài viết
              Cam on ban,

              mình da chinh sua lai nhung tinh hinh van ko co gi sang sua ca, van bi nhay nhu giang ngo vay, ko hieu sao nua, doan minh sua lai nhu the nay:

              WR_ADC=0;//cho phep ADC bien doi
              tre(100);//thoi gian tre cho ADC bien doi xong
              WR_ADC=1;//khong cho ADC bien doi
              while(k==0 && INTR_ADC==1) k=0;
              x=P2;//gan gia tri bien doi vao x
              v=x*2.5/255;

              cac ban giup minh voi gio ko biet pai lam the nao nua,
              đề nghị bạn viết có dấu. Bạn nói "nhảy" hay là "nháy" cũng ko biết. Up file mô phỏng, code .C và .hex để ACE kiểm tra cho dễ

              Comment


              • #8
                Cho thơi gian lấy mẫu lớn lên xem , cho cái delay to vào , thường thì mạch thật mới lỗi chứ mô phỏng chả bao giờ bị nháy cả ,
                Tham khảo bài này : Đo nhiệt độ sử dụng cảm biến LM35 - Do nhiet do su dung cam bien LM35 - MachDienTu.Tk - Mạch điện tử ứng dụng | mạch điện tử lý thú | led trái tim | led cube |khoa học - công nghệ ...

                Comment


                • #9
                  Nháy led hàng đơn vị ! Đã cho thời gian delay lên nhưng hiện tượng vẫn vậy ! VD: nhiệt độ là 18 thì nó nhẩy số 7.8.9 liên tục ! Cac bạn ai biet giúp mình với !

                  Comment


                  • #10
                    đây là file mophong và file code các bạn giúp mình với nhé, các bạn xem có chỗ nào sai ko mà nó cứ nhẩy số liên tục, VD: nhiệt độ hiện tại đo được là: 18 độ thì nó cứ nhẩy cái số 8 ấy liên tục trong các số 7.8.9 chứ nó ko đứng yên khi nhiệt độ đo được về

                    link: New Folder.rar

                    các bạn giúp mình với,

                    cảm ơn các bạn rất nhiều,

                    Comment


                    • #11
                      không có ai giúp mình với,

                      mình đã chỉnh sửa mấy chỗ rồi mà nó vẫn cứ có hiện tượng như trên, ko thể khắc phục được có ai biết lỗi là gì ko giúp mình với mình cảm ơn các bạn rất nhiều,

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X