Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
492,7 KB
Nội dung
C vi điều khiển Ôn lại tập lệnh cấu trúc ngôn ngữ lập trình c Các nội dung Các thị trước xử lý Các kiểu liệu Toán tử Cấu trúc chương trình Các cấu trúc điều khiển Cấu trúc rẽ nhánh Cấu trúc lặp Break Continue Hàm Các thị •#include “tên thư viện.h” #include : o o Nhập nội dung (bao gồm hàm biến) từ tệp khác chèn vào chương trình Ví dụ : #include , #include •#define tên dãy ký tự o Thay tên dãy ký tự đằng sau o • Ví dụ : #define N 100, #define LED_ON 1, #define data P1OUT #ifdef ifndef o Nếu định nghĩa chưa định nghĩa #ifndef _GRANDPARENT_H #define _GRANDPARENT_H // Nội dung grandparent.h #endif • #prasma: biên dịch chương trình theo số tùy chọn đặc biệt, phụ thuộc vào compiler khác Các kiểu liệu Các kiểu liệu chuẩn Tên Dung lượng (byte) Độ lớn liệu char -128 đến 127 unsigned char đến 255 enum -32768 đến 32767 short -32768 đến 32767 unsigned short đến 65535 int -32768 đến 32767 unsigned int đến 65535 long -2^31 đến 2^31-1 unsigned long đến 2^32-1 Toán tử Toán tử số học Toán tử phức hợp Toán tử thao tác bit Toán tử quan hệ Toán tử logic Cộng + Gán = AND bit & == NOT ! Trừ - Cộng gán += OR bit | != AND && Nhân * Trừ gán -= XOR bit ^ > OR || Chia / Nhân gán *= NOT bit ~ < Lấy phần dư % Chia gán /= Dịch trái >= Cộng thêm ++ Trừ Toán tử thao tác bit char a = 0x01, b = 0x0f; // 0x01 = 0000 0001, 0x0f = 0000 1111 • a & b = 0x01 = 0000 0001 • a | b = 0x0f = 0000 1111 • a ^ b = 0x0e = 0000 1110 • a > = 0x03 = 0000 0011 Các phép toán thao tác bit quan trọng vi điều khiển • Set bit: P1DIR |= 0x01: Cho bit vị trí lên giá trị 1, bit lại không đổi • Clear bit: P1OUT &=~ 0x08: Cho bit vị trí xuống giá trị 0, bit lại không đổi • Reverse bit: P2OUT ^= 0x02: Đảo bit vị trí 1, bit lại không đổi Cấu trúc chương trình C #include #define IN P1OUT int bien1, bien2; int ham(){ //Nội dung hàm } int main(){ bien1 = ham(); //Nội dung chương trình } Cấu trúc chương trình C #include #define IN P1OUT int bien1, bien2; int ham(); int main(){ bien1 = ham(); //Nội dung chương trình } int ham(){ //Nội dung hàm } Cấu trúc điều khiển – rẽ nhánh if (điều kiện) thực lệnh… ◦ Ví dụ: if(x < 3) x = 5; if (điều kiện) thực lệnh 1… else thực lệnh ◦ Ví dụ: if(a < b) max = b; else max = a; Switch(biến) case Giá trị 1: thực lệnh 1; case Giá trị 2: thực lệnh ◦ Ví dụ: switch(a){ case 0: num0 ++; break; case 1: num1 ++; break; } Cấu trúc lặp while(điều kiện) { // Khối lệnh lặp } Ví dụ: while(1) { P1OUT ^= 0x01; delay(); } for(khởi tạo; điều kiện; câu lệnh sau lần lặp) { khối lệnh lặp }; Ví dụ: for(i = 0; i < 100; i++){ if (i %2 == 0) countEven ++; } Break Continue break continue sử dụng khối lệnh lặp ◦ break có tác dụng dừng vòng lặp thực ◦ continue có tác dụng tiếp tục vòng lặp bỏ qua tất lệnh sau Bài tập In hình tất số nguyên tố khoảng từ đến 100 Bài tập [...]...Break và Continue break và continue đư c sử dụng trong khối lệnh lặp ◦ break c t c dụng dừng ngay lập t c vòng lặp đang th c hiện ◦ continue c t c dụng tiếp t c vòng lặp và bỏ qua tất c c c lệnh ở sau nó Bài tập In ra màn hình tất c c c số nguyên tố trong khoảng từ 1 đến 100 Bài tập 1