Giới thiệu ngôn ngữ C

Trong chuyên môn lập trình vi tinh chỉnh và điều khiển nói chung, ngôn từ lập trình được sử dụng thường chia thành 2 loại: ngữ điệu bậc phải chăng và ngữ điệu bậc cao. Ngôn ngữ bậc cao là các ngôn ngữ gần vơi ngôn ngữ con người hơn, vì vậy việc lập trình bằng các ngôn ngữ này trở nên dễ dàng và dễ dàng và đơn giản hơn. Hoàn toàn có thể kể đến một trong những ngôn ngữ thiết kế bậc cao như C, Basic, Pascal… vào dó C là ngôn ngữ thông dụng hơn cả trong nghệ thuật vi điều khiển. Về phiên bản chất, sử dụng các ngôn ngữ này rứa cho ngôn ngữ bậc phải chăng là bớt tải cho lập trình viên trong việc nghiên cứu và phân tích các tập lệnh và xây đắp các kết cấu giải thuật.


*

chương trình viết bằng ngôn ngữ bậc cao cũng biến thành được 1 phần mềm trên máy vi tính gọi là trình biên dịch (Compiler) đưa sang dạng vừa lòng ngữ trước khi chuyển thanh lịch mã máy.Khi sử dụng ngữ điệu C tín đồ lập trình không phải hiểu sâu sắc về cấu tạo của cỗ vi điều khiển. Có nghĩa là với một người chưa thân quen với một vi điểu khiển cho trước sẽ xây dựng dựng được công tác một cách nhanh chóng hơn, do chưa hẳn mất thời gian khám phá kiến trúc của vi tinh chỉnh đó. Và việc thực hiện lại những chương trình đã thi công trước kia cũng tiện lợi hơn, có thể sử dụng tổng thể hoặc sửa chữa thay thế một phần.

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

C đang được tạo thành với một phương châm là tạo nên nó dễ ợt để viết những chương trình béo với số lỗi thấp hơn trongmẫu hìnhlập trình thủ tụcmà lại không để gánh nặng lên vai bạn viết ratrình dịchC, là hầu hết người bộn bề với các đặc tả phức hợp của ngôn ngữ. ở đầu cuối C bao gồm thêm những tác dụng sau:

Mộtngôn ngữ cốt lõiđơn giản, với các công dụng quan trọng ví dụ như là gần như hàm hay bài toán xử lý tập tin sẽ được hỗ trợ bởi các bộthư viện những thủ tục.Tập trung trên mẫu mã hìnhlập trình thủ tục, với những phương tiện lập trình sẵn theo kiểucấu trúc.Một hệ thống kiểu đơn giản và dễ dàng nhằm loại bỏ nhiều phép toán không có ý nghĩa sâu sắc thực dụng.Dùng ngôn ngữtiền xử lý, có nghĩa là các câu lệnhtiền xử trí C, cho các nhiệm vụ như là định nghĩa cácmacrovà hàm đựng nhiều tập tinmã nguồn(bằng biện pháp dùng câu lệnh tiền cách xử lý dạng#includechẳng hạn).Mức phải chăng của ngôn ngữ cho phép dùng tớibộ nhớ đồ vật tínhqua việc áp dụng kiểu dữ liệupointer.Số lượng trường đoản cú khóa rất nhỏ dại gọn.Cáctham sốđược chuyển vào các hàm bằng giá trị, không bằng địa chỉ.Hàm những con trỏ có thể chấp nhận được hình thành một nền tảng ban đầu chotính đóngvàtính nhiều hình.Hỗ trợ cácbản ghihay những kiểu dữ liệu kết hợp do người tiêu dùng từ khóa định nghĩastructcho phép các dữ liệu contact nhau rất có thể được tập đúng theo lại cùng được kiểm soát và điều chỉnh như là toàn bộ.

Cấu trúc chươngtrình

Các #include ( dùng để làm khai báo sử dụng các hàm chuẩn)Các #define ( dùng làm định nghĩa các hằng )Khai báo các đối tượng dữ liệu bên cạnh ( biến, mảng, cấu tạo vv..).Khai báo nguyên mẫu các hàm.Hàm main().Định nghĩa những hàm ( hàm main rất có thể đặt sau hoặc xen vào giữa các hàm khác).

* Ví dụ:// Khai báo chỉ thị tiền xử lý:#include #include #define Led1 P1_0//*********************************// Khai báo vươn lên là toàn cục: Unsigned char code Led_arr<3>; Unsigned char data dem; Unsigned int xdata X;//*********************************// Khai báo nguyên chủng loại hàm Void delay(unsigned int n); bit kiemtra(unsigned int a);//*********************************// Xây dựng những hàm và chương trình chính: void delay(unsigned int n) Khai báo vươn lên là cục bộ;Mã lịch trình trễ; Void main() // Chương trình chủ yếu Khai báo biến cụ bộ;Mã lịch trình chính; Bit kiemtra(unsigned int a) Khai báo biến đổi cục bô;Mã lịch trình kiểm tra đổi thay a;

Thao tácvào/ra

Cần phải khai báo thư viện #include

In ra màn hình

printf(“chuỗi định dạng” <, đối mục 1, đối mục 2,…>);

VD: printf( “Hello “); —> in mẫu Hello ra màn hình.

VD: printf(“”%d”, x); —> in quý giá x ra màn hình.

Chức năng: Đưa hiệu quả các ra màn hình

– : dùng để làm định dạng cho tài liệu xuất ra màn hình của những – , …: là những mục dữ kiện phải in ra màn hình. Các rất có thể là biến, hằng hoặc biểu thức bắt buộc được định trị trước lúc in ra (có thể ko có).

– Chuỗi định dạng: được để trong cặp nháy kép (” “), có 2 loại:+ Đối cùng với chuỗi kí từ ghi ra sao in ra giống như thế ấy.+ Đối với mọi kí tự biến hóa dạng thức có thể chấp nhận được kết xuất giá trị của các đối mục ra màn hình tạm hotline là mã định dạng.

Sau đây là các dấu diễn đạt định dạng:

%c : ký kết tự đơn%s : Chuỗi%d : Số nguyên hệ thập phân%f : Số chấm đụng (ký hiệu thập phân)%e : Số chấm cồn (ký hiệu có số mũ)%g : sử dụng %e hoặc %f, tuỳ theo các loại nào ngắn hơn, không in những số 0 vô nghĩa%x : Hệ 16 không dấu%u : Số thập phân ko dấu%o : Số nguyên chén phân ko dấul : tiền tố ăn với với %d, %u, %x, %o để chỉ số nguyên nhiều năm (ví dụ %ld)

Các ký tự điều khiển và ký tự quánh biệt

: khiêu vũ xuống dòng kế tiếp canh về cột đầu tiên. : Canh cột tab ngang. : nhảy về đầu hàng, ko xuống hàng.a : giờ kêu bip.\ : In ra vệt \” : In ra dấu “’ : In ra vết ‘%%: In ra lốt %

Nhập vào

scanf(“%d “,&x);dọc tài liệu từ bàn phím và giữ vào biến chuyển x gồm kiểu số nguyên

gets(s);dùng nhằm nhập chuỗi

Kiểu dữ liệu

Loại dữ liệuKiểu dữ liệuSố ô nhớMiền giá trị
Booleanbool1 byte0 (FALSE)hoặc1(TRUE).
Ký tựchar1 byte-127 tới 127 hoặc 0 tới 255
unsignedchar1 byte0 cho tới 255
signedchar1 byte-127 tới 127
Sốnguyênint4 byte-2147483648 tới 2147483647
unsigned int4 byte0 tới 4294967295
signed int4 byte-2147483648 tới 2147483647
short int2 byte-32768 tới 32767
long int4 byte-2,147,483,647 cho tới 2,147,483,647
Số thựcfloat4 byte+/- 3.4e +/- 38 (~7 chữ số)
double8 byte+/- 1.7e +/- 308 (~15 chữ số)
longdouble8 byte+/- 1.7e +/- 308 (~15 chữ số)

Ép phong cách trong C:

(Ten-kieu) Bieu_thuc;Ví dụ: int a,b;( float) a+b; //a+b lấy quý giá thực

Hằng,biến

Khai báo hằng: #define

VD: #define MAX 10;

const =

VD: const int MAX=10;

2. Khai báo biến

;

VD: int x=0;

Các phép toán vào C

1. Toán tử số học trong C

Giả sử trở nên A giữ quý giá 10, phát triển thành B giữ đôi mươi thì:

Toán tửMiêu tảVí dụ
+Cộng nhì toán hạngA + B tác dụng là 30
Trừ toán hạng sản phẩm hai trường đoản cú toán hạng đầuA – B hiệu quả là -10
*Nhân nhì toán hạngA * B công dụng là 200
/Phép chiaB / A kết quả là 2
%Phép mang số dưB % A công dụng là 0
++Toán tử tăng (++), tăng giá trị toán hạng thêm một đơn vịA++ kết quả là 11
Toán tử sút (–), giảm ngay trị toán hạng đi một đối kháng vịA– kết quả là 9

2. Toán tử dục tình trong C

VD: A=10, B=20.

Toán tửMiêu tảVí dụ
==Kiểm tra giả dụ 2 toán hạng đều nhau hay không. Nếu bằng thì đk là true.(A == B) là false
!=Kiểm tra 2 toán hạng có mức giá trị khác biệt hay không. Nếu như không bằng thì đk là true.(A != B) là true
>Kiểm tra ví như toán hạng bên trái có mức giá trị lớn hơn toán hạng bên nên hay không. Nếu như lớn hơn thì điều kiện là true.(A > B) là false
=Kiểm tra ví như toán hạng bên trái có mức giá trị lớn hơn hoặc bằng giá trị của toán hạng bên bắt buộc hay không. Nếu và đúng là true.(A >= B) là false

3. Toán tử đối chiếu bit trong C

Toán tử so sánh bit làm việc trên đơn vị bit, đo lường và tính toán biểu thức đối chiếu từng bit. Bảng sau đây về &, |, và ^ như sau:

pqp & qp | qp ^ q
00000
01011
11110
10011

Các toán tử so sánh bit được cung cấp bởi ngôn ngữ C được liệt kê vào bảng bên dưới đây. Giá chỉ sử ta gồm biến A có mức giá tri 60 và biến đổi B có mức giá trị 13, ta có:

Toán tửMiêu tảVí dụ
&Toán tử and (và) nhị phân coppy một bit tới kết quả nếu nó mãi sau trong cả hai toán hạng.(A và B) vẫn cho hiệu quả là 12, có nghĩa là 0000 1100
|Toán tử OR (hoặc) nhị phân xào nấu một bit tới hiệu quả nếu nó tồn tại trong một hoặc nhì toán hạng.(A | B) sẽ cho kết quả là 61, có nghĩa là 0011 1101
^Toán tử XOR nhị phân xào luộc bit cơ mà nó chỉ tồn tại trong một toán hạng mà không phải cả hai.(A ^ B) đã cho công dụng là 49, tức là 0011 0001
~Toán tử đảo bit (đảo bit 1 thành bit 0 cùng ngược lại).

Xem thêm: Sách Dạy Kỹ Năng Sống Bạn Nên Đọc, Tổng Hợp Sách Kỹ Năng Sống Tại Fahasa

(~A ) đang cho công dụng là -61, có nghĩa là 1100 0011.
>Toán tử dịch phải. Giá trị toán hạng trái được di chuyển sang đề xuất bởi số các bit được xác định bởi toán hạng bên phải.A >> 2 đang cho hiệu quả là 15, tức là 0000 1111 (dịch sang buộc phải hai bit)

4. Toán tử gán trong C

Toán tửMiêu tảVí dụ
=Toán tử gán đối kháng giản. Gán giá trị toán hạng bên bắt buộc cho toán hạng trái.C = A + B sẽ gán quý hiếm của A + B vào trong C
+=Thêm quý giá toán hạng bắt buộc tới toán hạng trái cùng gán quý hiếm đó cho toán hạng trái.C += A tương đương với C = C + A
-=Trừ đi quý giá toán hạng bắt buộc từ toán hạng trái với gán giá trị này mang lại toán hạng trái.C -= A tương đương với C = C – A
*=Nhân quý giá toán hạng nên với toán hạng trái với gán giá trị này mang lại toán hạng trái.C *= A tương tự với C = C * A
/=Chia toán hạng trái đến toán hạng nên và gán giá trị này mang lại toán hạng trái.C /= A tương tự với C = C / A
%=Lấy phần dư của phép phân tách toán hạng trái mang đến toán hạng cần và gán mang đến toán hạng trái.C %= A tương đương với C = C % A
>=Dịch yêu cầu toán hạng trái thanh lịch số địa điểm là quý giá toán hạng phải.C >>= 2 tương đương với C = C >> 2
&=Phép và bitC &= 2 tương đương với C = C & 2
^=Phép OR loại trừ bitC ^= 2 tương tự với C = C ^ 2
|=Phép OR bit.C |= 2 tương đương với C = C | 2

5. Các toán tử tất cả hổn hợp trong C

Toán tửMiêu tả
sizeofToán tử sizeof trong C trả về kích thước của một biến. Ví dụ: sizeof(a), với a là integer, vẫn trả về 4
Điều khiếu nại ? X : YToán tử đk trong C. Giả dụ Condition là true ? thì nó trả về quý hiếm X : còn nếu như không thì trả về Y
,Toán tử Comma vào C tạo nên một dãy hoạt động được thực hiện. Quý hiếm của toàn biểu thức comma là giá trị của biểu thức cuối cùng trong list được khác nhau bởi vết phảy
. (dot) cùng -> (arrow)Toán tử member trong C được thực hiện để tham chiếu các bộ phận đơn của những lớp, những cấu trúc, cùng union
CastToán tử ép loại (Casting) trong C biến đổi một kiểu dữ liệu thành hình trạng khác. Ví dụ: int(2.2000) đã trả về 2
&Toán tử bé trỏ và trong C trả về add của một biến. Ví dụ: &a; đã trả về địa chỉ thực sự của đổi thay này
*Toán tử con trỏ * trong C là trỏ cho tới một biến. Ví dụ: *var đang trỏ tới một biến chuyển var

6. Toán tử ngắn gọn xúc tích trong C

Giả sử vươn lên là A có giá trị 1 và biến hóa B có mức giá trị 0:

Ví dụ toán tử logic

Toán tửMiêu tảVí dụ
&&Được điện thoại tư vấn là toán tử lô ghích AND (và). Trường hợp cả nhị toán tử đều phải sở hữu giá trị không giống 0 thì đk trở lên true.(A && B) là false.
||Được gọi là toán tử xúc tích OR (hoặc). Nếu một trong các hai toán tử khác 0, thì điều kiện là true.(A || B) là true.
!Được hotline là toán tử NOT (phủ định). áp dụng để đảo ngược lại trạng thái logic của toán hạng đó. Nếu đk toán hạng là true thì bao phủ định nó đang là false.!(A && B) là true.

7. Sản phẩm tự ưu tiên toán tử trong C

Bảng tiếp sau đây liệt kê vật dụng tự ưu tiên của các toán tử. Các toán tử cùng với quyền ưu tiên tối đa xuất hiện trên thuộc của bảng, và những toán tử có quyền ưu tiên thấp tuyệt nhất thì ở dưới cùng của bảng. Vào một biểu thức, những toán tử tất cả quyền ưu tiên cao nhất được giám sát và đo lường đầu tiên.

LoạiToán tửThứ tự ưu tiên
Postfix() <> -> . ++ – –Trái lịch sự phải
Unary+ – ! ~ ++ – – (type)* và sizeofPhải lịch sự trái
Tính nhân* / %Trái sang phải
Tính cộng+ –Trái sang phải
Dịch chuyểnTrái lịch sự phải
Quan hệ=Trái lịch sự phải
Cân bằng== !=Trái lịch sự phải
Phép and bit&Trái lịch sự phải
Phép XOR bit^Trái thanh lịch phải
Phép OR bit|Trái lịch sự phải
Phép and logic&&Trái sang phải
Phép OR logic||Trái thanh lịch phải
Điều kiện?:Phải lịch sự trái
Gán= += -= *= /= %=>>=

Tham khảo: https://tienich123.wordpress.com/