Thông báo

Collapse
No announcement yet.

xem zum e đoạn code này với

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

  • xem zum e đoạn code này với

    e lập trình cho 89c51 chay tuần tựu 8 led :
    #include<at89x51.h>
    void delay(unsigned long ms)
    {
    while ( ms--) ;
    }
    void main ( void )
    {
    int n;
    while ( 1)
    {
    P3 = 0x01;
    for ( n=0;n<8;n++)
    {
    P3=P3<<1;
    delay ( 25000);
    }
    }
    }

    nhưng khi thữ thì e thấy led đầu tiên e nối zo P3.0 lại ko sáng . . . mấy a xem e sai chỗ nào và sửa giúp e với . .

  • #2
    hĩ ai xem sửa zumf e với . .

    Comment


    • #3
      bạn thêm một biến ở main chẳng hạn như t và ở while(1) thì t=t<<1;P3=t; thử xem

      Comment


      • #4
        code bạn viết không sai gì cả chỉ là bạn hiểu nhầm xíu thôi do khi vào vòng lặp for thì P3 đã bị dịch mất một bit rồi nên led tại P3.0 sẽ không sáng được. Bạn thử sửa chương trình như thế này xem mình nghĩ chắc chắn sẽ chạy
        #include<at89x51.h>
        void delay(unsigned long ms)
        {
        while ( ms--) ;
        }
        void main ( void )
        {
        int n;
        while ( 1)
        {
        P3 = 0x01;
        delay ( 25000);
        for ( n=0;n<8;n++)
        {
        P3=P3<<1;
        delay ( 25000);
        }
        }
        }
        Mình chắc chắn nó sẽ chạy theo đúng ý của bạn là sáng dần từng led một từ P3.0->P3.7 thử xem ha.

        Mobile: 0985158901
        Email:

        Comment


        • #5
          Nguyên văn bởi quanghuydck Xem bài viết
          code bạn viết không sai gì cả chỉ là bạn hiểu nhầm xíu thôi do khi vào vòng lặp for thì P3 đã bị dịch mất một bit rồi nên led tại P3.0 sẽ không sáng được. Bạn thử sửa chương trình như thế này xem mình nghĩ chắc chắn sẽ chạy
          #include<at89x51.h>
          void delay(unsigned long ms)
          {
          while ( ms--) ;
          }
          void main ( void )
          {
          int n;
          while ( 1)
          {
          P3 = 0x01;
          delay ( 25000);
          for ( n=0;n<8;n++)
          {
          P3=P3<<1;
          delay ( 25000);
          }
          }
          }
          Mình chắc chắn nó sẽ chạy theo đúng ý của bạn là sáng dần từng led một từ P3.0->P3.7 thử xem ha.
          quá chuẩn . . tks bạn nha . . ak tiện thể cho mình hỏi 1 cái này . . . đoạn code trên bạn sửa đã làm cho ca 8 led chạy . . vậy mình cần phải thêm gì vào để nó chạy led từ P3.0->P3.7 . . sau dó nó lại lặp lại từ P3.0->P3.6 . . trong khi led P3.7 vẫn sáng . . và lần lượt lới lúc sáng hết đc ko vậy ??

          Comment


          • #6
            ai giúp e vấn đề này với
            #include<at89x51.h>
            void delay(unsigned long ms)
            {
            while ( ms--) ;
            }
            void main ( void )
            {
            int n;
            while ( 1)
            {
            P3 = 0x01;
            delay ( 25000);
            for ( n=0;n<8;n++)
            {
            P3=P3<<1;
            delay ( 25000);
            }
            }
            }


            đoạn code trên làm cho ca 8 led chạy . . vậy mình cần phải thêm gì vào để nó chạy led từ P3.0->P3.7 . . sau dó nó lại lặp lại từ P3.0->P3.6 . . trong khi led P3.7 vẫn sáng . . và lần lượt lới lúc sáng hết đc ko vậy ??

            Comment


            • #7
              ai giúp e với

              Comment


              • #8
                #include<at89x51.h>
                char m=0;
                void delay(unsigned long ms)
                {
                while ( ms--) ;
                }
                void main ( void )
                {
                int n;
                while ( 1)
                {
                P3 = 0x01+m;
                delay ( 25000);
                for ( n=0;n<(8-m);n++)
                {
                P3=(1<<n)+m;
                delay ( 25000);
                }
                m++;
                if(m==8)m=0;
                }
                }
                Bạn thử code thế này xem sao. Mình nghĩ đúng đó, do mình không cài trình dịch C nên không test thử được bạn thử dịch xem có gì thì post lên mọi người cùng trao đổi.

                Mobile: 0985158901
                Email:

                Comment


                • #9
                  #include<at89x51.h>
                  char m=0,c=0;
                  void delay(unsigned long ms)
                  {
                  while ( ms--) ;
                  }
                  void main ( void )
                  {
                  int n;
                  while ( 1)
                  {
                  P3 = 0x01+c;
                  delay ( 25000);
                  for ( n=0;n<(8-m);n++)
                  {
                  P3=(1<<n)+c;
                  delay ( 25000);
                  }
                  m++;
                  c=c+(1<<(7-m));
                  if(m==8){
                  m=0;
                  c=0;
                  }
                  }
                  xin lỗi code trước sai rồi bạn thử thế này xem

                  Mobile: 0985158901
                  Email:

                  Comment


                  • #10
                    Nguyên văn bởi anhgia1607 Xem bài viết
                    ai giúp e vấn đề này với
                    #include<at89x51.h>
                    void delay(unsigned long ms)
                    {
                    while ( ms--) ;
                    }
                    void main ( void )
                    {
                    int n;
                    while ( 1)
                    {
                    P3 = 0x01;
                    delay ( 25000);
                    for ( n=0;n<8;n++)
                    {
                    P3=P3<<1;
                    delay ( 25000);
                    }
                    }
                    }


                    đoạn code trên làm cho ca 8 led chạy . . vậy mình cần phải thêm gì vào để nó chạy led từ P3.0->P3.7 . . sau dó nó lại lặp lại từ P3.0->P3.6 . . trong khi led P3.7 vẫn sáng . . và lần lượt lới lúc sáng hết đc ko vậy ??
                    chú xem có phải thế này không nhé

                    Comment


                    • #11
                      Nguyên văn bởi kidteam Xem bài viết
                      chú xem có phải thế này không nhé
                      hihi đúng rồi đó a . . nhìn hay wa

                      Comment


                      • #12
                        Nguyên văn bởi quanghuydck Xem bài viết
                        #include<at89x51.h>
                        char m=0,c=0;
                        void delay(unsigned long ms)
                        {
                        while ( ms--) ;
                        }
                        void main ( void )
                        {
                        int n;
                        while ( 1)
                        {
                        P3 = 0x01+c;
                        delay ( 25000);
                        for ( n=0;n<(8-m);n++)
                        {
                        P3=(1<<n)+c;
                        delay ( 25000);
                        }
                        m++;
                        c=c+(1<<(7-m));
                        if(m==8){
                        m=0;
                        c=0;
                        }
                        }
                        xin lỗi code trước sai rồi bạn thử thế này xem
                        e thu mo phong tren proteus thấy nó ko đc chính xác lắm a ơi . . . nó chạy luân phiên 8 led xong . sáng led 7 xong chạy tiếp các led còn lại . . sau đó nó sáng led 6 và 7 . . cu nhu vậy tới hét . . còn led 8 thì ko sáng

                        Comment


                        • #13
                          chả chịu tìm gì cả
                          trong diễn đàn có rồi mà
                          Code:
                          #include <reg51.h>
                          //Ngo Hung Cuong
                          unsigned char a,c,d;
                          unsigned char i,j,t,k;
                          void delay(void);
                          void delay50ms(void);
                          void main()
                          {
                          	//khoi tao cho bo dinh thoi 0
                          	//dau tien tat tat ca cac led
                          	TMOD=1;
                          	tiep:
                          	P1=0xff;
                          	a=0xff;//tat ca cac led tat
                          	delay();
                          	for(i=0;i<8;++i)
                          	{
                          		d=0xff;
                          		for(j=0;j<i;++j)
                          			d>>=1;
                          		a=0xff;
                          		for(j=0;j<8-i;++j)
                          		{
                          			a<<=1;
                          			c=0;
                          			for(k=0;k<j;++k)
                          			{
                          				c<<=1;
                          				c|=1;
                          			}
                          			a|=c;
                          			a&=d;
                          			P1=a;
                          			delay();
                          		}
                          	}
                          	goto tiep;
                          }
                          void delay50ms(void)
                          {
                          	//tre khoang 50ms
                          	TR0=0;
                          	TL0=0xb0;
                          	TH0=0x3c;
                          	TF0=0;
                          	TR0=1;
                          	while(!TF0);
                          	TR0=0;
                          	TF0=0;
                          }
                          void delay(void)
                          {
                          	//tre 500ms
                          	for(t=0;t<10;++t)
                          		delay50ms();
                          }

                          Comment


                          • #14
                            Nguyên văn bởi kidteam Xem bài viết
                            chả chịu tìm gì cả
                            trong diễn đàn có rồi mà
                            Code:
                            #include <reg51.h>
                            //Ngo Hung Cuong
                            unsigned char a,c,d;
                            unsigned char i,j,t,k;
                            void delay(void);
                            void delay50ms(void);
                            void main()
                            {
                            	//khoi tao cho bo dinh thoi 0
                            	//dau tien tat tat ca cac led
                            	TMOD=1;
                            	tiep:
                            	P1=0xff;
                            	a=0xff;//tat ca cac led tat
                            	delay();
                            	for(i=0;i<8;++i)
                            	{
                            		d=0xff;
                            		for(j=0;j<i;++j)
                            			d>>=1;
                            		a=0xff;
                            		for(j=0;j<8-i;++j)
                            		{
                            			a<<=1;
                            			c=0;
                            			for(k=0;k<j;++k)
                            			{
                            				c<<=1;
                            				c|=1;
                            			}
                            			a|=c;
                            			a&=d;
                            			P1=a;
                            			delay();
                            		}
                            	}
                            	goto tiep;
                            }
                            void delay50ms(void)
                            {
                            	//tre khoang 50ms
                            	TR0=0;
                            	TL0=0xb0;
                            	TH0=0x3c;
                            	TF0=0;
                            	TR0=1;
                            	while(!TF0);
                            	TR0=0;
                            	TF0=0;
                            }
                            void delay(void)
                            {
                            	//tre 500ms
                            	for(t=0;t<10;++t)
                            		delay50ms();
                            }
                            oh tks a nhìu

                            Comment


                            • #15
                              Click image for larger version

Name:	a.jpg
Views:	1
Size:	68.1 KB
ID:	1360718

                              thế này là sao a . . e gán đc " chung " sao ko gán đc " chung1"

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • mansion123
                                Bật mí những điều ít ai biết về thi công gỗ óc chó
                                bởi mansion123
                                Thi công gỗ óc chó giúp không gian trở nên sang trọng, ấm cúng, gần gũi hơn. Sự kết hợp giữa thẩm mỹ và chất lượng cao của gỗ óc chó chắc chắn sẽ mang lại giá trị lâu dài và làm hài lòng ngay cả những khách hàng khó tính nhất. Vậy đằng
                                ...
                                hôm nay, 16:08
                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              Đang tải...
                              X