1. Trang chủ
  2. » Giáo án - Bài giảng

C trong vi điều khiển

13 391 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

C trong vi điều khiểnÔn lại tập lệnh và cấu trúc của ngôn ngữ lập trình c... Các nội dung chính... Các chỉ thị•#include “tên thư viện.h” hoặc #include : o Nhập nội dung bao gồm hàm và b

Trang 1

C trong vi điều khiển

Ôn lại tập lệnh và cấu trúc của ngôn ngữ lập trình c

Trang 2

Các nội dung chính

Trang 3

Các chỉ thị

•#include “tên thư viện.h” hoặc #include <tên thư viện.h> :

o Nhập nội dung (bao gồm hàm và biến) từ một tệp khác và chèn vào chương trình hiện tại.

o Ví dụ : #include <stdio.h>, #include <msp430.h>

•#define tên dãy ký tự

o Thay thế tên bằng dãy ký tự đằng sau

o Ví dụ : #define N 100, #define LED_ON 1, #define data P1OUT

• #ifdef và ifndef

o Nếu đã định nghĩa và nếu chưa định nghĩa

#ifndef _GRANDPARENT_H

#define _GRANDPARENT_H

// Nội dung của grandparent.h

#endif

• #prasma: biên dịch chương trình theo một số tùy chọn đặc biệt, phụ thuộc vào từng compiler khác nhau

Trang 4

Các kiểu dữ liệu

Các kiểu dữ liệu chuẩn

Tên Dung lượng (byte) Độ lớn dữ liệu

char 1 -128 đến 127 unsigned char 1 0 đến 255 enum 2 -32768 đến 32767 short 2 -32768 đến 32767 unsigned short 2 0 đến 65535

int 2 -32768 đến 32767 unsigned int 2 0 đến 65535 long 4 -2^31 đến 2^31-1 unsigned long 4 0 đến 2^32-1

Trang 5

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 các bit & == NOT ! Trừ - Cộng rồi gán += OR các bit | != AND && Nhân * Trừ rồi gán -= XOR các bit ^ > OR || Chia / Nhân rồi gán *= NOT bit ~ <

Lấy phần dư % Chia rồi gán /= Dịch trái << <=

Lấy dư rồi gán %= Dịch phải >> >=

Cộng thêm 1 ++

Trừ đi 1

Trang 6

Toán tử thao tác bit

char a = 0x01, b = 0x0f; // 0x01 = 0000 0001, 0x0f = 0000 1111

• a & b = 0x01 = 0000 0001

• a << 1 = 0x02 = 0000 0010

• b >> 2 = 0x03 = 0000 0011

Các phép toán thao tác bit quan trọng trong vi điều khiển

• Set bit: P1DIR |= 0x01: Cho bit tại vị trí 0 lên giá trị bằng 1, các bit còn lại không đổi

• Clear bit: P1OUT &=~ 0x08: Cho bit tại vị trí 3 xuống giá trị bằng 0, các bit còn lại không đổi

• Reverse bit: P2OUT ^= 0x02: Đảo bit tại vị trí 1, các bit còn lại không đổi

Trang 7

Cấu trúc cơ bản của một chương trình C

#include <msp430.h>

#define IN P1OUT

int bien1, bien2;

int ham(){

//Nội dung hàm

}

int main(){

bien1 = ham();

//Nội dung chương trình

}

Trang 8

Cấu trúc cơ bản của một chương trình C

#include <msp430.h>

#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

}

Trang 9

Cấu trúc điều khiển – rẽ nhánh

if (điều kiện) thực hiện lệnh…

◦ Ví dụ: if(x < 3) x = 5;

if (điều kiện) thực hiện lệnh 1… else thực hiện lệnh 2

◦ Ví dụ: if(a < b) max = b; else max = a;

Switch(biến) case Giá trị 1: thực hiện lệnh 1; case Giá trị 2: thực hiện lệnh 2

◦ Ví dụ: switch(a){

case 0: num0 ++; break;

case 1: num1 ++; break;

}

Trang 10

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 mỗi lần lặp) { khối lệnh lặp };

Ví dụ: for(i = 0; i < 100; i++){ if (i %2 == 0) countEven ++; }

Trang 11

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ó

Trang 12

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

Trang 13

Bài tập 1

Ngày đăng: 18/09/2016, 22:32

TỪ KHÓA LIÊN QUAN

w