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

Các các bạn download links giáo trình:

Giáo trình : Vi tinh chỉnh và điều khiển – Lý tmáu – Nguyễn Đình Phú

Giáo trình : Vi tinh chỉnh – Thực hành – Nguyễn Đình Phú

Bài giảng: Vi điều khiển và tinh chỉnh – Lý thuyết – Thực hành – Trương Ngọc Anh

Giới thiệu

Lý vày lựa chọn thiết kế Pic trên ngôn ngữ C

Ngôn ngữ xây dựng pic là một ngôn ngữ lập trình được sử dụng thông dụng, là ngôn ngữ sinh sản mã hiệu quả, các bộ phận thiết kế bao gồm kết cấu cùng một tập thích hợp đa dạng và phong phú các tân oán tử cùng được thực hiện không hề ít vào xây dựng Vi điều khiển. Ngôn ngữ C một ngôn từ thiết kế dễ ợt với tác dụng, những vận dụng rất có thể đượcgiải quyết dễ dãi rộng cùng hiệu quả rộng bởi ngôn từ Csovới những ngôn từ chuyên biệtkhông giống.

Bạn đang xem: Lập trình pic16f877a

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

Khilập trình sẵn bằng ngôn ngữCthì các vấn đề tinh vi được xử lý một phương pháp nhanhchóng và gọn gàng, tuy vậy bắt buộc biết đúng đắn thời gian tiến hành các lệnh, mã sau khi biên dịch hay chưa về tối ưu bởi trình biên dịch hay phải tạo 1 công tác size bao quát để thỏa mãn nhu cầu đến toàn bộ các dạng xây dựng cần code biên dịch dài thêm hơn, fan thiết kế hoàn toàn có thể ko đề xuất gọi biết những về kết cấu của vi điều khiển và tinh chỉnh hơn.Do có không ít họ vi tinh chỉnh và điều khiển của đa số hãng sản xuất khác nhau đề nghị các phần mềm lập trình sẵn Cmang đến vi điều khiển và tinh chỉnh cũng không giống nhau, phần này chỉ trình bày phần đông kiến thức thiết kế C phổ biến vàcơ bản nhất và tùy thuộc vào từng ứng dụng biên dịch mà các bạn bài viết liên quan.Sau khi ngừng phần này sẽ giúp đỡ chúng ta biết cấu trúc một công tác, biết các lệnh C cơ bản để xây dựng, biết knhị báo các kiểu dáng dữ liệu cho các trở nên, biết viết lịch trình.

Các kiểu dữ liệu xây dựng Vi điều khiển

Đối cùng với ứng dụng CCS hoặc những phần mềm khác cùng những họ vi điều khiển và tinh chỉnh khác sẽ sở hữu biện pháp knhị báo dữ liệu kha khá như thể nhau, mà lại phần nhiều sẽ khác nhau về số Bit của những dạng hình dữ liệu.

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

KiểuKích cỡUnsigned(Không dấu)Signed (Có dấu)
int1Số 1 bit = true giỏi false ( 0 giỏi 1)0 đến 1Không có
int8Số nguyên ổn 1 byte ( 8 bit)0 đến 255-128 mang đến 127
int16Số ngulặng 16 bit0 cho 65535-32768 cho 32767
int32Số nguyên ổn 32 bit0 mang lại 4294967295-2147483648 đế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 áp dụng được do trong ứng dụng CCS đã có được có mang trong thỏng viện của từng con Pic ví dụ.

Ví dụcác bạn mlàm việc thư viện của Pic16F887 chúng ta chỉ việc khai báo

#include Sau đó các bạn thừa nhận con chuột yêu cầu mở lên. Kéo cho tới dòng lệnh 24 mang đến 30 đang thấy được quan niệm nhỏng 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ụ ráng thể

Kiểu dữ liệu tất cả dấu

Signed là thứ hạng dữ liệu có vệt buộc phải quý giá đang có một nữa phần âm và 1 nữa phần dương.

Ví dụ:signed int8 dem; // phát triển thành đếm là 8bit, cực hiếm sẽ được tính nlỗi sau

Bit số 7 sẽ phương pháp vệt. trường hợp là số “1” thì với vệt “-” sót lại 7 bit bắt buộc chỉ từ 2^7 = 128 quý giá.

vẫn chạy tự (-128 về -1).

Bit số 7 sẽ chính sách vệt. nếu như là số “0” thì mang dấu “+” còn lại 7 bit bắt buộc chỉ từ 2^7 = 128 quý hiếm.

đang chạy từ (0 về 127).

Kiểu tài liệu ko dấu

Unsigned là vẻ bên ngoài ko lốt nên quý hiếm theo biến

Ví dụ: biến chuyển 8bit thì 2^8 = 256 và sẽ được chạy tự 0 đến 255.

Có 4 giải pháp knhì báo lập trình Pic

int1 tt; //thay đổi tt là mẫu mã tài liệu 1bit chỉ bao gồm nhì giá trị là 0 cùng 1.signed int8 dem //trở thành dem là loại số ngulặng cực hiếm 8bit cùng gồm dấu.unsigned int8 tam // biến tam là kiểu dáng số nguyênquý hiếm 8bit ko dấufloat doc //vươn lên là doc là thứ hạng số thực tức gồm vết , vùng phía đằng sau, VD: 1,12 và chỉ đem được nhị giá trị thập phân làm việc sau không đem được nhiều rộng.

Các toán tử vào thiết kế Pic

