Lập trình vi điều khiển pic

Lập trình Pic là một cách để viết mang đến vi tinh chỉnh và điều khiển các khai báo Biến, lệnh C cơ bản, lệnh truy nã xuất CCS

Mua linh kiện điện tử tạiĐiện tử Nhật Tùng


Khóa học Vi điều khiển và tinh chỉnh có phí

*


Mục lục

1 Giới thiệu2 những kiểu tài liệu lập trình Vi điều khiển2.1 Một vài ba ví dụ nạm thể5 những lệnh C cơ phiên bản lập trình Pic5.1 Lệnh if và else trong lập trình pic5.4 Lệnh vòng lặp for trong thiết kế pic6 Lệnh truy xuất trong ứng dụng CCS

Giới thiệu

Lý bởi vì chọn thiết kế Pic trên ngôn từ C

Ngôn ngữ thiết kế pic là 1 trong những ngôn ngữ lập trình được thực hiện phổ biến, là ngôn ngữ tạo mã hiệu quả, các phần tử lập trình có cấu tạo và một tập hợp đa dạng chủng loại các toán tử với được sử dụng tương đối nhiều trong xây dựng Vi điều khiển.Ngôn ngữ C một ngôn ngữ lập trình tiện lợi và hiệu quả, nhiều ứng dụng rất có thể được giải quyết dễ dãi hơn và kết quả hơn bằng ngôn từ C so với những ngôn ngữ siêng biệt khác.

Bạn đang xem: Lập trình vi điều khiển pic

Phần hổ trợ của ngữ điệu C

Khi lập trình bằng ngôn ngữ C thì những vấn đề tinh vi được giải quyết một biện pháp nhanh chóng cùng gọn gàng, mặc dù không thể biết chính xác thời gian triển khai các lệnh, mã sau thời điểm biên dịch thường xuyên chưa tối ưu do trình biên dịch thường phải lập 1 công tác khung bao quát để thỏa mãn nhu cầu cho toàn bộ các dạng lập trình bắt buộc code biên dịch nhiều năm hơn, tín đồ lập trình có thể không nên hiểu biết nhiều về kết cấu của vi tinh chỉnh hơn.Do có khá nhiều họ vi điều khiển của nhiều hãng không giống nhau nên các phần mềm lập trình Ccho vi điều khiển cũng không giống nhau, phần này chỉ trình bày những kỹ năng lập trình C chung vàcơ bản nhất và tùy ở trong vào từng ứng dụng biên dịch mà các bạn tìm gọi thêm.Sau khi kết thúc phần này vẫn giúp các bạn biết kết cấu một chương trình, biết các lệnh C cơ bạn dạng để lập trình, biết khai báo các kiểu dữ liệu cho các biến, biết viết chương trình.

Các kiểu tài liệu lập trình Vi điều khiển

Đối với ứng dụng CCS hoặc các ứng dụng khác và các họ vi tinh chỉnh khác sẽ có được cách khai báo dữ liệu kha khá giống nhau, nhưng nhiều phần sẽ khác biệt về số Bit của các kiểu dữ liệu.

Sau đây là bảng khai báo biến của phần mềm CCS lập trình Pic.

KiểuKích cỡUnsigned (Không dấu)Signed (Có dấu)
int1 Số 1 bit = true xuất xắc false ( 0 giỏi 1)0 mang lại 1 Không có
int8Số nguyên 1 byte ( 8 bit)0 cho 255-128 cho 127 
int16Số nguyên 16 bit0 mang lại 65535 -32768 mang đến 32767 
int32Số nguyên 32 bit0 cho 4294967295 -2147483648 mang đến 2147483647 
float32Số thực 32 bit -1.5 x 1045 mang đến 3.4 x 1038

Lưu ý: 

Khi khai báo int1,int8,int16,int32 chúng ta sử dụng được vì chưng trong ứng dụng CCS đang được có mang trong thư viện của từng con Pic nuốm thể.

Ví dụ các bạn mở thư viện của Pic16F887 các bạn chỉ vấn đề khai báo

#include Sau đó chúng ta nhấn chuột đề xuất mở lên. Kéo tới cái lệnh 24 mang lại 30 đã thấy được có mang như sau:

#if (!defined(__PCM__)||defined(__ISNT_CCS__))#define _bif #define int8 char #define int16 long#define int32 long long#define float32 float#define int1 char #endif

Một vài ví dụ cố kỉnh thể

Kiểu tài liệu có dấu

