Đồ án Lập trình C cho họ vi điều khiển 8051

MỤC LỤC

1. Phần I

 tổng quan đề tài trang 4

• đặt vấn đề trang 4

• Nội dung đề tài

2. Phần II

 Nội dung đề tài trang 5

Chương 1: Giới thiệu bộ vi điều khiển ĂT9C2051 và 89C51

• Giới thiệu bộ vi điều khiển AT89C2051 trang 5

• Giới thiệu sơ lược về vi điều khiển AT89C51 trang 19

Chương 2: Giới thiệu phần mềm Keil µVision trang 21

3. Phần III

 Thi công mạch và Ứng dụng lập trình C trong AT89C2051 trang 62

4. Phần IV

 Kết luận và Hướng phát triển đề tài trang 67

5. Tài liệu tham khảo trang 68

6. Mục lục trang 69

 

doc69 trang | Chia sẻ: lethao | Lượt xem: 6400 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Lập trình C cho họ vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ộ kết nối BL51/dò tìm tạo ra file LF/DWARF tuyệt đối sử dụng những đoạn chương trình hướng đối tượng từ những thư viện và được tạo ra từ trình biên tâp và trình lắp ráp.Một tập tin đối tượng tuyệt đối hoặc mođun chứa đựng những mã và dữ liệu không xác định, Tất cả các đoạn mã và dữ liệu hiện có tại những vị trí bộ nhớ cố định. ELF/DWARF có thể được sử dụng Lập trình một Flash Rom hoặc những thiết bị bô nhớ khác Với trình gỡ lỗi Chương trình chạy thử Vision Debugger (Trình gỡ lỗi ) Trình gỡ lỗi có tính chất tượng trưng, mức mức nguồn gỡ lối lý tưởng phù hợp và tin cậy.Trình gỡ lỗi bao gồm một simulator high-speed để chúng ta mô phỏng 8051. Những thuộc tính của chip mà chúng` ta sử dụng thì tự động định hình khi chúng ta lụa chọn từ Device Database. Trình sửa lỗi cung cấp vài phương pháp để cho chúng ta kiểm tra các thiết bị phần cứng Thiết đặt MON51 trên hệ thống và tải chương trình của bạn sử dụng giao diện Monitor-51 tới trình gỡ lỗi. Sử dụng giao diện GDI để kèm theo trình gỡ lỗi tới hệ thống Bản dưới đây liệt kê những thư mục công cụ phát triển phần mềm Keil . Assembler Source Template and Include files for the Macro Assembler.( file nguồn assembly và những file cho trình dịch Macro Assembler) Executable files of the µVision/C51 tool chain.( những tập tin chạy của µVision/C51) Example programs ( những chương trình ví dụ) Configuration files for Flash Monitor and pre-configured versions.( Cấu hình cho Flash Monitor và những phiên bản định hình On-Line documentation for µVision/C51.(tài liệu trực tuyến cho µVision/C51) Include files for the C compiler.(những tập tin cho trình biên tập C) Files for ISD51 In-System Debugger and pre-configured versions.(những file hỗ trợ ISD51 trình gỡ lỗi Run-time libraries and CPU startup files.(thư viện và CPU khởi động sắp xếp nhưng file) Configuration files for Monitor-51 (for Classic 8051 Devices).(cấu hình cho Monitor-51) Configuration files for Monitor-390 (for Dallas Contiguous Mode) .(cấu hình cho monitor-390) RTX51 Tiny Version 2 Real-Time Operation System.(hệ thống bộ định thời) Thư mục µVision II.3 GIAO DIỆN NGƯỜI DÙNG II.4 Create a Procject (Tạo một Procject ) µVision là một ứng dụng Windows và chương trình được kích hoạt khi click lên biểu tượng (icon) Create a Project File (tạo ra một dự án) Để tạo một hồ sơ mới ta lựa chọn từ µVision menu Project – New Project…một hội thoại Windows hiện ra và hỏi bạn đặt tên cho cho Project mới vừa khởi tạo.Chúng gợi ý rằng ta nên sử dụng một Folder riêng cho mỗi Project.Đơn giản hơn để tạo một Project mới chọn biểu tượng để tạo ra một Procject mới . µVision tạo ra một Procject mới với tên PROCJECT1.UV2 chứa đựng một tên nhóm và hồ sơ mặc định. Ta có thể thấy tên này trong Project Workspace – Files . Khi ta tạo ra một Procject mới uVision hỏi ta lựa chọn CPU cho Procject .hộp thoại lựa chọn thiết bị xuất hiện cho ta thấy cơ sở dữ liệu thiết bị uVision , chỉ cần lụa chọn bộ điều khiển mà ta sử dụng . Ví dụ như ta chọn Bộ điều khiển Philips 80C51RD+ .Những tùy chọn công cụ này cho Philips 80C51RD+ được rút gọn bên cấu hình công cụ. Chú ý: Ta có thể lựa chọn Bộ kết nối mở rộng (LX51) và trình Assembler mở rộng (AX51) trong hộp thoại.Linker và Assembler mở rộng sẵn sàng trong the Keil Professional Developer's Kit và đưa cho chúng ta những đặc tính bổ sung . Khi ta tạo ra một Procject mới , uVision có thể tự động thêm mã khởi động CPU Trên một vài thiết bị , môi trường uVision cần những tham số bổ sung mà ta phải thiết lập.Đọc những thông tin này một cách cẩn thận được cung cấp dưới sụ mô tả của hộp thoại này, từ đó có thể có những chỉ dẫn bổ sung cho cấu hình thiết bị. Ta có thể tạo ra một tập tin nguồn mới với menu option File – New. Điều này mở một cửa sổ biên tập, nơi mà ta có thể biên soạn mã nguồn. uVision những cú pháp màu khi ta lưu file với hộp thoại (File –Save As…) dưới tên *.C. Ví dụ chúng ta lưu dưới tên Main.C Khi ta đã tạo tập tin nguồn , ta có thể thêm file tới Procject . Những đề xuất uVision vài cách để thêm tập tin nguồnvào một Procject. Ví dụ như ta có thể lựa chọn nhóm Procject Workspace-Files và click chuột phải để mở menu. Tùy chọn Add files được mở ra. Chọn file MAIN.C mà ta đã tạo ra. Thêm và định hình mã khởi Động ( Add and Configure the Starup Code) File STARUP.A51 là mã khởi động cho đa số CPU 8051. Mã khởi động làm sạch bộ nhớ dữ liệu và tạo những con trỏ ngăn xếp. Ngoài ra một vài dẫn xuất 8051 yêu cầu một mã khởi tạo CPU phù hợp với với cấu hình phần cứng. Ví dụ Philips 8051RD+ đề nghị ta chèn on-chip xdata RAM mà cần được thêm vào trong mã khởi động. Khi ta cần sửa đổi file toán học cho phù hợp với phần cứng, ta phải copy file STARUP.A51 từ C:\KEIL\C51\LIB đến ngăn Procject Tạo nhóm Procject Nhóm hồ sơ cho phép chúng ta tổ chức những Procject lớn. Cho mã khởi động CPU và những cấu hình hệ thống mà ta có thể tạo ra một Procject – những thành phần, môi trường , hướng dẫn …trong hộp thoại.Chèn một group mới để tạo ra một hệ thống có tên nhóm hồ sơ ngăn xếp. trong Procject mới có thể kéo thả file STARTUP.A51 lên nhóm file mới này. Bây giờ , Project Workspace – Files liệt kê tất cả trong Project . Để mở một Project soạn thảo, nhấn double lên file Project Workspace .Ta có thể cần định hình STARTUP.A51 trong trình biên tập. Thiết đặt những tùy chọn cho những mục tiêu. uVision cho chúng ta thiết đặt những tùy chọn cho mục tiêu phần cứng .Hộp thoại những tùy chọn cho những mục tiêu được mở qua biểu tượng thanh công cụ hoặc qua menu tùy chọn Project. Trong bảng mục tiêu chỉ rõ những tham số thích đáng phần cứng và thành phần chip mà bạn đã lựa chọn. Sau đây là ví dụ những thiết đặt : Sau đây là bản mô tả những tùy chọn của hộp thoại Target Xtal – chỉ tần số clock mà CPU của bạn hoạt động. Trong đa số trường hợp giá trị này đồng nhất với tần số XTAL.( Specifies the CPU clock of your device. In most cases this value is identical with the XTAL frequency) Memory Model – chỉ rõ bộ nhớ C51, để bắt đầu những ứng dụng mặc định là một sự lựa chọn tốt. Allocate On-Chip... Use multiple DPTR registers – chỉ rõ cách dùng những thành phần của chip cho phép mã khởi động CPU , nếu ta đang sử dụng bộ nhớ xdata RAM ta cũng phải cho phép sự truy nhập XRAM trong STARTUP.A51 sắp xếp. Off-chip...Memory – chỉ rõ tất cả các vùng bộ nhớ ngoài Chỉ rõ những tham số cho mã và xdata. Tham chiếu tơi Code Banking để biết thêm chi tiết hơn Specifies the parameters for code and xdata banking. Refer to the "Code Banking" section for more information Vài tùy chọn trong hộp thoại chỉ có nếu ta đang sử dụng LX51 Linker/Locater. LX51 Linker/Locater chỉ có trong gói PK51 Xây dựng Project và khởi tạo file HEX Những thiết đặt công cụ dưới những tùy chọn-mục tiêu mà ta cần để khởi động một ứng dụng mới. Ta có thể dịch tất cả các tập tin nguồn và kẻ những ứng dụng với một cái click trên biểu tượng Build Target . Khi ta xây dựng với những lỗi cú pháp, uVision sẽ trình bày những thông báo lỗi và cảnh báo với những lỗi có thể xảy ra. Nhấn double trên hàng thông báo lỗi để mở file nguồn để định vị trong trình biên tập uVision Một lần thành công ta có thể khởi động trình gỡ lỗi như mô tả dưới Testing Programs với trình gỡ lỗi uVision . Bây giờ ta có thể sửa lỗi mã nguồn hoặc thêm những tập tin nguổn mới vào dự án. Nút thanh công cụ Build Target dịch những file nguồn chỉ được sửa đổi, hoặc file nguồn mới và file thực thi. uVision lưu giữ một danh sách và những file được sử dụng trong file nguồn. Thậm chí những tùy chọn công cụ được lưu trữ trong danh sách phụ thuộc, để uVision xây dựng lại nếu cần thiết, với lệnh Rebuild Target , tất cả những file nguồn được dịch bất chấp những cải biến. Sau khi kiểm tra ứng dụng của bạn, nó có thể yêu cầu tạo ra file HEX vả để tải xuống phần mềm ứng dụng vào trong thiết bị sử dụng một tiện ích lập trình Flash. uVision tạo file HEX với mỗi lần xây dựng dưới những tùy chọn cho Target-Outout dược cho phép. Tùy chọn Merge32K Hexfile sẵn sàng cho những ứng dụng Code Applocations khi ta đã lựa chọn Extended Linker LX51. Ta có thể khởi động tiện ích lập trình Flash sau khi trình dịch làm quá trình khi bạn chỉ rõ những chương trình Run Program#1. Chương trình mẫu Mục này mô tả những chương trình mẫu chạy trên Keil C51. Những chương trình mẫu này sẵn sàng cho bạn chạy thử. Những chương trình này giúp ta học cách sử dụng các công cụ của Keil C51. Đồng thời, ta cũng có thể sao chép các đọan mã của chúng vào chương trình của chúng ta. Các chương trình mẫu của Keil C51 được lưu trong thu mục C:\KEIL\C51\EXAMPLES\ . Mỗi chương trình được lưu trong một thư mục riêng cùng với một tập tin dữ kiện giúp bạn có thể nhanh chóng xây dựng và đánh giá chương trình. Ngoài ra, các chương trình nhỏ riêng biệt cho RTX – 51 cũng được cung cấp trong mục RTX – 51. Bảng sau là danh sách các chương trình mẫu trong C51 và tên thư mục của chúng. Kiểu mẫu Mô tả ADI 83x Các chương trình dùng cho các thiết bị tương tự ADuC83x và ADuC84x mà nó chỉ ra các thiết bị mở rộng và cách dùng ADI MONITOR DRIVER ASM Một chưogn trình hợp ngữ đơn giản mà ta cả thể viết một đoạn text cho các port tuần tự Benchmarks\... Vài chương trình riêng biệt: Dhrystone, Whetstone, Sieve. BLINKY Loại 8051 Blinky làm sáng LED trên board Keil MCBx51 CodeBanking\... Kiểu mã Banking chỉ ra việc lập trình trên bộ nhớ 64K CSAMPLE Bộ cộng và trừ đơn giản mà cho thấy làm sao xây dựng một chương trình với nhiều module trên mVision Dallas 390 Vài ví dụ sử dụng Dallas Contigious Addressing Mode mà nó có sẵn một vài thiết bị khác nhau như DS80C390, DS80C400, DS80C41x, DS5240, and DS5250. FarMemory Làm sao mở rộng ô nhớ tr6n 64K Hello Chương trình hiện chữ Hello world. Chạy thử nó trước khi sử dụng mVision. Infineon C517 Cho thấy cách dùng Infineon mở rộn các thiết bị: MDU và bộ giao điện nối tiếp. Infineon XC866 Những chương trình mẫu cho bo mạch Keil MCBXC866 hỗ trợ được thiết bị Infineon XC800 M8051EW Các chương trình mẫu cho Mentor M8051EW MEASURE Là hệ thống thu thập và tập hợp những dữ liệu số và tương tự. Là chương trình điều khiển hệ thống đo lường nhiệt độ từ xa. Philips 80C51MX Là chương trình mẫu cho họ Philips 80C51MX hỗ trợ tới 16MB vùng địa chỉ Philips LPC9xx Chương trình cho bo mạch Keil MCB900 Evaluation mà hỗ trợ các thiết bị Philips LPC900 - LPC94x Philips LPC95x Chương trình cho bo mạch Keil MCB9xx Evaluation mà hỗ trợ các thiết bị Philips LPC950 - LPC99x ST uPSD Chương trình mẫu cho dòng ST uPSD cho thấy cấu hình hệ thống Keil ULINK USB-JTAG Adapter TI MSC121x Chương trình cho các thiết bị TI MSC121x chỉ ra cách dùng hệ thống giải mã ISD51 In-System Debugger TI MSC1200 Chương trình cho các thiết bị TI MSC1200 chỉ ra cách dùng hệ thống giải mã ISD51 In-System Debugger Để bắt đầu sử dụng một trong các chương trình mẫu, ta mở menu Project – Open Project trong mVision rồi mở tâp tin chương trình. Các mục trong chương này mô tả làm sao sử dụng các công cụ để xây dựng các chương trình sau: HELLO : chương trình C viết cho 8051 MEASURE: hệ thống đo lường từ xa. HELLO Chương trình HELLO được lưu trong thư mục C:\KEIL\C51\EXAMPLES\HELLO\ . chương trình này không làm gì hơn là xuất đoạn text “ HELLO WORLD “ ra port. Toàn bộ chương trình được lưu trong tập tin nguồn là HELLO.C Ứng dụng nhỏ này giúp bạn có thể biên tập, liên kết và gỡ lỗi một ứng dụng. Bạn có thể thực hiện thao tác này từ dòng lệnh trên DOS, sử dụng tập tin dạng batch hoặc dùng mVison trên windown với các tập tin chương trình. Phần cứng cho chữ HELLO dựa vào CPU 8051 chuẩn. Một con chip ngoại vi được sử dụng cho các dãy port. Tuy nhiên, với mVision bạn không cần phải có 1 CPU vì chương trình đã đóng vai trò phần cứng yêu cầu cho chương trình này. Tập tin chương trình HELLO Trong mVision, những ứng dụng được lưu trong tập tin chương trình. Một chương trình được viết cho chữ HELLO. Để mở chương trình này ta chọn Open Project từ menu Project và mở tập tin HELLO.UV2 từ thư mục …\C51\EXEMPLES\HELLO. Soạn thảo chương trình HELLO.C Bây giờ bạn có thể soạn thảo chương trình HELLO.C bằng cách nhấp đúp chuột vào cửa sổ project file. mVision sẽ tải và hiển thị nội dung file HELLO.C trên cửa sổ làm việc. Biên dịch và kết nối HELLO Khi bạn đã sẵn sàng biên dịch và liên kết chương trình của mình, sử dụng lệnh Build Target từ menu Project hoặt thanh công cụ Build. mVision bắt đầu biên dịch và liên kết tạo ra một đoạn chương trình mà bạn có thể tải vào mVision cho việc thử lỗi. Quá trình xây dựng được liệt kê trong cửa sổ ngõ ra. Chú ý Bạn cần phải không gặp lỗi khi chạy các chương trình mẫu chạy thử HELLO Khi chương trình HELLO đã được biên dịch và kết nối ta có thể kiểm tra nó với trình tìm lỗi của µVision. Trong µVision, sử dụng lệnh Start/Stop Debug Session từ menu Debug hoặc thanh công cụ. µVision khởi tạo trình báo lỗi và khởi động các chương trình con đến các chương trình chính. Sau đây là màn hình hiển thị: Mở cửa sổ Serial Window #1 cho ta thấy các hiển thị ở ngõ ra với lệnh mở cửa sổ Serial Window #1 từ menu VIEW hoặc thanh công cụ Debug. Chạy chương trình HELLO với lệnh GO từ thanh công cụ Debug. Chương trình lời chào được thực hiện và hiển thị đoạn văn bản “HELLO WORLD” trong cửa sổ serial window. Sau khi ngõ ra hiển thị “HELLO WORLD” nó sẽ chạy với vòng lập vô tận. Dừng việc chạy chương trình HELLO với lệnh Halt từ menu Debug hoặc thanh công cụ. Bạn cũng có thể đánh lệnh ESC trong trang lệnh của cửa sổ OUTPUT. Trong suốt quá trình kiểm tra lỗi của µVision sẽ được hiển thị như sau: Chạy từng bước và ngắt ngang Sử dụng lệnh Insert/Remove Breakpoints từ thanh công cụ hoặc từ trình đơn trên menu lập trình. Ta dùng chuột phải để đặt điểm dừng trên điểm bắt đầu của hiển chính. Sử dụng lệnh Reset CPU từ menu DEBUG hoặc thanh công cụ. Nếu bạn dừng chương trình đang chạy bởi lậnh RUN. µVision sẽ dừng chương trình tại điểm dừng mà bạn đã đặt. Bạn có thể chạy từng bước chương trình HELLO bằng cách ấn nút STEP trên thanh công cụ DEBUG. Những câu lệnh sẽ được chỉ ra với mũt tên màu vàng. Mũi tên sẽ di chuyển theo từng bước thực hiện. Đặt con trỏ chuột trên các biến để xem giá trị của chúng. Bạn có thể chạy hoặc dừng chương trình bất kỳ kúc nào với lệnh START/STOP DEBUG. MEASURE: hệ thống điều khiển thiết bị từ xa Chương trình điều khiển (MEASURE) được lưu trong thư mục ..\C51\Examples\Measure. Chương trình này sử dụng các dữ liệu số và tương tự thường được dùng trong các đài khí tượng và điều khiển trong công nghiệp. Chương trình này chạy trên P89LPC935 CPU và ghi dữ liệu từ hai port kỹ thuật số và bốn ngõ vào chuyển đổi A/D. Một bộ định thời (Timer) điều khiển quá trình lấy dữ liệu. Mẫu dữ liệu có thể định hình từ 1 mili giây đến 60 phút. Mỗi dữ liệu đo được trong suốt thời gian hoặc từ các kênh ngõ vào đề được lưu vào RAM. Tập tin lệnh của chương trình đo lường Tập tin này có tên là MEASURE.UV2. để mở tập tin ta dùng lệnh Open Project từ menu Project và chọc file MEASURE.UV2 trong thư mục C:\Keil\C51\Examples\Measure. Trang tập tin trong cửa sổ Project cho ta thấy những tập tin nguồn dùng để biên soạn chương trình trắc lượng. Chương trình đo lường mẫu gồm có 3 tâp tin nguồn đó là: Getline.c, Mcommand.c, và Measure.c mà ta có thể tìm thấy trong nhóm file nguồn. Ngoài ra bạn còn có thể tìm thấy mã khởi động CPU và tập tin dữ liệu. Để mở một file ta nhấp đúp vào tên tấp tin trong Project Workpage Các chương trình có chức năng nhằm vào các mục đích khác nhau cho những môi trường thử nghiệm khác nhau. Để dò lỗi chạy chương trình mô phỏng ta chọn mục mô phỏng SIMULATOR trong thanh công cụ BUILD. Khi sử dụng phiên bản ước lượng Evaluation Version bạn cần phải chọn Demo - Simulator. Mô tả các chức năng của tập tin nguồn Measure.c Chức các hàm chính của C cho hệ thống đo lường và điều kiện ngắt cho timer0. các hàm chính khởi tạo tất cả các thiết bị ngoại vi của P89LPC935 và xử lý các lệnh hệ thống. Điều kiện ngắt timer,timer0, quản lý đồng hồ thời gian thực và lấy dữ liệu từ phép đo của hệ thống. Mcommand.c Những quá trình hiển thị, thời gian và khoảng cách giữa các lệnh. Những hàm này được gọi từ chương trình chính. Các lệnh hiển thị giá trị tương tự từ điểm giao động sẽ cho tín hiệu điện từ 0.00V đến 3.30V Getline.c Gồm các dòng lệnh được soạn thảo cho những dữ kiện nhận từ các port Yêu cầu phần cứng Các ứng dụng đo lường chỉ có thể chạy trên bo mạch Keil MCB900 hoặc các phần cứng cơ bản khác dùng P89LBC935. Bộ vi điều khiển PL89LBC935 cung cấp khả năng nhập vào cả tín hiệu số và tương tự. Port 1 và Port2 được dùng để nhập tín hiệu số và từ AD00 đến AD03 để nhập tín hiệu tương tự. Tuy nhiên, chúng ta sẽ không cần một bo mạch nào hết vì mVision đã tích hợp chức năng này. biên dịch và liên kết chương trình MEASURE Khi đã sẵn sàng biên dịch và liện kết chương trình, sử dụng lệnh Buil Target từ menu Project hoặc thanh công cụ. mVision sẽ thực hiện toàn bộ quá trình và sẽ thông báo cho bạn khi hoàn tất. chạy thử chương trình MEASURE Chương trình mẫu điều khiển đo lường được lập trình để chấp nhận các lệnh trên chip của các port tuần tự. Nếu bạn có phần cứng thực tế, bạn có thể dử dụng phần mô phỏng cuối cùng để kết nối với CPU P89LPC935. nếu bạn không có phần cứng thì có thể sử dụng phần cứng mô phỏng trên mVision. Bạn có thể sử dụng cửa sổ Serial Windown để cung cấp tín hiệu được nhập vào. Mỗi lần chương trình Measure được xây dựng bạn có thể chạy thử. Sử dụng lệnh START/STOP trong menu DEBUG để chạy chương trình kiểm tra lỗi. Những lệnh của hệ thống điều khiển đo lường từ xa Chuỗi các lệnh dùng cho chương trình được liệt kê trong bảng. Những lệnh này bao gồm bảng mã ASCII và tất cả các lệnh điều phải được hoàn tất bằng một sự quay vòng. Lệnh Cấu trúc Chức năng clear C Xóa tất cả các dữ liệu đo được trước đó Dislay D Hiển thị thời gian làm việc và giá trị ngõ vào time T hh:mm:ss Đặt thời gian theo chuẩn 24h Interval I mm:ss.ttt Đặt những khoảng thời gian cho mỗi phép đo khoảng thời gian này từ 0:00.001(1ms) và 60:00.000 (60 phút) start S Khởi động quá trình ghi dữ liệu đo được. Khi nhận lệnh start, chương trình đo lấy mẫu tất cả các tín hiệu ngõ vào tại các khoảng thời gian đã định. Read R[count] Hiển thị các giá trị đo được, bạn có thể chỉ rõ số của tâ1t cả các mẫu mà mình muốn đọc. Nếu không chỉ ra thứ tự nào, lệnh đọc sẽ hiển thị tất cả các giá trị đo. Bạn chỉ có thể đọc các giá trị này trong 1 giây. Nếu muốn hơn thì phải dừng chương trình. quit Q Thoát khỏi quá trình ghi giá trị đo Khi bạn chạy một lần chương trình mô phỏng trên mVision, bạn có thể vào các lệnh này trong cửa sổ Serial Windown#1 ở bên dưới: Hiển thị các đoạn mã của chương trình mVision cho phép bạn hiển thị các đoạn mã của chương trình trong cửa sổ Disassembly Window bằng cách mở menu View hoặc dùng các nút trên thanh công cụ. Cửa sổ Disassembly Window cho thấy sự trộn lẫn các nguồn và các đoạn assembly. Bạn có thể thay đổi cách hiển thị bằng cách nhấp chuột phải vào menu ngữ cảnh. hiển thị nội dung các ô nhớ mVision có thể hiển thị các ô nhớ ở các định dạng khác nhau. Cửa sổ ô nhớ Memory Window được mở từ menu View hoặc từ thanh công cụ. Bạn có thể nhập địa chỉ của 4 vùng nhớ ở trang này. Menu ngữ cảnh cho phép bạn sửa đổi nội dung ô nhớ hoặc lựa chọn những kiểu ngõ ra khác nhau. các biến thay đổi đồng hồ thời gian Bạn có thể liên tục nhìn nội dung của các biến, cấu trúc và các mảng. Ta có thể mở cửa sổ Watch Window từ menu View hoặc thanh công cụ. Một trang ngữ cảnh hiện ra cho thấy taa61t cả các ký tự ngữ cảnh của hàm hiện thời. Các trang Watch#1 và Watch#2 cho phép ta vào bất kỳ biến nào của chương trình như ở trang sau: Vào các biến thời gian trong cửa sổ Watch Window Lựa chọn văn bản cùng với 1 cái click chuột và đợi trong một giây. Một cái click chuôt khác cùng quá trình chỉnh sửa giúp ta thêm vàog ía trị của các biến. Với cùng cách như trên ta có thể thay đổi nhiều giá trị. Cách khác là bạn có thể dùng phím F2. Để xóa đi một biến, nhấn chọn và ấn phím delete. Những cấu trúc và mảng sẽ hiện ra khi ấn ký hiệu [+]. Các dòng bị thụt vào để phản chiếu sự lồng nhau. Chú ý Cửa sổ Watch Window cập nhập bầt cứ khi nào chương trình thực hiện dừng. Khi bạn mở chế độ View - Periodic Window Update các giá trị cập nhật sẽ lấy liên tục trong suốt quá trình chạy chương trình mô phỏng. Vào biến thời gian từ cửa sổ soạn thảo Chọc một biến trong vùng soạn thảo và dùng câu lệnh Add to Watch Window từ menu ngữ cảnh bằng cách click phải chuột. Vào các biến thời gian từ trang lệnh ngõ ra (output window) Sử dụng lênh WatchSet để thêm giá trị biến vào cửa sổ Watch Window Thực hiện chương trình trước khi bắt đầu mô phòng chương trình MEASURE, mở cửa sổ Serial Window#1 để hiển thị chuỗi giá trị ngõ ra bằng cách vào menu View hoặc thanh Debug. Bạn có thể thu nhỏ các cửa sổ khác nếu màn hình không đủ lớn. Bạn có thể chạy từng bước bằng lệnh Step các câu lệnh Essembler hoặc các đoạn mã gốc. Nếu cửa sổ Assembly Window đang mở, bạn nên chọc chạy tùng bước các lệnh essembly cơ bản. Nếu cửa sổ soạn thảo với các mã gốc được mở, bạn chạy từng bước với từng mã nguồn. nút lệnh ‘chạy từng bước đến” (stepinto) cho phép bạn thực hiện một bước nhảy đến các chương trình được gọi thực hiện việc gọi một hàm và sẽ không tự động ngắt cho đến khi gặp điểm ngắt. trên nguyên tắc ta có thể ngẫu nhiên nhảy vào một hàm chưa hoàn tất. Bạn có thể dùng lệnh StepOut để hoàn tất hàm đó và trả lại giá trị cho nó ngay lập tức khi có lệnh gọi. mũi tên vàng đánh dấu câu lệnh hiện thời và hoặc các lệnh cấp cao. Bạn có thể ngẫu nhiên bước vào một hàm chưa hoàn tất. lệnh chạy ngay hàng của con trỏ (Run till Cursor Line) lệnh đặt và bỏ điểm ngắt Insert/Remove BreakPoint Hộp thoại BreakPoint mvision cũng hỗ trợ các điểm ngắt phức tạp. Chẳng hạn bạn muốn ngắt một chương trình khi một biến đạt giá trị nhất định. Cài đặt ở bên dưới khi nào giá trị 3 được viết cho current.time.sec Để định nghĩa điểm dừng này ta mở hộp thoại BreakPoint từ menu Debug. Đánh dấu chọn vào ô Write ( dấu chọn này chỉ ra là lệnh ngắt chỉ được kiểm tra khi được viết tới ). Tiếp tục click vào nút Define để chọn điểm dùng. Để kiểm tra việc thực hiện điểm dừng làm các bước sau: Reset CPU Nếu sự thực hiện chương trình dừng thì bắt đầu chạy chương trình đo Sau một ít thời gian, mVision dừng sự thực hiện. Chương trình đếm hàng đánh dấu vị trí hàng mà trong đó điểm ngắt được đặt. Sự ghi vệt tin Quá trình này thực hiện trong suốt thời gian kiểm lỗi cho đến điểm dừng nơi bạn yêu cầu thông tin cho giá trị thanh ghi và những nguyên nhân khác dẫn tới dự ngắt. Nếu Debug - Enable/Disable Trace Recording được đặt bạn có thể nhìn thấy các lệnh liên quan tới CPU thực hiện trước điểm dừng. Bảng giá trị các thanh ghi Gọi ngăn xếp Các ngăn xếp trong của mVision sẽ được lấp đầy khi chương trình hoàn tất. Trang CallStack của cửa sổ Watch Window cho thấy sự lồng nhau giữa các hàm hiện thời. Nhấp đúp lên một hàng hiển thị mã gốc để thực hiện chức năng của nó. On-Chip ngoại vi mVision cung cấp một số cách để hiển thị và sửa dổi các chip ngoại vi sử dụng tro

Các file đính kèm theo tài liệu này:

  • docLẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 ( DA Tot Nghiep ).doc