Giới thiệu Vi điều khiên PIC 16F877A-PU 877A giá tốt
là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip, thích hợp cho các ứng dụng điều khiển, loại IC cắm. PIC16F877A là một Vi điều khiển PIC 40 chân và được sử dụng hầu hết trong các dự án và ứng dụng nhúng. Nó có năm cổng bắt đầu từ cổng A đến cổng E. Nó có ba bộ định thời trong đó có 2 bộ định thời 8 bit và 1 bộ định thời là 16 Bit. Nó hỗ trợ nhiều giao thức giao tiếp như giao thức nối tiếp, giao thức song song, giao thức I2C. PIC16F877A hỗ trợ cả ngắt chân phần cứng và ngắt bộ định thời. Trong mạch cơ bản, chúng ta đã sử dụng tất cả các chân nguồn của vi điều khiển PIC, trong khi tất cả các chân cổng vẫn còn chưa được sử dụng.
Vì vậy, bây giờ khi chúng ta đã cấp nguồn cho bộ vi điều khiển PIC, điều tiếp theo chúng ta cần làm là thiết kế một số code và sử dụng các cổng vi điều khiển PIC. Đầu tiên chúng ta hãy xem xét các Cổng PIC16F877a.
PIC16F877a có tổng cộng 5 Cổng là:
Cổng A: có tổng cộng 6 chân bắt đầu từ chân số 2 đến chân số 7. Các chân cổng A được ký hiệu từ RA0 đến RA5 trong đó RA0 là ký hiệu của chân đầu tiên của Cổng A.
Cổng B: có tổng cộng 8 chân bắt đầu từ chân số 33 đến chân số 40. Các chân cổng B được ký hiệu từ RB0 đến RB7 trong đó RB0 là ký hiệu của chân đầu tiên của cổng B.
Cổng C: có tổng cộng 8 Chân. Các chân của nó không được thẳng hàng với nhau. Bốn chân đầu tiên của cổng C nằm ở chân số 15 đến chân số 18, còn bốn chân cuối cùng nằm ở chân số 23 đến chân số 26.
Cổng D: có tổng cộng 8 chân. Các chân của nó cũng không thẳng hàng với nhau. Bốn chân đầu tiên của cổng D nằm ở chân số 19 đến chân số 22, trong khi bốn chân cuối cùng nằm ở chân số 27 đến chân số 30.
Cổng E: có tổng cộng 3 chân bắt đầu từ chân số 8 đến chân số 10. Các chân cổng E được ký hiệu từ RE0 đến RE2 trong đó RE0 là ký hiệu của chân đầu tiên của cổng E.
Trước hết những gì bạn cần quyết định là bạn muốn các chân cổng là đầu vào hay đầu ra.
Giả sử bạn có một số cảm biến và bạn muốn nhận giá trị của nó thì bạn phải kết nối cảm biến này với vi điều khiển PIC. Trong trường hợp này, chân PIC sẽ hoạt động như chân đầu vào vì nó sẽ nhập giá trị từ cảm biến. Cảm biến gửi giá trị và PIC nhận nó.
Trong trường hợp bạn có động cơ DC và bạn muốn di chuyển động cơ DC đó bằng vi điều khiển PIC. Bạn phải gửi lệnh từ bộ vi điều khiển PIC đến động cơ DC để chân PIC hoạt động như chân đầu ra.
Mỗi cổng của vi điều khiển PIC được liên kết với hai thanh ghi (register), ví dụ các thanh ghi cổng D là PortD và TRISD.
Cả hai thanh ghi này đều có 8 bit vì cổng D có 8 chân.
TRISD quyết định cổng là đầu ra hay đầu vào và chúng ta cũng có thể gán giá trị cho từng chân riêng biệt. Nếu chúng ta đã gán 0 thì nó sẽ là đầu ra và nếu chúng ta đã gán 1 thì nó sẽ là đầu vào.
Ví dụ: nếu chúng ta gán TRISD = 0x01, thì 7 chân đầu tiên của cổng D sẽ là đầu ra nhưng chân cuối cùng sẽ là đầu vào vì 0x01 là 00000001 trong hệ nhị phân.
Thanh ghi PortD chứa giá trị thực và giá trị này là sự kết hợp của tất cả 8 chân.