Thông báo

Collapse
No announcement yet.

Một số kiểu thiết kế tiết kiệm chân Vi điều khiển!

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

  • #61
    Anh BinhAnh oi.
    Anh gửi cho em vài chương trìng C viết về bàn phím theo kiểu cua anh cho em được ko? Em cảm ơn anh!

    Comment


    • #62
      Nguyên văn bởi BinhAnh Xem bài viết
      Có thể bạn chưa biết! Một số kiểu thiết kế tiết kiệm chân MCU!

      Bàn phím là 1 chức năng không thể thiếu trong việc thiết kế mạch. Một số mạch,nếu dùng hết chân vào/ra của MCU mà vẫn ko đủ cho ứng dụng của mình. Vậy làm sao? kiếm 1 con MCU nhiều cổng I/O hay ghép nhiều con.. hay vô vàn cách khác. Tuy nhiên trước khi tìm đến giải pháp đó, bạn nán lại ít phút. Có thể giải pháp của tôi đưa ra có thể giúp ích được cho bạn trong một số trường hợp. Các mạch này tôi đã từng làm và chạy khá tốt.

      Tiết kiệm chân nếu mạch quét Led7T+bắt phím.
      Mạch 1: Led7T và 4 phím ấn. Chỉ mất: 8 chân data, 4 chân điều khiển,1 chân đọc phím. Tổng mất:8+4+1=13 chân.
      Làm như trên mạch của bạn sẽ có tính năng: Dữ liệu mềm dẻo, tiết kiệm IC giãi mã 7T kiểu-Bạn hoàn toàn có thể hiển thị:0-9, ngoài ra bạn có thể hiển thị lên đó một số chữ như:A,B,C,..G,g,n,U,u... trên cái mặt LED cỏn con đó.
      Vậy lợi ích đã rõ: bạn tiết kiệm được IC giải mã, mềm dẻo hơn trong hiển thị, có thể bắt 4 phím, tất nhiên có thể phát triển thành 8, 16, thậm chí hơn nữa, mà không tốn thêm 1 chân nào dành cho việc quét phím(lần sau).

      Việc bắt phím vô cùng đơn giản. Giả sử bạn quét đến LED thứ i(i=1->4), bạn đọc trạng thái chân Keyboard.
      if(Keyboard)
      {
      //Phím thứ i được ấn
      //Bạn có thể dùng thêm mã lệnh để chống rung
      }

      Sau đây là hình ảnh gửi kèm(các thành viên đăng nhập mới thấy được hình ảnh và file gửi kèm)
      ... bài viết này của BA rất hay, rất tiếc diễn đàn trong thời gian qua bị lỗi nên một số hình ảnh, sơ đồ minh họa bị mất, làm bài viết mất đi giá trị của nó... hôm nay tình cờ lục lại đống tài liệu cũ, rất may là mình còn lưu lại những bài viết nêu trên, để các bạn tiện theo dõi, tui xin mạn phép UP mấy cái sơ đồ và hình ảnh đó lên dưới dạng QUOTE bài viết cũ...
      Attached Files
      Last edited by MHz; 30-03-2007, 18:46.

      Comment


      • #63
        Nguyên văn bởi BinhAnh Xem bài viết
        Đây là một kiểu thiết kế tương tự, cũng chỉ với 13 chân, bạn có thể mở rộng 8 phím ấn.

        Cách thực hiện cũng đơn giản, sau mỗi dòng lệnh xóa led, bạn chèn mã lệnh bằng cách gán data_i=1; nếu sau đó đọc trạng thái chân keyboard. Nếu bằng 1 thì có nghĩa là phím i được ấn.

        Chú ý, với PIC thì bạn có thể vô tư với kiểu trên, song với 89 thì cần trở kéo ở các chân data. Cách hay hơn nếu dùng 89, bạn đảo ngược tất cả đầu LED, nối điện trở chân KB lên 1. Sau dòng lệnh xóa Led, nếu chân KB==0 thì phím được ấn.

        Có thể biến đổi mạch trên khác đi 1 chút cho hợp với thiết kế của mình
        ... post#2................
        Attached Files

        Comment


        • #64
          Nguyên văn bởi BinhAnh Xem bài viết
          Với cách ở hình 3, nó sẽ gần giống cách hình 2.
          Sau mỗi dòng lệnh xóa Led, bạn chèn thêm mã lệnh quét kiểu matran phím. Theo cách này bạn lại có thể mở rộng 16 phím. Vậy chỉ cần 13-1=12 chân, bạn có thể làm được 1 kiểu quét khá tiết kiệm.
          Lưu ý: với PIC, trước khi làm thao tác quét này bạn nhớ khởi tạo chức năng công I/OATA là 4:I,4:O
          Với 89 thì nhớ set các chân data lên 1 đã.[/b]
          ... post#3.............
          Attached Files

          Comment


          • #65
            ... làm thủ công theo cách này chậm quá... lại mang tiếng "câu bài"... ... bác mike (Admin) có cách nào khác để chèn hình ảnh vào bài viết cũ mà không phải áp dụng cách làm củ chuối này không (hiện còn một số sơ đồ và hình ảnh nữa chưa UP lên)
            Thanks...

            Comment


            • #66
              Đây, toàn bộ nó đây, bạn nào quan tâm có thể lấy về xem nhé, hoặc bác admin có thể hệ thống lại rồi post nguyên một bài đi!
              Attached Files

              Comment


              • #67
                Nguyên văn bởi natra2k2 Xem bài viết
                Đây, toàn bộ nó đây, bạn nào quan tâm có thể lấy về xem nhé, hoặc bác admin có thể hệ thống lại rồi post nguyên một bài đi!
                ... thanks bác natra2k2, cách làm này tiện lợi hơn cách của tui, vậy mà nghĩ không ra...hihi...

                Comment


                • #68
                  Nếu chỉ dùng 1 chân mà đọc được 16_32 phím thì sao nhỉ...?

                  Comment


                  • #69
                    Nguyên văn bởi big_sky Xem bài viết
                    Nếu chỉ dùng 1 chân mà đọc được 16_32 phím thì sao nhỉ...?
                    ... bác tham khảo thêm luồng này....
                    http://dientuvietnam.net/forums/show...?t=831&page=16

                    Comment


                    • #70
                      Nếu bạn dùng pic 16f87xx trở lên thì 1 chân thôi có thể điều khiển 1024 phím, nhưng trên thực tế thì không ai dùng phím nhiều như vậy, đây là một ưu điểm pic so với 89.

                      Comment


                      • #71
                        Nguyên văn bởi natra2k2 Xem bài viết
                        Đây, toàn bộ nó đây, bạn nào quan tâm có thể lấy về xem nhé, hoặc bác admin có thể hệ thống lại rồi post nguyên một bài đi!
                        Hì, nếu cứ cuối mỗi page lại có 1 bài như của bác natra thì tốt quá. File Rar tải vèo 1 cái là xong, thank you bác. May là em nhảy 1 fát xuống trang cuối
                        Em đề nghị các bác học tập bác natra

                        Comment


                        • #72
                          sorry bà con em bới lại luồng này.

                          Trước hết rất cảm ơn các mod, nhất là bác BA đã chia sẻ với anh em những kiểu tiết kiệm chân rất hữu ích. Em đang có một project nho nhỏ cũng có led 7T và phím, mà vdk số chân có hạn, thế là làm cái menu rất chi là rắc rối. Nhờ có bài của bác BA, mọi thứ trở nên dễ dàng hơn. Và thực tế tìm hiểu thêm thì bọn tây chúng nó cũng dùng kiểu vừa quét vừa bắt như thế này. Chắc bọn nó bắt chước bác BA j/k

                          VÀ em thấy bọn microchip cũng có một cái tip&trick cho pic 8 chân, cũng có một số kiểu thiết kế tuơng tự, ví dụ 1 chân có thể bắt nhiều phím bằng ADC như bác BA đã đề cập hay cũng 1 chân bắt đuợc nhiều phím dùng timer, etc
                          Sẽ hữu ích cho những người mới như em

                          PS: ngày mai các bác tham gia seminar tháng 3 của microchip chắc cũng đuợc phát một cuốn tipntricks này đấy ạ
                          Attached Files
                          Last edited by HTAluvBebeo; 12-03-2008, 09:45.

                          Comment


                          • #73
                            Tài liệu của HTV cung cấp đưa khá tổng hợp.
                            Nguyên văn bởi HTAluvBebeo Xem bài viết
                            Chắc bọn nó bắt chước bác BA j/k
                            He he...
                            Các bài viết của anh tổng hợp từ một số app, một số kinh nghiệm thực tế và suy diễn thêm.

                            Comment


                            • #74
                              Khi làm để chơi thì một con 877A với một con 876A giá chẳng hơn nhau bao nhiêu, nhiều bạn sẽ cứ chân nhiều mà chiến. Tuy nhiên khi sản xuất, việc tiết kiệm chân là khá quan trọng.
                              Em xin post thêm một tí tẹo về quét led nói chung và led 7T nói riêng.
                              Có nhiều kiểu quét
                              - cứ môi chân của led 7T nối với 1 chân vđk . mỗi con led 7T cần khoảng 9 chân , một vđk 40pin may ra chơi được 4 em led 7seg:P
                              - Dùng các IC phụ trợ như ghi dịch (595) hay demux chẳng hạn, blah blah
                              - Cách thường dùng nhất là multiplexing như các bài anh BA đã post

                              Các cách trên ai ai cũng biêt rồi. Có một cách một số người biết nhưng em chưa thấy gọi tên chính xác:

                              CHARLIEPLEXING

                              một kĩ thuật được đưa ra bởi Charlie Allen, hình như ông này là người của maxim-ic. Cũng chính vì vậy nhiều IC đk led của maxim sử dụng kĩ thuật này. Với n chân của vđk có thể chiến được vớii n*(n-1) led đơn hay segment của led 7T
                              Em chỉ xin đưa ra một tài liệu nho nhỏ mọi người cùng tham khảo, còn lại các bác tự google nhé

                              Thêm cái hình minh họa ứng dụng của kĩ thuật này với led 7T cho nó sinh động

                              @anh BA: HTV có phải là anh muốn nói đên HTA không ạ

                              Nói đến HTV lại làm em buồn cười.
                              Có bà lên sàn:"cho chị 1 nghìn cổ Truyền hình Hà Tây"
                              Broker: ??? (processing)
                              Nhà đầu tư: Nhanh lên cho chị, chú không thấy thằng Truyền hình Hà Tây HTV đang xanh chói lọi kia à !!!!

                              Các bác cứ search thử mã cổ phiếu HTV:P
                              Attached Files
                              Last edited by HTAluvBebeo; 02-05-2008, 14:28.

                              Comment


                              • #75
                                Để tiết kiệm chân cho các mcu trong các apps có các phím bấm, ngoài phương pháp của bạn BINHANH ra, cũng có thể dùng ADC có sẵn trong mcu (hầu hết các mcu đều có các integrated ADC) để xác định phím nào được bấm như sơ đồ dưới đây. sorry nếu như ai đó đã đề cập đến cách này rồi.
                                be kind, be sweet, be human

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X