+ 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.[r]
Trang 1Ch−¬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 2Chươ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 3Lư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 4Lư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 5Lư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 6BUF = 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 7Lư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