You are on page 1of 6

Chương 11.

Sử dụng Monitor-51
Màn hình Keil-51 cho phép bạn gỡ rối các chương trình mục tiêu của bạn vào phần
cứng
sử dụng Debugger ÂμVision2. Bạn kết nối các Debugger ÂμVision2 của bạn
8051 mục tiêu ban sử dụng cáp nối tiếp.
Để bắt đầu, bạn phải cấu hình đúng cách và cài đặt Monitor-51 về mục tiêu của bạn
phần cứng. Cấu hình và cài đặt của Monitor được giải thích trong tập tin
\ Keil \ C51 \ MON51 \ MON51.PDF.
Hãy cẩn thận
Chỉ có một vài hạn chế sử dụng Monitor-51.
Màn hình này yêu cầu rằng các chương trình bạn gỡ rối được đặt trong không gian
bộ nhớ RAM.
Điều này là cần thiết bởi vì điểm dừng được thiết lập bằng cách thay thế hướng dẫn
trong sách của bạn
chương trình với một chỉ dẫn ACALL. Điều này hoạt động, trong khi hoàn toàn
minh bạch, có thể có tác dụng phụ ảnh hưởng đến hoạt động của các mục tiêu của
bạn
chương trình. Hãy tham khảo â € œBreakpoint Side Effectsâ € trên trang 203 để biết
thêm
thông tin.
Bạn sẽ rất có thể phải di chuyển mã khởi động của bạn, mã chương trình
phân đoạn, và bảng vector ngắt.
Bạn có thể kích hoạt hoặc vô hiệu hóa các lệnh dừng trên thanh công cụ trong
ÂμVision2
Debugger. Nếu bạn kích hoạt tính năng này, bằng cách sử dụng chương trình Stop
Thi với
Serial ngắt kiểm tra hộp dưới Tùy chọn â € "Debug â €" Keil Monitor-51
Cài đặt Driver, các Debugger ÂμVision2 và theo dõi việc sử dụng các serial 8051
vector ngắt để báo hiệu rằng chương trình mục tiêu phải ngừng chạy.

Yêu cầu phần cứng và phần mềm


Các yêu cầu sau đây phải được đáp ứng cho Monitor-51 hoạt động chính xác.
Các CPU phải là 8051 hoặc phái sinh.
Màn hình yêu cầu 5 Kbyte bộ nhớ mã bên ngoài (EPROM) bắt đầu từ
địa chỉ 0.
256 Bytes của bộ nhớ dữ liệu bên ngoài (Xdata RAM) là bắt buộc. 5 Kbytes của
dấu vết đệm là tùy chọn. Bạn phải có đủ bộ nhớ dữ liệu bên ngoài để giữ
ứng dụng hoàn chỉnh (mã và dữ liệu). Tất cả dữ liệu các khu vực bên ngoài bộ nhớ
phải được von Neumann wiredâ € "truy cập phải được có thể từ Xdata và
CODE không gian. Một cách phổ biến để làm điều này là để kết nối các PSEN / và /
RD
CPU tín hiệu đến đầu vào của một cửa khẩu và và đầu ra của các cửa khẩu và cho
các / RD pin của RAM.
màn hình này sử dụng một giao diện nối tiếp với một bộ đếm thời gian như là máy
phát điện baudrate.
Từ 1 đến 5 chân cổng là cần thiết nếu bạn sử dụng banked phần cứng (cho 2-32
ngân hàng). Để biết chi tiết về phần cứng, ngân hàng, tham khảo các phần cứng ví
dụ
sơ đồ trong Userâ Utilities 8051 € ™ s Hướng dẫn, Chương 1 â € œBank Switching
Configurationâ €. Tất cả các ngân hàng bộ nhớ phải được von Neumann có dây.
màn hình này sử dụng một 6 byte thêm chồng không gian (idata) ở người sử dụng
chương trình để được kiểm tra.
Tất cả các thành phần phần cứng khác có thể được sử dụng bởi ứng dụng.

Nối tiếp truyền Line


Monitor-51 yêu cầu các tín hiệu sau đây từ RS232 hoặc đường V.24:
Truyền dữ liệu, tiếp nhận dữ liệu, và GROUND tín hiệu. Trong nhiều
trường hợp, kết nối bổ sung là cần thiết trong các kết nối nối tiếp để kích hoạt
truyền và nhận dữ liệu.
PIN các kết nối của hệ thống máy tính khác nhau

Ngoài việc trên, bạn có thể yêu cầu để kết nối pin 7 đến pin 8 và pin 1
với chân 4 và chân 6.
μVision2 Monitor Driver
giao diện μVision2 để nhắm mục tiêu các hệ thống khi bạn chọn sử dụng: Keil
Monitor-51
Driver trong hộp thoại Options - Debug.

Nhấp chuột vào Settings để mởhộp thoại Monitor Driver Cài đặt cho phép bạn cấu
hình các thông số khác nhau chẳng hạn như cổng COM và baudrate. Hãy tham khảo
"Set Debug Tùy chọn "trên trang 102 cho thêm thông tin về hộp thoại Debug.
Bảng dưới đây mô tả trang Cài đặt Driver Monitor:

Dialog Item Mô tả

Comm Port Settings Chọn máy tính cổng COM và baudrate


các bạn muốn sử dụng. Nếu bạn có
vấn đề với phần cứng mục tiêu của bạn,
hãy thử những Baudrate 9600.
Đôi khi không baudrates chuẩn cho phép
sử dụng tần số tinh thể khác nhau
trên một bảng mục tiêu mà không cần
phải cài đặt lại Monitor-51. Ví dụ: Một
mục tiêu
Ban chạy ở 12 MHz và 9600 bps có thể
được sửa đổi để một 16MHz và
12800 bps bởi chỉ cần trao đổi những
tinh thể.

