Thông báo

Collapse
No announcement yet.

Chuông Báo Giờ Học Kết hợp Đồng Hồ

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

  • Chuông Báo Giờ Học Kết hợp Đồng Hồ

    Chào cả nhà! Em có một đề tài cần cả nhà giúp. Hiện tại e đang tìm hiểu về hệ thống chuông báo tiết học.
    Mô tả Khối:
    1. Mạch đồng hồ số sử dụng VĐK (89xx) hiển thị led 7 thanh hoặc LCD
    2. Mạch công suất (Điều khiển chuông)
    - Thời gian đặt chuông có thể lên tới 20 lần/ngày và có thể lặp đi lặp lại trong tuần/tháng hoặc thậm chí là năm. (t7/cn ko có chuông.) chuông được đặt tự động rung khi đến giờ.
    - Có thể thay đổi hẹn giờ chuông.
    VD: e muốn 7h30' rung chuông..... 8h15' rung....8h30' rung....
    có ae nào đã làm về vấn đề này có thể chia sẻ cho e ít tài liệu ko?

  • #2
    Hi,
    Cái ni tui làm rồi và đã triển khai ở trường học có điều tui sử dụng PIC chứ không dùng 89xx và hiển thị trên LED 7seg. Vì thời khóa biểu ở trường là cố định nên mạch của tui không thay đổi cái này được, chỉ cho phép đặt ngày giờ thôi. Nếu bác cần thì tui share cho.
    Thân ái.
    Đường đến những ngày vinh quang không còn xa
    Con đường chúng ta... chúng ta đã chọn.

    Comment


    • #3
      Thanks bác nhìu nha! Bác share lên đây cho các a e cùng học tập nhé!

      Comment


      • #4
        Minh co the lap trinh (dung code C) va thiet ke mach cho ban. Ban cho biet chi tiet yeu cau cua de tai vao file word roi gui qua mail cho minh. Email cua minh la: " chau0105_bt@yahoo.com ". Khi gui mail xong thi ban nhan tin cho minh nha : 0919.928.315
        Last edited by chau0105_bt; 26-06-2011, 17:13.

        Comment


        • #5
          Minh moi ve so do va viet duoc vai dong code thoi. Minh gui len tham khao truoc nha. Tuan sau minh Up len toan bo de tai cho.

          #include <REGX51.H>
          // Bien nho gio - phut - giay
          #define SEC 0x00
          #define MIN 0x01
          #define HOUR 0x02
          char sec,hour,min;

          // Bien nho hen gio: 25 lan
          #define H01 0x09 #define M01 0x0A
          #define H02 0x0B #define M02 0x0C
          #define H03 0x00 #define M03 0x00
          #define H04 0x00 #define M04 0x00
          #define H05 0x00 #define M05 0x00
          #define H06 0x00 #define M06 0x00
          #define H07 0x00 #define M07 0x00
          #define H08 0x00 #define M08 0x00
          #define H09 0x00 #define M09 0x00
          #define H10 0x00 #define M10 0x00
          #define H11 0x00 #define M11 0x00
          #define H12 0x00 #define M12 0x00
          #define H13 0x00 #define M13 0x00
          #define H14 0x00 #define M14 0x00
          #define H15 0x00 #define M15 0x00
          #define H16 0x00 #define M16 0x00
          #define H17 0x00 #define M17 0x00
          #define H18 0x00 #define M18 0x00
          #define H19 0x00 #define M19 0x00
          #define H20 0x00 #define M20 0x00
          #define H21 0x00 #define M21 0x00
          #define H22 0x00 #define M22 0x00
          #define H23 0x00 #define M23 0x00
          #define H24 0x00 #define M24 0x00
          #define H25 0x00 #define M25 0x00
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;
          char hour_a01,min_a01;

          // Khai bao chan giao tiep giua cac linh kien, phim nhan va IC
          sbit SDA = P1^0;
          sbit SCL = P1^1;
          sbit Set = P1^2;
          sbit Up = P1^3;
          sbit Down = P1^4;
          sbit Ok = P1^5;
          sbit Alarm = P1^6;
          sbit Sound = P1^7;

          sbit L01 = P2^0;
          sbit L02 = P2^1;
          sbit L03 = P2^2;
          sbit L04 = P2^3;
          sbit L05 = P2^4;
          sbit L06 = P2^5;
          sbit L07 = P2^6;
          sbit L08 = P2^7;

          unsigned char Data_Led7D[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };


          //************************************************** ****************************
          // CAC CHUONG TRINH CON CHO I2C
          //************************************************** ****************************
          void I2C_start(void)
          {
          SCL = 1; SCL = 0;
          SDA = 1; SCL = 1;
          delay(2);
          SDA = 0; delay(2);
          SCL = 0; delay(2);
          }
          void I2C_stop(void)
          {
          SCL = 1; SCL = 0;
          SDA = 0; delay(2);
          SCL = 1; delay(2);
          SDA = 1;
          }
          bit I2C_write(unsigned char dat)
          {
          unsigned char i;
          for (i=0;i<8;i++)
          {
          SDA = (dat & 0x80) ? 1:0;
          SCL=1;SCL=0;
          dat<<=1;
          }
          SCL = 1; delay(2);
          SCL = 0;
          return dat;
          }
          unsigned char I2C_read(void)
          {
          bit rd_bit;
          unsigned char i, dat;
          dat = 0x00;
          for(i=0;i<8;i++) /* For loop read data 1 byte */
          {
          delay(2);
          SCL = 1; delay(2); /* Set SCL */
          rd_bit = SDA; /* Keep for check acknowledge */
          dat = dat<<1;
          dat = dat | rd_bit; /* Keep bit data in dat */
          SCL = 0; /* Clear SCL */
          }
          return dat;
          }
          //************************************************** ****************************
          // CAC CHUONG TRINH CON CHO DS1307
          //************************************************** ****************************
          unsigned char DS1307_read(unsigned char addr)
          {
          unsigned int temp,ret;
          I2C_start(); /* Start i2c bus */
          I2C_write(0xD0); /* Connect to DS1307 */
          I2C_write(addr); /* Request RAM address on DS1307 */
          I2C_start(); /* Start i2c bus */
          I2C_write(0XD1); /* Connect to DS1307 for Read */
          ret = I2C_read(); /* Receive data */
          I2C_stop();
          //************************************************** ********
          temp = ret; /*BCD to HEX*/
          ret = (((ret/16)*10)+ (temp & 0x0f)); /*for Led 7seg*/
          //************************************************** ********
          return ret;
          }

          void DS1307_Write(unsigned char addr,unsigned char dat)
          {
          unsigned int temp;
          //**********************************************
          temp = dat ; /*HEX to BCD*/
          dat = (((dat/10)*16)|(temp %10)); /*for Led 7seg*/
          //**********************************************
          I2C_start(); /* Start i2c bus */
          I2C_write(0XD0); /* Connect to DS1307 */
          I2C_write(addr); /* Request RAM address on DS1307 */
          I2C_write(dat); /* Connect to DS1307 for Read */
          I2C_stop();
          }

          void Out_1Hz()
          {
          I2C_start(); /* Start i2c bus */
          I2C_write(0xD0); /* Connect to DS1307 */
          I2C_write(0x07); //vi tri con tro RTC
          I2C_write(0x10);
          I2C_stop();
          }

          void Read_DS1307()
          {
          sec = DS1307_read(SEC);
          min = DS1307_read(MIN);
          hour = DS1307_read(HOUR);
          hour_a01 = DS1307_read(H01); min_a01 = DS1307_read(M01);
          hour_a02 = DS1307_read(H02); min_a02 = DS1307_read(M02);
          hour_a03 = DS1307_read(H03); min_a03 = DS1307_read(M03);
          hour_a04 = DS1307_read(H04); min_a04 = DS1307_read(M04);
          hour_a05 = DS1307_read(H05); min_a05 = DS1307_read(M05);
          hour_a06 = DS1307_read(H06); min_a06 = DS1307_read(M06);
          hour_a07 = DS1307_read(H07); min_a07 = DS1307_read(M07);
          hour_a08 = DS1307_read(H08); min_a08 = DS1307_read(M08);
          hour_a09 = DS1307_read(H09); min_a09 = DS1307_read(M09);
          hour_a10 = DS1307_read(H10); min_a10 = DS1307_read(M10);
          hour_a11 = DS1307_read(H11); min_a11 = DS1307_read(M11);
          hour_a12 = DS1307_read(H12); min_a12 = DS1307_read(M12);
          hour_a13 = DS1307_read(H13); min_a13 = DS1307_read(M13);
          hour_a14 = DS1307_read(H14); min_a14 = DS1307_read(M14);
          hour_a15 = DS1307_read(H15); min_a15 = DS1307_read(M15);
          hour_a16 = DS1307_read(H16); min_a16 = DS1307_read(M16);
          hour_a17 = DS1307_read(H17); min_a17 = DS1307_read(M17);
          hour_a18 = DS1307_read(H18); min_a18 = DS1307_read(M18);
          hour_a19 = DS1307_read(H19); min_a19 = DS1307_read(M19);
          hour_a20 = DS1307_read(H20); min_a20 = DS1307_read(M20);
          hour_a21 = DS1307_read(H21); min_a21 = DS1307_read(M21);
          hour_a22 = DS1307_read(H22); min_a22 = DS1307_read(M22);
          hour_a23 = DS1307_read(H23); min_a23 = DS1307_read(M23);
          hour_a24 = DS1307_read(H24); min_a24 = DS1307_read(M24);
          hour_a25 = DS1307_read(H25); min_a25 = DS1307_read(M25);
          }

          void Write_DS1307()
          {
          DS1307_Write(SEC,sec);
          DS1307_Write(MIN,min);
          DS1307_Write(HOUR,hour);
          }
          void Write_A01()
          {
          DS1307_Write(H01,hour_a01);
          DS1307_Write(M01,min_a01);
          }
          void Write_A02()
          {
          DS1307_Write(H02,hour_a02);
          DS1307_Write(M02,min_a02);
          }
          void Write_A03()
          {
          DS1307_Write(H03,hour_a03);
          DS1307_Write(M03,min_a03);
          }
          void Write_A04()
          {
          DS1307_Write(H04,hour_a04);
          DS1307_Write(M04,min_a04);
          }
          void Write_A05()
          {
          DS1307_Write(H05,hour_a05);
          DS1307_Write(M05,min_a05);
          }
          void Write_A06()
          {
          DS1307_Write(H06,hour_a06);
          DS1307_Write(M06,min_a06);
          }
          void Write_A07()
          {
          DS1307_Write(H07,hour_a07);
          DS1307_Write(M07,min_a07);
          }
          void Write_A08()
          {
          DS1307_Write(H08,hour_a08);
          DS1307_Write(M08,min_a08);
          }
          void Write_A09()
          {
          DS1307_Write(H09,hour_a09);
          DS1307_Write(M09,min_a09);
          }
          void Write_A10()
          {
          DS1307_Write(H10,hour_a10);
          DS1307_Write(M10,min_a10);
          }
          void Write_A11()
          {
          DS1307_Write(H11,hour_a11);
          DS1307_Write(M11,min_a11);
          }
          void Write_A12()
          {
          DS1307_Write(H12,hour_a12);
          DS1307_Write(M12,min_a12);
          }
          void Write_A13()
          {
          DS1307_Write(H13,hour_a13);
          DS1307_Write(M13,min_a13);
          }
          void Write_A14()
          {
          DS1307_Write(H14,hour_a14);
          DS1307_Write(M14,min_a14);
          }
          void Write_A15()
          {
          DS1307_Write(H15,hour_a15);
          DS1307_Write(M15,min_a15);
          }
          void Write_A16()
          {
          DS1307_Write(H16,hour_a16);
          DS1307_Write(M16,min_a16);
          }
          void Write_A17()
          {
          DS1307_Write(H17,hour_a17);
          DS1307_Write(M17,min_a17);
          }
          void Write_A18()
          {
          DS1307_Write(H18,hour_a18);
          DS1307_Write(M18,min_a18);
          }
          void Write_A19()
          {
          DS1307_Write(H19,hour_a19);
          DS1307_Write(M19,min_a19);
          }
          void Write_A20()
          {
          DS1307_Write(H20,hour_a20);
          DS1307_Write(M20,min_a20);
          }
          void Write_A21()
          {
          DS1307_Write(H21,hour_a21);
          DS1307_Write(M21,min_a21);
          }
          void Write_A22()
          {
          DS1307_Write(H22,hour_a22);
          DS1307_Write(M22,min_a22);
          }
          void Write_A23()
          {
          DS1307_Write(H23,hour_a23);
          DS1307_Write(M23,min_a23);
          }
          void Write_A24()
          {
          DS1307_Write(H24,hour_a24);
          DS1307_Write(M24,min_a24);
          }
          void Write_A25()
          {
          DS1307_Write(H25,hour_a25);
          DS1307_Write(M25,min_a25);
          }
          //************************************************** ****************************

          Comment


          • #6
            Rất cám ơn bạn! mình đã gửi tất cả nội dung trong thư! hi vọng nhận đc ý kiến đóng góp của bạn.

            Comment


            • #7
              hịc, mình comment rồi mà, thế mà lại mất nhỉ ?
              vớ vẩn thật
              Chuông báo của bạn chạy điện áp bao nhiêu, loại gì ?
              bạn dùng RTC gì ? DS1307 à ?
              My Face :

              Comment


              • #8
                Chuông Báo Giờ Học Kết hợp Đồng Hồ

                Nguyên văn bởi Hard Xem bài viết
                Hi,
                Cái ni tui làm rồi và đã triển khai ở trường học có điều tui sử dụng PIC chứ không dùng 89xx và hiển thị trên LED 7seg. Vì thời khóa biểu ở trường là cố định nên mạch của tui không thay đổi cái này được, chỉ cho phép đặt ngày giờ thôi. Nếu bác cần thì tui share cho.
                Thân ái.
                Hay quá, bạn share cho mình với nhe! Email của mình butbi7@gmail.com. Cám ơn bạn trước nhe!

                Comment


                • #9
                  uhm. cái này mình cũng đã từng làm với PIC vs DS1037 giao tiếp I2C. Chủ yếu là kiểm soát được DS qua I2C để giao tiếp dữ liệu một khi đã lấy được dữ liệu về PIC và làm chủ dc con DS thì việc hiển thị do bạn thôi lúc đó hiển thị LCD hoạc led7 quá đơn giản. đương nhiên cả việc xử lý điều chỉnh thông số và hẹn giờ tùy giải thuật lập tình của bạn....!!!!!
                  Kết Nối Dân Kỹ Thuật tại facebook để Trao đổi - học hỏi

                  Thích chém gió bốn phương zô đây

                  Comment


                  • #10
                    cho mình file với lee_nguyen thanl nhiều nha bạn
                    tranthanhquang09cdt2@gmail.com

                    Comment


                    • #11
                      bạn thaichiendt ơi ! bạn có thể share cho mình file bạn làm với PIC vs DS1037 giao tiếp I2C được không? thanks bạn nhiều !

                      Comment


                      • #12
                        bác nào có file share em với truongquan901@gmail.com thanks bác nhiều !

                        Comment


                        • #13
                          bác có thể share cho em file bác đã làm được không vậy? truongquan901@gmail.com

                          Comment


                          • #14
                            share cho mình với nhé thaivanbayvietnam@gmail.com

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X