You are on page 1of 4

LĨNH VỰC NGHIÊN CỨU CƠ BẢN

THIẾT KẾ KIT PHÁT TRIỂN CHO HỌ VI ĐIỀU KHIỂN 8051


Đặng Hoài Bắc, Đinh Sỹ Quang, Đỗ Mạnh Hà Khoa
Khoa Kỹ Thuật Điện tử 1

Tóm tắt: Để việc học tập, nghiên cứu, thiết kế ứng dụng vi xử lý nói chung, các họ vi điều
khiển nói riêng đạt hiệu quả yêu cầu nhiều thiết bị hỗ trợ. Trong đó KIT phát triển là một thiết
bị hữu hiệu hỗ trợ rất tốt cho mục đích trên. Bài báo này trình bày tổng quan nhất về vấn đề
thiết kế KIT phát triển cho họ vi điều khiển 8051- một họ vi điều khiển đang được sử dụng rất
rộng rãi trong thực tế.

1. Đặt vấn đề
Họ vi điều khiển 8051 hiện đang được sử dụng rất phổ biến, chúng xuất hiện trong nhiều ứng
dụng như điều khiển, đo lường, điện thoại.... Hơn thế nữa, chúng còn xuất hiện nhiều trong
các hệ nhúng SoC, rất phát triển hiện nay. Việc nghiên cứu học tập kỹ thuật vi xử lý nói
chung, các họ vi điều khiển nói riêng, trong đó điển hình là họ 8051 là rất cần thiết cho sinh
viên công nghệ thông tin cũng như sinh viên điện tử – viễn thông. Để có thể học tập, nghiên
cứu, thiết kế tốt về các họ vi điều khiển rất cần các thiết bị thí nghiệm thực hành cũng như các
công cụ trợ giúp thiết kế hệ vi điều khiển. Trong thực tế có rất nhiều các thiết bị thí nghiệm,
các công cụ hỗ trợ thiết kế vi xử lý khá chuyên nghiệm như hệ phát triển, hệ kiểm tra logic,
máy nạp ROM, các bộ phần mềm dịch chéo ... trong đó hệ phát triển đóng vai trò quan trọng
nhất. Song việc trang bị các thiết bị chuyên dụng trên đòi hỏi lượng kinh phí lớn, khó có thể
trang bị đại trà, trong khi đó khả năng hiện nay chúng ta có thể thiết kế các thiết bị như vậy
với giá thành sản phẩm rẻ. Khoa kỹ thuật điện tử đã thiết kế thành công KIT phát triển trợ
giúp cho việc học tập, nghiên cứu cũng như thiết kế họ vi điều khiển 8051. Trong bài báo này
chúng tôi sẽ giới thiệu tổng quan về thiết kế KIT phát triển này.
2. Sơ đồ khối toàn hệ thống KIT phát triển
Với mục đích chính là hỗ trợ sinh viên thí nghiệm thực hành môn Kỹ thuật vi xử lý và hỗ trợ
thiết kế ứng dụng vi xử lý, KIT phát triển cần được thiết kế đa dạng gồm nhiều modul ứng
dụng sử dụng được phần lớn khả năng và tài nguyên của họ vi điều khiển 8051 và phải có
cấu trúc mở cho phép hỗ trợ sinh viên phát triển thêm các thiết kế ứng dụng riêng. Cấu trúc bộ
KIT phát triển bao gồm nhiều module ứng dụng đa dạng :
+ Modul điều khiển chính (Ký hiêụ: CPU).
+ Modul điều khiển LED 7 đoạn (Ký hiêụ: LED)
+ Modul điều khiển bàn phím (Ký hiêụ: KEY PAD).
+ Modul điều khiển động cơ bước (STEP MOTOR).
+ Modul điều khiển ADC (Ký hiêụ: ADC).
+ Modul điều khiển DAC (Ký hiêụ: DAC).
+ Modul điều khiển giao tiếp đường dây điện thoại (Ký hiêụ: Line Interface).
Hạt nhân trung tâm của bộ KIT là 89AT51 và phần mềm đi kèm cho phép sinh viên có thể tự
do phát triển ý tưởng lập trình, và download chạy thử chương trình một cách thuận tiện.
Chương trình được nạp vào RAM vì thế sinh viên có thể thực hiện chỉnh sửa, download
thường xuyên rất thuận tiện. Các bài thí nghiệm đi kèm theo chỉ là một ứng dụng nhỏ của
mỗi MODUL. Chúng có ý nghĩa như là bài mẫu hướng dẫn cho sinh viên cách lập trình các
ứng dụng cho mỗi MODUL. Việc thực hiện viết các chương trình ứng dụng cụ thể cho mỗi
MODUL là hoàn toàn tuỳ thuộc vào năng lực và khả năng sáng tạo của sinh viên.

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN

