Giáo trình Kỹ thuật vi điều khiển - Chương III: Xây dựng phần mềm - Lâm Tăng Đức

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 :

 

pdf 12 trang yennguyen 2020
Bạn đang xem tài liệu "Giáo trình Kỹ thuật vi điều khiển - Chương III: Xây dựng phần mềm - Lâm Tăng Đức", để 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 III: Xây dựng phần mềm - Lâm Tăng Đức

Giáo trình Kỹ thuật vi điều khiển - Chương III: Xây dựng phần mềm - Lâm Tăng Đứ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 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:

  • pdfgiao_trinh_ky_thuat_vi_dieu_khien_chuong_iii_xay_dung_phan_m.pdf