Học vi điều khiển PIC trong 1 ngày (Phần 4)

19/03/2012 0 5991

4. Nút nhấn.

Các bạn vừa biết khái niệm ngắt, và đã biết chương trình ngắt được viết như thế nào. Vậy bây giờ chúng ta chuyển đến bài tiếp theo về nút bấm.

Công dụng của nút bấm

Nút bấm là một hình thức ra lệnh phổ biến nhất trên thế giới. Bạn gọi một cái thang máy, bạn bấm nút, bạn kêu cửa thì bấm chuông, bạn bật đèn thì bấm nút công tắc, và tôi đang ngồi viết
cho bạn bằng cách bấm nút bàn phím...
Như vậy, bạn đã biết công dụng của cái nút bấm. Bây giờ các bạn sẽ học cách làm một cái nút bấm!!! Điều này có vẻ buồn cười, nhưng với vi điều khiển, và máy tính, khả năng xử lý các
lệnh rất đa đạng. Bạn có thể bấm cùng một nút, nhưng lệnh sẽ khác nhau ở mỗi thời điểm, và mỗi trạng thái. Ví dụ, như bạn nhấp chuột máy tính, thực ra cũng là bạn nhấp nút bấm, nhưng bạn thấy rõ ràng rằng, ở những vị trí di chuyển chuột khác nhau, nút bấm của chuột sẽ đưa ra các mệnh lệnh khác nhau cho máy tính thực hiện.


Một số trạng thái nút bấm thông dụng
Trạng thái nút bấm ra lệnh tức thời, đó là khi bạn bấm nút, lập tức mọi trạng thái phải được kiểm tra và chương trình dừng lại để thực hiện lệnh từ nút bấm của bạn. Có nghĩa là bạn ra
lệnh tại thời điểm bấm nút, và máy hiểu rằng bạn đã bấm nút. Còn việc xử lý thế nào thì hồi sau phân giải. Trạng thái chờ nút bấm, đó là chương trình bạn đang chạy, đến một giai đoạn nào đó, nó cần phải có sự ra lệnh của bạn bằng nút bấm, và chương trình chờ bạn bấm nút để chạy tiếp, hoặc bắt đầu một công việc nào đó sau khi chờ. Nhắc lại thao tác bấm nút một chút, cái nút của bạn đang ở trên cao, bạn bấm nó xuống thì nó sẽ có một giai đoạn nút bấm đi xuống, khi chạm vào mạch điện, hiển nhiên bạn muốn hay không muốn thì cũng phải có một khoảng thời gian bạn giữ cho nút bấm tiếp xúc với mạch điện, sau đó là giai đoạn bạn thả nút bấm ra.

Theo dõi hình trên, chúng ta thấy. Khi bấm nút, có quá trình đi xuống của nút bấm, và quá trình đi lên của nút bấm. Nhưng thực tế, đối với mạch điện trong nút bấm, nó chỉ có thể nhận được trạng thái tiếp xúc hoặc không tiếp xúc, nên tín hiệu nhận được sẽ như đường màu xanh trong hình dưới. Chúng ta chỉ quan tâm đến trạng thái của đường màu xanh trong các ứng dụng của nút bấm.

Vậy, trạng thái nút bấm lại có thêm 3 trạng thái nữa là trạng thái bấm xuống, trạng thái giữ nút bấm, và trạng thái nhả nút bấm lên. Kết hợp với 2 trạng thái điều khiển trên, chúng ta có 6 trạng thái phổ biến của nút bấm. Các bạn lưu ý rằng, chúng ta có 6 trạng thái chứ không phải chỉ có 4 trạng thái, vì thực ra rất nhiều người cho rằng chỉ có 4 trạng thái khi cho rằng trạng thái
chờ trong lúc giữ nút bấm không phải là trạng thái phổ biến. Nhưng nếu các bạn đã từng dùng điện thoại di động thì các bạn thấy số người dùng trạng thái chờ của nút bấm cũng không phải là
con số nhỏ. 

Ở đây, tôi muốn tán dóc một chút rằng, khi các bạn làm việc về khoa học kỹ thuật, và đến một khi các bạn khó có thể tìm ra đường hướng suy nghĩ để giải quyết một vấn đề khoa học kỹ
thuật, hãy tìm mối liên hệ với nó trong khoa học xã hội. Chính vì vậy, các bạn thường thấy tôi hay đưa ra những ví dụ xã hội để minh hoạ cho vấn đề kỹ thuật cần được giải quyết.
Tôi sẽ dành việc ứng dụng từng trạng thái nút bấm phổ biến trong các ứng dụng cho các bạn, còn ở đây, tôi chỉ muốn nhân bài học này để tiếp tục bài học về interrupt mà chúng ta đã bỏ
dở trước đó. Vậy chúng ta chỉ xét trạng thái khi bấm nút, lập tức lệnh sẽ được thực hiện, tức trạng thái tức thời của nút bấm. Các bạn hãy làm bài tập thực hành, thực hiện một mạch điện tử như hình sau để chuẩn bị cho bài học của chúng ta.

Trong mạch điện này, chúng ta thấy có một vài điểm đặc biệt khi có 1 nút bấm nối giữa chân của PIC và nguồn, còn các nút bấm khác lại nối chân của PIC với đất. Giữa nguồn và đất luôn có một điện trở 10K. Vì sao chúng ta phải nối mạch điện như vậy? Chúng ta tạm dừng bài học về nút bấm ở đây và theo dõi bài học cơ bản về điện tử tiếp theo.

