Giáo trình Kỹ thuật vi điều khiển - Chương 3: Xây dựng phần mềm
Do chương trình MONITOR của hệ thống phức tạp và khá lớn nên ta sẽ tổ chức
thành nhiều module nhỏ ghép lại với nhau. Mỗi module thực hiện mỗi chức năng
riêng, các module trong chương trình:
+ Module thực hiện việc hiển thị LCD.
+ Module quản lý bàn phím.
+ Module quản lý việc đọc/ghi dữ liệu trong EEPROM và RAM.
+ Module tạo thời gian trễ.
+ Chương trình chính (Main).
+ Module điều khiển truy cập các thanh ghi đặc biệt và các ô nhớ bên trong chip
vi điều khiển chính.
+ Module truyền thông giao tiếp với máy tính PC.
MO nguồn của chương trình hệ điều hành được giới thiệu ở phần phụ lục của đồ
án.
Sau đây là lưu đồ thuật toán của chương trình MONITOR :
Bạn đang xem tài liệu "Giáo trình Kỹ thuật vi điều khiển - Chương 3: Xây dựng phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Giáo trình Kỹ thuật vi điều khiển - Chương 3: Xây dựng phần mềm
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 68 Ch−ơng III xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 69 Ch−ơng III xây dựng phần mềm 3.1 Ch−ơng trình MONITOR cho KIT Do ch−ơng trình MONITOR của hệ thống phức tạp và khá lớn nên ta sẽ tổ chức thành nhiều module nhỏ ghép lại với nhau. Mỗi module thực hiện mỗi chức năng riêng, các module trong ch−ơng trình: + Module thực hiện việc hiển thị LCD. + Module quản lý bàn phím. + Module quản lý việc đọc/ghi dữ liệu trong EEPROM và RAM. + Module tạo thời gian trễ. + Ch−ơng trình chính (Main). + Module điều khiển truy cập các thanh ghi đặc biệt và các ô nhớ bên trong chip vi điều khiển chính. + Module truyền thông giao tiếp với máy tính PC. MO nguồn của ch−ơng trình hệ điều hành đ−ợc giới thiệu ở phần phụ lục của đồ án. Sau đây là l−u đồ thuật toán của ch−ơng trình MONITOR : Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 70 L−u đồ thuật toán của module Main: khởi tạo các thiết đặt ban đầu cho KIT và các thiết bị ngoại vi, hiển thị màn hình 1. Bắt đầu Khởi tạo các biến, các thiết lập ban đầu cho 8255 Khởi động LCD Hiển thị MAIN MENU Cài đặt các ngắt Cho phép ngắt ngoài 0 Cho phép ngắt nối tiếp Hiển thị Màn hình 1 EEPROM trống? Hiển thị Màn hình 2 Kết thúc N Y Key=F1? Key=F2? Key=F2?Call Step Mode Hiển thị màn hình 4 Call DEMO Prog. Hiển thị màn hình 4 Call DEMO Prog. Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 71 L−u đồ các ch−ơng trình DEMO (Màn hình 4) Bắt đầu Byte đệm BUF = 1 Chạy Led đơn DEMO Hiển thị màn hình 1 Xóa byte đệm bàn phím Byte đệm BUF = 2 Chạy Led 7 đoạn DEMO Byte đệm BUF = 3 Chạy Led ma trận DEMO Byte đệm BUF = 4 Chạy Bàn phím, LCD DEMO Byte đệm BUF = 5 Chạy ADC, DAC DEMO Byte đệm BUF = 6 Chạy STEPPER DEMO Byte đệm BUF = 7 Chạy RS232 DEMO Byte đệm BUF = 18 (BSP) Hiển thị màn hình 1 Byte đệm BUF = 18 Byte đệm BUF = 18 Byte đệm BUF = 18 Byte đệm BUF = 18 Byte đệm BUF = 18 Byte đệm BUF = 18 Byte đệm BUF = 18 Kết thúc Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 72 L−u đồ ch−ơng trình MONITOR chạy ở chế độ gỡ rối STEP MODE (Màn hình 3) Bắt đầu Khởi tạo các biến L−u các thanh ghi cần thiết Giả lập CPU nh− ở trạng thái RESET Hiển thị Màn hình 3 (Các thanh ghi đặc biệt - SFR, R0 -R7 ... ) Hiển thị gợi ý cho các lệnh F1, F2, BSP BUF = 16 (F1) Xóa byte đệm bàn phím BUF Chờ và xử lý nhập 1 byte vào bộ đệm BYTE1 BUF = 19 (ENTER) In ra giá trị BIT cần xem Hỏi có sửa không? - ENTER = không sửa Chờ và xử lý nhập 1 BIT YES (F1) BUF =19 (ENTER) Cập nhật vùng nhớ 1 2 Y N NO (ENTER) NY Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 73 BUF = 17 (F2) P1.2 = 0 (STEP) Chờ và xử lý nhập 2 byte vào bộ đệm BYTE1, 2 BUF = 19 (ENTER) In ra giá trị BYTE cần xem Hỏi có sửa không? - ENTER = không sửa Chờ và xử lý nhập 1 BYTE YES (F1) BUF =19 (ENTER) Cập nhật vùng nhớ 1 2 NO (ENTER) P1.2 =1 (STEP) Delay chống rung N Y N Y N N N RETI Y Kết thúc Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 74 L−u đồ ch−ơng trình ngắt ngoài 0 (INT0) của bàn phím 3.2 Ch−ơng trình quản lí thiết bị 3.2.1 Ch−ơng trình quét bàn phím Nh− đO trình bày ở ch−ơng 2, bàn phím sử dụng trong bộ KIT này gồm có 20 phím, 16 phím đầu tiên đ−ợc sắp xếp theo kiểu ma trận và 4 phím cuối cùng đ−ợc xếp theo một cột nối đất chung. Trên bàn phím của bộ KIT, 4 phím trên một cột nối đất chung là các phím chức năng : F1, F2, BACK SPACE và ENTER. Các phím từ 0-9 và A-F dùng để nhập liệu, các phím chức năng có tác dụng khác nhau tùy theo ngữ cảnh của màn hình, gợi ý tác dụng của các phím bấm hiển thị trên màn hình, điều này giúp việc làm quen và thí nghiệm trên KIT rất thuận tiện và dễ dàng cho ng−ời học, nhất là khi thí nghiệm ở chế độ debug. L−u đồ thuật toán của ch−ơng trình quét bàn phím nh− sau: Bắt đầu Nhận mã phím L−u vào byte đệm bàn phím Kết thúc Chân ngắt ngoài 1 = 1? N Y Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 75 L−u đồ thuật toán của ch−ơng trình quét bàn phím: Bắt đầu Xuất 1 ra tất cả hàng và cột Tất cả hàng = 1? N Y Hàng 1 = 1 ? Hàng 2 = 1 ? Hàng 3 = 1 ? Hàng 4 = 1 ? Xuất phím 16 (F1) Xuất phím 17 (F2) Xuất phím 18 (BSP) Xuất phím 19 (ENTER) Nối đất hàng 1 Tất cả cột = 1? Nối đất hàng 2 Tất cả cột = 1? Nối đất hàng 3 Tất cả cột = 1? Nối đất hàng 4 Tất cả cột = 1? Quay từng bit của byte chứa các cột lên cờ C Gán DPTR cho địa chỉ hàng 1 C=0? C=0? C=0? C=0? Tra bảng Xuất mã phím Quay từng bit của byte chứa các cột lên cờ C Gán DPTR cho địa chỉ hàng 2 Quay từng bit của byte chứa các cột lên cờ C Gán DPTR cho địa chỉ hàng 3 Quay từng bit của byte chứa các cột lên cờ C Gán DPTR cho địa chỉ hàng 4 Tra bảng Xuất mã phím Tra bảng Xuất mã phím Tra bảng Xuất mã phím Tăng DPTR Tăng DPTR Tăng DPTR N N N N Tăng DPTR Y Y Y Y Y Y Y Y Y Y Y Y Kết thúc Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 76 3.2.2 Ch−ơng trình điều khiển hiển thị LCD Để cho LCD có thể hoạt động, đầu tiên ta phải khởi tạo LCD, báo cho nó biết số hàng, số ký tự hiển thị trên một hàng. Các dữ liệu điều khiển lần l−ợt đ−ợc chuyển vào Data Bus của LCD là 38H, 0EH, và 06H. Sau các lệnh khởi tạo LCD này ta mới có thể hiển thị ký tự lên trên màn hình LCD. Các l−u đồ làm việc với LCD nh− sau: Bắt đầu Gửi lệnh điều khiển 38H Gửi lệnh điều khiển 08H Gửi lệnh điều khiển 01H Gửi lệnh điều khiển 06H Gửi lệnh điều khiển 0EH Kết thúc Khởi tạo LCD Bắt đầu Truy cập thanh ghi lệnh RS =0 Kết thúc Chờ LCD sẵn sàng làm việc Chuyển sang chế độ đọc dữ liệu R/W =1 Đ−a 1 xung từ thấp lên cao ở chân E của LCD để đọc dữ liệu Bit D7 = 1? Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 77 Bắt đầu Đợi LCD sẵn sàng làm việc Kết thúc In một kí tự ra LCD Đ−a dữ liệu ra các chân dữ liệu của LCD Chọn thanh ghi dữ liệu - RS = 1 Chuyển sang chế độ ghi - R/W = 0 Gửi 1 xung từ cao xuống thấp đến chân E của LCD để ghi dữ liệu Bắt đầu Đợi LCD sẵn sàng nhận lệnh Kết thúc Gửi lệnh điều khiển ra LCD Xuất mã lệnh Truy cập thanh ghi lệnh - RS = 0 Cho phép ghi ra LCD - R/W =0 Đ−a 1 xung từ cao xuống thấp ở chân E để chốt dữ liệu Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 78 3.3 Ch−ơng trình giao tiếp máy tính Ch−ơng trình giao tiếp giữa bộ KIT với máy tính đ−ợc viết bằng ngôn ngữ Delphi Giao diện của ch−ơng trình trên máy tính PC nh− hình vẽ - Ch−ơng trình cho phép nạp ch−ơng trình của ng−ời sử dụng vào EEPROM, sau đó sẽ chạy trên KIT, có thể chạy độc lập, tức không có sự điều khiển của MONITOR - chế độ STEP hoặc chạy từng lệnh để debug và theo dõi giá trị bộ nhớ, các thanh ghi đặc biệt SFR, R0-R7 trên màn hình LCD của KIT. - Trên giao diện của ch−ơng trình có thể download file dạng Hexa của ch−ơng trình xuống bộ KIT và có thể upload nội dung bộ nhớ EEPROM của KIT. - Các nút chức năng trên giao diện : Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 3 : Xây dựng phần mềm Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 79 + OPEN and COMPILE: Mở một file mO lệnh dạng hợp ngữ (*.asm) và biên dịch (Compile) thành file HEX hoặc file đO compile d−ới dạng HEXA (*.hex) để nạp trực tiếp xuống KIT. Kết quả compile đ−ợc hiển thị trong cửa sổ Compile Log. + OPEN Hex file: Mở một file mO lệnh đO đ−ợc biên dịch dạng hexa (*.hex) và dịch ng−ợc (Disasemble) thành file mO lệnh ASM (*.d51). Kết quả dịch ng−ợc hiển thị trong cửa sổ ASM code, mO máy của bộ nhớ hiển thị trong cửa sổ Opcode. Kết quả compile đ−ợc hiển thị trong cửa sổ Compile Log. + DOWNLOAD : Cho phép download file Hex đ−ợc mở hoặc Compile từ file mO lệnh ASM xuống bộ nhớ của KIT. + UPLOAD : Cho phép đọc nội dung ch−ơng trình của ng−ời sử dụng đO đ−ợc nạp vào bộ nhớ của KIT từ lần nạp tr−ớc. + Erase EEPROM: Cho phép xóa EEPROM. Ch−ơng trình MONITOR đ−ợc viết d−ới dạng hợp ngữ (Assembly), ban đầu khi tham khảo có thể gây khó khăn cho ng−ời đọc tuy nhiên hợp ngữ làm cho ng−ời học có thể hiểu rõ và nắm vững về cấu trúc phần cứng của họ vi điều khiển 8051 hơn nh− cách tổ chức bộ nhớ, cách thực hiện một ngắt, vị trí của các vector ngắt, các hoạt động định thời, hiểu rõ vị trí bản đồ bộ nhớ, các thanh ghi đặc biệt SFR ... Ngoài ra khi sử dụng hợp ngữ ta không phải phụ thuộc vào các trình biên dịch hỗ trợ bằng ngôn ngữ bậc cao nh− C, Basic ... Sau đây ta đi xây dựng các nội dung thí nghiệm cần thiết cho ng−ời học để qua đó ng−ời học từng b−ớc nắm rõ cấu trúc và cách lập trình cho họ vi điều khiển 8051.
File đính kèm:
- giao_trinh_ky_thuat_vi_dieu_khien_chuong_3_xay_dung_phan_mem.pdf