Tải bản đầy đủ (.pdf) (30 trang)

Tổng quan về ET LAB3A – phần mềm mô phỏng keil và lập trình flashmagic

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 30 trang )

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-1
BÀI 1:
TỔNG QUAN VỀ BOARD THÍ NGHIỆM ET-LAB3A
PHẦN MỀM MÔ PHỎNG KEIL VÀ LẬP TRÌNH FASHMAGIC



I. Mục đích bài thí nghiệm
Bài thực hành nhắm giúp học viên:
-Nắm khả năng của board thí nghiệm ET-LAB3A.
-Sơđồ nguyên lý của hệ thống
-Phương thức kết nối các PORT ra của Vi điều khiển với ngoại vi trên Board
ET-LAB3A
-Soạn thảo, biên dịch, mô phỏng chương trình MSC-51 trên Keil.
-Lập trình cho vi điều khiển bằng FlashMagic
II. Tổng quan về MSC-51
1. Sơ lượt về MSC-51
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiên vào năm 1980 là các IC thiết
kế cho các ứng dụng hướng điều khiển. Các IC này chính là một hệ thống vi xử lý
hoàn chỉnh bao gồm các các thành phần của hệ vi xử lý: CPU, bộ nhớ, các mạch giao
tiếp, điều khiển ngắt.
MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer), có độ dài và thời gian th
ực thi của các lệnh khác nhau. Tập lệnh cung cấp
cho MCS-51 có các lệnh dùng cho điều khiển xuất / nhập tác động đến từng bit.
MCS-51 bao gồm nhiều vi điều khiển khác nhau, bộ vi điều khiển đầu tiên là 8051 có
4KB ROM, 128 byte RAM và 8031, không có ROM nội, phải sử dụng bộ nhớ ngoài.
Sau này, các nhà sản xuất khác như Siemens, Fujitsu, … cũng được cấp phép làm nhà
cung cấp thứ hai.
MCS-51 bao gồm nhiều phiên bản khác nhau, mỗi phiên bản sau tăng thêm một số


