75 PHẦN IV LẬP TRÌNH GIAO TIẾP 8051 VÀ NGOẠI VI SỬ DỤNG C Mục đích chung của phần này nhằm giúp người học vận dụng ngôn ngữ lập trình cấp cao C để lập trình cho vi điều khiển Các ví dụ nhằm mục đích đ[.]
PHẦN IV: LẬP TRÌNH GIAO TIẾP 8051 VÀ NGOẠI VI SỬ DỤNG C Mục đích chung phần nhằm giúp người học vận dụng ngơn ngữ lập trình cấp cao C để lập trình cho vi điều khiển Các ví dụ nhằm mục đích để người học tiếp cận cấu trúc phần cứng bên dạng máy tính Phần đề cập nhiều việc đa dạng hóa thiết bị ngoại vi kết nối với máy tính chip họ 8051 vấn đề minh họa việc giao tiếp mở rộng nhớ Ngoài ra, việc truyền thơng trao đổi liệu máy tính đa dụng máy tính chip họ 8051 trình bày phần Từ ví dụ cung cấp phần này, người học hiểu sâu cách sử dụng mã lệnh, cấu trúc ảnh hưởng ghi, phương pháp lập trình điều khiển thực tác vụ từ máy tính chip 8051 75 Sơ lược ngơn ngữ lập trình C dành cho vi điều khiển Chức trình biên dịch nhằm để chuyển mã nguồn cấp cao C thành mã máy HEX mà phần cứng máy tính hiểu thực lệnh mong muốn thể người lập trình Mã máy có định dạng HEX tải xuống ROM vi điều khiển Kích thước mã máy quan trọng bị giới hạn tài nguyên phần cứng vi điều khiển Thơng thường khơng gian nhớ để lưu trữ mã khoảng 64K bytes Một số lý để sử dụng C việc lập trình vi điều khiển là: 76 76 - Việc lập trình sử dụng mã cấp cao C tiết kiệm thời gian so với lập trình ngơn ngữ cấp thấp ASM Tuy nhiên, sử dụng ngôn ngữ C dẫn đến mã HEX lớn - Có thể sử dụng khái niệm hàm thư viện hàm - Mã nguồn C có tính di động cao nhiều kiến trúc vi điều khiển khác Như vậy, mã nguồn C chạy số vi điều khiển khác mà không cần phải chỉnh sửa mã nguồn ban đầu Việc hiểu rõ kiểu liệu ngôn ngữ C giúp người lập trình tối ưu mã nguồn kích thước file HEX Một số kiểu liệu là: Ký tự khơng dấu Unsigned char Ký tự có dấu Signed char Số ngun khơng dấu Unsigned int số ngun có dấu Signed int kiểu bit đơn Sbit (single bit) Kiểu bit ghi có chức đặc biệt Bit and SFR Kiểu ký tự khơng dấu (UNSIGNED CHAR) Vì vi điều khiển họ 8051 cấu tạo từ xử lý 8-bit, việc sử dụng kiểu char không dấu cần thiết phù hợp Với kiểu liệu này, tầm giá trị khoảng 0-255 (tức 00-FF) Với kiểu liệu này, sử dụng nhằm lưu giá trị đếm ký tự bảng mã ASCII Trong trình biên dịch C, mặc định sử dụng kiểu liệu có dấu signed khơng khai báo từ khóa unsigned Ví dụ minh họa Sử dụng vi điều khiển họ 8051 ngơn ngữ lập trình C để viết chương trình xuất 00-FF cổng P1 vi điều khiển #include void main(void) { unsigned char z; for (z=0;z