Thông báo

Collapse
No announcement yet.

Hỏi code mạch đồng hồ số

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

  • Hỏi code mạch đồng hồ số

    Em đang design đồng hồ số,nhưng gặp khó khăn về code,mọi người xem giúp em:
    -Đây là mạch:
    -Đây là code:
    #include <regx51.h>
    void delay(unsigned int ms)
    {
    unsigned int i;
    unsigned int j;

    for(i=0;i<ms;i++)
    for(j=0;j<125;j++);
    }
    void ham1(int a,int b)
    { int i;
    for ( i=0;i<=9;i++)
    switch(i)
    {
    case 0:a=0xC0;
    delay(b);
    break;

    case 1:a=0xF9;
    delay(b);
    break;

    case 2:a=0xA4;
    delay(b);
    break;

    case 3:a=0xB0;
    delay(b);
    break;

    case 4:a=0x99;
    delay(b);
    break;

    case 5:a=0x92;
    delay(b);
    break;

    case 6:a=0x82;
    delay(b);
    break;

    case 7:a=0xF8;
    delay(b);
    break;

    case 8:a=0x80;
    delay(b);
    break;

    case 9:a=0x90;
    delay(b);
    break;
    }
    }
    void ham2(int x,int a)
    {
    switch(x)
    {
    case 0:a=0xC0;
    break;

    case 1:a=0xF9;
    break;

    case 2:a=0xA4;
    break;

    case 3:a=0xB0;

    break;

    case 4:a=0x99;
    break;

    case 5:a=0x92;

    break;
    case 6:a=0x82;
    break;

    case 7:a=0xF8;
    break;

    case 8:a=0x80;
    break;

    case 9:a=0x90;
    break;

    }
    }

    void main()
    { int i,j,k,m;
    for ( i=0;i<=5;i++)
    {ham2(i,P0);
    for( j=0;j<=9;j++)
    {ham2(j,P2);
    for( k=0;k<=5;k++)
    {ham2(k,P3);
    for( m=0;m<=9;m++)
    ham1(P1,1000);}
    }
    }
    }

    -Xin các bác xem xét cho ý kiến để em chữa lại cho đúng,đoạn code trên hiển thị giây,phút trên các led.
    -Cho hỏi nếu ai có mạch đông hồ số và cả code(viết bằng C) thì share cho em với,em cảm ơn

  • #2
    mấy cái góp í cho u thế này :
    - Với cái mạch của u , chưa tối ưu , cái mạch í ko phải là mạch quét led . Hic , với 4 led thì u chỉ tốn 8 đoạn + 4 chân cấp nguồn = 12 chân . U dùng hết trơn thế kia thì còn j là pro nữa
    - xem nhá
    Code:
    for( i=0;i<=60;++i)
    {P1=i%10; // lấy phần dư xuất ra led giây đơn vị
     P2=i/10; // lấy phần nguyên xuất ra led giây hàng chục
     delay_ms(1000);
     P1 = P2 = 0xFF ; // tắt led
    }
    đơn giản như vậy là tui đã & đang đếm giây oy đó
    u có thể phát triển code cho hoàn chỉnh đc chứ ?!!

    Comment


    • #3
      Nguyên văn bởi Zz_Bi_zZ Xem bài viết
      mấy cái góp í cho u thế này :
      - Với cái mạch của u , chưa tối ưu , cái mạch í ko phải là mạch quét led . Hic , với 4 led thì u chỉ tốn 8 đoạn + 4 chân cấp nguồn = 12 chân . U dùng hết trơn thế kia thì còn j là pro nữa
      - xem nhá
      Code:
      for( i=0;i<=60;++i)
      {P1=i%10; // lấy phần dư xuất ra led giây đơn vị
       P2=i/10; // lấy phần nguyên xuất ra led giây hàng chục
       delay_ms(1000);
       P1 = P2 = 0xFF ; // tắt led
      }
      đơn giản như vậy là tui đã & đang đếm giây oy đó
      u có thể phát triển code cho hoàn chỉnh đc chứ ?!!
      Vâng,đúng đây ko phải là quét led,em nghe nhiều người nói quét led ko hiển thị trên proteus đc nên chơi thế này,với lại tập code nữa.Em nghĩ là em sai ở chỗ hàm main,khi gọi hàm:ham1(P1,1000).Lẽ ra P1 phải là 1 số thay vì 1 biến,do em khai báo
      Code:
      void ham1(int a,int b)
      ở phần tạo hàm(hồi đầu em khai báo
      Code:
      void ham1(int &a,int b)
      nhưng khi build trong keiC nó bảo ko hiểu ,thế là em miễn cưỡng khai báo như các bác đã thấy
      Em thực sự thấy rối rắm quá,ai có kinh nghiệm rồi xin chỉ giáo!
      Nếu ai đã có mạch đồng hỗ số viết bằng C thì share cho em luôn,em cảm ơn lắm lắm

      Comment


      • #4
        Khi đọc code của 1 số bài,em có thắc mắc về 1 số code lạ,ví dụ
        Code:
         data = 0xFF;
        data >>= 1;// dich bit sang phai 1 bit
        Cho hỏi những code thế này có thể học ở đâu ko

        Comment


        • #5
          Cần giúp đở
          anh chị ai đã lamthành công đồng hồ số dòng chíp: At89,giúp em với,em đang gặp khó khăn. rất cần sự giúp đở của các anh chị.
          Chân thành cảm ơn

          Comment


          • #6
            bác nào có mạch và code không share lên cho anh em cùng tham khảo và làm

            Comment


            • #7
              Nguyên văn bởi netpro_ktdt Xem bài viết
              bác nào có mạch và code không share lên cho anh em cùng tham khảo và làm
              Tặng các bạn cái này. Các bạn tự nghiên cứu nhé: DONG HO LCD.rar
              FPT Service bảo hành, sửa chữa dịch vụ UPS, các loại nguồn công suất.
              Mr Xô : Email :
              ĐT : 01674524129

              Comment


              • #8
                Quét led thì bạn chỉ cần 1 port thôi..

                Comment


                • #9
                  không có bác nào có mạch quét bằng led đơn ah.sử dụng ic giải mã 74hc595 và 1 chip at 89s52

                  Comment


                  • #10
                    làm đồng hồ số thì nên sử dụng sang ds1307 đi bạn ơi
                    thứ nhất là giúp bạn làm quen với giao tiếp I2C thứ 2 là việc sử dụng DS1307 sẽ cho kết quả là thời gian chính xác
                    néu không thì bạn phải sử dụng timer tính toán cũng đau đầu đó mà cũng không thể chính xác được
                    chúc bạn thành công!

                    Comment


                    • #11
                      bác có mạch và file hex không share cho em.em tham khảo và làm.em đang có ý tưởng làm mạch đó nhưng đang tìm kiếm

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X