thanh ghi đ
iều khiển hoạt động của MCS-51.
AT89C51 là vi điều khiển do Atmel sản xuất,
chế tạo theo công nghệ CMOS có các đặc tính
như sau:
- 4 KB PEROM (Flash Programmable
and Erasable Read Only Memory), có
khả năng tới 1000 chu kỳ ghi xoá
-Tần số hoạt động từ: 0Hz đến 24 MHz
-3 mức khóa bộ nhớ lập trình
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-2
- 128 Byte RAM nội.
-4 Port xuất /nhập I/O 8 bit.
-2 bộ Timer/counter 16 Bit.
- 6 nguồn ngắt – xem bảng 1 .
- Giao tiếp nối tiếp điều khiển bằng phần cứng.
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoài.
- Cho phép xử lý bit.
- 210 vị trí nhớ có thểđịnh vị bit.
- 4 chu kỳ máy (4 μs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia.
- Có các chếđộ nghỉ (Low-power Idle) và chếđộ nguồn giảm (Power-down).
Ngoài ra, một số IC khác của họ MCS-51 có thêm bộđịnh thời thứ
3 và 256 byte
RAM nội.
2. Sơđồ khối của AT89C51
Bảng 1
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-3

3. Một số thanh ghi quan trọng trong AT89C51
- Thanh ghi tích luỹ A.
- Thanh ghi B.
- Thanh ghi R0->R7 (có 4 bank thanh ghi Ri).
- Thanh ghi SP, DTPR, PWS.
- Thanh ghi PORT I/O: P0, P1, P2, P3.
- Thanh ghi PORT nối tiếp SBUF
- Thanh ghi định thời THx và TLx.
- Thanh ghi điều khiển: IP  Interrupt Priority, TMOD  Timer Mode, TCON
 Timer Control, SCON  Serial Control, IE  Interrupt Enable, PCON 
Power Control
Các bạn sinh viên hãy tự ôn lại các đặc tính và cách thức sử dụng các thanh ghi của
AT89C51.
4. Cấu trúc của một chương trình hợp ngữ cho MSC-51
KHAI BÁO CÁC BIẾN, HẰNG NẾU CÓ
ĐỊNH NGHĨA CÁC BIT VÀ CÁC PORT VÀO RA NẾU CÓ
ORG 0000h ; RESET CPU 98C51
LJMP Main
ORG 0003h
LJMP Int0_ISR
ORG 000Bh
LJMP Timer0_ISR
ORG 0013h
LJMP Int1_ISR
ORG 001Bh
LJMP Timer1_ISR
ORG 0023h
LJMP Serial_ISR
Main:
KHỞ

I ĐỘNG CÁC THANH GHI ĐIỀU KHIỂN NHƯ TMOD, SCON, TCON, IE, IP
………………………………………………………………………………………
……………CÁC LỆNH TRONG CHƯƠNG TRÌNH CHÍNH ……………………
CALL Subname
………………………………………………………………
Subname:
………………………………………………………………
………………………………………………………………
RET
Khai báo các ngắt
trong b

ng vect
ơ
ng

t
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-4
Int0_ISR:
………………………
RETI
Timer0_ISR:
………………………
RETI
Int1_ISR:
………………………
RETI
Timer1_ISR:
………………………

RETI
Serial_ISR:
………………………
RETI
END ; KẾT THÚC CHƯƠNG TRÌNH
Lưu ý rằng nếu không sử dụng ngắt nào thì không cần phải khai báo ISR cho ngắt
đó.
5. Một số lệnh cần khảo sát trong bài thí nghiệm:
Yêu cầu: sinh viên tự ôn tập lại một số lệnh MSC-51 sau:
-Lệnh di chuyển dữ liệu: MOV, MOVC, MOVX, PUSH, POP
-Nhóm lệnh về số học: ADD, SUBB, INC, DEC, DIV, MUL…
-Nhóm lệnh về logic: ANL, ORL, XRL, CLR, CPL, RL, RLC, RR, RRC
-Nhóm lệnh thao tác trên bit: SETB, CLR, CPL
-Nhóm lệnh rẽ nhánh không đi
ều kiện: CALL, JMP
-Nhóm lệnh rẽ nhánh có điều kiện: CJNE, DJNZ, JZ, JNZ, JC, JNC
III. Giới thiệu board thí nghiệm ET-LAB3A
1. Tổng quan về ET-LAB3A
ET-LAB3A có các module tính năng sau:
- Module hiển thị 8 LED đơn.
- Module hiển thị 4 LED 7 đoạn
- Module hiển thị 3 Ma trận LED 5 cột x 7 dòng.
- Module hiển thị LCD
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-5
- Module ma trận phím và switch đơn.
- Module biến đổi ADC có ngõ vào là Quang trở và Nhiệt trở.
- Module điều khiển Relay, Speaker và động cơ bước
- Module điều khiển động cơ DC có bộ cảm biến tốc độ quay
- Module biến đổi DAC 8 bit

- Module giao tiếp chuẩn I2C BUS
- Module điều khiển công suất AC vừa dùng TRIAC
- Module ngõ vào nhận tín hiệu DC
- Module giao tiếp với máy tính qua RS323
- Module mở rộng PORT dùng 8255
2. Sơđồ và hình dạng các khối chức năng của ET-LAB3A
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-6
a. Khối nguồn và sơđồ nguyên lý

b. Khối CPU , giao tiếp RS232 và sơđồ nguyên lý
Khối CPU – P89V51RD2 Khối giao tiếp RS232
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-7
c. Module hiển thị LED đơn và 4 LED 7 đoạn và sơđồ nguyên lý
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-8
d. Module Ma trận LED và sơđồ nguyên lý
e. Module hiển thị LCD và sơđồ nguyên lý
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-9
f. Module ma trận phím, switch đơn và sơđồ nguyên lý
Switch và ma trận bàn phím
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-10
g. Module điều khiển Relay, Speaker, động cơ bước và và sơđồ nguyên lý
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-11
h. Module điều khiển động cơ DC có bộ cảm biến tốc độ quay và sơđồ
nguyên lý


i. Module giao tiếp chuẩn I2C BUS và sơđồ nguyên lý

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-12
j. Module điều khiển công suất AC vừa dùng TRIAC và sơđồ nguyên lý

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-13
k. Module ngõ vào nhận tín hiệu DC và sơđồ nguyên lý

l. Module mở rộng PORT dùng 8255 và sơđồ nguyên lý

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-14
m. Module biến đổi DAC 8 bit

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-15
n. Module biến đổi ADC có ngõ vào là Quang trở - Nhiệt trở và sơđồ nguyên


Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-16
IV. Phần mềm mô phỏng và biên dịch Keil cho MSC-51
Có khá nhiều phần mềm mô phỏng cho vi điều khiển MSC-51. Đối với việc mô
phỏng mềm để xem trạng thái các thanh ghi trong MSC-51 thì chúng ta nên dùng phần
mềm mô phỏng Keil. Còn nếu mô phỏng Vi điều khiển thông qua phần cứng thiết kế
thì chúng ta nên dùng phần mềm Proteus.
Trong phần thí nghiệm Vi điều khiển này chúng ta dùng phần mềm Keil để biên

dịch, debug chương trình cho MSC-51. Keil là phần mềm mô phỏng có nhiều công cụ
tiện ích như có thể soạn thảo, biên d
ịch và debug chương trình cho Vi điều khiển bằng
ngôn ngữ C, ngôn ngữ ASM của MSC-51. Bên cạnh đó nó còn có cho phép tạo ra
file.HEX để nạp cho Vi điều khiển sau mô phỏng đạt yêu cầu. Điểm yếu của Keil so
với Proteus là Keil không cho phép mô phỏng theo phần cứng thiết kế.
Khởi động μVision 3, chúng ta thấy giao diện như hình H1
Mặc định sẽ soạn thảo và biên dịch chương trình duwois dạng ngôn ngữ C. Do
chúng ta mới làm quen với lập trình Vi điều khiển nên việc lập trình bằng ngôn ngữ C
tương đối khó khăn. Chúng ta nên chuyển qua chếđộ soạn thảo và biên dịch chương
trình bằng hợp ngữ ASM của MSC-51. Để soạn thảo, biên dịch và debug chúng ta làm
theo các bước sau:
Hình H1
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-17
-Bước 1: Từ menu Project chọn New Project và click chuột vào đây - như hình
H2
-Bước 2: Một hộp thoại hiện ra và thực hiện hướng dẫn như hình H3, sau đó
click chuột vào Save
-Bước 3: Một hộp thoại hiện ra như hình H4 cho chúng ta chọn loại CPU đang
thiết kếđể viết chương trình mô phỏng. Chú ý do Vi điều khiển loại 8951
không chỉ có hãng Atmel sản xuaart mà có có thể có nhiều hãng sản xuất khác
nhau, do đó để kết quả mô phỏng được gần đúng chúng ta nên chọn đúng loại
CPU cần mô phỏng.
Tên
Project
Chọn đường dẫn để
lưu Project
Hình H3
Hình H2

Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-18
-Bước 5: Sau khi chọn OK từ hộp thoại của hình H4, chúng ta sẽ thấy một hộp
thoại hiển thị thông báo như hình bên dưới
Nếu ta chọn Yes thì μVision3 sẽ sao chép một khuôn dạng chương trình mẫu cho
chúng ta. Còn nếu chọn No thì ngược lại. Trong trường hợp này thì chúng ta nên chọn
No
-Bước 6: Tạo tập tin chứa Code cho vi điều khiển.
Tập tin chứa code là chương trình hợp ngữ cần viết cho 8051. Tập tin này được lưu
với phần mở rộng là .a51. Để tiến hành tạo tập tin nguồn ta chọn File\ New, một giao
diện như hình H5, sau khi soạn th
ảo xong và lưu với filename.A51
Giả sử chọn AT89C51 của hãng
Atmel. Sao đó click chuột vào OK
Hình H4
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-19
-Bước 7: Add một filename.A51 vào Project, chúng ta làm như sau: Chọn
Source Group1 trong Project Workspace, sau đó click chuột phải và chọn Add
Files to Group “Source group 1”. Cách thực hiện như hình H6
Lưu với phần
mở rộng .A51
Vùng soạn thảo
đoạn code cho vi
đ
i

u khi

n

Hình H5
Chọn
filename.A51
Chọn đường dẫ
n
chứa filename.A51
cần Add
Hình H6
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-20
Sau khi Add xong chúng ta thấy bên dưới Source Group 1 sẽ chứa file chúng ta
vừa Add như hình bên dưới.
-Bước 8: Thiết lập các thông số cho Project. Từ menu Project chọn Option for
Target “Target 1” hay từ Target 1 trong Project WorkSpace ta click chuột phải
và chọn Option for Target “Target 1. Một hộp thoại hiện ra như hình H7 cho
chúng ta thiết lập các thông số cho Project.
Ở lớp Target cho chúng ta chọn tần số dao động thạch anh, còn ở lớp Output cho
chúng ta chọn file.HEX xuất ra để nạp chương trình cho vi điều khiển
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-21
-Bước 9: Biên dịch và Debug chương trình
Check vào
đây để tạo
ra file.HEX
Click vào
đây để chọn
đường dẫn
l
ư
u file.HEX

Hình H7
Debug
chương trình
Biên dịch
chương trình
Kết quả s
au
khi biên dich
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-22
Dĩ nhiên chúng ta chỉ Debug được chương trình khi chương trinh chúng ta không
còn bất kỳ lỗi nào hết. Và khi đó file.HEX cũng sẽđược tạo ra để cho chúng ta nạp
chương trình vào vi điều khiển.
V. Phần mềm lập trình FlashMagic
FlashMagic sử dụng phương pháp lập trình nối tiếp thông qua chuẩn RS232. Kit ET-
LAB3A trong phòng TN.VXL&DSP sử dụng CPU loại P89V51RD2, để nạp chương
trình cho vi điều khiển loại này chúng ta làm như hình bên dưới sau:
Chọn loại CPU
cần nạp
Chọn file.HEX
cần nạp
Các Option tuỳ
chọn khi nạp CT
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-23
QUY TRÌNH NẠP CHƯƠNG TRÌNH CHO IC 89V51RD2
Khi nạp chương trình cho IC 89V51RD2, sinh viên cần tuân thủ theo các nguyên tắc
sau:
1. Thiết kế xong chương trình trên máy tính (Chú ý: hạn chế sử dụng Port3 nhất là
các chân truyền nhận dữ liệu P3.0 và P3.1 - để truy xuất dữ liệu – các chân của

Port này thường để sử dụng cho những chức năng đặc biệt: Ngắt, định thời, ghi
đọc Port,…).
2. Biên dịch thành File.HEX
3. Khởi động Flash Magic

Cửa sổ Flash Magic mở ra như sau


Nhấp nút Cancel trên thông báo Reset Device để đóng thông báo lại.

Sau khi thông báo Reset Device đóng lại, Thông báo khác xuất hiện.
Nhấp Cancel
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-24

Lúc đó cửa sổ Flash Magic như sau.
 Để tiến hành nạp chương trình cho IC ta thực hiện theo các bước 1 6 như sau:
1. Chọn đúng IC 89V51RD2
2. Chọn tùy chọn Erase all Flash
3. Nhấp vào Browse …để chọn file Hex cần nạp cho IC
4. Chọn các tùy chọn như trong hình.
5. Bấm và giữ nút Reset trên mạch.
6. Nhấp nút Start để nạp
Bài 1: Tổng quan về ET-LAB3A – Phần mềm mô phỏng Keil và Lập trình FlashMagic
Trang I-25
 Sau khi nhấp nút Start

Thông báo xuất hiện

nhấp Yes


Một thông báo khác lại mở ra  chọn Yes

Yêu cầu – Reset Device (bấm nút Reset trên mạch) xuất hiện. Lúc này buông
phím Reset (vì trước đó ta đang bấm và giữ nút Reset) trên mạch ra thì chương
trình sẽđược nạp xuống cho IC.
1. Chọn đúng
IC
2. Chọn tùy chọn
n
ày
3. Nhấp vào đây
để chọn file Hex
c

n
n
ạp
cho IC
4. Chọn
các tùy
chọn
nh
ư
h
ình
6. Nhấp nút
St
ar
t

đ

n
ạp
5. Bấm và giữ nút
Reset trên m
ạch

×