Signed là kiểu tài liệu có dấu nên giá trị sẽ có 1 nữa phần âm với 1 nữa phần dương.

Ví dụ: signed int8 dem; // phát triển thành đếm là 8bit, giá bán trị sẽ tiến hành tính như sau

Bit số 7 sẽ luật pháp dấu. Nếu là số “1” thì với dấu “-” còn lại 7 bit nên chỉ với 2^7 = 128 giá chỉ trị.

sẽ chạy từ (-128 về -1).

Bit số 7 sẽ hình thức dấu. Ví như là số “0” thì có dấu “+” còn sót lại 7 bit nên chỉ với 2^7 = 128 giá trị.

sẽ chạy trường đoản cú (0 về 127).

Kiểu dữ liệu không dấu

Unsigned là hình dạng không dấu cần giá trị theo biến 

Ví dụ : đổi thay 8bit thì 2^8 = 256 và sẽ được chạy từ 0 mang lại 255.

Có 4 giải pháp khai báo thiết kế Pic

int1 tt; //biến tt là kiểu dữ liệu 1bit chỉ tất cả hai cực hiếm là 0 và 1.signed int8 dem //biến dem là thứ hạng số nguyên quý hiếm 8bit và gồm dấu.unsigned int8 tam // đổi thay tam là hình dạng số nguyên giá trị 8bit không dấufloat doc //biến doc là hình dáng số thực tức bao gồm dấu , phía sau, VD: 1,12 còn chỉ lấy được hai giá trị thập phân sinh hoạt sau không lấy được nhiều hơn.

Các toán tử trong lập trình sẵn Pic

Toán tử gán (=). // sử dụng cho các toán gán quý giá như a=1;Toán tử số học (+, -, *, /, %). // thực hiện cho đo lường và thống kê như các bài toán thông thườngToán tử gán tinh vi (+=, -=, *=, /=, %=, >>=, Toán tử tăng và sút (++, –) // giải pháp ghi gọn như a++ => a = a+1;Toán tử quan hệ tình dục (==, !=, > , =, Toán tử logic (!, && ,||) // sử dụng so sánh trong những cổng logic, tức nhiều điều kiện 1 lúcToán tử giải pháp xử lý bit (&, |, ^, ~, >) // giám sát logic số học với dịch dữ liệu

Các lấy một ví dụ về toán tử chúng ta xem trong tệp tin giáo trình sẽ cụ thể hơn.

Các lệnh C cơ phiên bản lập trình Pic

Lệnh if cùng else trong lập trình sẵn pic

Có 4 nhiều loại cơ bạn dạng sau:

1. Chỉ có đk if

*

Lệnh này chỉ triển khai lệnh C khi đúng đk còn ví như sau thì bỏ qua dứt lệnh đầu tiên.

2. Gồm if/else

*
Lưu đồ vật lệnh if,else

Lệnh này kiểm tra đk có đúng không, nếu đúng thì triển khai 1 với kết thúc, còn trái lại nếu sai thì chạy tiếp chương trình thực hiện hai và kết thúc.

3. Gồm if/else if

*
Lưu thiết bị lệnh if, else if…

Lệnh này kiểm tra tất cả đúng điều kiện 1 đúng không, nếu như đúng thì triển khai 1 sau đó ngừng lệnh, nếu như sai liên tục kiểm tra điều kiện 2 bao gồm đúng không, nếu đúng thực hiện 2 sau đó dứt còn giả dụ cả hai đk đều không đúng thì xong xuôi và không tiến hành gì cả.

4. Đầy đầy đủ if/else if … else if /else

*
Lưu vật lệnh if,else if,…,else if,else

Lệnh này kiểm tra đk 1 bao gồm đúng không, nếu như đúng thì thực hiện 1 tiếp nối kết thúc, nếu sai thường xuyên kiểm tra đk 2 gồm đúng không, nếu đúng thì thực hiện 2 kế tiếp kết thúc, giả dụ sai khám nghiệm đến điều kiện n+1, nếu như vẫn không nên thì tiến hành n sau đó xong xuôi dòng lệnh.

Xem thêm: Combo 8 Miếng Độn Giày Tăng Chiều Cao Hay Không? Bộ 1 Cặp Lót Giày Tăng Chiều Cao Đệm Khí

Có nhiều điều kiện chổ else if, và công tác sẽ chất vấn theo trang bị tự.

Lưu ý: Điều kiện if chỉ thực hiện 1 lần sau đó xong xuôi dù đụn hay không nên và sẽ không còn quay lại chương trình.

