Thông báo

Collapse
No announcement yet.

Các anh cho em xin mạch đồng hồ số đc ko ạ

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

  • Các anh cho em xin mạch đồng hồ số đc ko ạ

    AI có lòng hảo tâm cho em xin sơ đồ nguyên lý của mạch đồng hồ số dùng 6 led 7đoạn (giờ,phút,giây) và ic at89c52 có sw điều chình giờ .Em xin chân thành cảm ơn nhiều nhiều.
    Last edited by hieuhht; 31-05-2009, 16:41.

  • #2
    anh nào rảnh giúp em tý.Thank

    Comment


    • #3
      Nếu bạn dùng VDK thì mạch không phải là vấn đề, khó là ở phần lập trình còn mạch nguyên lý thì bạn phải biết vẽ thế nào chứ.
      Nhớ quá khứ buồn rơi nước mắt.
      Nhìn tương lai lạnh buốt sống lưng.
      Y!M: nhamdtk4.

      Comment


      • #4
        mình mới học nên chỉ mới biết làm led đơn thôi còn led 7doan thi chưa,biết vẽ sơ đồ thi minh con hỏi làm gì nữa.nếu bạn có thi cho mình cả code nũa cang tốt.thanhk

        Comment


        • #5
          Bạn hãy tham khảo 2 code này, chỉ là CT đếm hoạt động giống đồng hồ chứ ko đúng như yêu cầu của bạn
          Attached Files
          Nhớ quá khứ buồn rơi nước mắt.
          Nhìn tương lai lạnh buốt sống lưng.
          Y!M: nhamdtk4.

          Comment


          • #6
            bạn ơi nó ko chạy

            Comment


            • #7
              Cái code "dong ho" thì mình ko rõ vì đấy là bài bạn mình làm, còn "clock" thì mô phỏng trong hợp ngữ (trình dịch) ấy nó chạy đúng. Có lẽ là do proteus nó ko mô phỏng đúng được bạn thử ráp mạch thật rồi nạp vào xem sao.
              Nhớ quá khứ buồn rơi nước mắt.
              Nhìn tương lai lạnh buốt sống lưng.
              Y!M: nhamdtk4.

              Comment


              • #8
                Thử cái này coi
                http://hotfile.com/dl/4577963/08ffe7...thanh.rar.html
                |

                Comment


                • #9

                  Cảm ơn vina1908
                  bạn sửa lại cái code cái,sao mình ấn 1 cái mà nó nhảy 4, 5 số luôn.
                  Ah cho hình hỏi nếu làm mạch in thì có phải thêm transistor nữa ko.
                  Minh đang muốn làm 1 cái đồng hồ chơi
                  Last edited by hieuhht; 01-06-2009, 18:33.

                  Comment


                  • #10
                    Cái này đôn giản mún làm chơi bạn mua đồng hồ đeo tay loại 10k đó! Về lắp thêm mạch trans rùi chạy hà! Đơn giản vô cùng! Bạn chịu khó search trong diễn đàn nhé! Tại mình o nhớ nó ở đâu!
                    Thiên đường xuất hiện ở những nơi có tình yêu!
                    Mèo con's blog:

                    Comment


                    • #11
                      Thank
                      nhưng mình muốn làm bằng VDK 8052
                      Ai có sơ đồ lắp ráp thi cho mình

                      Comment


                      • #12
                        Nguyên văn bởi hieuhht Xem bài viết
                        Thank
                        nhưng mình muốn làm bằng VDK 8052
                        Ai có sơ đồ lắp ráp thi cho mình
                        89S52 hay 89C51 con nào cũng xài như nhau. Đây là mạch đồng hồ mình tham khảo anh em trên diễn đàn ve rồ làm mạch luôn, hơi tốn tiền 1 tí ( con 12c887 khoảng 60K) nhưng mà chạy giờ rất tốt và chính xác. bạn chỉ cần bắt tay vào làm nữa là ok. Mạch led là 8 con nhưng bạn cứ bỏ 2 con ra không cần ráp, (bỏ con thứ 3 và 6 ra từ trái sang). làm đi rồi mình giúp!
                        Attached Files

                        Comment


                        • #13
                          Nguyên văn bởi hieuhht Xem bài viết
                          AI có lòng hảo tâm cho em xin sơ đồ nguyên lý của mạch đồng hồ số dùng 6 led 7đoạn (giờ,phút,giây) và ic at89c52 có sw điều chình giờ .Em xin chân thành cảm ơn nhiều nhiều.
                          Đồng hồ của mình làm chỉ có 4 LED nhưng mà 6 LED thì chỉ cần thêm 2 LED đấu song song vào là được,lập trình thì thêm vào có xí thôi
                          Đây là sơ đồ nguyên lí
                          Click image for larger version