Điện tử cơ bản

Giới thiệu
Đây là phần rất cơ bản về điện tử, mà các bạn khi bắt đầu làm việc với vi điều khiển cần phải nắm rõ. Như đã nói, PIC tạo ra dòng điện khoảng 20mA và điện áp khoảng 5V, tương tự như vậy, nếu dòng ngõ vào quá cao so với 20mA và điện áp ngõ vào quá cao so với 5V, thì PIC sẽ bị hư. Vì vậy, bài học này trang bị cho các bạn một số khái niệm cơ bản về điện tử, để các bạn có thể nắm vững nguyên lý thiết kế mạch và tính toán các giá trị điện trở cần thiết. Đáng lẽ bài học này cần được thực hiện ngay từ đầu, tuy nhiên, tôi cho rằng bài tập đèn LED quá đơn giản, các bạn chưa biết gì cũng có thể hiểu được, nhưng nay, nếu như các bạn mới học về điện tử và vi điều khiển không được trang bị kiến thức cơ bản này, có thể làm cho các bạn lúng túng vì một số điểm
không được làm rõ trong mạch điện tử. 

 

Hiện tượng trôi điện áp

Chúng ta cho rằng ngõ vào của PIC, cũng giống như ngõ vào của một linh kiện điện tử thông dụng là 74HC04. Thay vì vẽ một cái chân PIC, thì chúng tôi vẽ hình một con 74HC04 cho nó đơn giản, và để các bạn dễ hình dung. Nếu để một con PIC lên một hình thì quá phức tạp hình ảnh, và lại không cần thiết. Hơn nữa, bài viết này được tham khảo từ tài liệu Very Basic Circuits của Encoder, và trong trang web này, người ta sử dụng 74HC04 để làm thí dụ, tôi tôn trọng ví dụ này nên khi viết lại bài viết cũng sử dụng 74HC04 giống như họ. Các bạn thấy, nếu như nút bấm được nhấn xuống, thì ngõ vào của 74HC04 hay PIC được nối với Mass. Như vậy, lúc đó PIC có thể đọc giá trị 0. Tuy nhiên, nếu nút nhấn được thả ra, chúng ta thấy rằng ngõ vào của PIC chẳng được nối với một linh kiện nào, vậy là điện áp ở chân của PIC sẽ trôi nổi không xác định được. Nếu không may mắn, điện áp trôi nổi này rơi vào vùng logic 0, rồi lại nhảy sang vùng logic 1... thì các bạn thấy rõ ràng chúng ta không thể xác định được nút bấm có được bấm hay không?!!
Vì vậy, để đảm bảo, nếu khi không bấm nút, PIC phải có điện áp tham khảo là 5V, sau khi bấm nút thì điện áp sẽ giảm xuống 0V, như vậy mức logic mới thật rõ ràng, không thể để trôi nổi như hình trên. Vậy chúng ta có hình dưới đây 

Công dụng của điện trở kéo lên

Các bạn lại thấy, nếu bây giờ không bấm nút, thì điện áp ngõ vào của PIC sẽ là 5V. Nhưng nếu bấm nút một cái, rõ ràng chúng ta gây ra ngắn mạch khi nối trực tiếp từ nguồn xuống đất. Chính vì vậy, chúng ta phải đưa thêm vào một điện trở giữa đất, nút bấm và nguồn. Có hai vấn đề đặt ra, đó là điện trở sẽ đặt ở đâu, và giá trị của nó bằng bao nhiêu.

Các bạn sẽ bực mình ngay rằng, đúng là thằng ngốc mới đặt điện trở như thế này, bởi vì nếu đặt điện trở như vậy, dù bạn có bấm nút hay không bấm nút thì điện áp ngõ vào vẫn luôn luôn là 5V, vậy nút bấm trở nên vô nghĩa. 

Vậy vấn đề còn lại là giá trị điện trở bẳng bao nhiêu?

Các bạn sẽ thấy, PIC hoạt động ở 20mA và 5V trên các chân. Vì vậy, khi chưa bấm nút, nguồn 5V được nối với điện trở và đi vào chân của PIC. Nếu như trong một trường hợp nào đó chân của   PIC chuyển từ chế độ input sang output, thì vấn đề xảy ra là dòng trên chân phải đảm bảo nhỏ hơn hoặc bằng 20mA. Như vậy, trong thiết kế trên, chúng ta xem dòng tại chân PIC nếu PIC đặt ở 0V là:
I = U/R = 5V/ 10000 Ohm = 5mA
Như vậy, thiết kế này đảm bảo cho hoạt động của PIC được an toàn.
Khi đóng nút bấm dòng 5mA này sẽ đi xuống đất, và chân của PIC được nối với đất.
Các bạn xem tiếp hình sau(H.b)
Trường hợp này, nút bấm được nối với nguồn 5V. Điện trở nối giữa chân của PIC với đất sẽ không làm cho PIC có hiện tượng trôi nổi điện áp, và khi đóng nút bấm thì dòng vẫn ở 5mA.

Tổng kết:
Qua bài học này, các bạn đã hiểu được cơ bản về khái niệm điện trở kéo lên (trường hợp điện trở nối với nguồn), và điện trở kéo xuống (trường hợp điện trở nối với đất). Giá trị điện trở được đặt ở đây nhằm loại bỏ hiện tượng ngắn mạch, và đảm bảo ngõ vào của PIC khoảng 20mA. Khi an toàn, cần thiết kế sao cho ngõ vào nhỏ.

Nguồn : Picvietnam

Đăng nhập

Chat