Lệnh lặp while trong lập trình sẵn pic

*
Lưu đồ dùng vòng lặp While

Lệnh while thực hiện theo chiều đúng, giả dụ chương trình không tồn tại điều kiện không nên thì sẽ không tồn tại END sảy ra lúc đó được gọi là vòng lặp tuần trả thường sử dụng là while(1) hoặc while(true). 

Lệnh lặp vày While() trong lập trình pic

*
Lưu đồ vật vòng lặp vì while

Lệnh vày while là triển khai trước rồi kiểm tra đk sau, nếu như đúng thì con quay lại thực hiện tiếp vòng lặp mang lại khi điều kiện sai thì xong xuôi chương trình.

Lệnh vòng lặp for trong lập trình sẵn pic

*
Lưu vật dụng vòng lặp FOR

Lệnh for thực hiện khi đúng điều kiện, sống ví dụ này ta hoàn toàn có thể hiểu, 

n=0 là quý giá đầu của vòng lặp for 

n

n++ những lần vòng lặp chạy sẽ tạo thêm 1 đối kháng vị.

Số vòng lặp của for phụ thuộc vào 3 yếu tố trên.

Lưu ý: 

Nếu các bạn sử dụng vòng phải đảm bảo được lịch trình không thực hiện gì xung quanh vòng lặp vì khi vòng lặp chạy nó ko thể tiến hành các lệnh khác.

Điều kiện của vòng lặp nên chắt chắn sẽ có được một lúc nào đó chương trình xong xuôi nếu không có khả năng sẽ bị treo công tác không lối thoát.

Lệnh tróc nã xuất trong ứng dụng CCS

Ở đây mình chỉ sử dụng những lệnh truy tìm xuất đơn giản và dễ dàng nhất để có thể viết được những bài toán.

Giúp cho những người học không cảm hứng bị rối khi xử dụng.

Lệnh OUTPUT_LOW(pin)

Lệnh OUTPUT_LOW(pin): bao gồm chức năng cho một chân của port xuống mức 0.

Ví dụ: output_low(Pin_A0); // mang đến chân A0 xuống mức thấp;

Lệnh OUTPUT_HIGH(pin)

Lệnh OUTPUT_HIGH(pin): tất cả chức năng cho 1 chân của port lên tới mức 1. 

Ví dụ: OUTPUT_HIGH(Pin_A0); //cho chân A0 lên tới mức cao.

Lệnh OUTPUT_BIT (pin, value)

Lệnh OUTPUT_BIT (pin, value): có tác dụng xuất quý giá value ra 1 chân của port.

Ví dụ: OUTPUT_BIT(Pin_A0,1); //xuất bộc lộ mức cao cho chân A0.

Nếu value là 1 trong thì như là OUTPUT_HIGH(PIN);

Nếu value là 0 thì tương tự OUTPUT_LOW(PIN); 

Để thuận lợi trong việc sử dụng người ta định nghĩa cho chính mình giúp về tối ưu chương trình khi phải thiết.

Lệnh OUTPUT_X(value):

Chức năng: có tác dụng xuất dữ liệu 8 bit ra port X

Ví dụ: OURPUT_A(0x0f); // xuất biểu lộ 0000 1111 mang đến Port A.

Lệnh SET_TRIS_X(value)

Lệnh SET_TRIS_X(value): có công dụng định cấu hình cho port X .

Vì các chân vi tinh chỉnh và điều khiển có công dụng hai chiều là I/O phải phải dụng cụ trước chiều đến vi điều khiển, số đông vi điều khiển và tinh chỉnh chỉ cách xử lý chân theo một chiều tại một thời gian nhất định.

Ví dụ: SET_TRIS_A(0xf0); // định thông số kỹ thuật cho port A là 1111 0000 tức là từ chân A7 – A4 là tín hiệu lấn sân vào vi điều khiển, từ bỏ chân A3 – A0 là tín hiệu đi ra vi điều khiển.

Lệnh INPUT(pin)

Lệnh INPUT(pin): có tính năng đọc giá bán trị 1 chân của port gán đến biến.

Ví dụ: INPUT(PIN_A0); // đọc biểu lộ vào vi tinh chỉnh và điều khiển là nấc thấp giỏi mức cao.

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Vì sao bị sa tử cung, nguyên nhân

  • Sau really là gì, 7 cách dùng của từ really trong tiếng anh

  • Bài 9: các dạng thức của Động từ: v

  • Vì sao châu á có nhiều đới cảnh quan

  • x