Name:	so do nguyen li.jpg
Views:	1
Size:	121.6 KB
ID:	1337958
                          Đây là mạch đem đi in
                          Click image for larger version

Name:	layout.jpg
Views:	1
Size:	161.9 KB
ID:	1337959
                          Đây là code viết bằng C (cho 89s52) (chạy ok)
                          HTML Code:
                          #include <AT89x52.h>
                          #include <intrins.h>
                          //Dinh nghia I/O
                          #define LED_DATA P0
                          #define key1 P2_3
                          #define key2 P2_2
                          #define key3 P2_1
                          #define key4 P2_0
                          #define LED1 P2_7
                          #define LED2 P2_6
                          #define LED3 P2_5
                          #define LED4 P2_4
                          //Khai bao cac chuong trinh con
                          void setup_timer(void);
                          void quet_phim(void);
                          void delay(unsigned int number);
                          //Khai bao bien
                          unsigned char code bang_ma[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
                          unsigned char count1,count2,sec,h1,h2,m1,m2;
                          char hour,minute;
                          //Ham khai bao dung ngat timer
                          void setup_timer(void)
                          { TMOD=0x11;
                            TH1=0xec;
                            TL1=0x77;
                            TH0=0x3C;
                            TL0=0xAF;
                            ET1=1;
                            ET0=1;
                            EA=1;
                            TF1=0;
                            TR1=1;
                            TF0=0;
                            TR0=1;
                          }
                          //Ham ngat timer0 dung de tao clock
                          void T0_ISR(void) interrupt 1
                          { TR0=0;							
                            TH0=0x3C;
                            TL0=0xAF;
                            count1++;
                            if(count1==20)
                            { count1=0;
                              sec++;
                            }
                            if(sec==60)
                            { sec=0;
                              minute++;
                          	}
                            if(minute==60)
                              { minute=0;
                                hour++;
                          	  }
                            if(hour==24) hour=0;
                            TF0=0;
                            TR0=1;
                          }
                          //Ham ngat timer1 dung de quet
                          void T1_ISR(void) interrupt 3
                          { TR1=0;							
                            TH1=0xEC;	 //5000us
                            TL1=0x77;
                            count2++;
                            LED1=1;
                            LED2=1;
                            LED3=1;
                            LED4=1;
                            if(count2==1)
                            { LED_DATA=bang_ma[h1];
                              LED1=0;
                            }
                            if(count2==2)
                            { LED_DATA=bang_ma[h2];
                              LED2=0;
                            }
                            if(count2==3)
                            { LED_DATA=bang_ma[m1];
                              LED3=0;
                            }
                            if(count2==4)
                            { LED_DATA=bang_ma[m2];
                              LED4=0;
                          	count2=0;	//Khoi dong lai bien dem
                            }
                            TF1=0;
                            TR1=1;
                          }
                          //Ham quet phim
                          void quet_phim(void)
                          { if(key1==0)        //Neu phim duoc an key1=0
                            { while(key1==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	hour++;
                          	if(hour>23) hour=0;
                            }
                            if(key2==0)        //Neu phim duoc an key2=0
                            { while(key2==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	hour--;
                          	if(hour<0) hour=23;
                            }
                            if(key3==0)        //Neu phim duoc an key3=0
                            { while(key3==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	minute++;
                          	if(minute>59) minute=0;
                            }
                            if(key4==0)        //Neu phim duoc an key4=0
                            { while(key4==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	minute--;
                          	if(minute<0) minute=59;
                            }
                          }
                          //Dinh nghia ham delay
                          void delay(unsigned int number)
                          { unsigned char j;
                            unsigned int i;
                            for(i=0;i<=number;i++)
                            { for(j=0;j<=100;j++)
                                {}
                            }
                          }
                           //Chuong trinh chinh
                          void main(void){ 
                            count1=0;
                            count2=0;
                            sec=0;
                            hour=19;
                            h1=hour/10;
                            h2=hour%10;
                            minute=36;
                            m1=minute/10;
                            m2=minute%10;
                            setup_timer();
                            while(1) {
                             quet_phim();
                             m1=minute/10;
                             m2=minute%10;
                             h1=hour/10;
                             h2=hour%10;
                            }
                          }
                          Còn đây là đồng hồ số có mắc thêm đèn LED đơn (nháy cho vui thôi)
                          Sơ đồ nguyên lí thì bạn mắc thêm 8 LED vào Port 1
                          HTML Code:
                          #include <AT89x52.h>
                          #include <intrins.h>
                          #include "global.h"
                          
                          //Khai bao cac chuong trinh con
                          void setup_timer(void);
                          void quet_phim(void);
                          void delay(unsigned int number);
                          //Khai bao bien
                          unsigned char code bang_ma[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
                          unsigned char count1,count2,sec,h1,h2,m1,m2;
                          char hour,minute;
                          //Ham khai bao dung ngat timer
                          void setup_timer(void)
                          { TMOD=0x11;
                            TH1=0xec;
                            TL1=0x77;
                            TH0=0x3C;
                            TL0=0xAF;
                            ET1=1;
                            ET0=1;
                            EA=1;
                            TF1=0;
                            TR1=1;
                            TF0=0;
                            TR0=1;
                          }
                          //Ham ngat timer0 dung de tao clock
                          void T0_ISR(void) interrupt 1
                          { TR0=0;							
                            TH0=0x3C;
                            TL0=0xAF;
                            count1++;
                            if(count1==20)
                            { count1=0;
                              sec++;
                            }
                            if(sec==60)
                            { sec=0;
                              minute++;
                          	}
                            if(minute==60)
                              { minute=0;
                                hour++;
                          	  }
                            if(hour==24) hour=0;
                            TF0=0;
                            TR0=1;
                          }
                          //Ham ngat timer1 dung de quet
                          void T1_ISR(void) interrupt 3
                          { TR1=0;							
                            TH1=0xEC;	 //5000us
                            TL1=0x77;
                            count2++;
                            LED1=1;
                            LED2=1;
                            LED3=1;
                            LED4=1;
                          
                            
                          
                            if(count2==1)
                            { LED_DATA=bang_ma[h1];
                              LED1=0;
                            }
                            if(count2==2)
                            { LED_DATA=bang_ma[h2];
                              LED2=0;
                            }
                            if(count2==3)
                            { LED_DATA=bang_ma[m1];
                              LED3=0;
                            }
                            if(count2==4)
                            { LED_DATA=bang_ma[m2];
                              LED4=0;
                          	count2=0;	//Khoi dong lai bien dem
                            }
                            quet_phim();
                             m1=minute/10;
                             m2=minute%10;
                             h1=hour/10;
                             h2=hour%10;
                            TF1=0;
                            TR1=1;
                          }
                          //Ham quet phim
                          void quet_phim(void)
                          { if(key1==0)        //Neu phim duoc an key1=0
                            { while(key1==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	hour++;
                          	if(hour>23) hour=0;
                            }
                            if(key2==0)        //Neu phim duoc an key2=0
                            { while(key2==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	hour--;
                          	if(hour<0) hour=23;
                            }
                            if(key3==0)        //Neu phim duoc an key3=0
                            { while(key3==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	minute++;
                          	if(minute>59) minute=0;
                            }
                            if(key4==0)        //Neu phim duoc an key4=0
                            { while(key4==0);	 //Chong nay phim
                              delay(30);		 //Chong soc dien
                          	minute--;
                          	if(minute<0) minute=59;
                            }
                          }
                          //Dinh nghia ham delay
                          void delay(unsigned int number)
                          { unsigned char j;
                            unsigned int i;
                            for(i=0;i<=number;i++)
                            { for(j=0;j<=100;j++)
                                {}
                            }
                          }
                           //Chuong trinh chinh
                          void main(void){ 
                            count1=0;
                            count2=0;
                            sec=0;
                            hour=19;
                            h1=hour/10;
                            h2=hour%10;
                            minute=36;
                            m1=minute/10;
                            m2=minute%10;
                            setup_timer();
                            while(1) {
                               LED_1=0;delay(125);
                               LED_2=0;delay(125);
                               LED_3=0;delay(125);
                               LED_4=0;delay(125);
                               LED_5=0;delay(125);
                               LED_6=0;delay(125);
                               LED_7=0;delay(125);
                               LED_8=0;delay(125);
                               P3=0xFF;delay(125);
                          
                               LED_8=0;delay(125);
                               LED_7=0;delay(125);
                               LED_6=0;delay(125);
                               LED_5=0;delay(125);
                               LED_4=0;delay(125);
                               LED_3=0;delay(125);
                               LED_2=0;delay(125);
                               LED_1=0;delay(125);
                               P3=0xFF;delay(125);
                          
                               LED_1=0;delay(125);
                               LED_2=0;delay(125);
                               LED_3=0;delay(125);
                               LED_4=0;delay(125);
                               LED_5=0;delay(125);
                               LED_6=0;delay(125);
                               LED_7=0;delay(125);
                               LED_8=0;delay(125);
                               P3=0xFF;delay(125);
                          
                               LED_1=0;delay(125);
                               LED_8=0;delay(125);
                               LED_2=0;delay(125);
                               LED_7=0;delay(125);
                               LED_3=0;delay(125);
                               LED_6=0;delay(125);
                               LED_4=0;
                               LED_5=0;delay(250);
                               P3=0xFF;delay(125);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               LED_4=0;delay(250);
                               LED_5=0;delay(250);
                               LED_6=0;delay(250);
                               LED_7=0;delay(250);
                               LED_8=0;delay(250);
                               P3=0xFE;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               LED_4=0;delay(250);
                               LED_5=0;delay(250);
                               LED_6=0;delay(250);
                               LED_7=0;delay(250);
                               P3=0xFC;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               LED_4=0;delay(250);
                               LED_5=0;delay(250);
                               LED_6=0;delay(250);
                               P3=0xF8;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               LED_4=0;delay(250);
                               LED_5=0;delay(250);
                               P3=0xF0;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               LED_4=0;delay(250);
                               P3=0xE0;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               LED_3=0;delay(250);
                               P3=0xC0;delay(500);
                          
                               LED_1=0;delay(250);
                               LED_2=0;delay(250);
                               P3=0x80;delay(500);
                          
                               LED_1=0;delay(500);
                          
                          	 LED_1=0;LED_2=0;LED_3=0;LED_4=0;delay(125);
                          	 P3=0xFF;delay(125);
                          	 LED_5=0;LED_6=0;LED_7=0;LED_8=0;delay(125);
                          	 P3=0xFF;delay(250);
                          	 LED_5=0;LED_6=0;LED_7=0;LED_8=0;delay(125);
                          	 P3=0xFF;delay(125);
                          	 LED_1=0;LED_2=0;LED_3=0;LED_4=0;delay(125);
                          	 P3=0xFF;delay(250);
                          
                          	 LED_1=0;LED_2=0;LED_3=0;LED_4=0;delay(125);
                          	 P3=0xFF;delay(125);
                          	 LED_5=0;LED_6=0;LED_7=0;LED_8=0;delay(125);
                          	 P3=0xFF;delay(250);
                          	 LED_5=0;LED_6=0;LED_7=0;LED_8=0;delay(125);
                          	 P3=0xFF;delay(125);
                          	 LED_1=0;LED_2=0;LED_3=0;LED_4=0;delay(125);
                          	 P3=0xFF;delay(250);	 
                          
                          	 P3=0xFF;delay(500);
                               P3=0x00;delay(1000);
                            }
                          }

                          Comment


                          • #14
                            Nguyên văn bởi Mr_se7en Xem bài viết
                            89S52 hay 89C51 con nào cũng xài như nhau. Đây là mạch đồng hồ mình tham khảo anh em trên diễn đàn ve rồ làm mạch luôn, hơi tốn tiền 1 tí ( con 12c887 khoảng 60K) nhưng mà chạy giờ rất tốt và chính xác. bạn chỉ cần bắt tay vào làm nữa là ok. Mạch led là 8 con nhưng bạn cứ bỏ 2 con ra không cần ráp, (bỏ con thứ 3 và 6 ra từ trái sang). làm đi rồi mình giúp!
                            cảm ơn các bạn rất nhiều
                            bạn dùng phần mềm ji để đọc vậy, sao mình dùng orcad 10.5 mà chỉ thấy phần mạch in ko thấy sơ đồ nguyên lý đâu cả còn proteus 7.2 thì ko đọc đc
                            Last edited by hieuhht; 02-06-2009, 11:33.

                            Comment


                            • #15
                              mất điện thì phải lấy lại h hả bạn

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X