Thông báo

Collapse
No announcement yet.

giúp đỡ không hiển thị đúng số trên led 7 thanh

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

  • giúp đỡ không hiển thị đúng số trên led 7 thanh

    em có làm 1 đề tài về đo tốc đọ đc trường trình khi mô phỏng thì đúng nhưng sao khi làm mạch thật thì led lại không hiển thị đúng số vậy là do gì ạ ( phần cứng e làm như hình dưới )

    phần cứng thì e có thể đoán là k sai vì khi vẽ e đã tra datasheet của led 7thanh x4 nhưng khi cho cho motor quay để nhận xung thì hiển thị lung tung lắm nó k ra số rõ ràng. lúc chưa có xung từ encoder thì led về trạng thái 0000 bình thường
    Code:
    #include<at89x52.h>
    #include<stdio.h>
    #include<math.h>
    sbit    L1    =    P2^0;       
    sbit    L2    =    P2^1;
    sbit    L3    =    P2^2;
    sbit    L4    =    P2^3;
    unsigned char    M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};    //mã led 7 thanh
    unsigned int vong,dem;   
    unsigned char nghin,tram,chuc,dvi;
    void    delay_ms(unsigned int    time)
    {
        unsigned int    i;
        unsigned int    j;
        for(i = time;i>0;i--)
            for(j=0;j<125;j++);
    }
    void clear_led(void)
    {
        P0=0xff;
        P2=0;
    }
    void hien_thi()
    {   
        nghin = vong/1000;
        L1 = 1; L2=L3=L4=0;
        P0=M[nghin];
        delay_ms(2);
        clear_led();
     
        tram = (vong%1000)/100;   
        L2 = 1; L1=L3=L4=0;
        P0=M[tram];
        delay_ms(2);
        clear_led();
       
        chuc = ((vong%1000)%100)/10;
        L3 = 1; L1=L2=L4=0;
        P0=M[chuc];
        delay_ms(2);
        clear_led();
     
        dvi = ((vong%1000)%100)%10;
        L4 = 1; L1=L2=L3=0;
        P0=M[dvi];                                                                 
        delay_ms(2);
        clear_led();
    }           
    void main()
    {     
        TMOD=0x15;
        IE=0x88;
        IP=0x08;
        dem = vong= 0;
        TH0 = TL0 = 0;
        TH1 = 0X3C;
        TL1 = 0XAF;
        TR0 = TR1 = 1;
        while(1)
        {
        hien_thi();
        }
    }
    void ngatT1() interrupt 3                 
    {
        TR1=0;
        TF1=0;   
        TH1=0X3C;
        TL1=0XAF;
        dem++;
        if(dem==20)
        {
            EA=0;
            dem=0;
            TR0=0;
            vong=((TH0*256+TL0)*60)/32;
            TH0=TL0=0;
            TR0=1;
            EA=1;
        }
        TR1=1;
    }
    Click image for larger version

Name:	pc.jpg
Views:	1
Size:	38.2 KB
ID:	1415795

  • #2
    Nguyên văn bởi nobittran Xem bài viết
    em có làm 1 đề tài về đo tốc đọ đc trường trình khi mô phỏng thì đúng nhưng sao khi làm mạch thật thì led lại không hiển thị đúng số vậy là do gì ạ ( phần cứng e làm như hình dưới )

    phần cứng thì e có thể đoán là k sai vì khi vẽ e đã tra datasheet của led 7thanh x4 nhưng khi cho cho motor quay để nhận xung thì hiển thị lung tung lắm nó k ra số rõ ràng. lúc chưa có xung từ encoder thì led về trạng thái 0000 bình thường
    ....
    [ATTACH=CONFIG]59297[/ATTACH]
    Bài mô phỏng mà bạn cho là đúng đâu? Sao post hình lại tiết kiệm ảnh thế? Hơi ít thông tin...
    Đang muốn giúp bạn để xả stress nhưng ít thông tin quá, ít ra bạn cũng phải cho biết dải tần số cần đo chứ?
    Last edited by Acxen_lupine; 17-01-2013, 01:19.
    Hôm nay trời nắng chang chang.
    Mèo con đi học chẳng mang thứ gì.
    Chỉ mang một cái bút chì.
    Và mang một mẩu bánh mì con con.

    Comment


    • #3
      trong sơ đồ của bạn thế nào thì làm sao mà chạy được. cấp xung điều khiển thế nào cho tran PNP thế ????
      chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
      Everything should be made as simple as possible, but not simpler

      Comment


      • #4
        đây là cả phần mô phỏng và vẽ mạch nguyên lí orcad của e nhờ các anh giúp đỡ..mô phỏng thì thế mà làm mạch thật khi chưa có xung vào T0 thì led hiển thị trạng thái 0000 đúng nhưng khi có xung vào là chẳng hiển thị số đâu, nhảy lung tung em hỏi xem có sai về phần mềm hay phần cứng ạ ( à khi mô phỏng e dùng p2 để quét led nhưng orcad thì có hơi khác đó ạ.. e đã sửa đổi r )

        Comment


        • #5
          e đã up filke mô phỏng và file nguyên lí cad rr đó a xem giúp e ạ

          Comment


          • #6
            Nguyên văn bởi Acxen_lupine Xem bài viết
            Bài mô phỏng mà bạn cho là đúng đâu? Sao post hình lại tiết kiệm ảnh thế? Hơi ít thông tin...
            Đang muốn giúp bạn để xả stress nhưng ít thông tin quá, ít ra bạn cũng phải cho biết dải tần số cần đo chứ?
            e đã up filke mô phỏng và file nguyên lí cad rr đó a xem giúp e ạ

            Comment


            • #7
              ban vie^t' mot doan ma de hien thi cac so 0,1,2,3,4,5,6,7,8,9 tren cai led 7 doan truoc.de kiem tra mach dung chua.neu mach dung co' the motor lam nhieu tin hieu roi.
              , , ,

              Comment


              • #8
                Nguyên văn bởi rptdnmqs Xem bài viết
                ban vie^t' mot doan ma de hien thi cac so 0,1,2,3,4,5,6,7,8,9 tren cai led 7 doan truoc.de kiem tra mach dung chua.neu mach dung co' the motor lam nhieu tin hieu roi.
                vâng e cũng nghi là do xung từ encoder làm nhiễu lắm.. vì phần cứng về led 7 thanh e đã tham xem nguyên lí kĩ lắm r.. bjo có cách nào khác phục để xung từ encoder hiển thị tốc độ ra led không ạ

                Comment


                • #9
                  Nguyên văn bởi nobittran Xem bài viết
                  vâng e cũng nghi là do xung từ encoder làm nhiễu lắm.. vì phần cứng về led 7 thanh e đã tham xem nguyên lí kĩ lắm r.. bjo có cách nào khác phục để xung từ encoder hiển thị tốc độ ra led không ạ
                  banhien thi so tu 0 - 9999 di da. hinh nhu ban van chi xem tren mo phong chu chua co hien thi tren mach that . tung buoc ban a.
                  bạn đưa cái ảnh của sơ đồ nguyên lí lên đi, sơ đồ mạch bằng orcad có người không có orcad thì không giúp được bạn.
                  Last edited by daohuytien; 17-01-2013, 12:56.
                  chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                  Everything should be made as simple as possible, but not simpler

                  Comment


                  • #10
                    em đã làm lại nhưng k đc Click image for larger version

Name:	Untitled_zpse1543864.jpg
Views:	1
Size:	70.1 KB
ID:	1372825
                    đó là nguyên lí mạch
                    còn đây là bài chi tiết của e

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X