Thông báo

Collapse
No announcement yet.

Giúp mình làm mạch điều khiển LED đơn với ...

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

  • Giúp mình làm mạch điều khiển LED đơn với ...

    Tình hình là mình đang làm mạch điều khiển 8 LED đơn bằng vđk 89c51 và thứ 6 đây phải nộp rùi, có vài điều mình hok hỉu mong mọi người giải đáp giúp nha.
    Đây là mạch mình tự vẽ:
    Click image for larger version

Name:	mach.jpg
Views:	1
Size:	86.6 KB
ID:	1410605
    Về mạch mình có mấy câu hỏi sau:
    1. Về phần reset - giá trị của R1 là bao nhiêu? Mình thấy vài tài liệu trên mạng gi là 10k or 8.2 k nhưng khi mình mô phỏng trên proteus thì k đc, khi ấn nút k có tác dụng ji, khi mình cho R1 chừng 1k thì khi ấn nút nó sẽ reset, vậy có đc k?
    2. Trong mạch có cái điện trở thanh kia, khi mô phỏng trong proteus mình mún điều chỉnh giá trị của nó thì vào chổ nào ?

    Đây là code của mình, mình cho 1 nút điều khiển P1.0: khi P1.0 = 1 thì nó sẽ sáng từng cặp đèn 1-8 -> 2-7 -> 3-6 -> 4-5 rùi ngược lại và liên tục như vậy, khi nhấn nút P1.0 sẽ bằng 0 nó sẽ sáng các đèn từ 1->8 và ngược lại.

    Về code thì mình có câu hỏi này, có thể hơi ngớ ngẫn 1 tý các pác đừng chém nha : ta có lệnh nhập dữ liệu cho port : P0 = 0x01, mình mún hỏi "0x" là cái ji, tại sao phải viết nó vào ???

    Các bạn có mạch + code (có mo phỏng nữa càng tốt) hoặc ý tưởng ji hay cho mạch điều khiển LED thì chia sẽ cho mình với nha
    Cuối cùng là xin các bạn xem qua đoạn code của mình và chỉnh sửa giúp mình cho nó ngắn gọn và xúc tích nhất nha
    Thanks các bạn đã đọc bài của mình

    #include <REGX51.H>
    void delay( unsigned int ms )
    {
    unsigned char j=120;
    while(ms--)
    while(j--){};
    }

    main ()
    {
    unsigned char i,j;
    while (1)
    {
    if(P1_0 == 0)
    {
    P0 = 0x01;
    delay(200);
    for (i=0;i<7;i++)
    {
    P0<<=1 ;
    delay(200);
    }
    for (j=0;j<6;j++)
    {
    P0>>=1 ;
    delay(200);
    }
    }
    else
    {
    P0=0x81;
    delay(200);
    P0=0x42;
    delay(200);
    P0=0x24;
    delay(200);
    P0=0x18;
    delay(200);
    P0=0x24;
    delay(200);
    P0=0x42;
    delay(200);
    }

    }
    }

  • #2
    chào bạn,tuy là mình chưa học vi điều khiển nhưng phần cứng của nó thì mình biết:
    1.R1 thường chọn là 10k,trong protues bạn muốn reset thì nối button xuống mass,nó ngược lại với thực tế là nối button lên dương nguồn.
    2.điện trở thanh loại đó ko thay đc giá trị đâu,bạn lấy loại RES10SIPB á.

    về phần code thì bác nào học rồi sẽ giúp,mình thì pó tay.
    ĐT: 0972 20 58 68
    Gmail:

    Comment


    • #3
      Nguyên văn bởi hoangnam555 Xem bài viết
      chào bạn,tuy là mình chưa học vi điều khiển nhưng phần cứng của nó thì mình biết:
      1.R1 thường chọn là 10k,trong protues bạn muốn reset thì nối button xuống mass,nó ngược lại với thực tế là nối button lên dương nguồn.
      2.điện trở thanh loại đó ko thay đc giá trị đâu,bạn lấy loại RES10SIPB á.

      về phần code thì bác nào học rồi sẽ giúp,mình thì pó tay.
      thanks bạn mình reset đc rùi
      còn cái RES10SIPB có 10 chân lun à, vậy là dư 1 chân ^^ có cái nào 9 chân hok bạn và bạn có thể tính giúp với mạch của mình thì nên cho nó có giá trị là bao để LED sáng rỏ k

      Comment


      • #4
        Nguyên văn bởi trigiang28 Xem bài viết
        thanks bạn mình reset đc rùi
        còn cái RES10SIPB có 10 chân lun à, vậy là dư 1 chân ^^ có cái nào 9 chân hok bạn và bạn có thể tính giúp với mạch của mình thì nên cho nó có giá trị là bao để LED sáng rỏ k
        trở thanh đó chỉ là trở treo lấy mức logic 1 thôi bạn,bạn phải dùng tran đệm dòng cho led thì mới sáng mạnh đc hoặc bạn cho xuất logic 0 là led sáng,khi đó ta mắc led lên dương nguồn chứ ko phải xuống mass.
        trở treo thường dùng là 4k7 hoặc 10k.
        ĐT: 0972 20 58 68
        Gmail:

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X