Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
269,41 KB
Nội dung
Kinh nghiệm sử dụng Keil C để lập trình cho x51 Introduction • MCU 51 loại vi điều khiển bit, giá thành thường rẻ loại vdk khác, dể sử dụng, tài liệu nhiều sử dụng • Có nhiều công cụ để lập trình cho x51 Trong Keil C công cụ mạnh, hổ trợ nhiều dẫn xuất x51, công cụ debug mạnh, sinh mã có hiệu suất cao Topics of Discussion • Ôn lại ngôn ngữ lập trình C x51 • Giới thiệu sơ lược Keil C • Tạo project để lập trình ASM Keil C • Tạo project để lập trình C Keil C Ôn lại ngôn ngữ lập trình C x51 • Hai tài liệu ngắn gọn ngôn ngữ C tiếng Anh bạn download Mong bạn đọc hết tài liệu này, giúp bạn hiểu rõ vài vấn đề hóc búa C trỏ nhớ v.v… • Các bạn nên ôn lại vấn đề x51 tập lệnh, timer, serial port, ngắt • Nếu bạn tự tin trình độ lập trình C hiểu biết x51 bỏ qua phần Ôn lại ngôn ngữ lập trình C x51 • Ôn lại chút C : – Header: • Tệp header C tệp tin chứa số, prototype hàm, typedef v.v… • #include • #include “tên file header” • Cách trình biên dịch tìm thư viện nó, cách thứ compiler tìm thư mục chứa project đường dẫn bạn cung cấp Vd: #include “C:\vd.h” trình biên dịch tìm file vd.h ổ C Ôn lại ngôn ngữ lập trình C x51 • Ôn lại chút C : – Define • Định nghĩa số macro • #define MAX 100 • #define MIN(a,b) a[...]... thiệu sơ lư c về Keil C • Để c bản Evaluation c a Keil C bạn vào trang web điền thông tin rồi download về • Nếu bạn c license code c a keil C bạn hãy nhập vào như 2 hình sau đây 13 14 6/16/2009 e13k@e13k.eu.org 15 Giới thiệu sơ lư c về Keil C • Điểm kh c biệt c a Keil C với C chuẩn – Kiểu dữ liệu mới: • bit : khai báo 1 biến kiểu bit, c c biến kiểu bit đư c lưu trữ ở vùng nhớ định địa chỉ bit – bit... unsigned char code code_constant; • data: vùng nhớ dữ liệu (RAM) trong chip truy c p tr c tiếp (128 byte đầu) C thời gian truy c p nhanh nhất nên thường đư c sử dụng để khai báo biến – unsigned char data fast_variable; – Chú ý ko thể khai báo hàm kiểu data 18 Giới thiệu sơ lư c về Keil C • Điểm kh c biệt c a Keil C với C chuẩn – Khai báo vùng nhớ c a biến: • bdata: Khai báo 1 biến 8-bit (ho c cao hơn)... khởi tạo trư c Vd c u lệnh sau không hợp lệ » data char tmp=24 _at_ 0x30;// ko hợp lệ 20 Tạo 1 project để lập trình bằng ASM trên Keil C • Bạn xem c c bư c ở c c slide sau đây 21 22 23 24 25 26 27 28 29 30 31 32 33 Tạo 1 project để lập trình bằng C trên Keil C • C c bư c hoàn toàn tương tự chỉ kh c ở c c slide sau đây: 34 35 36 ... 0x80; – Chú ý sfr không thể khai báo bên trong hàm nhé bạn • sfr16: định nghĩa 1 thanh ghi sfr 16 bit – sfr16 name = address; – sfr16 T2 = 0xCC; /* Timer 2: T2L 0CCh, T2H 0CDh */ – Chú ý sfr16 không thể khai báo bên trong hàm 17 Giới thiệu sơ lư c về Keil C • Điểm kh c biệt c a Keil C với C chuẩn – Khai báo vùng nhớ c a biến: • code: vùng nhớ chương trình (thường là ROM) Dùng để lưu trữ c c hằng số... địa chỉ bit (0x20->0x2F) – unsigned char bdata bdata_var; – Chú ý ko thể khai báo hàm kiểu data • idata: vùng nhớ dữ liệu (RAM) trong chip truy c p gián tiếp Vùng nhớ idata bao gồm vùng nhớ data và 128 byte cao truy c p gián tiếp trong 8052 (c i này đ c trong user guilde c a c5 1) T c độ truy c p chậm hơn data – unsigned char idata variable; 19 Giới thiệu sơ lư c về Keil C • Điểm kh c biệt c a Keil C. .. thiệu sơ lư c về Keil C • Ôn lại một chút về C – Từ khóa volatile: nói nôm na 1 biến volatile là biến mà nội dung nó bị thay đổi bởi phần c ng chứ không phải do bản thân chương trình C i này c ng không quan trọng lắm bạn c thể đ c user guilde c a keil C để tìm hiểu thêm • volatile unsigned char reg1; – Từ khóa static: khai báo biến tĩnh, biến tĩnh khỏi tạo 1 lần và giữ nguyên giá trị c a nó sau mỗi... Keil C với C chuẩn – Khai báo vùng nhớ c a biến: • Từ khóa _at_: chỉ định địa chỉ mà biến đư c lưu trong bộ nhớ – « memory_type » type variable_name _at_ constant; – data char tmp _at_ 0x30;// Khai báo biến tmp kiểu char trong vùng nhớ data tại địa chỉ 0x30 – Chú ý không thể dùng _at_ với hàm, biến kiểu bit, biến khai báo với _at_ không thể khởi tạo trư c Vd c u lệnh sau không hợp lệ » data char tmp=24... gọi hàm nếu nó đư c khai báo trong hàm • static data-type name « = value »; 11 Giới thiệu sơ lư c về Keil C • Ôn lại một chút về C – Từ khóa extern: Khai báo 1 biến toàn c c mà biến này đã đư c định nghĩa trong một modun kh c • extern unsigned char my; – Từ khóa register: khai báo biến mà biến đó đư c lưu trong thanh ghi • register data-type name « = value »; • register unsigned char fastVar = 10;... value »; – Vd: bit myFlag = 1; – Chú ý không thể khai báo con trỏ và mảng kiểu bit • sbit: Khai báo bit trong c c thanh ghi SFR – – – – sbit name = sfr-name ^ bit-position; sbit name = sfr-address ^ bit-position; sbit name = sbit-address; Vd: sbit output0 = P1^0;sbit output1 = 0x90^1; sbit output2 = 0x92; 16 Giới thiệu sơ lư c về Keil C • Điểm kh c biệt c a Keil C với C chuẩn – Kiểu dữ liệu mới: • sfr ... x51, c ng c debug mạnh, sinh mã c hiệu suất cao Topics of Discussion • Ôn lại ngôn ngữ lập trình C x51 • Giới thiệu sơ lư c Keil C • Tạo project để lập trình ASM Keil C • Tạo project để lập trình. ..Introduction • MCU 51 loại vi điều khiển bit, giá thành thường rẻ loại vdk kh c, dể sử dụng, tài liệu nhiều sử dụng • C nhiều c ng c để lập trình cho x51 Trong Keil C công c mạnh, hổ... #include “tên file header” • C ch trình biên dịch tìm thư viện nó, c ch thứ compiler tìm thư m c chứa project đường dẫn bạn cung c p Vd: #include C: vd.h” trình biên dịch tìm file vd.h ổ C Ôn