Stop Program Execution with Khi ngắt Serial được kích hoạt, bạn có thể
chấm dứt một ứng dụng đang chạy
chương trình với các nút thanh công cụ
Stop hoặc phím ESC trong trang
Command.
Để hỗ trợ này, giao diện nối tiếp là không
còn có sẵn cho người sử dụng
chương trình. Ngoài ra, nó không được
phép đặt lại kích hoạt ngắt toàn cầu
(SFR Bit EA tại IE.7) trong ứng dụng của
bạn.

Cache Options Để tăng tốc độ cập nhật màn hình, các


trình điều khiển Màn hình thực hiện một
số dữ liệu
cache. Nếu bạn muốn xem giá trị thực tế
của các chân cổng, giờ hoặc bộ nhớánh
xạ từ bên ngoài thiết bị ngoại vi bạn có
thể tắt các bộ nhớ cache cho bộ nhớ
nàykhu vực. Để có được hiệu suất tối đa
mà bạn nên kích hoạt tất cả các cache.

ΜVision2 hạn chế khi sử dụng Monitor-51


Việc lập bản đồ bộ nhớ của một hội đồng CPU với Monitor-51 được chọn với
các thành phần phần cứng. Nó không phải là có thể sử dụng Debug - bộ nhớ đồ để
thay đổi bản đồ bộ nhớ của hệ thống mục tiêu.
Các phân tích hiệu suất, Call Stack, luật Bảo hiểm tính năng, và Bước các
Ra lệnh không có sẵn với Monitor-51. Ngoài ra Xem tùy chọn -
Định kỳ cửa sổ tin không thể được sử dụng với Monitor-51.
Tùy chọn điểm dừng được xử lý trực tiếp bởi Monitor-51. Tuy nhiên, khi
hoặc có điều kiện tiếp cận các điểm ngắt được thiết lập, ứng dụng được thực hiện tại
đơn
bước và không trong thời gian thực. thực hiện bước đơn là ít nhất 1000 lần chậm
hơn.

Điểm ngắt Phản ứng phụ


Khi gỡ rối chương trình này đôi khi cần thiết để ngăn chặn các hoạt động của
chương trình để kiểm tra hệ thống và cuối cùng để sửa lỗi. Để
thực hiện một điểm dừng Monitor-51 viết một hướng dẫn ACALL ở người sử dụng
chương trình. Ưu điểm của phương pháp này, rằng không có phần cứng bổ sung là
yêu cầu cho các logic điểm dừng. Nhưng với phương pháp điểm ngắt này chỉ có thể
được
đặt trong bộ nhớ RAM. Một nhược điểm thứ hai là một chỉ dẫn ACALL
chiếm hai byte. Do đó, nó có thể nguy hiểm, để thiết lập một điểm dừng trên
một-byte hướng dẫn, nếu một nhãn (nhảy mục tiêu) là sau khi lệnh này. Các
Ví dụ sau cho thấy vấn đề này.

Chương trình thử nghiệm

Đầu tiên, chương trình người dùng được thực thi cho đến khi địa chỉ 8010 với lệnh
sau đây.
Sau đó, điểm dừng được thiết lập tại địa chỉ 8000. điểm dừng được thực hiện bằng
cách viết một hướng dẫn ACALL vào chương trình người dùng, điều này có nghĩa
rằng chương trình người dùng được sửa đổi bởi điểm dừng này.

Sửa đổi Chương trình thử nghiệm

Nếu chương trình bị gián đoạn được tiếp tục tại địa chỉ 8010, thực hiện không phải là
dừng lại ở 8000. Lý do là, rằng chương trình người dùng nhảy đến địa chỉ 8001 sau
khi
việc thực hiện của lệnh SJMP. Tuy nhiên, tại địa chỉ này byte thứ hai của
ACALL hướng dẫn nằm trong bộ nhớ, hướng dẫn không INC. Do đó
thực hiện chương trình tại thời điểm này là không thể đoán trước.

Người sử dụng có để kiểm tra xem các chỉ dẫn ACALL của một ghi đè không có điểm
dừng
OP mã quan trọng. Nếu cần thiết, chương trình sử dụng cần được thực hiện bởi
Trace lệnh. Phương thức thực hiện tất cả các hướng dẫn Trace không có xung đột.
Công cụ cấu hình khi sử dụng Monitor-51
Khi bạn sử dụng Monitor-51, các ứng dụng nhắm mục tiêu hoàn thành được lưu trữ
trong von
Neumann ánh xạ bộ nhớ RAM. Điều này có nghĩa là bộ nhớ và bộ nhớ mã Xdata
được truy cập vào cùng một không gian bộ nhớ vật lý. Điều này là cần thiết, kể từ
8051
phần cứng không có khả năng ghi vào không gian mã và giám sát các thay đổi
chương trình mã để thiết lập các điểm ngắt trong ứng dụng của bạn.
Do đó, EPROM và RAM khu vực được nhập vào trong hộp thoại Options -
Mục tiêu - Off-chip bộ nhớ phải được sự chồng chéo các khu vực bộ nhớ vật lý.
Các phạm vi này được cung cấp cho Linker nếu bạn đã kích hoạt tùy chọn Dùng
Giao diện bộ nhớ từ Target Dialog trong trang thoại L51 Xác định vị trí.
Vì vậy, bạn cũng nên kiểm tra xem tùy chọn này được thiết lập.
Để gỡ rối với Monitor-51 không gian mã và Xdata của các ứng dụng người dùng phải
được sự chồng chéo các khu vực bộ nhớ. Nếu không ứng dụng người dùng ghi đè
các mã chương trình khi biến Xdata được truy cập.

You might also like