Thực hành kỹ thuật vi xử lý PHẦN 1

55 1K 5
Thực hành kỹ thuật vi xử lý PHẦN 1

Đ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

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA KỸ THUẬT ĐIỆN TỬ o0o - BÀI THỰC HÀNH MÔN KỸ THUẬT VI XỬ NGÀNH HỌC: ĐIỆN-ĐIỆN TỬ VÀ ĐIỆN TỬ-VIỄN THÔNG ĐỐI TƯỢNG: ĐẠI HỌC NGUYỄN QUỐC UY -HÀ NỘI, 2016- MỤC LỤC Chuẩn bị 1:DOWNLOAD cài đặt KeilC lập trình với 8051 Chuẩn bị 2: DOWNLOAD cài đặt Protus 8.1 SP1 Bài 0:Bài mở đầu Bài 1: Hướng dẫn tạo project với KeilC lập trình 8051 Bài 2:: Hướng dẫn tạo project với phần mềm Protus 8.1 SP1 nạp code mô Bài 3:Tổng quan cách khai báo biến,hằng kiểu liệu rong ngôn ngữ C Bài 4: Lập trình nháy LED đơn với 8051 Bài 5:Lập trình LED với 8051 Bài 6: Lập rình LED Martrix với 8051 Bài 7: Lập trình nút nhấn với 8051 Bài 8:Lập trình điều khiển IC 74HC595 Bài 9: Lập trình Bộ đếm -Bộ định thời(Timer/Counter) 8051 Bài 10: Lập trình ngắt 8051 BÀI MỞ ĐẦU TỔNG QUAN VỀ VĐK 8051&MÔ PHỎNG TRÊN PROTUS Hôm đến với kiến thức vi điều khiển 8051 1.Đối tượng tham gia học tập: • Sinh viên đam mê lập trình nói chung đam mê lập trình vi điều khiển nói riêng • Sinh viên muốn qua kì thi “Kỹ thuật vi xử lí” 2.Yêu cầu: • Có ý thức Tự học tập, tự nghiên cứu • Sinh viên hiểu biết ngôn ngữ lập trình C • Chăm hoàn thành tập bạn muốn việc học hiệu tiết kiệm thời gian bạn 3.Hình thức học tập: • Không nặng thuyết, thực hành ngắn gọn, dễ hiểu Tuy nhiên, cuối bài, yêu cầu bạn nghiên cứu thêm tự đặt câu hỏi ý nghĩa dòng code tập • Ghi lại thắc mắc hỏi tiết học để thảo luận tối ưu code tốt Khuyến khích tự tìm kiếm câu trả lời google Chuẩn bị 1:DOWNLOAD cài đặt KeilC lập trình với 8051 Có nhiều trình biên dịch hỗ trợ lập trình 8051 có công cụ sử dụng nhiều KeilC KeilC hỗ trợ lập trình ASM C với họ vi điều khiển 8051 Sau bước để cài đặt trình biên dịch 1.Đầu tiên bạn download link đây: https://www.fshare.vn/file/ORHSCYLSWVGA 2.Hướng dẫn cài đặt: (Chú ý trình duyệt virus báo nhầm file keygen virus, nên tắt chúng trước giải nén) Bước 1: Giải nén sau bạn chạy file “c51v901.exe”, Chọn Next Bước 2: Tick vào ô “I agree to all the tems of the preceding License Agreement”, chọn Next Bước 3: Chọn đường dẫn lưu thư mục cài đặt, sau chọn Next Bước 4: Điền thông tin cá nhân chọn Next Bước 5: Chờ cho máy tiến hành cài đặt Bước 6: Sau cài đặt xong, chọn Finish (Có thể tích bỏ tích ô tùy bạn) Bước 14: Để chạy mô bạn chọn Debug -> Run Simulation bấm phím F12 Bước 15: Để tắt mô bạn bấm Debug -> Stop VSM Debugging (Tab Message xuất hiện, bạn tắt đi) Vậy hoàn thành tạo project với phần mềm Proteus 8.1 SP1 + nạp code mô Tận hưởng thành nào! ĐÂY LÀ BÀI TẬP 1.1 Bài 3:Tổng quan cách khai báo biến,hằng kiểu liệu ngôn ngữ C Để lập trình cho họ vi điều khiển sử dụng nhiều ngôn ngữ khác nhau, nhiều trình biên dịch khác nhau, dó C ngôn ngữ thông dụng kỹ thuật vi điều khiển Khi sử dụng ngôn ngữ C người lập trình không cần hiểu chi tiết cấu trúc vi điều khiển Điều giúp tiết kiệm nhiều thời gian tiếp cận vi điều khiển Sau số kiến thức liên quan đến cách khai báo biến, hằng, kiểu liệu toán tử phổ biến hay sử dụng lập trình vi điều khiển ngôn ngữ C 1.Khai báo biến Biến dùng để lưu trữ giá trị Bạn tưởng tượng giả sử bạn có bao bạn sử dụng bao với nhiều mục đích khác dùng để chứa gạo, chưa ngô, chứa khoai, … lúc bao biến C Khai báo liệu tổng quát C sử dụng với KeilC có dạng sau: Kiểu_dữ_liệu [Vùng_nhớ] Tên_biến [_at_ Đia_chỉ]; Hai thông tin [Vùng_Nhớ] [Địa_chỉ] thêm không lúc trình biên dịch biên dịch tự động Các vùng nhớ vi điều khiển 8051 liệt kê bảng sau: Để gán giá trị cho biến ta việc dùng cú pháp Tên biến = x: int x; gán trình khai báo: int x = 5; Sau khai báo biến bạn sử dụng biến chương trình cho nhu cầu sử dụng chương trình bạn 2.Khai báo Để giúp tăng cường độ an toàn chương trình, giá trị đánh dấu từ khóa định tính const Với từ khóa biến khai báo trở thành Mọi thao tác vô ý hay cố ý để điều chỉnh giá trị bị báo lỗi hầu hết trình dịch Bởi sau dùng từ khóa định tính const giá trị biến thay đổi nên người lập trình phải gán giá trị ban đầu lúc khai báo Chuẩn C cho phép hoán đổi vị trí hiệu Thí dụ hai khai báo sau tương đương: int const Hang_So = 12; const int Hang_So = 12; Cả hai cách khai báo chấp nhận Sau thực khai báo có biến Hang_So mang liệu 12 thay đổi suốt trình thực thi chương trình 3.Các kiểu liệu Với C có kiểu liệu sau hay sử dụng Các bạn dễ dàng thấy khác SỐ KHÔNG DẤU VÀ SỐ CÓ DẤU chúng có độ dài (số lượng bit) Tùy với mục đích sử dụng liệu tối đa mà bạn nghĩ biến đạt đến bạn nên chọn kiểu liệu vừa đủ để tránh lãng phí tài nguyên với điều khiển 8051 số lượng Ram hạn chế (128 Byte với dòng cũ thêm 128 Byte Ram với dòng sau cấp phát vùng idata) Ngoài ra, với riêng KeilC có thêm số kiểu liệu sử dụng riêng cho dòng vi điều khiển 8051 Bảng liệu sau: – 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 SBIT dùng khai bảo chân cổng Trên thông tin liên quan đến khai báo liệu sử dụng suốt trình lập trình Các bạn cần nắm kiến thức để tiếp cận sâu lập trình nói chung lập trình vi điều khiển nói riêng Bài 4: Lập trình nháy LED với 8051 Ở hướng dẫn bạn lập trình điều khiển Output thực hành với LED đơn Các bạn thực vẽ mạch sau Proteus Các bạn ý: mô thử nghiệm chương trình nên vẽ mạch mức độ nhiên mạch thật bạn cần bổ sung nguồn, thạch anh mạch reset cho mạch để chương trình chạy Với mạch thực mô chương trình với LED đơn a.Lập trình điều khiển Pin vi điều khiển 8051 cho phép tác động tới chân IO vi điều khiển Để sử dụng tính sử dụng khai báo sbit để định nghĩa tên cho chân muốn sử dụng Khai báo sbit thực theo mẫu sau: sbit Tên_Chân_Định_Nghĩa = Địa_Chỉ_Pin; dụ cụ thể sau: sbit LED = P1^0; Ở đây, chân P1.0 định nghĩa có tên LED Sau khai báo sbit sử dụng Tên chân mà định nghĩa để điều khiển độc lập chân Khi bạn gán chân giá trị đầu mức 0V bạn gán cho chân mức có mức điện áp 5V dụ chương trình sau sử dụng định nghĩa sbit để điều khiển chân P1.0 8051 thực chức nhấp nháy LED Các bạn xem code theo mẫu sau /* Khai bao su dung thu vien cho 89c52 */ #include /* Su dung sbit de dinh nghia cho tung chan cua Vi dieu khien*/ sbit LED = P1^0; /* Trien khai ham tao tre */ void Fn_Delay (unsigned intTime) { while(Time ); } /* Chuong trinh chinh */ void main(void) { /* Vong lap vo han */ while(1) { LED = 0; // Xuat chan LED Fn_Delay(50000); LED = 1; // Tre thoi gian // Xuat chan LED Fn_Delay(50000); // Tre thoi gian } } ĐÂY LÀ BÀI TẬP 1.2 Với việc lập trình bạn LED nối với chân P1.0 thay đổi sáng tắt Ở có hàm Fn_Delay() có chức thay đổi tốc độ nhấp nháy LED Khi tham số truyền vào hàm lớn độ trễ lâu có pin bạn xuất data cho pin lúc với dòng lệnh tức tần số nháy nháy chậm Các bạn thay đổi thông số cho hàm để thấy rõ Sau lập xong Project theo bước hướng dẫn trước bạn gõ dòng code vào thực Build để tạo file hex sau bạn chuyển file hex vào IC 89C52 Proteus chạy chế độ mô Các bạn thấy kết Như bạn điều khiển chân 8051 chế độ Output Sau thực cho chân P1.0 bạn thực chân khác thực nhiều chân bạn muốn b.Lập trình điều khiển theo Port vi điều khiển Ngoài điều khiển theo chân xuất liệu ouput theo Port 8051 8051 vi điều khiển bit Port với điều kiện Pin chung Port Để can thiệp đến Port bạn cần gán liệu bạn mong muốn cho tên Port dụ sau: P2 = 0x55; Với câu lệnh bạn xuất liệu Port sau: 0-1-0-1-0-1-0-1 tương ứng với chiều từ P2.7 tới P2.0 Giới thiệu toán tử | &: Toán tử | toán tử OR bit toán tử & toán tử AND bit Các toán tử thực theo công thức sau: | = 0 | = 1 | = & = 0 & = 1&1=1 Đây toán tử hay sử dụng việc bạn muốn tác động đến vài bit Port mà bạn muốn xuất liệu Toán tử | thường dùng để đưa Pin lên mức toán tử & thường sử dụng để đưa Pin mức dụ sau: P1 = P1 | 0x01; // Đưa pin P1.0 lên mức P1 = P1 & 0xFE; // Đưa pin P1.0 mức Ngoài giới thiệu với bạn toán tử > Đây toán tử dùng để dịch bít Các bạn quan sát dụ sau để hiểu rõ toán tử này: 0x01>1 = 0x08; //00010000 -> 00001000 Các bạn ý toán tử bạn gặp nhiều toán sau bạn Sau dụ sử dụng việc xuất liệu Port tạo hiệu ứng LED chạy từ xuống lặp lại Các bạn tham khảo /* Khai bao su dung thu vien cho 89c52 */ #include /* Trien khai ham tao tre */ void Fn_Delay (unsigned int _vrui_Time) { while(_vrui_Time ); } 10 11 /* Chuong trinh chinh */ 12 void main (void) 13 { 14 /* Khai bao bien i */ 15 unsigned char i; 16 /* Vong lap vo han */ 17 while(1) 18 { 19 for (i = 0; i < 8; i++) 20 { 21 P1 = 0x01

Ngày đăng: 29/08/2017, 20:23

Từ khóa liên quan

Mục lục

  • BÀI MỞ ĐẦU

  • TỔNG QUAN VỀ VĐK 8051&MÔ PHỎNG TRÊN PROTUS

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

  • Đang cập nhật ...

Tài liệu liên quan