Lập trình cho vi điều khiển

65 598 15
Lập trình cho vi điều khiển

Đ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

tài liệu về vi xử lý

Chương 4: Lập trình cho hệ vi điều khiển Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và vòng lặp 4.3 Sử dụng con trỏ và mảng trong C 4.4 Các hàm và chương trình con 4.5 Chèn Assembly code trong C 4.6 Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và vòng lặp 4.3 Sử dụng con trỏ và mảng trong C 4.4 Các hàm và chương trình con 4.5 Chèn Assembly code trong C 4.6 Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt 4.1 Giới thiệu • C là ngôn ngữ gần ngôn ngữ Assembly nhất trong tất cả các ngôn ngữ cấp cao – Lệnh tính toán trên bit – Con trỏ (định địa chỉ gián tiếp) • Phần lớn các VĐK đều có C compiler • Việc phát triển các ứng dụng dùng C sẽ nhanh chóng và thuận lợi hơn Assembly • C là ngôn ngữ lập trình có cấu trúc (không phải là hướng đối tượng) • Mỗi tác vụ có thể đóng gói trong một hàm • Chương trình chính được đóng gói trong hàm main Cấu trúc một chương trình trong C • Các câu lệnh trong C kết thúc bằng dấu “;” • Phân biệt chữ hoa và chữ thường; • Khi viết chương trình cần viết chú thích; Các loại biến trong C Ngoài ra Keil C còn hỗ trợ các loại biến để truy xuất các thanh ghi có chức năng đặc biệt Các biến mở rộng trong Keil C Các loại biến trong C • Khai báo biến: – Cú pháp kiểu_dữ_liệu Vùng_nhớ tên_biến – dụ: unsigned char data x; unsigned int x,y,z,t; • Vùng nhớ: chỉ ra vùng nhớ sử dụng trong chương trình, gồm CODE, DATA, DATAB, IDATA, PDATA, XDATA. Khi không khai báo vùng nhớ thì Keil C mặc định là vùng DATA CODE: bộ nhớ mã nguồn chương trình DATA: bộ nhớ dữ liệu 128byte thấp trong RAM DATAB: bộ nhớ dữ liệu có thể địa chỉ bit, trong DATA IDATA: 128byte cao (chỉ có ở 1 số VĐK) PDATA: bộ nhớ ngoài 256byte, truy cập bởi địa chỉ trên P0 XDATA: bộ nhớ dữ liệu ngoài, dung lượng đến 64KB, truy cập bởi địa chỉ đặt trên P0 và P2 Các loại biến trong C • Định nghĩa lại kiểu dữ liệu: – Cú pháp: typedef kiểu_dữ_liệu tên_biến; tên_biến sau đó được dùng như một kiểu dữ liệu mới và có thể dùng để khai báo các biến khác – dụ: typedef int m5[5]; Dùng tên m5 khai báo 2 biến a, b có kiểu dữ liệu là mảng 1 chiều 5 phần tử: m5 a,b; • Chú ý: – bit: dùng để khai báo các biến có giá trị 0/1, hay các biến logic trên vùng RAM của VĐK. Khi khai báo Keil C mặc định là vùng BDATA – sbit, sfr,sfr16: dùng định nghĩa cho các thanh ghi có chức năng hoặc cổng trên vđk dùng để truy nhập các đoạn dữ liệu 1bit, 8bit,16bit Các loại biến trong C • Mảng: – 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 sẽ có số phần tử bất kỳ – dụ: unsigned int data a[5],b[2] [3]; Khai báo mảng a một chiều 5 phần tử; mảng b là mảng hai chiều, tổng số 6 phần tử – Chú ý: Chỉ số mảng bắt đầu từ 0, mảng có bao nhiêu chiều phải cung cấp đầy đủ bấy nhiêu chỉ số: VD mảng b*0+ *1+ là đúng; khi viết b*0+ là sai Các loại biến trong C • Con trỏ: là một biến dùng để chứa địa chỉ mà không chứa giá trị hay giá trị con trỏ chính là địa chỉ khoảng nhớ mà nó trỏ tới • Khai báo: – Cú pháp: kiểu_dữ_liệu vùng_nhớ *tên_biến – dụ: int *int_ptr long data *long_ptr Chú ý: khi không chỉ rõ vùng nhớ thì con trỏ sẽ được coi là con trỏ tổng quát Loại con trỏ Tổng quát XDATA CODE DATA IDATA PDATA Kích thước 3byte 2byte 2byte 1byte 1byte 1byte [...]... Keil C Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và vòng lặp 4.3 Sử dụng con trỏ và mảng trong C 4.4 Các hàm và chương trình con 4.5 Chèn Assembly code trong C 4.6 Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt Các lệnh rẽ nhánh Các lệnh rẽ nhánh Các lệnh vòng lặp Các lệnh vòng lặp Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và... Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt Giới thiệu dụ Sử dụng hàm Truyền đối số bằng giá trị và bằng tham khảo Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và vòng lặp 4.3 Sử dụng con trỏ và mảng trong C 4.4 Các hàm và chương trình con 4.5 Chèn Assembly code trong C 4.6 Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt... Các hàm và chương trình con 4.5 Chèn Assembly code trong C 4.6 Mô hình bộ nhớ Keil C51 4.7 Điều khiển ngoại vi –Timer –Cổng nối tiếp –Ngắt Con trỏ trong Assembly Con trỏ trong C Con trỏ trong C Mảng trong C Con trỏ và mảng dụ dụ dụ dụ Nội dung 4.1 Cơ bản về lập trình C cho VĐK 4.2 Các lệnh rẽ nhánh và vòng lặp 4.3 Sử dụng con trỏ và mảng trong C 4.4 Các hàm và chương trình con 4.5 Chèn

Ngày đăng: 22/04/2014, 12:46

Tài liệu cùng người dùng

Tài liệu liên quan