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

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


*

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

Bạn đang xem: Tự học vi điều khiển hiệu quả

C sẽ được tạo thành với một mục tiêu là tạo nên nó dễ dãi để viết các chương trình khủng với số lỗi thấp hơn trongmẫu hìnhlập trình thủ tụcmà lại không đặt gánh nặng lên vai bạn viết ratrình dịchC, là đầy đủ người ngổn ngang với các đặc tả phức hợp của ngôn ngữ. Sau cùng C có thêm những tính năng sau:

Mộtngôn ngữ cốt lõiđơn giản, cùng với các công dụng quan trọng ví dụ như là phần đa hàm hay vấn đề xử lý tập tin vẫn được cung ứng bởi các bộthư viện những thủ tục.Tập trung trên chủng loại hìnhlập trình thủ tục, với những phương tiện thiết kế theo kiểucấu trúc.Một khối hệ thống kiểu đơn giản dễ dàng nhằm loại bỏ nhiều phép toán không có ý nghĩa 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ử lý C, cho những nhiệm vụ như thể định nghĩa cácmacrovà hàm chứa 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 thấp của ngôn ngữ chất nhận được dùng tớibộ nhớ sản phẩm 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ỏ gọn.Cáctham sốđược đưa vào các hàm bằng giá trị, không bởi địa chỉ.Hàm những con trỏ được cho phép hình thành một nền tảng ban sơ chotính đóngvàtính đa hình.Hỗ trợ cácbản ghihay các kiểu dữ liệu phối hợp do người tiêu dùng từ khóa định nghĩastructcho phép những dữ liệu tương tác nhau hoàn toàn có thể được tập thích hợp lại với được đ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 kế bên ( biến, mảng, kết cấu vv..).Khai báo nguyên mẫu những hàm.Hàm main().Định nghĩa những hàm ( hàm main hoàn toàn có thể đặt sau hoặc xen vào giữa những hàm khác).

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

Thao tácvào/ra

Cần yêu cầu khai báo tủ sách #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 cái Hello ra màn hình.

VD: printf(“”%d”, x); —> in cực hiếm x ra màn hình.

Chức năng: Đưa công dụng các ra màn hình

– : dùng làm định dạng cho dữ liệu xuất ra màn hình của những – , …: là những mục dữ kiện đề nghị in ra màn hình. Các hoàn toàn có thể là biến, hằng hoặc biểu thức cần được định trị trước khi in ra (có thể không có).

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

Sau đây là các dấu bộc lộ định dạng:

%c : cam 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 hễ (ký hiệu có số mũ)%g : cần sử dụng %e hoặc %f, tuỳ theo các loại nào ngắn hơn, không in các số 0 vô nghĩa%x : Hệ 16 ko dấu%u : Số thập phân ko dấu%o : Số nguyên bát phân ko dấul : tiền tố dùng với với %d, %u, %x, %o nhằm chỉ số nguyên lâu năm (ví dụ %ld)

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

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

Nhập vào

scanf(“%d “,&x);dọc tài liệu từ keyboard và lưu giữ vào biến hóa 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á bán trị
Booleanbool1 byte0 (FALSE)hoặc1(TRUE).
Ký tựchar1 byte-127 cho tới 127 hoặc 0 cho tới 255
unsignedchar1 byte0 tới 255
signedchar1 byte-127 cho tới 127
Sốnguyênint4 byte-2147483648 cho tới 2147483647
unsigned int4 byte0 tới 4294967295
signed int4 byte-2147483648 cho 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 vẻ bên ngoài trong C:

(Ten-kieu) Bieu_thuc;Ví dụ: int a,b;( float) a+b; //a+b lấy quý hiếm 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 tập trong C

Giả sử đổi mới A giữ quý hiếm 10, biến đổi B giữ 20 thì:

Toán tửMiêu tảVí dụ
+Cộng nhị toán hạngA + B công dụng là 30
Trừ toán hạng sản phẩm hai tự toán hạng đầuA – B tác dụng là -10
*Nhân nhì toán hạngA * B hiệu quả là 200
/Phép chiaB / A công dụng là 2
%Phép rước số dưB % A tác dụng là 0
++Toán tử tăng (++), đội giá trị toán hạng thêm một đối chọi vịA++ hiệu quả là 11
Toán tử bớ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ử quan hệ tình dục 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ởi thì đk là true.(A == B) là false
!=Kiểm tra 2 toán hạng có mức giá trị không giống nhau hay không. Nếu như không bằng thì điều kiện là true.(A != B) là true
>Kiểm tra ví như toán hạng bên trái có mức giá trị to hơn toán hạng bên bắt buộc hay không. Trường hợp lớn hơn nữa thì điều kiện là true.(A > B) là false
=Kiểm tra nếu như toán hạng mặt 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 phải hay không. Nếu và đúng là true.(A >= B) là false

3. Toán tử so sánh bit vào C

Toán tử so sánh bit thao tác trên đơn vị chức năng bit, giám sát biểu thức đối chiếu từng bit. Bảng tiếp sau đây về &, |, và ^ như sau:

pqp & qp | qp ^ q
00000
01011
11110
10011

Các toán tử đối chiếu bit được cung ứng bởi ngữ điệu C được liệt kê trong bảng dưới đây. Giá chỉ sử ta có biến A có giá tri 60 và biến chuyển B có mức giá trị 13, ta có:

Toán tửMiêu tảVí dụ
&Toán tử & (và) nhị phân xào nấu một bit tới hiệu quả nếu nó lâu dài trong cả nhì toán hạng.(A và B) sẽ cho tác dụng 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 công dụng nếu nó sống thọ trong một hoặc nhị toán hạng.(A | B) đang cho hiệu quả là 61, tức là 0011 1101
^Toán tử XOR nhị phân sao chép bit mà lại nó chỉ mãi sau trong một toán hạng mà không phải cả hai.(A ^ B) đang cho hiệu quả là 49, có nghĩa là 0011 0001
~Toán tử hòn đảo bit (đảo bit 1 thành bit 0 với ngược lại).

Xem thêm: Hướng Dẫn Cách Sửa Máy May Mini Không Ăn Chỉ Và Hướng Dẫn Sử Dụng

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

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

Toán tửMiêu tảVí dụ
=Toán tử gán solo giản. Gán quý hiếm toán hạng bên bắt buộc cho toán hạng trái.C = A + B vẫn gán giá trị của A + B vào trong C
+=Thêm quý giá toán hạng phải tới toán hạng trái với gán giá trị đó đến toán hạng trái.C += A tương tự với C = C + A
-=Trừ đi quý hiếm toán hạng nên từ toán hạng trái cùng gán quý giá này cho toán hạng trái.C -= A tương đương với C = C – A
*=Nhân cực hiếm toán hạng bắt buộc với toán hạng trái và gán quý giá này mang lại toán hạng trái.C *= A tương đương với C = C * A
/=Chia toán hạng trái đến toán hạng đề xuất và gán quý giá này mang lại toán hạng trái.C /= A tương đương với C = C / A
%=Lấy phần dư của phép chia toán hạng trái đến toán hạng nên và gán cho toán hạng trái.C %= A tương tự với C = C % A
>=Dịch nên toán hạng trái thanh lịch số vị trí 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 tự 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. Những toán tử hỗn hợp trong C

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

6. Toán tử xúc tích trong C

Giả sử đổi mới A có mức giá trị 1 và biến B có giá trị 0:

Ví dụ toán tử logic

Toán tửMiêu tảVí dụ
&&Được call là toán tử súc tích AND (và). Nếu như cả nhì toán tử đều phải sở hữu giá trị không giống 0 thì điều kiện trở lên true.(A && B) là false.
||Được gọi là toán tử súc tích OR (hoặc). Nếu 1 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 xúc tích và ngắn gọn của toán hạng đó. Nếu đk toán hạng là true thì phủ định nó vẫn là false.!(A && B) là true.

7. Lắp thêm tự ưu tiên toán tử vào C

Bảng dưới đây liệt kê lắp thêm tự ưu tiên của những toán tử. Các toán tử với quyền ưu tiên cao nhất xuất hiện nay trên cùng của bảng, và những toán tử bao gồm quyền ưu tiên thấp tuyệt nhất thì ở bên dưới cùng của bảng. Vào một biểu thức, những toán tử có quyền ưu tiên cao nhất được tính toán đầu tiên.

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

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