Modul Modul Modul


KEY ADC
LED
PAD

PC CON_A

RS232 RS232
CPU
CON_B

8951
Modul Modul Modul
DAC
Line STEP
Interface MOTOR

Mạch trung tâm của Bộ KIT thí nghiệm là khối mạch chính CPU, được giao tiếp với máy PC
thông qua RS232. Khối CPU này được thiết kế độc lập và kết nối với các modul ứng dụng
thông qua các connector (CON_A – theo kiểu BUS, và CON_B theo kiểu trực tiếp quan cổng
P1 của 8951. Máy PC được cài phần mềm READ51 và chương trình giao tiếp giữa máy tính
và khối mạch chính đã được nạp sẵn trong bộ nhớ ROM của vi mạch 8051. Trong khối mạch
chính này còn có bộ nhớ RAM cho phép nạp chương trình vào từ máy tính trong khi thí
nghiệm. Hoặc các chương trình thiết kế ứng dụng riêng được thiết kế và chạy thử trước khi
nạp vào 8951 trong thực tế.
3. Giới thiệu về phần mềm READ51
READ51 là phần mềm phát triển tích hợp IDE cho phép điều khiển toàn bộ KIT bao gồm bộ
soạn thảo và biên dịch chương trình C hay Assembler viết cho vi mạch 8951, chương trình
nạp, gỡ rối và chương trình mô phỏng hỗ trợ cho việc lập trình. Chương trình sử dụng cho bộ
thí nghiệm này là READS51 version 4.20 của hãng Rigel.
Workspace : Chỉ ra project đang được thực hiện (Chương trình cho phép nhiều project được
mở ra đồng thời (tên project đang được thực hiện được đánh dấu màu đỏ).
Output Window: Hiển thị ra kết quả trong quá trình thực hiện chương trình, như kết quả của
quá trình dịch, nạp chương trình, kết quả tìm kiếm...
Edit Window: Cửa sổ soạn thảo các file chương trình nguồn trong project.
SFR Watch Window: Cửa sổ cho phép quan sát địa chỉ, nội dung của các thanh ghi trong
8951 trong quá trình gỡ rối (chạy Debug).
TTY Window: Cửa sổ thực hiện thao tác giữa PC và khối mạch thí nghiệm.
Memory Watch Window : Chỉ ra giá trị của các ô nhớ trong bộ nhớ RAM trong khi chạy
Debug.
Toàn bộ giao diện chính của READ51 như sau:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN

1 2 3 4 5 6
Các lệnh điều khiển
Để đảm bảo chắc chắn rằng chương trình xác lập được thông tin với khối mạch thí nghiệm,
dùng chuột kích hoạt vào cửa sổ TTY Window và đánh lệnh “H” sẽ nhận được những đáp
ứng từ chương trình điều khiển.
READS51 sử dụng những lệch đơn bằng một chữ cái để thực hiện các hàm cơ bản. Việc thiết
lập cấu hình cổng, dữ liệu, cũng như kiểm tra bộ nhớ có thể thực hiện thông qua chương trình
điều khiển. Hầu hết các lệnh đơn này có các tham số kèm theo là địa chỉ dạng 4 chữ số Hex,
hay 2 byte dữ liệu dạng số Hex. Để biết các lệnh này có thể đánh lệnh H thì kết quả sẽ đưa ra
danh sách các lệnh như sau:

B xxxx Thiết lập vị trí dừng chương trình (break point) tại đia chỉ xxxx.
C xxxx-xxxx Hiển thị nội dung bộ nhớ mã chương trình.
D xx-xx Hiển thị nội dung RAM số liệu bên trong.
D xx=nn Thay đổi nội dung ô nhớ của RAM số liệu bên trong.
D xx-xx=nn Điền nội dung khoảng một khối bộ nhớ trong RAM trong.
G xxxx Bắt đầu thực hiện lệnh tại địa chỉ xxxx.
H Lệnh hiển thị nội dung trợ giúp.
K Loại bỏ điểm break point.
L Nạp file hex vào trong bộ nhớ.
Px Hiển thị số liệu trên cổng x.
R Hiển thị nội dụng của các thanh ghi.
S Hiển thị địa chỉ của các thanh ghi có chức năng đặc biệt.
S xx-xx Hiển thị nội dung của các thanh ghi chức năng đặc biệt.
S xx-nn Thay đổi nội dung của thanh ghi chức năng đặc biệt.
S xx-xx=nn Điền dữ liệu vào các thanh ghi chức năng đặc biệt.
X xxxx-xxxx Hiện thị nội dung của vùng nhớ trong bộ nhớ ngoài.
X xxxx=nn Thay đổi nội dung của ô nhớ.
X xxxx-xxxx=nn Điền dữ liệu vào vùng nhớ trong bộ nhớ ngoài.
(x-là chữ số dạng Hex {0..9,A..F})
Nạp và chạy chương trình Assembly
Để nạp và chạy một file thực hiện theo các bước sau:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI
LĨNH VỰC NGHIÊN CỨU CƠ BẢN

Chọn file : Vào menu File->Open File chọn tên file trong hộp thoại mở file.
Dịch chương trình và nạp nó vào trong bộ nhớ ngoài của khối mạch: chọn Compile->Build
and Download, file sẽ được biên dịch và tạo ra file .HEX, file này được nạp vào trong bộ nhớ
của khối mạch. Thực chương trình đã được nạp chọn “Compile->Toggle BUILD/DEBUG
Mode” hoặc phím tắt “F2” sau đó chọn “Debug->Run Skip Breakpoints”.
Bấm nút RESET trên khối mạch để bắt kết thúc chạy chương trình đã nạp vào RAM trên khối
mạch. Ngoài ra chương trình cho phép soạn thảo, biên dịch, nạp và chạy từng file chương
trình Assembly cũng như chương trình C viết cho vi điều khiển 8951.
4. Kết luận
KIT phát triển đã được thiết kế khá hoàn chỉnh, bao gồm 1 khối CPU và 6 modul ứng dụng
cho phép thí nghiệm hầu hết các chức năng, tài nguyên của vi điều khiển 8951. Ngoài ra KIT
còn được thiết kế theo cấu trúc mở cho phép mở rộng thêm nhiều ứng dụng khác nữa mà
không phải thiết kế lại khối CPU. KIT đã được lắp đặt và chạy thử tại Khoa Kỹ thuật điện tử
1. Bên cạch đó chúng tôi còn xây dựng 5 bài thí nghiệm hoàn chỉnh cho môn học vi xử lý theo
chương trình khung mới của Bộ giáo dục, hỗ trợ tốt cho sinh viên trong quá trình học tập,
nghiên cứu về các họ vi điều khiển nói chung, họ vi điều khiển 8051 nói riêng.
Tài liệu tham khảo
[1] Myke Predko, Programming and Customizing the 8051 microcontroller, MG Hill-
2001.
[2] Văn Thế Minh, Kỹ thuật Vi xử lý, NXB KHKT 2000.
[3] Các tài liệu hướng dẫn về vi điều khiển 8951 của hãng Atmel trên website :
www.atmel.com.
Sơ lược tác giả
Ths. Đặng Hoài Bắc
Khoa Kỹ thuật điện tử 1 - Học viện Công nghệ Bưu chính Viễn thông
Lĩnh vực nghiên cứu : Điều khiển tự động, Lý thuyết mã.
E-mail: dhbac@hotmail.com
Ks. Đỗ Mạnh Hà
Khoa Kỹ thuật điện tử 1 - Học viện Công nghệ Bưu chính Viễn thông
Lĩnh vực nghiên cứu: Đo lường điện tử, Thiết kế số.
E-mail: dmhavn@yahoo.com
Ks. Đinh Sỹ Quảng
Khoa Kỹ thuật điện tử 1 - Học viện Công nghệ Bưu chính Viễn thông
Lĩnh vực nghiên cứu: Vi xử lý, Thiết kế số, .
E-mail: dsq7@yahoo.com

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỘI NGHỊ KHOA HỌC LẦN THƯ VI

You might also like