Học Lập Trình Vi Điều Khiển

Giới thiệu ngôn từ C

Trong kỹ thuật lập trình vi điều khiển và tinh chỉnh nói thông thường, ngôn ngữ lập trình sẵn được thực hiện thường chia làm 2 loại: Ngôn ngữ bậc tốt và Ngôn ngữ bậc cao. Ngôn ngữ bậc cao là các ngôn ngữ gần vơi ngôn từ con bạn hơn, cho nên vì vậy Việc lập trình bằng những ngôn từ này trlàm việc đề xuất thuận tiện với đơn giản và dễ dàng rộng. cũng có thể nói đến một số trong những ngữ điệu lập trình bậc cao nhỏng C, Basic, Pascal… vào dó C là ngữ điệu thường dùng hơn cả trong nghệ thuật vi tinh chỉnh. Về bản chất, sử dụng những ngôn ngữ này thế cho ngôn ngữ bậc thấp là giảm tải mang đến xây dựng viên trong việc nghiên cứu và phân tích những tập lệnh và gây ra những kết cấu giải thuật.


*

Chương thơm trình viết bằng ngữ điệu bậc cao cũng trở nên được 1 phần mượt bên trên máy tính xách tay Call là trình biên dịch (Compiler) gửi sang dạng hòa hợp ngữ trước khi gửi thanh lịch mã thiết bị.lúc áp dụng ngôn ngữ C tín đồ lập trình ko phải đọc thâm thúy về kết cấu của cục vi tinh chỉnh và điều khiển. Có nghĩa là với cùng một tín đồ chưa quen với cùng một vi điểu khiển mang lại trước sẽ xây dựng dựng được công tác một phương pháp lập cập rộng, vì chưng không phải mất thời gian tò mò phong cách thiết kế của vi tinh chỉnh và điều khiển kia. Và câu hỏi thực hiện lại những công tác sẽ desgin trước này cũng dễ ợt rộng, có thể sử dụng cục bộ hoặc sửa chữa một phần.

Bạn đang xem: Học lập trình vi điều khiển

C đã có được tạo ra với một kim chỉ nam là làm cho nó thuận lợi nhằm viết những chương trình Khủng với số lỗi ít hơn trongmẫu mã hìnhlập trình thủ tụcmà lại ko đặt trọng trách lên vai bạn viết ratrình dịchC, là những người dân bộn bề cùng với những đặc tả phức tạp của ngôn ngữ. Cuối thuộc C bao gồm thêm số đông tác dụng sau:

Mộtngữ điệu cốt lõidễ dàng và đơn giản, với những công dụng quan trọng ví dụ như là các hàm giỏi việc xử lý tập tin sẽ tiến hành cung ứng vì các bộthỏng viện những thủ tục.Tập trung trên mẫu mã hìnhthiết kế giấy tờ thủ tục, cùng với các phương tiện đi lại lập trình theo kiểukết cấu.Một hệ thống giao diện đơn giản nhằm loại bỏ nhiều phxay toán thù không tồn tại ý nghĩa sâu sắc thực dụng.Dùng ngôn ngữtiền xử lý, tức là các câu lệnhchi phí xử trí C, cho các trọng trách như thể tư tưởng cácmacrocùng hàm đựng nhiều tập tinmã nguồn(bằng phương pháp dùng câu lệnh chi phí giải pháp xử lý dạng#includechẳng hạn).Mức rẻ của ngôn ngữ có thể chấp nhận được dùng tớibộ nhớ thứ tínhqua Việc sử dụng dạng hình dữ liệupointer.Số lượng trường đoản cú khóa hết sức nhỏ tuổi gọn.Cáctđắm say sốđược đưa vào những hàm bằng giá trị, ko bằng hệ trọng.Hàm các bé trỏ cho phép sinh ra một căn cơ ban sơ chotính đóngvàtính đa hình.Hỗ trợ cácbản ghihay những hình dáng dữ liệu phối hợp bởi người tiêu dùng tự khóa định nghĩastructcó thể chấp nhận được các tài liệu liên hệ nhau rất có thể được tập thích hợp lại cùng được kiểm soát và điều chỉnh như thể toàn cục.

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

Các #include ( dùng làm knhì báo áp dụng những hàm chuẩn)Các #define ( dùng để định nghĩa những hằng )Knhị báo các đối tượng tài liệu ngoài ( trở nên, mảng, cấu tạo vv..).Khai báo nguim mẫu mã những hàm.Hàm main().Định nghĩa các hàm ( hàm main rất có thể đặt sau hoặc xen vào thân các hàm khác).

* Ví dụ:// Khai báo chỉ thị tiền xử lý:#include #include #define Led1 P1_0//*********************************// Knhị báo trở thành toàn cục: Unsigned char code Led_arr<3>; Unsigned char data dem; Unsigned int xdata X;//*********************************// Khai báo nguyên ổn chủng loại 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 biến viên bộ;Mã công tác trễ; Void main() // Chương thơm trình bao gồm Knhì báo đổi thay thay bộ;Mã chương trình chính; Bit kiemtra(unsigned int a) Knhì báo biến hóa viên bô;Mã lịch trình đánh giá trở nên a;

Thao tácvào/ra

Cần buộc phải knhì báo tlỗi 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 cái Hello ra screen.

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

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

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

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

Sau đó là những dấu bộc lộ định dạng:

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

Các ký kết từ bỏ điều khiển và ký kết trường đoản cú sệt biệt

: Nhảy xuống mẫu tiếp nối canh về cột thứ nhất. : Canh cột tab ngang. : Nhảy về đầu mặt hàng, không xuống sản phẩm.a : Tiếng kêu bip.\ : In ra vết \” : In ra vệt “’ : In ra vệt ‘%%: In ra dấu %

Nhập vào

scanf(“%d “,&x);dọc dữ liệu trường đoản cú keyboard với lưu vào biến hóa x có thứ hạng số nguyên

gets(s);dùng để 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 cho tới 255
unsignedchar1 byte0 cho tới 255
signedchar1 byte-127 tới 127
Sốnguyênint4 byte-2147483648 cho 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 kiểu dáng vào C:

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

Hằng,biến

Knhị báo hằng: #define

VD: #define MAX 10;

const =

VD: const int MAX=10;

2. Knhị báo biến

;

VD: int x=0;

Các phép toán trong C

1. Toán thù tử số học vào C

Giả sử biến đổi A duy trì giá trị 10, biến hóa B giữ trăng tròn thì:

Tân oán tửMiêu tảVí dụ
+Cộng hai toán thù hạngA + B tác dụng là 30
Trừ toán hạng trang bị nhị trường đoản cú toán hạng đầuA – B tác dụng là -10
*Nhân hai toán thù hạngA * B hiệu quả là 200
/Phxay chiaB / A tác dụng là 2
%Phxay lấy số dưB % A kết quả là 0
++Tân oán tử tăng (++), đội giá trị tân oán hạng thêm 1 solo vịA++ kết quả là 11
Toán tử bớt (–), giảm giá trị tân oán hạng đi một đơn vịA– công dụng là 9

2. Tân oán tử dục tình vào C

VD: A=10, B=trăng tròn.

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

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

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

pqp và qp | qp ^ q
00000
01011
11110
10011

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

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

Xem thêm: Hải 'Bánh', Đệ Tử Trùm Giang Hồ Năm Cam, Ra Tù Sau 20 Năm

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

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

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

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

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

6. Toán tử logic trong C

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

lấy ví dụ như tân oán tử logic

Toán tửMiêu tảVí dụ
&&Được Hotline là toán tử logic AND (và). Nếu cả hai toán tử đều sở hữu quý hiếm khác 0 thì điều kiện trsinh hoạt lên true.(A && B) là false.
||Được Hotline là toán thù tử xúc tích OR (hoặc). Nếu 1 trong các nhị tân oán tử khác 0, thì ĐK là true.(A || B) là true.
!Được Call là toán tử NOT (lấp định). Sử dụng để hòn đảo ngược lại tâm lý lô ghích của tân oán hạng kia. Nếu điều kiện toán thù hạng là true thì bao phủ định nó vẫn là false.!(A &và B) là true.

7. Thứ trường đoản cú ưu tiên toán thù tử trong C

Bảng tiếp sau đây liệt kê trang bị từ bỏ ưu tiên của những tân oán tử. Các toán tử với quyền ưu tiên cao nhất mở ra trên thuộc của bảng, cùng những toán tử gồm quyền ưu tiên rẻ tuyệt nhất thì làm việc dưới thuộc của bảng. Trong một biểu thức, những toán tử bao gồm quyền ưu tiên cao nhất được xem toán thù đầu tiên.

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

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

table('setting')->where("{$db->web}")->select('code_footer'); if($oh->code_footer){ # nếu có code header tùy chỉnh $code_footer = htmlspecialchars_decode($oh->code_footer); $code_footer = str_replace('[home_link]', $home, $code_footer); $code_footer = str_replace('[home_name]', $h, $code_footer); $code_footer = str_replace('[link]', $link, $code_footer); $code_footer = str_replace('[title]', $head->tit, $code_footer); $code_footer = str_replace('[des]', $head->des, $code_footer); $code_footer = str_replace('[key]', $head->key, $code_footer); $code_footer = str_replace('[image]', $head->img, $code_footer); $code_footer = str_replace('[link]', $link, $code_footer); $code_footer = str_replace('[date_Y]', date('Y'), $code_footer); echo $code_footer; } ?>