+ Trả Lời Ðề Tài
Trang 1/3 1 2 3 cuốicuối
kết quả từ 1 tới 10 trên 24

Đề tài: Tìm hiểu về IC họ 74xx

  1. #1
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default Tìm hiểu về IC họ 74xx

    Lập trình là 1 kỹ năng rất quan trọng đối với 1 kỹ sư điện tử. Tuy nhiên, trong quá trình xây dựng phần cứng, tôi thấy rằng chỉ lập trình thôi chưa đủ.
    Làm việc với họ vi điều khiển 89C5x, chúng ta sẽ thấy họ này hỗ trợ rất nhiều cho các IC ngoại vi. Chúng ta quá chú trọng đến các tài nguyên có sẵn của 89C5x (ví dụ như số lượng chân, timer, counter, bộ nhớ RAM, ROM...)mà quên mất 1 điều rằng họ này hỗ trợ mở rộng tất cả các tài nguyên của nó.
    Vậy chúng ta thiếu kỹ năng gì, nhất là với những người đã có kiến thức cơ bản về vi điều khiển: đó là sử dụng thành thạo các IC ngoại vi và các IC phụ trợ cho việc mở rộng tài nguyên của vi điều khiển.
    Vì các lý do trên, tôi xin mạnh dạn đưa ra 1 tutorial về học cách sử dụng các IC ngoại vi, các IC phụ trợ. Mong mọi người có kinh nghiệm vê các họ này đóng góp chút kiến thức cho các em sinh viên muốn tìm hiểu về lĩnh vực này.
    Kinh nghiệm của tôi cho thấy, các bạn sinh viên chỉ cần nắm được cách sử dụng thành thạo khoảng hơn 10 loại IC họ 74xx là các bạn có thể làm việc khá thoải mái. Các vấn đề về thiết kế mạch cũng trở nên rất sáng sủa.
    Tôi tạm thời đưa ra IC họ 74xx để chúng ta có thể bắt đầu

    74LS08/74HC08 : AND
    74LS32/74HC08 : OR
    74LS04/74HC04 : NOT
    74LS03/74HC03 : NAND
    74LS138 : giải mã địa chỉ 3 đầu vào 8 đầu ra
    74LS573 : Đệm và chốt theo mức của xung điều khiển
    74LS574 : Đệm và chốt theo sườn của xung điều khiển
    74LS244 : Đệm 1 chiều
    74LS245 : Đệm 2 chiều
    74595 : Ghi dịch, vào nối tiếp, ra song song

    Sau khi đã tìm hiểu về các loại IC trên, chúng ta sẽ tiếp tục tìm hiểu về các IC mở rộng ngoại vi như:
    8255 : mở rộng chân cẳng
    8253 : mở rộng timer và counter
    62xx : RAM ngoài (6264 có 8KB)
    27xxx: ROM ngoài (27256 có 32KB)

  2. The Following 4 Users Say Thank You to dung43 For This Useful Post:

    banlonglhn (22-11-2010), capello82 (16-12-2009), nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

  3. #2
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    Tại sao tôi lại giới thiệu đồng thời họ 74xx và các IC ngoại vi? Vì đơn giản là chúng làm việc ít khi tách rời nhau, đặc biệt là trong các hệ thống lớn.

    Ví dụ: Chúng ta mở rộng đầu vào ra cho 89C5x thì không thể thiếu IC giải mã 74LS138, IC chốt data 74LS573. Mở rộng RAM, ROM ngoài không thể thiếu 74LS573

  4. The Following 2 Users Say Thank You to dung43 For This Useful Post:

    nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

  5. #3
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    Phương pháp học:

    - Đọc datasheet để nắm được cấu tạo và thứ tự chân cẳng của IC. Các trang web để lấy datasheet gồm
    http://www.alldatasheet.com/
    http://www.datasheetcatalog.com/

    - Phải hiểu về 8 khái niệm sau:
    +) Xung là gì? (Xung sườn lên và Xung sườn xuống)
    +) Mức (Mức cao và mức thấp)
    +) Trạng thái trở kháng cao (High Z)
    +) Chọn chip (CS - Chip Select)
    +) Tích cực thấp (Low active)
    +) Tích cực cao (High active)
    +) Chốt dữ liệu (Strobe, Latch)
    +) Cho phép xuất dữ liệu (OE - Output Enable)

    - Tiến hành ráp mạch và lập trình để sử dụng các IC

    Tôi lấy ví dụ về cách sử dụng IC 74HC138
    +) IC74LS138 có 3 đầu vào, 3 đầu vào này giải mã ra 8 đầu ra. (2 mũ 3 bằng 8)
    +) Đầu tiên chúng ta nối 3 chân đầu vào của 74138 với 3 chân P1_1, P1_2, P1_3 của 89C5x. Các chân chọn chip của 74138 chúng ta mắc sao cho nó luôn được kich hoạt (chân 4,5 mắc lên GND. chân 6 mắc VCC)
    +) Mắc 8 đèn LED vào 8 đầu ra, mắc sao cho khi đầu ra của 74138 ở mức 0V thì LED sáng.
    +) Lập trình với 89C5x, xuất ra 3 chân lần lượt là 000, trễ 1s. 001 trễ 1s, 010, trễ 1s... cứ thế cho đến 111.
    +) Quan sát LED đầu ra chúng ta sẽ thấy các LED sẽ sáng thứ tự từng cái một. Như vậy là mạch đã hoạt động, giải mã đã thành công.
    thay đổi nội dung bởi: dung43, 15-10-2009 lúc 10:57 PM

  6. Thành viên thấy bài viết của dung43 có ích:

    tuanhvt (12-01-2012)

  7. #4
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    Với các bước thực hiện như trên, các bạn có thể làm tiếp với IC 74LS573, 74LS574. 2 IC này là 2 IC đệm có chốt. (khác với 74LS244 và 74LS254 là đệm không chốt).

    Ví dụ 74LS573. Đây là IC đệm có chốt với tín hiệu điều khiển theo mức (khác với tín hiệu điều khiển theo sườn)

    +) Nối 8 chân của cổng P1 của 89C5x với các chân từ D0->D7 của 74LS573
    +) Nối 8 chân ra Q0->Q7 với 8 đèn LED (giống như với 74LS138)
    +) Các chân LE và OE là 2 chân điều khiển luồng data. LE là chốt dữ liệu. OE là cho phép xuất dữ liệu ra.

    Chúng ta hãy tưởng tượng con 74LS573 như 1 căn phòng hình chữ nhật có 2 cánh cửa. một cánh cửa vào (cho phép người vào trong phòng) và 1 cánh cửa ra (cho phép người đi ra). Căn phòng chính là bộ đệm

    Tín hiệu điều khiển đóng/mở cửa vào là LE (LE = 0 là đóng cửa, LE = 1 là mở cửa) tín hiệu điều khiển đóng/mở cửa ra là OE (OE = 0 là mở cửa, OE = 1 là đóng cửa). Khi ta đóng cửa vào (LE = 0) tức là người ở ngoài không vào được phòng (dữ liệu không vào được bộ đệm), nhưng người ở trong phòng vẫn có thể ra ngoài được nhờ tín hiệu OE
    Nếu cửa vào luôn mở (LE luôn bằng 0 - nối đất) thì chỉ còn phụ thuộc vào OE. Ngược lại nếu cửa ra luôn mở (OE luôn bằng 1 - nối lên dương nguồn) thì đầu ra chỉ còn phụ thuộc vào LE.

    ................-----------------
    ...............|.......................|
    ...............|..(Vùng đệm)......|
    ................\.......................\
    .................\ LE....................\ OE
    -->data vào..\........-->data ra..\ ---->LED
    ...............|.......................|
    ...............|.......................|
    ................-----------------

    Như vậy muốn đưa dữ liệu từ 89C5x ra các LED thì phải qua 2 tín hiệu (2 cánh cửa). 1 tín hiệu LE là đưa dữ liệu từ 89C5x vào vùng đệm (căn phòng), 1 tín hiệu OE đưa dữ liệu từ vùng đệm ra LED

    ............LE...................OE..........
    89C5x ------> Vùng đệm -----> LED

    IC 74LS573 có nhiều ứng dụng như: Mở rộng bộ nhớ RAM ROM, mở rộng cổng vào ra (kết hợp với 74138).....
    thay đổi nội dung bởi: dung43, 09-10-2009 lúc 11:56 PM

  8. The Following 2 Users Say Thank You to dung43 For This Useful Post:

    nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

  9. #5
    biendt - TBĐ47
    Tham gia
    Fri Feb 2009
    Bạn đang xài vB
    Gõ bàn phím, đeo tai nghe
    Bài
    446
    Thanks
    30
    Thanked 73 Times in 46 Posts

    Default

    Cho thêm sự đa dạng của TTL - 74xx :
    74ls00 Cổng NAND với 2 đầu vào

    74ls04 Cổng NOT

    74ls06 Cổng NOT với cực thu hở

    74ls08 Cổng AND với 2 ngõ vào

    74ls10 Cổng NAND với 3 ngõ vào

    74ls13 Cổng NOT với 3 ngõ vào

    74ls11 Cổng AND với 3 ngõ vào

    74ls14 Cổng NOT với 6 ngõ vào

    74ls12 Cổng NAND với 3 ngõ vào cực thu hở

    74ls21 Cổng AND với 4 ngõ vào

    74ls22 Cổng NAND với 4 ngõ vào cực thu hở

    74ls25 Cổng NOR với 4 ngõ vào

    74ls27 Cổng NOR với 3 ngõ vào

    74ls30 Cổng NAND với 8 ngõ vào


    74ls32 Cổng OR với 2 ngõ vào

    74ls33 Cổng NOR với 2 ngõ v ào . Cực thu hở

    74ls42 Giải mã từ 1 đến 10

    74ls45 Giải mã BCD sang thập phân

    74ls47 Giải mã BCD sang LED 7 thanh

    74ls90 Đếm nhị phân đồng bộ thuận với Kd = 10

    74ls92 Đếm nhị phân đồng bộ thuận với Kd = 12

    74ls93 Đếm nhị phân đồng bộ thuận với Kd = 16

    74ls121 Bộ đa hài 1 xung

    74ls154 Giải mã 4 vào --> 16 ra

    74ls138 Giải mã 3 vào --> 8 ra

    74ls192 Đếm mã BCD lên xuống với Kd = 10

    74ls193 Đếm nhị phân đồng bộ 8 bít

    74ls237 Bộ phân kênh : 3 -->8

    74ls374 Trigio - D . Với 8 chốt điều chỉnh

    74ls390 Bộ đếm 10. Chia 2 và chia 5.

    74ls107 FipFlop - JK

    74ls175 FipFlop - D

    74ls289 Định vị 8 bít

    74ls279 Chốt RS

    74ls164 Thanh ghi 8 bit vào nối tiếp ra song song

    74ls166 Thanh ghi 8 bít vào song song ra nối tiếp

    74ls273 Thanh ghi 8 bit

    74ls150 Dồn kênh : 16 -->1

    74ls151 Dồn kênh : 16 -->1

    74ls153 Dồn kênh : 2 -->1

    74ls157 Dồn kênh : 4 -->2

    74ls158 Dồn kênh : 2 -->1

    74ls160 Đếm mã BCD

    74ls162 Đếm mã BCD

    74ls161 Đếm mã nhị phân - 4 bit

    74ls163 Đếm mã nhị phân - 4 bit

    74ls155 Giải mã từ 2 --> 4

    74ls156 Giải mã từ 2 --> 4

    74ls167 Giải mã từ 2 --> 4

    74ls139 Giải mã từ 2 --> 4

    74ls145 Giải mã BCD sang thập phân

    74ls185

    74ls147 Mã hóa ưu tiên từ 10 --> 4

    74ls148 Mã hóa ưu tiên từ 10 --> 4

    74ls125 Bộ đệm 3 trạng thái

    74ls126 Bộ đệm 3 trạng thái

    74ls85 So sánh 2 số nhị phân 8 bít

    74ls181 Phép tính số học

    74ls74 Trigio - D

    74ls76 Tri \gio - JK

    74ls01 Cổng NAND với 4 đầu ra

    74ls02 Cổng NOR với 4 đầu ra

    74ls595 Thanh ghi 8 bit với chốt đầu ra
    Làm gì cho hết kiếp nạn!

  10. The Following 2 Users Say Thank You to biendt For This Useful Post:

    nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

  11. #6
    Moderator
    Tham gia
    Sat Jan 2009
    Bài
    1,260
    Thanks
    105
    Thanked 275 Times in 217 Posts

    Default

    Họ 74 và 40 mặc dù khác nhau về công nghệ nhưng về cách tiếp cận thì cũng tương tự họ 74. Tuy nhiên, trong thực tế họ 74 được dùng (nhiều hơn), còn họ 40,54 ít được nhắc tới.

  12. #7
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    Vâng, đúng như thế. Họ 40 là các IC logic đời đầu. Nếu mở các main máy tính cổ ra (thời còn vi xử lý 4004 của Intel) ta sẽ thấy các chip họ 40 này rất nhiều.



    Em lập nên mục này với hi vọng giúp các em sinh viên mới tiếp cận với thiết kế mạch có thêm nhiều lựa chọn hơn. Các họ 74 rất dễ sử dụng. Nhưng lợi ích của nó thì khá phong phú. Mục đích nữa là khi các em sv làm quen với các IC logic này, khi phân tích 1 mạch điện cũng trở nên dễ dàng, dễ học hỏi được thêm các "chiêu" thiết kế.
    thay đổi nội dung bởi: dung43, 16-10-2009 lúc 08:44 AM

  13. #8
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    May Apple II


  14. Thành viên thấy bài viết của dung43 có ích:

    tuanhvt (12-01-2012)

  15. #9
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    - Tiếp về họ 74xx nào. Hôm nay ta bàn tiếp về con 74LS595 (hay 74HC595).
    - IC 74LS595 là IC ghi dịch. vào nối tiếp - ra song song. Tức là dữ liệu vào từng bít nhưng xuất ra cả byte.
    - Để dùng con IC này thì rất dễ nhưng ứng dụng của nó khá đa dạng. Một trong những ứng dụng chính là quét cột trong điều khiển LED ma trận.



    - 74LS595 có 5 đầu vào để điều khiển
    + Đầu vào data (chân 14)
    + Chân clock (chân 11)
    + Chân chốt data (chân 12)
    + Chân xuất data (chân 13)
    + Chân xóa data (chân 10)

    .......................................... ra song song................
    .....xuất data.......__/____/_____/_____/____/_____/____/____/___
    .......chốt data....|.bit1.|.bit2.|.bit3.|.bit4.|.bit5.|.bit6. |.bit7.|.bit8.|
    vào nối tiếp..-->....bit...bit...bit...bit...bit...bit...bit...bit ...bit...bit...bit...bit-->
    ........................._________________________ _________________

  16. The Following 3 Users Say Thank You to dung43 For This Useful Post:

    banlonglhn (22-11-2010), nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

  17. #10
    Hạ vị Thần cấp
    Tham gia
    Tue Sep 2009
    Bài
    138
    Thanks
    1
    Thanked 115 Times in 52 Posts

    Default

    74LS595(chốt và dịch) = 74LS164(dịch) + 74LS573(chốt)
    Một code đơn giản để sử dụng con 74LS595.

    Như bài trước đã nói, 74LS595 có 5 tín hiệu cần điều khiển.
    +) DATA - Dữ liệu vào nối tiếp
    +) SHIFT - Dịch dữ liệu
    +) LATCH - Chốt dữ liệu
    +) OUTPUT ENABLE - Cho phép xuất dữ liệu
    +) RESET - Xóa dữ liệu

    Mọi người xem 2 đoạn code này làm gì nhé.

    (chú ý: 8 đầu ra của 74LS595 mắc với 8 đèn LED)

    CODE 1
    #include <AT89X52.H>

    #define data P2_0
    #define reset P2_1
    #define shift P2_2
    #define latch P2_3
    #define output P2_4


    //-------------- Ham tre mini giay ----------------

    void tre(unsigned int ms)
    {
    unsigned int m,n;
    for(m=0;m<ms;m++)
    for (n=0;n<120;n++)
    {}
    }

    //-------------------------------------------------



    //------------- Ham xuat 1 byte data ---------------------

    void xuat_data(unsigned char out_data)
    {
    unsigned char i;

    for (i=1;i<=8;i++)
    {
    data = 0x01 & out_data; //xuat bit dau tien cua byte out_data ra chan data

    shift=1;
    shift=0; //shift chuyen tu muc cao xuong thap, bit data duoc day vao trong 74LS595

    out_data = out_data >> 1; //dich cac bit cua out_data sang phai 1 bit
    }

    latch=1;
    latch=0; //latch chuyen tu muc cao xuong thap, xuat 8 bit (byte out_data) ra 8 chan cua 74LS595
    }

    //--------------------------------------------------------


    void main()
    {
    reset=1; //no clear data
    output = 0; // luon xuat data trong bo dem

    while(1)
    {
    xuat_data(0xFF);
    tre(1000); //tre 1 giay
    xuat_data(0x00);
    tre(1000);
    }

    }


    CODE 2

    #include <AT89X52.H>

    #define data P2_0
    #define reset P2_1
    #define shift P2_2
    #define latch P2_3
    #define output P2_4


    //-------------- Ham tre mini giay ----------------

    void tre(unsigned int ms)
    {
    unsigned int m,n;
    for(m=0;m<ms;m++)
    for (n=0;n<120;n++)
    {}
    }

    //-------------------------------------------------



    //------------- Ham xuat 1 byte data ---------------------

    void xuat_data(unsigned char out_data)
    {
    unsigned char i;

    for (i=1;i<=8;i++)
    {
    data = 0x01 & out_data; //xuat bit dau tien cua byte out_data ra chan data

    shift=1;
    shift=0; //shift chuyen tu muc cao xuong thap, bit data duoc day vao trong 74LS595

    out_data = out_data >> 1; //dich cac bit cua out_data sang phai 1 bit
    }

    latch=1;
    latch=0; //latch chuyen tu muc cao xuong thap, xuat 8 bit (byte out_data) ra 8 chan cua 74LS595
    }

    //--------------------------------------------------------


    void main()
    {
    reset=1; //no clear data
    output = 0; // luon xuat data trong bo dem

    while(1)
    {
    xuat_data(0xFF);
    tre(1000); //tre 1 giay
    reset = 0;
    reset = 1;
    tre(1000);

    }

    }
    thay đổi nội dung bởi: dung43, 23-10-2009 lúc 09:53 AM

  18. The Following 6 Users Say Thank You to dung43 For This Useful Post:

    aptth_90 (03-06-2011), banlonglhn (22-11-2010), capello82 (16-12-2009), coldprjnce (26-10-2009), nguyenvu149 (21-12-2010), tuanhvt (12-01-2012)

+ Trả Lời Ðề Tài
Trang 1/3 1 2 3 cuốicuối

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Quyền Sử Dụng Ở Diễn Ðàn

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts