Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
695,5 KB
Nội dung
3 LẬP TRÌNH C Giới thiệu lập trình C • Là ngôn ngữ bậc cao • Khi sử dụng ngơn ngữ C người lập trình khơng cần hiểu sâu sắc cấu trúc vi điều khiển • Khơng phải thời gian tìm hiểu kiến trúc vi điều khiển • Có thể sử dụng lại chương trình xây dựng trước dễ dàng hơn, sử dụng tồn sửa chữa phần Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com Giới thiệu lập trình C • Là ngơn ngữ bậc cao • Khi sử dụng ngơn ngữ C người lập trình khơng cần hiểu sâu sắc cấu trúc vi điều khiển • Khơng phải thời gian tìm hiểu kiến trúc vi điều khiển • Có thể sử dụng lại chương trình xây dựng trước dễ dàng hơn, sử dụng toàn sửa chữa phần Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com Cấu trúc chương trình C • • • • Khai báo thị tiền xử lý Khai báo biến toàn cục Khai báo nguyên mẫu hàm Xây dựng hàm chương trình Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com Cấu trúc chương trình C #include #include #define Led1 P1_0 Khai báo tiền xử lý Unsigned char code Led_arr[3]; Unsigned char data dem; Unsigned int xdata X; Khai báo biến toàn cục Void delay(unsigned int n); bit kiemtra(unsigned int a); Khai báo nguyên mẫu hàm void delay(unsigned int n) { Khai báo biến cục bộ; Mã chương trình trễ; } Void main() { Khai báo biến cục bộ; Mã chương trình chính; } Bit kiemtra(unsigned int a) { Khai báo biến cục bơ; Mã chương trình kiểm tra biến a; } Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng Viết chương trình chương trình con, chương trình ngắt caonam@gmail.com Các kiểu liệu C Kiểu Số Byte Khoảng giá trị Char -128 – +127 Unsigned char – 255 Int -32768 - +32767 Unsigned int - 65535 Long -2147483648 - +2147483647 Unsigned long – 4294697295 Float Kiểu Số bit Bit Sbit Sfr Sfr16 16 Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng - bit : dùng để khai báo biến có giá trị hay biến logic vùng RAM vi điều khiển Khi khai báo biến kiểu bit trình dịc Keil C mặc định vùng nhớ sử dụng BDATA - sbit, sfr, sfr16: dùng để định nghĩa cho ghi chức cổng vi điều khiển dùng để truy nhập đoạn liệu bit, bit, 16 bit caonam@gmail.com Mảng C - Mảng tập hợp nhiều phần tử kiểu giá trị chung tên Các phần tử mảng phân biệt với số hay số thứ tự phần tử dãy phẩn tử Mỗi phần tử có vai trò biến lưu trữ giá trị độc lập với phần tử khác mảng Mảng mảng chiều mảng nhiều chiều Khai báo: - Cú pháp: Tên_kiểu Vùng_nhớ Tên_mảng[số_phần_tử_mảng]; Khi bỏ trống số phần tử mảng ta có mảng có số phần tử Ví dụ: Unsigned int data a[5],b[2] [3]; char const maled[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; char const maso[] = {0xEF,0xF7,0xFB,0xFD,0xFE}; Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com Con trỏ C - Khi ta khai báo biến, biến cấp phát khoảng nhớ bao gồm số byte định dùng để lưu trữ giá trị Địa khoảng nhớ địa biến khai báo - Con trỏ biến dùng để chứa địa mà không chứa giá trị, hay giá trị trỏ địa khoảng nhớ mà trỏ tới - Với vùng nhớ cụ thể trỏ tới vùng nhớ chiếm dung lượng phụ thuộc vào độ lớn vùng nhớ Con trỏ tổng quát khơng xác định trước vùng nhớ có dung lượng lớn tốt nên sử dụng trỏ cụ thể Loại trỏ Khai báo biến trỏ: Con trỏ tổng quát - Cú pháp: Kiểu_Dữ_liệu Vùng_nhớ *Tên_biến; Con trỏ XDATA Con trỏ CODE - Ví dụ: Con trỏ DATA int *int_ptr; Con trỏ IDATA Con trỏ PDATA Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Cơng nghệ Đà Nẵng Kích thước byte byte byte byte byte byte caonam@gmail.com Phép toán C + Số học Phép tốn ý nghĩa Ví dụ + Phép cộng X=a+b - Phép trừ X=a-b * Phép nhân X=a*b / Phép chia lấy phần nguyên X=a/b (a=9, b=2 → X=4) % Phép chia lấy phần dư a%b (a=9, b=2 → X=1) + Logic AND: && OR: || NOT: ! Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com Phép toán C + So sánh Phép tốn ý nghĩa Ví dụ > So sánh lớn a>b 4>5 giá trị >= So sánh lớn a>=b 6>=2 giá trị < So sánh nhỏ a