Thông báo

Collapse
No announcement yet.

Quét Led 7 đoạn

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

  • Quét Led 7 đoạn

    Bạn nào giúp mình với.
    Code của mình sao led bị nháy
    HTML Code:
    #include<at89x51.h>				  
    #define uchar unsigned char
    uchar MM[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    sbit LED1=P2^0;
    sbit LED2=P2^1; 
    void delay_ms(unsigned int Time)
    {
    	unsigned int i,j,t;
    	t=Time;
    	for(i=0;i<t;i++)
    	{
    		for(j=0;j<125;j++);
    	}
    }
    void delay(unsigned long ms)
    {
    	unsigned long i;
        for ( i=0;i<ms; i++)
    		{}
    }
    void khaibao()
    {
    	TMOD=0x20; //0010000
    	TH1=0xFD;		   //9600
    	TL1=0x00;
    	TR1=1; //cho t1 chay
    	PCON=0;
    	SCON=0x40;
    	P3=0xff;
    }
    void hienthi(unsigned char x)
    {	
    	unsigned int i;
    	unsigned char chuc=x/10;
        unsigned char donvi=x%10;
    	LED1=0;LED2=1; P0=MM[chuc]; delay_ms(10);
    	LED1=1;LED2=0; P0=MM[donvi];delay_ms(10);
    }
    
    void main()
    {
    	unsigned int dem=0,i;
    	while(1)
    	{
    		 for(i=0;i<10;i++)
    		 {
    		 	while(1)
    			{	
    				hienthi(dem);
    		 		delay_ms(1000);
    				dem++;			
    			}	
    		 }
    	}
    }
    các bạn tải file đính kèm về fix giúp mình với đang cần gấpTestled7doanquet11119114.zip

  • #2
    HTML Code:
    void main()
    {
    	unsigned int dem=0,i,x;
    	while(1)
    	{
    		 for(i=0;i<16;i++)
    		 {
    		 	for(x=0;x<5000;x++)
    			{	
    				hienthi(dem);
    			}	
    		 }
    	}
    }
    bạn thử kiểu này xem sao.
    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


    • #3
      Cảm ơn ban đã quan tâm! Nhưng vẫn không dc.
      Mình muốn hiển thị số đếm. Sau 1s thì số đếm tăng lên 1 và hiển thị
      Có 1 biến đếm chạy từ 0. hiển thị lên led 7 đoạn 2 số

      Comment


      • #4
        HTML Code:
        #include<at89x51.h>	
        			   
        sbit LED1=P2^0;
        sbit LED2=P2^1; 
        
        unsigned char MM[10]=a[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  // mã 7 đoạn
        
        void delay(unsigned int ms)
        {
        	unsigned int i;
                unsigned char x;
                for ( i=0;i<ms; i++)
                {
                         for(x=0;x<125;x++);
                }
        }
        void hienthi(unsigned char x)
        {	
        	unsigned char chuc, donvi;
                unsigned  int i;
        	chuc=x/10;
                donvi=x%10;
                for(i=0;i<100;i++)        // điều chỉnh giá trị của i xem sao nhé.
                {
        	           LED1=0;LED2=1; P0=MM[chuc]; delay(100);
        	           LED1=1;LED2=0; P0=MM[donvi];delay(100);
                }
        }
        
        void main()
        {
        	unsigned char m;
        	while(1)
        	{
        		 for(m=0;m<99;m++)
        		 {	
        			hienthi(dem);
        		 }
        	}
        }
        code quét 2 led 7 thanh : các thanh được đệm qua ULN2803
        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


        • #5
          Bạn kham thảo cai này đi
          void display(unsigned int dem,unsigned int tocDo)
          {
          unsigned int i;
          for(i=0;i<tocDo;i++)
          {
          hienthi(dem);
          delay(x);
          }
          }
          Webside : labkits.net
          Email :

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X