Biết về Vi điều khiển PIC và Kiến trúc của nó với Giải thích

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





PIC là một Bộ vi điều khiển giao diện ngoại vi được phát triển vào năm 1993 bởi Bộ vi điều khiển General Instruments. Nó được điều khiển bằng phần mềm và được lập trình theo cách mà nó thực hiện các nhiệm vụ khác nhau và điều khiển một dòng sản phẩm. Bộ vi điều khiển PIC được sử dụng trong các ứng dụng mới khác nhau như điện thoại thông minh, phụ kiện âm thanh và thiết bị y tế tiên tiến.

Bộ vi điều khiển PIC

Bộ vi điều khiển PIC



Có rất nhiều PIC có sẵn trên thị trường, từ PIC16F84 đến PIC16C84. Các loại PIC này là các PIC flash giá cả phải chăng. Microchip gần đây đã giới thiệu các chip flash với nhiều loại khác nhau, chẳng hạn như 16F628, 16F877 và 18F452. 16F877 có giá gấp đôi 16F84 cũ, nhưng nó cao hơn tám lần so với kích thước mã, với nhiều RAM hơn và nhiều chân I / O hơn, bộ chuyển đổi UART, A / D và nhiều tính năng hơn.


Kiến trúc vi điều khiển PIC

Các Bộ vi điều khiển PIC dựa trên kiến ​​trúc RISC. Kiến trúc bộ nhớ của nó tuân theo mô hình Harvard của các bộ nhớ riêng biệt cho chương trình và dữ liệu, với các bus riêng biệt.



Kiến trúc vi điều khiển PIC

Kiến trúc vi điều khiển PIC

1. Cấu trúc bộ nhớ

Kiến trúc PIC bao gồm hai bộ nhớ: Bộ nhớ chương trình và Bộ nhớ dữ liệu.

Bộ nhớ chương trình: Đây là không gian bộ nhớ 4K * 14. Nó được sử dụng để lưu trữ các lệnh 13-bit hoặc mã chương trình. Dữ liệu bộ nhớ chương trình được truy cập bởi thanh ghi bộ đếm chương trình giữ địa chỉ của bộ nhớ chương trình. Địa chỉ 0000H được sử dụng làm không gian bộ nhớ đặt lại và 0004H được sử dụng làm không gian bộ nhớ ngắt.

Bộ nhớ dữ liệu: Bộ nhớ dữ liệu bao gồm 368 byte RAM và 256 byte EEPROM. 368 byte RAM bao gồm nhiều ngân hàng. Mỗi ngân hàng bao gồm thanh ghi mục đích chung và thanh ghi chức năng đặc biệt.


Các thanh ghi chức năng đặc biệt bao gồm các thanh ghi điều khiển để điều khiển các hoạt động khác nhau của tài nguyên chip như Bộ định thời, Bộ chuyển đổi tương tự sang kỹ thuật số , Cổng nối tiếp, cổng I / O, v.v. Ví dụ: thanh ghi TRISA có các bit có thể được thay đổi để thay đổi hoạt động đầu vào hoặc đầu ra của cổng A.

Thanh ghi mục đích chung bao gồm các thanh ghi được sử dụng để lưu trữ dữ liệu tạm thời và kết quả xử lý dữ liệu. Các thanh ghi có mục đích chung này là mỗi thanh ghi 8 bit.

Đăng ký làm việc: Nó bao gồm một không gian bộ nhớ lưu trữ các toán hạng cho mỗi lệnh. Nó cũng lưu trữ kết quả của mỗi lần thực hiện.

Đăng kí trạng thái: Các bit của thanh ghi trạng thái biểu thị trạng thái của ALU (đơn vị logic số học) sau mỗi lần thực hiện lệnh. Nó cũng được sử dụng để chọn bất kỳ một trong 4 ngân hàng của RAM.

Đăng ký lựa chọn tệp: Nó hoạt động như một con trỏ đến bất kỳ thanh ghi đa năng nào khác. Nó bao gồm một địa chỉ tệp đăng ký và nó được sử dụng để định địa chỉ gián tiếp.

Một thanh ghi có mục đích chung khác là thanh ghi bộ đếm chương trình, là thanh ghi 13 bit. 5 bit trên được sử dụng làm PCLATH (Chốt bộ đếm chương trình) để hoạt động độc lập như bất kỳ thanh ghi nào khác và 8 bit dưới được sử dụng làm bit bộ đếm chương trình. Bộ đếm chương trình hoạt động như một con trỏ đến các lệnh được lưu trong bộ nhớ chương trình.

EEPROM: Nó bao gồm 256 byte không gian bộ nhớ. Nó là một bộ nhớ vĩnh viễn giống như ROM, nhưng nội dung của nó có thể bị xóa và thay đổi trong quá trình hoạt động của vi điều khiển. Nội dung trong EEPROM có thể được đọc hoặc ghi vào, sử dụng các thanh ghi chức năng đặc biệt như EECON1, EECON, v.v.

2. Cổng I / O

Dòng PIC16 bao gồm năm cổng, chẳng hạn như Cổng A, Cổng B, Cổng C, Cổng D và Cổng E.

Cổng A: Nó là một cổng 16 bit, có thể được sử dụng như một cổng đầu vào hoặc đầu ra dựa trên trạng thái của thanh ghi TRISA.

