Ngôn ngữ lập trình c cơ bản cho 8051
Giới thiệu ngôn ngữ C
Trong kỹ thuật lập trình vi tinh chỉnh nói chung, ngữ điệu lập trình được sử dụng thường chia thành 2 loại: ngôn ngữ bậc rẻ và ngôn ngữ bậc cao. Ngữ điệu bậc cao là những ngôn ngữ sát vơi ngôn ngữ con người hơn, cho nên vì vậy việc xây dựng bằng những ngôn ngữ này trở nên dễ ợt và dễ dàng và đơn giản hơn. Hoàn toàn có thể kể đến một số ngôn ngữ lập trình bậc cao như C, Basic, Pascal… trong dó C là ngữ điệu thông dụng hơn cả trong kỹ thuật vi điều khiển. Về bạn dạng chất, sử dụng các ngôn ngữ này nỗ lực cho ngôn ngữ bậc thấp 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à thiết kế các cấu tạo 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 một 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 phù hợp ngữ trước khi chuyển sang trọng mã máy.Khi sử dụng ngữ điệu C fan lập trình không yêu cầu hiểu sâu sắc về kết cấu của cỗ vi điều khiển. Có nghĩa là với một tín đồ chưa quen với một vi điểu khiển cho trước sẽ xây dựng được lịch trình một cách mau lẹ hơn, do không phải mất thời gian mày mò kiến trúc của vi điều khiển và tinh chỉnh đó. Với việc áp dụng lại các chương trình đã kiến thiết trước kia cũng dễ ợt hơn, hoàn toàn có thể sử dụng cục bộ hoặc thay thế một phần.
Bạn đang xem: Ngôn ngữ lập trình c cơ bản cho 8051
C sẽ được tạo thành với một kim chỉ nam là khiến cho nó dễ dàng để viết các chương trình lớn 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 trĩu lên vai tín đồ viết ratrình dịchC, là hồ hết người bộn bề với các đặc tả phức tạp của ngôn ngữ. Cuối cùng 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 chức năng quan trọng chẳng hạn như là các hàm hay câu hỏi xử lý tập tin đang được cung ứng bởi những bộthư viện các thủ tục.Tập trung trên mẫu mã hìnhlập trình thủ tục, với các phương tiện xây dựng theo kiểucấu trúc.Một hệ thống kiểu đơn giản nhằm loại để nhiều phép toán không có ý nghĩa thực dụng.Dùng ngôn ngữtiền xử lý, tức là các câu lệnhtiền cách xử lý C, cho những nhiệm vụ như thể định nghĩa cácmacrovà hàm chứa được nhiều tập tinmã nguồn(bằng phương pháp dùng câu lệnh tiền giải pháp xử lý dạng#includechẳng hạn).Mức tốt của ngôn ngữ cho phép dùng tớibộ nhớ thứ tínhqua việc thực hiện kiểu dữ liệupointer.Số lượng trường đoản cú khóa rất nhỏ tuổi gọn.Cáctham sốđược gửi vào các hàm bằng giá trị, không bởi địa chỉ.Hàm những con trỏ chất nhận được hình thành một nền tảng lúc đầu chotính đóngvàtính nhiều hình.Hỗ trợ cácbản ghihay các kiểu dữ liệu phối kết 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 phù hợp lại với đượ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 những 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 các hàm ( hàm main có thể đặt sau hoặc xen vào giữa những hàm khác).* Ví dụ:// Khai báo thông tư tiền xử lý:#include #include #define Led1 P1_0//*********************************// Khai báo biến đổi 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à công tác chính: void delay(unsigned int n) Khai báo thay đổi cục bộ;Mã công tác trễ; Void main() // Chương trình bao gồm Khai báo biến đổi cụ bộ;Mã công tác chính; Bit kiemtra(unsigned int a) Khai báo biến chuyển cục bô;Mã chương trình kiểm tra trở nên a;
Thao tácvào/ra
Cần yêu cầu khai báo tủ sách #includeIn ra màn hình
printf(“chuỗi định dạng” <, đối mục 1, đối mục 2,…>);
VD: printf( “Hello “); —> in loại Hello ra màn hình.
VD: printf(“”%d”, x); —> in giá trị 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 dữ liệu xuất ra màn hình của những – , …: là các mục dữ kiện phải 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 yêu cầu đượ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 (” “), tất cả 2 loại:+ Đối với chuỗi kí trường đoản cú ghi ra sao in ra y hệt như thế ấy.+ Đối với gần như kí tự thay đổi dạng thức cho phép kết xuất giá chỉ trị của các đối mục ra screen tạm call là mã định dạng.
Sau đó là các dấu miêu tả định dạng:
%c : ký tự đơn%s : Chuỗi%d : Số nguyên hệ thập phân%f : Số chấm cồn (ký hiệu thập phân)%e : Số chấm động (ký hiệu có số mũ)%g : dùng %e hoặc %f, tuỳ theo một số loại nào ngắn hơn, ko in các số 0 vô nghĩa%x : Hệ 16 ko dấu%u : Số thập phân không dấu%o : Số nguyên chén bát phân ko dấul : chi phí tố ăn với với %d, %u, %x, %o để chỉ số nguyên nhiều năm (ví dụ %ld)Các cam kết tự điều khiển và tinh chỉnh và ký kết tự sệt biệt
: khiêu vũ xuống dòng tiếp nối canh về cột đầu tiên. : Canh cột tab ngang. : nhảy đầm về đầu hàng, ko xuống hàng.a : giờ đồng hồ kêu bip.\ : In ra vệt \” : In ra vết “’ : In ra dấu ‘%%: In ra vết %Nhập vào
scanf(“%d “,&x);dọc dữ liệu từ keyboard và lưu giữ vào biến x bao 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ệu | Kiểu dữ liệu | Số ô nhớ | Miền giá bán trị |
Boolean | bool | 1 byte | 0 (FALSE)hoặc1(TRUE). |
Ký tự | char | 1 byte | -127 tới 127 hoặc 0 cho tới 255 |
unsignedchar | 1 byte | 0 tới 255 | |
signedchar | 1 byte | -127 tới 127 | |
Sốnguyên | int | 4 byte | -2147483648 cho tới 2147483647 |
unsigned int | 4 byte | 0 tới 4294967295 | |
signed int | 4 byte | -2147483648 tới 2147483647 | |
short int | 2 byte | -32768 tới 32767 | |
long int | 4 byte | -2,147,483,647 cho tới 2,147,483,647 | |
Số thực | float | 4 byte | +/- 3.4e +/- 38 (~7 chữ số) |
double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) | |
longdouble | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
Ép mẫu mã trong C:
(Ten-kieu) Bieu_thuc;Ví dụ: int a,b;( float) a+b; //a+b lấy cực hiếm thực
Hằng,biến
Khai báo hằng: #defineVD: #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ử biến chuyển A giữ quý giá 10, biến đổi B giữ 20 thì:
Toán tử | Miêu tả | Ví dụ |
+ | Cộng nhị toán hạng | A + B hiệu quả là 30 |
– | Trừ toán hạng sản phẩm công nghệ hai từ bỏ toán hạng đầu | A – B kết quả là -10 |
* | Nhân nhị toán hạng | A * B tác dụng là 200 |
/ | Phép chia | B / 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++ tác dụng là 11 |
— | Toán tử bớt (–), giảm giá trị toán hạng đi một đơn vị | A– công dụng là 9 |
2. Toán tử quan hệ nam nữ trong C
VD: A=10, B=20.
Toán tử | Miêu tả | Ví dụ |
== | Kiểm tra ví như 2 toán hạng bằng nhau hay không. Nếu bằng thì điều kiện là true. | (A == B) là false |
!= | Kiểm tra 2 toán hạng có giá trị khác biệt hay không. Nếu không bằng thì đk là true. | (A != B) là true |
> | Kiểm tra giả dụ toán hạng bên trái có giá trị to hơn toán hạng bên phải hay không. Nếu như lớn hơn thì điều kiện là true. | (A > B) là false |
= | Kiểm tra giả dụ toán hạng bên trái có giá trị to hơn hoặc bằng giá trị của toán hạng bên yêu cầu hay không. Nếu và đúng là true. | (A >= B) là false |
3. Toán tử đối chiếu bit vào C
Toán tử đối chiếu bit thao tác làm việc trên đơn vị bit, thống kê giám sát biểu thức so sánh từng bit. Bảng dưới đây về &, |, cùng ^ như sau:
p | q | p & q | p | q | p ^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Các toán tử đối chiếu bit được cung cấp bởi ngữ điệu C được liệt kê trong bảng dưới đây. Giá bán sử ta có biến A có mức giá tri 60 và biến chuyển B có giá trị 13, ta có:
Toán tử | Miêu tả | Ví dụ |
& | Toán tử and (và) nhị phân sao chép một bit tới hiệu quả nếu nó tồn tại trong cả nhị toán hạng. | (A & B) đang cho kết quả là 12, có nghĩa là 0000 1100 |
| | Toán tử OR (hoặc) nhị phân sao chép một bit tới công dụng nếu nó trường tồn trong một hoặc hai toán hạng. | (A | B) vẫn cho công dụng là 61, tức là 0011 1101 |
^ | Toán tử XOR nhị phân xào nấu bit nhưng mà nó chỉ tồn tại trong một toán hạng mà không hẳn cả hai. | (A ^ B) đã cho tác dụng là 49, tức là 0011 0001 |
~ | Toán tử hòn đảo bit (đảo bit 1 thành bit 0 và ngược lại). Xem thêm: Các Tiêu Chí Nào Dùng Để Phân Loại Sinh Vật ? Tiêu Chí Nào Được Dùng Để Phân Loại Sinh Vật | (~A ) vẫn cho hiệu quả là -61, tức là 1100 0011. |
> | Toán tử dịch phải. Quý hiếm toán hạng trái được dịch rời sang đề nghị bởi số những bit được khẳng định bởi toán hạng mặt phải. | A >> 2 vẫn cho công dụng là 15, tức là 0000 1111 (dịch sang cần 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 giá trị toán hạng bên đề nghị cho toán hạng trái. | C = A + B đã gán quý hiếm của A + B vào vào C |
+= | Thêm quý hiếm toán hạng nên tới toán hạng trái và gán cực hiếm đó mang lại toán hạng trái. | C += A tương tự với C = C + A |
-= | Trừ đi cực hiếm toán hạng buộc phải từ toán hạng trái với gán giá trị này mang đến toán hạng trái. | C -= A tương tự với C = C – A |
*= | Nhân quý hiếm toán hạng nên với toán hạng trái và gán giá trị này đến 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 buộc phải và gán quý hiếm 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 phân chia 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 đề nghị toán hạng trái thanh lịch số địa chỉ là giá trị toán hạng phải. | C >>= 2 tương tự với C = C >> 2 |
&= | Phép và bit | C &= 2 tương đương với C = C & 2 |
^= | Phép OR thải trừ bit | C ^= 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ử các thành phần hỗn hợp trong C
Toán tử | Miêu tả |
sizeof | Toán tử sizeof trong C trả về form size của một biến. Ví dụ: sizeof(a), với a là integer, đã trả về 4 |
Điều khiếu nại ? X : Y | Toán tử điều kiện trong C. Giả dụ Condition là true ? thì nó trả về quý giá X : còn nếu không thì trả về Y |
, | Toán tử Comma vào C khiến cho một dãy hoạt động được thực hiện. Giá trị của toàn biểu thức comma là cực hiếm của biểu thức sau cùng trong list được rõ ràng bởi lốt phảy |
. (dot) cùng -> (arrow) | Toán tử member trong C được thực hiện để tham chiếu các thành phần đơn của các lớp, những cấu trúc, cùng union |
Cast | Toán tử ép kiểu (Casting) vào C thay đổi một kiểu dữ liệu thành hình trạng khác. Ví dụ: int(2.2000) đang trả về 2 |
& | Toán tử nhỏ trỏ và trong C trả về add của một biến. Ví dụ: &a; đang trả về add thực sự của phát triển thành này |
* | Toán tử bé trỏ * vào C là trỏ cho tới một biến. Ví dụ: *var sẽ trỏ cho tới một đổi mới var |
6. Toán tử súc tích trong C
Giả sử trở thành A có mức giá trị 1 và biến hóa 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ử ngắn gọn xúc tích AND (và). Nếu như cả hai toán tử đều phải có giá trị khác 0 thì điều kiện trở lên true. | (A && B) là false. |
|| | Được gọi là toán tử lô ghích OR (hoặc). Nếu một trong các hai toán tử không giống 0, thì đk là true. | (A || B) là true. |
! | Được gọi là toán tử NOT (phủ định). Thực hiện để đảo trái lại trạng thái súc tích 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. Xem thêm: Game Phù Thủy Chế Thuốc Sắc Đẹp 24H, Game Phù Thủy Chế Thuốc |
7. đồ vật tự ưu tiên toán tử vào C
Bảng tiếp sau đây liệt kê trang bị tự ưu tiên của các toán tử. Các toán tử với quyền ưu tiên cao nhất xuất hiện trên cùng của bảng, và các toán tử gồm quyền ưu tiên thấp độc nhất thì ở dưới cùng của bảng. Vào một biểu thức, các toán tử tất cả quyền ưu tiên tối đa được đo lường và thống kê đầu tiên.
Loại | Toán tử | Thứ tự ưu tiên |
Postfix | () <> -> . ++ – – | Trái thanh lịch phải |
Unary | + – ! ~ ++ – – (type)* & sizeof | Phải sang trọng trái |
Tính nhân | * / % | Trái sang phải |
Tính cộng | + – | Trái sang phải |
Dịch chuyển | Trái sang phải | |
Quan hệ | = | Trái sang phải |
Cân bằng | == != | Trái sang phải |
Phép & bit | & | Trái lịch sự phải |
Phép XOR bit | ^ | Trái lịch sự phải |
Phép OR bit | | | Trái sang trọng phải |
Phép and logic | && | Trái sang trọng phải |
Phép OR logic | || | Trái lịch sự phải |
Điều kiện | ?: | Phải sang trái |
Gán | = += -= *= /= %=>>= |
Tham khảo: https://tienich123.wordpress.com/