Toán tử gán (=). // sử dụng cho những toán gán quý hiếm như a=1;Toán thù tử số học tập (+,-, *, /, %). // sử dụng cho tính toán nlỗi những bài xích toán thù thông thườngToán thù tử gán phức hợp (+=, -=, *=, /=, %=, >>=, Toán tử tăng cùng bớt (++,–) // phương pháp ghi gọn gàng như a++ => a = a+1;Toán thù tử quan hệ nam nữ (==, !=, > , =, Toán tử lô ghích (!, &và ,||) // áp dụng đối chiếu trong những cổng xúc tích, tức những ĐK 1 lúcTân oán tử xử trí bit (&, |,^, ~, >) // tính tân oán lô ghích số học tập với dịch dữ liệu

Các ví dụ về toán thù tử các bạn xem trong file giáo trình sẽ chi tiết rộng.

Các lệnh C cơ bạn dạng lập trình Pic

Lệnh if với else vào lập trình sẵn pic

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

1. Chỉ bao gồm điều kiện if

*

Lệnh này chỉ thực hiện lệnh C Khi đúng ĐK còn nếu sau thì làm lơ xong lệnh đầu tiên.

2. Có if/else

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

Lệnh này đánh giá ĐK có đúng không nào, nếu đúng thì thực hiện 1 và xong, còn ngược chở lại nếu không nên thì chạy tiếp công tác tiến hành nhị và xong xuôi.

3. Có if/else if

*
Lưu đồ dùng lệnh if, else if…

Lệnh này kiểm soát tất cả đúng ĐK 1 đúng không ạ, nếu đúng thì thực hiện 1 sau đó xong xuôi lệnh, ví như không đúng tiếp tục chất vấn ĐK 2 bao gồm đúng không, nếu như đúng thực hiện 2 kế tiếp hoàn thành còn nếu như cả hai ĐK các không ổn thì xong cùng không thực hiện gì cả.

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

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

Lệnh này khám nghiệm ĐK 1 gồm đúng không, nếu như đúng thì tiến hành 1 tiếp đến xong, nếu như sai tiếp tục bình chọn ĐK 2 có đúng không ạ, nếu như đúng thì tiến hành 2 sau đó kết thúc, nếu như sai soát sổ cho ĐK n+1, trường hợp vẫn không đúng thì tiến hành n tiếp nối xong chiếc lệnh.

Có nhiều điều kiện chổ else if, với chương trình đã soát sổ theo đồ vật từ.

Lưu ý: Điều kiện if chỉ triển khai 1 lần tiếp nối kết thúc mặc dù đụn hay không nên và sẽ không còn trở về chương trình.

Xem thêm: Advanced Systemcare 11 Keygen,Serial,Crack,Generator, Advanced Systemcare 11 Key Free

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

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

Lệnh while thực hiện theo hướng đúng, nếu như lịch trình không có điều kiện sai thì vẫn không có END sảy ra thời điểm này được hotline là vòng lặp tuần trả thường thực hiện làwhile(1)hoặcwhile(true).

Lệnh lặp Do While() vào lập trình pic

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

Lệnh Do while là thực hiện trước rồi đánh giá ĐK sau, nếu như đúng thì quay trở lại triển khai tiếp vòng lặp đến khi ĐK không nên thì ngừng lịch trình.

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

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

Lệnh for triển khai Lúc đúng ĐK, nghỉ ngơi ví dụ này ta hoàn toàn có thể gọi,

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

nLưu ý:

Nếu các bạn áp dụng vòng yêu cầu đảm bảo an toàn được công tác ko triển khai gì quanh đó vòng lặp bởi Lúc vòng lặp chạy nó cấp thiết tiến hành các lệnh không giống.

Điều khiếu nại của vòng lặp bắt buộc chắt chắn sẽ có được một thời điểm nào kia chương trình chấm dứt nếu không sẽ bị treo lịch trình ko cửa sinh.

Lệnh truy nã xuất vào phần mềm CCS

Tại đây mình chỉ thực hiện những lệnh truy vấn xuất đơn giản tuyệt nhất nhằm có thể viết được những bài xích toán.

Giúp cho người học ko xúc cảm bị rối Lúc dùng.

LệnhOUTPUT_LOW(pin)

LệnhOUTPUT_LOW(pin): bao gồm công dụng cho một chân của port xuống đến mức 0.

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

LệnhOUTPUT_HIGH(pin)

LệnhOUTPUT_HIGH(pin): tất cả tác dụng cho 1 chân của port lên mức 1.

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

LệnhOUTPUT_BIT (pin, value)

LệnhOUTPUT_BIT (pin, value):có tác dụng xuất quý giá value ra một bàn chân của port.

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

Nếu value là một thì tương tự OUTPUT_HIGH(PIN);

Nếu value là 0 thì giống như OUTPUT_LOW(PIN);

Để thuận tiện trong bài toán thực hiện người ta định nghĩa cho khách hàng giúp tối ưu chương trình Lúc quan trọng.

LệnhOUTPUT_X(value):

Chức năng: bao gồm chức năng xuất tài liệu 8 bit ra port X

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

LệnhSET_TRIS_X(value)

LệnhSET_TRIS_X(value):có tác dụng định cấu hình đến port X.

Vì các chân vi điều khiển và tinh chỉnh có công dụng hai phía là I/O bắt buộc cần nguyên lý trước chiều mang đến vi tinh chỉnh và điều khiển, phần nhiều vi điều khiển chỉ cách xử trí chân theo một chiều tại một thời hạn khăng khăng.

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

LệnhINPUT(pin)

LệnhINPUT(pin):bao gồm chức năng đọc cực hiếm 1 bàn chân của port gán đến biến đổi.

Xem thêm: 500+ Người Đàn Ông Châu Á : Vẻ Đẹp Việt Ở Mức Nào? Bbc Vietnamese

Ví dụ: INPUT(PIN_A0); // đọc biểu hiện vào vi điều khiển và tinh chỉnh là nấc thấp tuyệt nút cao.


Chuyên mục: Kiến thức bổ ích