Cổng B: Nó là một cổng 8 bit, có thể được sử dụng như một cổng đầu vào và đầu ra. 4 bit của nó, khi được sử dụng làm đầu vào, có thể được thay đổi khi có tín hiệu ngắt.

Cổng C: Nó là một cổng 8 bit mà hoạt động (đầu vào hoặc đầu ra) được xác định bởi trạng thái của thanh ghi TRISC.

Cổng D: Nó là một cổng 8 bit, ngoài việc là một cổng I / O, nó hoạt động như một cổng phụ để kết nối với bộ vi xử lý xe buýt.

Cổng E: Đây là một cổng 3 bit phục vụ chức năng bổ sung của các tín hiệu điều khiển đến bộ chuyển đổi A / D.

3. Bộ hẹn giờ

Bộ vi điều khiển PIC bao gồm 3 tính giờ , trong đó Bộ định thời 0 và Bộ định thời 2 là bộ định thời 8 bit và Bộ định thời 1 là bộ định thời 16 bit, cũng có thể được sử dụng như quầy tính tiền .

4. Bộ chuyển đổi A / D

Bộ vi điều khiển PIC bao gồm Bộ chuyển đổi từ Analog sang Digital 8 kênh, 10 bit. Hoạt động của Công cụ chuyển đổi A / D được điều khiển bởi các thanh ghi chức năng đặc biệt này: ADCON0 và ADCON1. Các bit thấp hơn của bộ chuyển đổi được lưu trữ trong ADRESL (8 bit), và các bit trên được lưu trữ trong thanh ghi ADRESH. Nó yêu cầu điện áp tham chiếu tương tự là 5V để hoạt động.

5. Bộ tạo dao động

Dao động được sử dụng để tạo thời gian. Bộ vi điều khiển PIC bao gồm các bộ dao động bên ngoài như tinh thể hoặc bộ tạo dao động RC. Trong trường hợp của bộ dao động tinh thể, tinh thể được kết nối giữa hai chân của bộ dao động, và giá trị của tụ điện được kết nối với mỗi chân xác định chế độ hoạt động của bộ dao động. Các chế độ khác nhau là chế độ năng lượng thấp, chế độ tinh thể và chế độ tốc độ cao. Trong trường hợp của bộ dao động RC, giá trị của Điện trở và Tụ điện xác định tần số xung nhịp. Tần số xung nhịp từ 30 kHz đến 4 MHz.

6. Mô-đun CCP:

Mô-đun CCP hoạt động ở ba chế độ sau:

Chế độ chụp: Chế độ này ghi lại thời gian xuất hiện của tín hiệu, hay nói cách khác, ghi lại giá trị của Timer1 khi chân CCP lên cao.

Chế độ so sánh: Nó hoạt động như một bộ so sánh tương tự tạo ra một đầu ra khi giá trị timer1 đạt đến một giá trị tham chiếu nhất định.

Chế độ PWM: Nó cung cấp độ rộng xung điều chế đầu ra với độ phân giải 10-bit và chu kỳ nhiệm vụ có thể lập trình được.

Các thiết bị ngoại vi đặc biệt khác bao gồm bộ đếm thời gian Watchdog có chức năng đặt lại bộ vi điều khiển trong trường hợp bất kỳ sự cố phần mềm nào và bộ đặt lại Brownout đặt lại bộ vi điều khiển trong trường hợp có bất kỳ sự biến động nguồn nào và các bộ phận khác. Để hiểu rõ hơn về bộ vi điều khiển PIC này, chúng tôi sẽ đưa ra một dự án thực tế sử dụng bộ điều khiển này cho hoạt động của nó.

Đèn đường phát sáng khi phát hiện chuyển động của xe

Điều này Dự án điều khiển đèn đường LED được thiết kế để phát hiện chuyển động của xe trên đường cao tốc để bật một khối đèn đường phía trước và tắt đèn phía sau nhằm tiết kiệm năng lượng. Trong dự án này, lập trình vi điều khiển PIC được thực hiện bằng cách sử dụng nhúng C hoặc hợp ngữ.

Đèn đường phát sáng khi phát hiện chuyển động của xe

Đèn đường phát sáng khi phát hiện chuyển động của xe

Mạch cung cấp điện cung cấp năng lượng cho toàn mạch bằng cách ngắt, chỉnh lưu, lọc và điều chỉnh nguồn điện xoay chiều. Khi không có xe trên đường cao tốc, tất cả đèn vẫn tắt để có thể tiết kiệm điện. Cảm biến IR được đặt ở hai bên đường khi chúng cảm nhận chuyển động của các phương tiện và đến lượt nó, gửi các lệnh đến vi điều khiển để bật hoặc tắt đèn LED. Một khối đèn LED sẽ bật sáng khi có phương tiện đến gần và khi phương tiện đi ra khỏi tuyến đường này, cường độ sẽ giảm hoặc tắt hoàn toàn.

Các Dự án vi điều khiển PIC có thể được sử dụng trong các ứng dụng khác nhau, chẳng hạn như thiết bị ngoại vi của trò chơi điện tử, phụ kiện âm thanh, v.v. Ngoài ra, để được trợ giúp về bất kỳ dự án nào, bạn có thể liên hệ với chúng tôi bằng cách bình luận trong phần bình luận.