Lập trình pic bằng ccs

      3

Lập trình Pic là một phương pháp để viết mang đến vi tinh chỉnh 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 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 ví dụ cầm thể5 các lệnh C cơ phiên bản lập trình Pic5.1 Lệnh if cùng else trong thiết kế pic5.4 Lệnh vòng lặp for trong lập trình pic6 Lệnh tróc nã xuất trong phần mềm CCS

Giới thiệu

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

Ngôn ngữ thiết kế pic là một trong ngôn ngữ xây dựng được sử dụng phổ biến, là ngôn từ 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 nhiều mẫu mã các toán tử và được sử dụng không ít trong xây dựng Vi điều khiển.Ngôn ngữ C một ngôn từ lập trình tiện lợi và hiệu quả, những ứng dụng có thể được giải quyết thuận lợi hơn và công dụng hơn bằng ngữ điệu C so với những ngôn ngữ chăm biệt khác.

Bạn đang xem: Lập trình pic bằng ccs

Phần hổ trợ của ngôn ngữ C

Khi lập trình bởi ngôn ngữ C thì những vấn đề phức tạp được giải quyết một cách nhanh chóng và gọn gàng, tuy vậy không thể biết đúng đắn thời gian tiến hành các lệnh, mã sau khoản thời gian biên dịch thường xuyên chưa tối ưu bởi trình biên dịch thường phải tạo 1 công tác khung tổng thể để đáp ứng nhu cầu cho tất cả các dạng lập trình nên code biên dịch nhiều năm hơn, bạn lập trình có thể không đề xuất hiểu biết nhiều về cấu trúc của vi điều khiển hơn.Do có tương đối nhiều họ vi điều khiển của không ít hãng khác 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 diễn những kỹ năng lập trình C bình thường vàcơ bạn dạng nhất với tùy nằm trong vào từng phần mềm biên dịch mà các bạn tìm phát âm thêm.Sau khi ngừng phần này vẫn giúp chúng ta biết cấu tạo một chương trình, biết những lệnh C cơ bạn dạng để lập trình, biết khai báo những kiểu dữ liệu cho các biến, biết viết chương trình.

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

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

Sau đây là bảng khai báo trở thành của ứng dụng CCS lập trình Pic.

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

Lưu ý: 

Khi khai báo int1,int8,int16,int32 họ sử dụng được vày trong ứng dụng CCS sẽ được tư tưởng trong thư viện của từng nhỏ Pic thay thể.

Ví dụ các các bạn mở tủ sách của Pic16F887 các bạn chỉ vấn đề khai báo

#include Sau đó chúng ta nhấn chuột đề nghị mở lên. Kéo tới loại lệnh 24 mang lại 30 sẽ thấy được quan niệm 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 ba ví dụ cầm cố thể

Kiểu dữ liệu có dấu

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

Ví dụ: signed int8 dem; // đổi mới đếm là 8bit, giá chỉ trị sẽ tiến hành tính như sau

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

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

Bit số 7 sẽ cơ chế dấu. Nếu là số “0” thì mang dấu “+” sót lại 7 bit nên chỉ với 2^7 = 128 giá chỉ trị.

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

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

Unsigned là kiểu không dấu buộc phải giá trị theo biến 

Ví dụ : trở thành 8bit thì 2^8 = 256 và sẽ tiến hành chạy từ 0 mang đến 255.

Có 4 biện pháp khai báo thiết kế Pic

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

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

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

Các ví dụ như về toán tử các bạn 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 với else trong xây dựng pic

Có 4 loại cơ bản sau:

1. Chỉ có điều kiện if

*

Lệnh này chỉ tiến hành lệnh C lúc đúng điều kiện còn giả dụ sau thì bỏ qua xong lệnh đầu tiên.

2. Gồm if/else

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

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

3. Gồm if/else if

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

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

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

*
Lưu trang bị lệnh if,else if,…,else if,else

Lệnh này kiểm tra điều kiện 1 gồm đúng không, nếu như đúng thì tiến hành 1 sau đó kết thúc, nếu như sai tiếp tục kiểm tra điều kiện 2 gồm đúng không, nếu như đúng thì triển khai 2 kế tiếp kết thúc, nếu như sai chất vấn đến điều kiện n+1, trường hợp vẫn không đúng thì tiến hành n sau đó kết thúc dòng lệnh.

Xem thêm: Chuẩn Bị Đồ Đi Sinh Cần Mang Những Gì Khi Đi Sinh Đầy Đủ Cho Cả Mẹ Và Bé

Có nhiều đk chổ else if, và công tác sẽ soát sổ theo sản phẩm tự.

Lưu ý: Điều khiếu nại if chỉ triển khai 1 lần sau đó xong xuôi dù gò hay sai và sẽ không còn quay lại chương trình.

Lệnh lặp while trong xây dựng pic

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

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

Lệnh lặp vì chưng While() trong xây dựng pic

*
Lưu vật vòng lặp vày while

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

Lệnh vòng lặp for trong thiết kế pic

*
Lưu thiết bị vòng lặp FOR

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

n=0 là quý hiếm đầu của vòng lặp for 

n

n++ các lần vòng lặp chạy sẽ tăng lên 1 solo vị.

Số vòng lặp của for nhờ vào vào 3 nhân tố trên.

Lưu ý: 

Nếu chúng ta sử dụng vòng phải bảo đảm được chương trình không triển khai gì không tính 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 khiếu nại của vòng lặp yêu cầu chắt chắn sẽ có một cơ hội nào đó chương trình ngừng nếu không sẽ bị treo lịch trình không lối thoát.

Lệnh truy nã xuất trong ứng dụng CCS

Ở đây mình chỉ sử dụng các lệnh tróc nã 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 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): tất cả chức năng cho 1 chân của port xuống đến mức 0.

Ví dụ: output_low(Pin_A0); // đến chân A0 xuống tới 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 đến mức 1. 

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

Lệnh OUTPUT_BIT (pin, value)

Lệnh OUTPUT_BIT (pin, value): có tính năng xuất quý hiếm value ra một bàn chân của port.

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

Nếu value là một trong thì giống như OUTPUT_HIGH(PIN);

Nếu value là 0 thì kiểu như OUTPUT_LOW(PIN); 

Để thuận tiện trong việc thực hiện người ta định nghĩa cho chính mình giúp buổi tối ưu công tác khi buộc phải thiết.

Lệnh OUTPUT_X(value):

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

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

Lệnh SET_TRIS_X(value)

Lệnh SET_TRIS_X(value): có chức năng định thông số kỹ thuật cho port X .

Vì những chân vi điều khiển và tinh chỉnh có công dụng hai chiều là I/O yêu cầu phải mức sử dụng trước chiều mang lại vi điều khiển, số đông vi tinh chỉnh và điều khiển chỉ giải pháp xử lý chân theo một chiều trên 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, trường đoản cú chân A3 – A0 là dấu hiệu đi ra vi điều khiển.

Lệnh INPUT(pin)

Lệnh INPUT(pin): có chức 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 điều khiển là nút thấp xuất xắc mức cao.