1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xây dựng phần mềm.pdf

12 774 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây dựng phần mềm
Tác giả Lâm Tăng Đức, Lê Tiến Dũng
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Kỹ Thuật Vi Điều Khiển
Thể loại Giáo trình
Định dạng
Số trang 12
Dung lượng 224,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu về Xây dựng phần mềm.

Trang 1

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«Bé m«nnn T§H T§H

Trang 2

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 :

Trang 3

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 EEPROMtrống?

Hiển thị Màn hình 2

Kết thúc

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.

Trang 4

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

Trang 5

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ớ

Y

N

NO (ENTER) N Y

Trang 6

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ớ

NO (ENTER)

P1.2 =1 (STEP)

Delay chống rung N

Y

N

N N

RETI Y

Kết thúc

Trang 7

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

Trang 8

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

Trang 9

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?

Trang 10

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

Trang 11

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 :

Trang 12

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

Ngày đăng: 20/08/2012, 11:42

TỪ KHÓA LIÊN QUAN

w