Có nhiều loại Bộ điều khiển Giao diện Ngoại vi (PIC) nhưng ở đây chúng ta sẽ tìm hiểu về một bộ vi điều khiển PIC kích thước nhỏ và chi phí thấp. PIC12C508 có kích thước nhỏ với vi điều khiển 8-bit hiệu suất cao. Nó dựa trên công nghệ CMOS đi kèm với ROM tĩnh, EPROM và EEPROM 8-bit đầy đủ. PIC12C508 có 8 chân kỹ thuật số và Bộ dao động 4MHz bên trong có thể được điều khiển bằng lập trình.
Nó được thiết kế theo nhiều gói khác nhau và nhiều tính năng. Vi điều khiển PIC12C508 được thiết kế với các tính năng đặc biệt, giúp giảm điện năng và chi phí, nó cũng đi kèm trong gói OTP phù hợp với mọi khối lượng lớn.
Đây là cấu hình chân của vi điều khiển PIC12C508 và giải thích từng bước về từng chân được đưa ra trong phần này.
PIC12C508 bao gồm 8 chân, trong đó 2 chân là chân nguồn và chân còn lại là chân kỹ thuật số, những chân này được thiết kế để sử dụng cho nhiều mục đích khác nhau. Thậm chí một số chân có thể được sử dụng cho nhiều mục đích, mà chúng ta sẽ thảo luận:
Trong PIC12C508, chân 1 & 8 sẽ được sử dụng để cấp nguồn. Chân 1 sẽ cho đầu vào nguồn và Chân 8 sẽ được sử dụng cho điểm chung.
Mọi PIC đều yêu cầu một xung đồng hồ để thực hiện một chức năng theo khoảng thời gian đó và hai chân phải được kết nối với bộ dao động để tạo xung đồng hồ cho bộ điều khiển. Có một bộ dao động bên trong được gắn trong PIC nhưng để sử dụng một bộ dao động khác, hãy sử dụng các chân sau.
Trong trường hợp sử dụng Bộ tạo dao động RC bên ngoài, đầu vào xung nhịp phải ở trong Bộ kích hoạt Schmitt nếu không IC sẽ không thể hoạt động bình thường.
Chân đầu vào trong PIC có thể được sử dụng cho nhiều mục đích. Tất cả các chân đầu vào có thể được sử dụng cho pullup yếu. Các chân đầu vào sẽ chỉ có thể hoạt động với logic đầu vào ST, nếu không, nó có thể dao động giữa bật và tắt do logic đầu vào không phù hợp. Các chân sau có thể được sử dụng cho các chân đầu vào trong PIC12C508:
PIC12C508 có thể tự động chuyển sang chế độ ngủ, nhờ chức năng này, PIC có thể tiết kiệm điện năng mà không ảnh hưởng đến hiệu suất. Để đánh thức PIC khỏi chế độ ngủ, một số chân đầu vào có thể được sử dụng bằng cách đưa đầu vào nhưng vi điều khiển nên được lập trình trước để sử dụng các chân đó. PIC12C508 chứa ba chân đầu vào có thể được sử dụng để đánh thức.
Time0 của PIC12C508 sẽ tăng giá trị của nó tại mỗi cạnh tăng hoặc giảm từ chân T0CKI. Do số lượng chân nhỏ trong PIC12C508, vi mạch chỉ có một T0CKI. Chân T0CKI sẽ chỉ hoạt động với đầu vào logic ST.
Mỗi bộ điều khiển đi kèm với một chốt đặt, để đặt lại trạng thái của nó ta có thể dùng kỹ thuật số bằng cách sử dụng một nút bên ngoài hoặc bất kỳ tín hiệu nào. Tín hiệu đầu vào trạng thái THẤP sẽ có thể đặt lại bộ điều khiển. Nguồn trên chân đặt lại không được vượt quá VDD.
Các bộ vi điều khiển pic khác là: PIC16F877A, PIC18F4550, PIC16F84A, PIC18F46K22
Luồng của chương trình và ngăn xếp có thể được đo bằng sơ đồ:
Bất kỳ danh sách trình biên dịch nào đã cho đều có thể được sử dụng để viết chương trình của vi điều khiển. Tất cả các trình biên dịch sẽ viết chương trình bằng hợp ngữ. Để viết mã, một số hướng dẫn cần được ghi nhớ. Trong PIC12C508, mỗi lệnh được cung cấp cho bộ điều khiển phải ở dạng 12bit. 12-bit cung cấp 4 loại lệnh đó là:
Trong bất kỳ hoạt động nào, dữ liệu 12 bit sẽ bao gồm nhiều bộ lệnh.
Định hướng Byte cho Hoạt động Đăng ký Tệp
Trong thanh ghi tệp Byte-Oriented, ít nhất năm bit sẽ là địa chỉ của thanh ghi tệp, một bit tiếp theo sẽ đại diện cho đích và 6 bit đầu tiên sẽ là OPCODE được sử dụng bởi các lệnh học máy.
OPCODE (6-bit) | DESIGNATION (1-bit) | FILE ADDRESS (5-bit) |
Trong thanh ghi tệp hướng bit, 5 bit cuối cùng sẽ dành cho địa chỉ thanh ghi tệp, 3 bit tiếp theo sẽ là địa chỉ bit và phần còn lại của mã 4 bit sẽ dành cho OPCODE.
OPCODE (4-bit) | BIT ADDRESS (3-bit) | FILE ADDRESS (5-bit) |
Trong hoạt động điều khiển và theo nghĩa đen, sẽ chỉ có hai phần một phần sẽ dành cho OPCODE và phần còn lại sẽ dành cho giá trị nghĩa đen của hoạt động điều khiển. Trong hoạt động điều khiển và văn bản, đối với lệnh GOTO, OPCODE sẽ có 3 bit và nghĩa đen sẽ là 9 bit nhưng trong các trường hợp khác, mong đợi hoạt động GOTO, nghĩa đen sẽ là 8 bit và OPCODE sẽ là 4 bit.
OPCODE (4-bit) | FILE ADDRESS (8-bit) (except GOTO instruction) |
OPCODE (3-bit) | FILE ADDRESS (9-bit) (GOTO instruction) |
Mọi thao tác trong PIC12C508 sẽ được xử lý bởi hầu hết là hợp ngữ và bằng cách sử dụng hợp ngữ, dữ liệu sẽ được xử lý từ thanh ghi đến thanh ghi để thực hiện từng thao tác.
Một số thanh ghi chính sẽ được sử dụng chủ yếu là thanh ghi địa chỉ tệp và thanh ghi làm việc. Hai thanh ghi này sẽ được biểu diễn bởi f và W. Vị trí của hai thanh ghi này sẽ được xác định bởi bit chọn Đích trong mỗi định dạng lệnh.
Hai thanh ghi này sẽ được sử dụng cho hầu hết mọi hoạt động nhưng phần còn lại của các thanh ghi cũng có một số công dụng. Bạn có thể xem hướng dẫn để có hướng dẫn đầy đủ về lập trình hợp ngữ vi điều khiển PIC:
Để chỉ định các thanh ghi còn lại và hoạt động, chúng ta sẽ cần sử dụng các ký hiệu / giá trị cụ thể. Dưới đây là danh sách tất cả các hoạt động và đăng ký còn lại:
Tất cả đều là sổ đăng ký và các hoạt động sẽ được sử dụng cho nhiều mục đích. Một số trong số chúng là nghĩa đen, chỉ định và phần còn lại là địa chỉ đăng ký hoặc dữ liệu. OPCODE sẽ được sử dụng với chúng để thực hiện các hoạt động cụ thể và đối với mỗi và mọi hoạt động OPCODE sẽ khác nhau. Danh sách OPCODE được đưa ra dưới đây:
OPCODES ở dạng hợp ngữ và chúng có thể được sử dụng bởi bất kỳ công cụ phát triển nào, nhưng có thể bạn cảm thấy khó hiểu và có thể tìm thấy một số công cụ tốt hơn bằng ngôn ngữ cấp cao trên internet.
>> Mời anh em xem thêm