Giáo trình Kỹ thuật vi điều khiển

Từ các bộ vi xử lý ban đầu chỉ là các bộ xử lý trung tâm trong một hệ thống,

không thể hoạt động nếu thiếu các bộ phận như RAM, ROM, bo mạch chủ. các

h!ng đ! phát triển các bộ vi xử lý này lên thành các bộ vi điều khiển để phục vụ

các mục đích riêng biệt, khác nhau trong công nghiệp. Một bộ vi điều khiển là

một hệ vi xử lí thật sự được tổ chức trong một chip (trong một vỏ IC) bao gồm

một bộ vi xử lí (microprocessor), bộ nhớ chương trình (ROM), bộ nhớ dữ liệu

(RAM), tuy không bằng dung lượng RAM ở các máy vi tính nhưng đây không

phải là một hạn chế vì các bộ vi điều khiển được thiết kế cho một mục đích hoàn

toàn khác, ngoài ra trên chip còn có bộ xử lý số học-logic (ALU) cùng với các

thanh ghi chức năng, các cổng vào/ra, cơ chế điều khiển ngắt, truyền tin nối tiếp,

các bộ định thời. Hiện nay, các bộ vi điều khiển được sử dụng rất rộng r!i và

ngày càng được chuẩn hóa để có thể sử dụng rộng r!i trong các ngành công

nghiệp, có mặt trong nhiều máy móc, trong các hàng tiêu dùng.

 

pdf 121 trang kimcuc 17020
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kỹ thuật vi điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Kỹ thuật vi điều khiển

Giáo trình Kỹ thuật vi điều khiển
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 1 
Ch−ơng I 
Tổng quan về Vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH 
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 2 
Ch−ơng I 
Tổng quan về Vi điều khiển 
1.1 Giới thiệu về các họ vi xử lí và các họ vi điều khiển thông dụng 
1.1.1 Lịch sử phát triển của bộ vi xử lí và bộ vi điều khiển 
Sự ra đời và phát triển nhanh chóng của kỹ thuật vi điện tử mà đặc tr−ng là kỹ 
thuật vi xử lí đ! tạo ra một b−ớc ngoặt quan trọng trong sự phát triển của khoa học 
tính toán, điều khiển và xử lí thông tin. Kỹ thuật vi xử lí đóng một vai trò rất quan 
trọng trong tất cả các lĩnh vực của cuộc sống và khoa học kỹ thuật, đặc biệt là lĩnh 
vực Tin học và Tự động hóa. 
Năm 1971, h!ng Intel đ! cho ra đời bộ vi xử lí (microprocessor) đầu tiên trên 
thế giới tên gọi là Intel-4004/4bit , nhằm đáp ứng nhu cầu cấp thiết của một công ty 
kinh doanh là h!ng truyền thông BUSICOM. Intel-4004 là kết quả của một ý t−ởng 
quan trọng trong kỹ thuật vi xử lí số. Đó là một kết cấu logic mà có thể thay đổi đ−ợc 
chức năng của nó bằng ch−ơng trình ngoài chứ không phát triển theo h−ớng tạo ra 
một cấu trúc cứng chỉ thực hiện một số chức năng nhất định nh− tr−ớc đây. 
Sau đó, các bộ vi xử lí mới liên tục đ−ợc đ−a ra thị tr−ờng và ngày càng đ−ợc 
phát triển, hoàn thiện hơn trong các thế hệ sau : 
Vào năm 1972, h!ng Intel đ−a ra bộ vi xử lí 8-bit đầu tiên với tên Intel-
8008/8bit. 
Từ 1974 đến 1975 , Intel chế tạo các bộ vi xử lí 8-bit 8080 và 8085A. 
Cũng vào khoảng thời gian này, một loạt các h!ng khác trên thế giới cũng đ! 
cho ra đời các bộ vi xử lí t−ơng tự nh− : 6800 của Motorola với 5000 tranzitor, 
Signetics 6520, 1801 của RCA, kế đến là 6502 của h!ng MOS Technology và Z80 
của h!ng Zilog. 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 3 
Vào năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip 
t−ơng tự nh− các bộ vi xử lí và là chip đầu tiên trong họ vi điều khiển MCS-48. 8748 
là một vi mạch chứa trên 17000 transistor, bao gồm một CPU, 1K byte EPROM, 64 
byte RAM, 27 chân xuất nhập và một bộ định thời 8-bit. IC này và các IC khác tiếp 
theo của họ MCS-48 đ! nhanh chóng trở thành chuẩn công nghiệp trong các ứng 
dụng h−ớng điều khiển (control-oriented application). 
Năm 1978 xuât hiện Intel 8086 là loại bộ xi xử lý 16 bit với 29.000 tranzitor, 
Motorola 68000 tích hợp 70.000 tranzitor, APX 432 chứa 120.000 tranzitor. Bộ vi xử 
lý của Hewlet Pakard có khoảng 450.000 tranzitor. Từ năm 1974 đến 1984 số 
tranzitor tích hợp trong một chip tăng khoảng 100 lần. 
Năm 1983, Intel đ−a ra bộ vi xử lý 80286 dung trong các máy vi tinh họ AT 
(Advanced Technology). 80286 sử dụng I/O 16 bit, 24 đ−ờng địa chỉ và không gian 
nhớ địa chỉ thực 16MB. Năm 1987, Intel đ−a ra bộ vi xử lý 80386 32-bit. Năm 1989 
xuất hiện xuất hiện bộ vi xử lý Intel 80486 là cảI tiến của Intel 80386 với bộ nhớ ẩn 
và mạch tính phép toán đại số dấu phẩy động. 
Năm 1992, xuất hiện Intel 80586 còn gọi là Pentium 64 bit chứa 4 triệu 
tranzitor. 
Soỏ t r a n z i t o r t ớc h h ụùp
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 4 
Hình 1.1 Số tranzitor tích hợp trong một chip của bộ vi xử lý Intel 8086 
Độ phức tạp, sự gọn nhẹ về kích th−ớc và khả năng của các bộ vi điều khiển 
đ−ợc tăng thêm một bậc quan trọng vào năm 1980 khi Intel công bố chip 8051, bộ vi 
điều khiển đầu tiên của họ vi điều khiển MCS-51. So với 8048, chip 8051 chứa trên 
60.000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32 đ−ờng xuất nhập, 1 
port nối tiếp và 2 bộ định thời 16-bit – một số l−ợng mạch đáng chú ý trong một IC 
đơn. 
Từ các bộ vi xử lý ban đầu chỉ là các bộ xử lý trung tâm trong một hệ thống, 
không thể hoạt động nếu thiếu các bộ phận nh− RAM, ROM, bo mạch chủ... các 
h!ng đ! phát triển các bộ vi xử lý này lên thành các bộ vi điều khiển để phục vụ 
các mục đích riêng biệt, khác nhau trong công nghiệp. Một bộ vi điều khiển là 
một hệ vi xử lí thật sự đ−ợc tổ chức trong một chip (trong một vỏ IC) bao gồm 
một bộ vi xử lí (microprocessor), bộ nhớ ch−ơng trình (ROM), bộ nhớ dữ liệu 
(RAM), tuy không bằng dung l−ợng RAM ở các máy vi tính nh−ng đây không 
phải là một hạn chế vì các bộ vi điều khiển đ−ợc thiết kế cho một mục đích hoàn 
toàn khác, ngoài ra trên chip còn có bộ xử lý số học-logic (ALU) cùng với các 
thanh ghi chức năng, các cổng vào/ra, cơ chế điều khiển ngắt, truyền tin nối tiếp, 
các bộ định thời... Hiện nay, các bộ vi điều khiển đ−ợc sử dụng rất rộng r!i và 
ngày càng đ−ợc chuẩn hóa để có thể sử dụng rộng r!i trong các ngành công 
nghiệp, có mặt trong nhiều máy móc, trong các hàng tiêu dùng. 
1.1.2 Ưu và khuyết điểm của các bộ vi điều khiển 
 Các công việc đ−ợc thực hiện bởi các bộ vi điều khiển thì không mới. Điều 
mới là các thiết kế hiện thực với ít thành phần hơn so với các thiết kế tr−ớc đó. 
Các thiết kế tr−ớc đó đòi hỏi phải vài chục hoặc vài trăm IC để hiện thực nay chỉ 
cần một ít thành phần trong đó bao gồm bộ vi điều khiển. Số thành phần đ−ợc 
giảm bớt, hiệu quả trực tiếp của tính khả lập trình của các bộ vi điều khiển và độ 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 5 
tích hợp cao trong công nghệ chế tạo vi mạch, th−ờng chuyển thành thời gian phát 
triển ngắn hơn, giá thành khi sản xuất thấp hơn, công suất tiêu thụ thấp hơn và độ 
tin cậy cao hơn. 
Vấn đề ở đây là tốc độ. Các giải pháp dựa trên bộ vi điều khiển không bao giờ 
nhanh bằng giải pháp dựa trên các thành phần rời rạc. Những tình huống đòi hỏi phải 
đáp ứng thật nhanh (cỡ nsec) đối với các sự kiện (th−ờng chiếm thiểu số trong các 
ứng dụng) sẽ đ−ợc quản lý tồi khi dựa vào các bộ vi điều khiển. 
Tuy nhiên trong vài ứng dụng, đặc biệt là các ứng dụng liên quan đến con 
ng−ời, các khoảng thời gian trễ tính bằng nsec, usec hoặc thậm chí msec là không 
quan trọng. Việc giảm bớt các thành phần là một điều lợi nh− đ! đề cập, các thao tác 
trong ch−ơng trình điều khiển làm cho thiết kế có thể thay đổi bằng cách thay đổi 
phần mềm. Điều này có ảnh h−ởng tối thiểu đến chu kỳ sản xuất. Do đó các bộ vi 
điều khiển có thể đ−ợc ứng dụng rộng r!i trong các ứng dụng phục vụ con ng−ời. 
Để có thể hiểu rõ hơn về các bộ vi điều khiển, chúng ta sẽ tìm hiểu về một số 
các họ vi điều khiển của một số h!ng điện tử điển hình đang đ−ợc sử dụng rộng 
r!i trong khoa học kỹ thuật và đời sống. 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 6 
1.1.3 Giới thiệu về họ vi điều khiển MCS-51 
1.1.3.1 Tóm tắt phần cứng 
Họ vi điều khiển MCS-51 đ−ợc h!ng Intel cho ra đời vào năm 1980 với bộ vi 
điều khiển đầu tiên của nó là chip 8051. 
Cấu trúc cơ bản của chip vi điều khiển 8051 đ−ợc biểu diễn nh− hình 1.2. 
Hình 1.3 cho ta sơ đồ chân của chip 8051. Nh− ta 
thấy, 32 trong số 40 chân của 8051 có tác dụng 
xuất/nhập, hình thành 4 port 8-bit. Với các thiết kế 
yêu cầu một mức tối thiểu bộ nhớ ngoài hoặc các 
thành phần bên ngoài khác, ta có thể sử dụng các port 
này làm nhiệm vụ xuất/nhập, 8 đ−ờng cho mỗi port 
có thể đ−ợc xử lí nh− là một đơn vị giao tiếp với các 
thiết bị song song nh− máy in, bộ biến đổi 
Hình 1.2- Sơ đồ khối của chip 8051 
Hình 1.3 - Sơ đồ chân của 8051 
8051 
31 
19 
18 
9 
12 
13 
14 
15 
1 
2 
3 
4 
5 
6 
7 
8 
39 
38 
37 
36 
35 
34 
33 
32 
21 
22 
23 
24 
25 
26 
27 
28 
17 
16 
29 
30 
11 
10 
EA/VP 
X1 
X2 
RESET 
INT0 
INT1 
T0 
T1 
P1.0 
P1.1 
P1.2 
P1.3 
P1.4 
P1.5 
P1.6 
P1.7 
P0.0 
P0.1 
P0.2 
P0.3 
P0.4 
P0.5 
P0.6 
P0.7 
P2.0 
P2.1 
P2.2 
P2.3 
P2.4 
P2.5 
P2.6 
P2.7 
RD 
WR 
PSEN 
ALE/P 
TXD 
RXD 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 7 
D/A,.v.v..hoặc mỗi đ−ờng có thể hoạt động độc lập giao tiếp với một thiết bị đơn bit 
nh− chuyển mạch, LED, tranzistor, cuộn dây, động cơ... 
1. Port 0 
Port 0 có 2 tác dụng. Trong các thiết kế ứng dụng tối thiểu, không có giao tiếp với 
các thành phần bên ngoài nh− RAM ngoài, ROM ngoài..., port 0 đ−ợc sử dụng nh− 
một cổng xuất/nhập thông th−ờng. Khi thiết kế hệ thống mà cần sử dụng bộ nhớ ngoài, 
port 0 đ−ợc sử dụng là cổng địa chỉ và dữ liệu đa hợp. Port 0 nếu là cổng địa chỉ thì nó 
sẽ là phần byte thấp của bus địa chỉ. 
2. Port 1 
Port 1 chỉ có một tác dụng là cổng xuất nhập. Nó chỉ dùng để giao tiếp với thiết 
bị ngoại vi khi có yêu cầu. Không có chức năng nào đặc biệt cho các chân của port 1. 
Tuy nhiên với các bộ vi điều khiển khác nh− 8052 thì các chân P1.0 và P1.1 còn đ−ợc 
sử dụng làm các đ−ờng ngõ vào cho mạch định thời thứ ba. 
3. Port 2 
Port 2 có hai tác dụng, hoặc làm nhiệm vụ là cổng xuất nhập, hoặc là phần byte 
cao của bus địa chỉ 16-bit cho các thiết kế hệ thống cần nhiều hơn 256 byte bộ nhớ 
ngoài. 
4. Port 3 
Port 3 có hai tác dụng. Nó làm nhiệm vụ nh− một cổng xuất nhập thông th−ờng. 
Khi không hoạt động xuất nhập, mỗi chân của port 3 đều có một chức năng riêng. 
5. Chân cho phép bộ nhớ ngoài /PSEN - Program Store ENable 
Chân này th−ờng đ−ợc nối với chân cho phép xuất /OE (Output Entable) của 
EPRROM (hoặc của ROM) để cho phép đọc các byte lệnh. Tín hiệu /PSEN ở lôgic ‘0‘ 
trong suốt thời gian tìm nạp lệnh. Các m! nhị phân của ch−ơng trình (opcode) đ−ợc 
đọc từ EPROM, qua bus dữ liệu và đ−ợc chốt vào thanh ghi lệnh IR của 8051 để đ−ợc 
giải m!. Khi thực thi một ch−ơng trình trong ROM nội, /PSEN đ−ợc duy trì ở lôgic 
không tích cực (logic 1). 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 8 
6. Chân cho phép chốt địa chỉ ALE - Address Latch Enable 
Là tín hiệu xuất ra để giải đa hợp bus địa chỉ và bus dữ liệu. Trong 1/2 chu kỳ đầu 
bộ nhớ, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của bus địa chỉ 16 bit) vào 
thanh ghi ngoài khi ta sử dụng port 0 làm byte thấp địa chỉ. Trong 1/2 chu kỳ bộ nhớ 
còn lại port 0 sẽ xuất/nhập dữ liệu. Tín hiệu ALE có tần số bằng 1/6 tần số của mạch 
dao động bên trong chip vi điều khiển và có thể làm xung clock cho các phần còn lại 
của hệ thống (tr−ờng hợp ngoại lệ khi thực hiện lệnh MOVX, một xung ALE (và cả 
/PSEN) sẽ bị bỏ qua). Chân ALE còn đ−ợc dùng để nhập xung ngõ vào lập trình cho 
EPROM hoặc Flash ROM trên chip đối với chip có loại ROM này. 
7. Chân truy xuất ngoài /EA - External Address 
Chân này đ−ợc nối lên 5V khi thực thi ch−ơng trình trong ROM nội và đ−ợc nối 
đất khi thực thi ch−ơng trình bộ nhớ ngoài. Chú ý đối với các chip không có ROM nội 
/EA phải đ−ợc nối đất. Các chip họ 8051 có EPROM còn nhận chân /ALE làm chân 
nhận điện áp cấp điện 12V cho việc lập trình (nạp) cho EPROM nội. 
8. Chân RESET (RST) 
Dùng để thiết lập lại trạng thái ban đầu của hệ thống hay gọi tắt là reset hệ thống 
khi đ−ợc treo ở mức logic 1 ít nhất 2 chu kỳ máy. Các thanh ghi bên trong của 8051 
đ−ợc nạp các giá trị thích hợp cho việc khởi động lại hệ thống. 
9. Các chân XTAL1 và XTAL2 
Mạch dao động bên trong chip 8051 đ−ợc ghép với thạch anh bên ngoài ở 2 chân 
XTAL1 và XTAL2. Th−ờng tần số là 12MHz và các tụ ổn định có giá trị trong khoảng 
30pF 33 pF. 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 9 
1.1.3.2 Tổ chức bộ nhớ của 8051 
Các chip vi điều khiển dùng làm thành phần trung tâm trong các thiết kế h−ớng 
điều khiển. Bộ nhớ th−ờng có dung l−ợng bé hơn nhiều so với một hệ vi xử lý. Nó còn 
không có ổ đĩa và hệ điều hành. Ch−ơng trình điều khiển phải th−ờng trú trong ROM. 
Do vậy, ch−ơng trình vẫn đ−ợc l−u giữ ngay cả khi mất điện. 
Do lý do trên, chip 8051 có không gian bộ nhớ riêng cho ch−ơng trình và dữ 
liệu. Cả bộ nhớ ch−ơng trình và bộ nhớ dữ liệu đều nằm trong chip. Tuy nhiên ta có 
thể mở rộng bộ nhớ ch−ơng trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ 
bên ngoài với dung l−ợng tối đa là 64K cho bộ nhớ ch−ơng trình và 64K cho bộ nhớ 
dữ liệu. 
Bộ nhớ ch−ơng trình (ROM) 
Bộ nhớ ch−ơng trình l−u giữ ch−ơng trình điều khiển chip 8051. 
Sau khi RESET, CPU bắt đầu thực hiện ch−ơng trình từ địa chỉ 0000H. Khi 
ch−ơng trình lớn quá kích th−ớc bộ nhớ ch−ơng trình bên trong chip, ch−ơng trình 
này phải đ−ợc nạp vào bộ nhớ ch−ơng trình ngoài. Nếu ch−ơng trình nằm trong ROM 
nội, chân /EA của 8051 phải đ−ợc treo lên 5V. Nếu ch−ơng trình ở ROM ngoài, chân 
/EA phải nối đất. Việc truy xuất ch−ơng trình ở bộ nhớ ngoài phải kết hợp với chân 
tín hiệu truy xuất bộ nhớ ngoài /PSEN. 
Bộ nhớ dữ liệu (RAM) 
8051 có 128 byte RAM ở bên trong chip. Chúng đ−ợc chia làm nhiều vùng khác 
nhau : vùng RAM đa mục đích, vùng RAM định địa chỉ bit, các d!y thanh ghi, và 
các thanh ghi chức năng đặc biệt. Ta h!y xem xét từng vùng RAM cụ thể. 
- Vùng RAM đa mục đích : Có địa chỉ từ 30H đến 7FH (80 byte). Vùng RAM 
này có thể truy xuất bằng cách định địa chỉ trực tiếp hoặc định địa chỉ gián tiếp. Nó 
có thể dùng để chứa các biến trong ch−ơng trình hay dùng để định địa chỉ cho các 
cổng ngoại vi tuỳ theo mục đích của ng−ời sử dụng. 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 1 : Tổng quan về vi điều khiển 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 10 
- Vùng RAM định địa chỉ từng bit : Có 128 bit chứa trong các byte ở địa chỉ từ 
20H đến 2FH và 32 byte chứa các thanh ghi (00H đến 1FH). 
- Các dNy thanh ghi từ Bank 0 tới Bank 3 : Nằm ở 32 byte thấp nhất của vùng 
nhớ dữ liệu. Khi RESET hệ thống d!y thanh ghi mặc định là Bank 0. Có thể chọn Bank 
bởi thanh ghi từ trạng thái ch−ơng trình (PSW- Program Status Word) . Các lệnh sử 
dụng các thanh ghi từ R0 đến R7 là các lệnh ngắn và thực hiện nhanh hơn so với các 
lệnh t−ơng đ−ơng sử dụng kiểu định địa chỉ trực tiếp. Các giá trị dữ liệu th−ờng đ−ợc 
sử dụng nên chứa ở một trong các thanh ghi này. 
Các thanh ghi chức năng đặc biệt (SFR- Special Function Register) 
Có 21 thanh ghi chức năng đặc biệt chiếm phần trên của RAM nội có địa chỉ từ 
80H đến FFH. Các địa chỉ đ−ợc định nghĩa trong vùng RAM này gồm các thanh ghi 
điều khiển của 8051, các thanh ghi đệm, và các cổng vào ra. 
- Thanh ghi từ trạng thái PSW - Program Status Word : Có địa chỉ là D0H. 
Chứa các bit trạng thái có chức năng khác nhau. 
- Thanh ghi chứa ACC: Có đị ... 0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan2, A 
 mov A, Led7Doan1 
 inc A 
 mov Led7Doan1, A 
 cjne A, #0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan1, A 
 jmp Dem_Len 
Exit_DEMO2_1: 
 ; Thoat dem len, chuyen sang dem xuong 
 mov KEY, #0FFH 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG13 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG14 
 call Str_To_LCD 
DEMO2_2: ; ---- Dem xuong' 
 call Display_Four_7Seg_Led 
 call Delay_100ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Sang_Dem_Len 
 mov KEY, #0FFH 
 jmp Exit_DEMO2 
Sang_Dem_Len: 
 cjne A, #0, TiepTucDemXuong 
 mov KEY, #0FFH 
 jmp DEMO2_1 
TiepTucDemXuong: 
 mov A, Led7Doan4 
 dec A 
 mov Led7Doan4, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan4, #9 
 mov A, Led7Doan3 
 dec A 
 mov Led7Doan3, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan3, #9 
 mov A, Led7Doan2 
 dec A 
 mov Led7Doan2, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan2, #9 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 109 
 mov A, Led7Doan1 
 dec A 
 mov Led7Doan1, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan1, #9 
 jmp DEMO2_2 
Exit_DEMO2: 
 ret 
; ------------------------------------------- 
DEMO3: ; LED MA TRAN 
DEMO3_1: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_1: ; Nhay LED cua cac cot, xen ke 
 movx @DPTR, A 
 cpl A 
 call Delay_100ms 
 djnz R7, Again_DM3_1 
DEMO3_2: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_2: ; Chay LED 
 movx @DPTR, A 
 rr A 
 call Delay_100ms 
 djnz R7, Again_DM3_2 
DEMO3_3: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_3: ; Chay LED 
 movx @DPTR, A 
 rl A 
 call Delay_100ms 
 djnz R7, Again_DM3_3 
DEMO3_4: ; Thi nghiem voi cac cot 
 mov A, #0FFH 
 mov DPTR, #MATRIX_LED_R 
 movx @DPTR, A 
 mov A, #0FFH 
 mov DPTR, #MATRIX_LED_G 
 movx @DPTR, A 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #01H 
 movx @DPTR, A 
 mov R7, #64 
Again_DM3_4: ; Chay LED 
 movx @DPTR, A 
 rl A 
 call Delay_100ms 
 djnz R7, Again_DM3_4 
 ret 
DEMO4: ; BAN PHIM, LCD 
 ret 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 110 
DEMO5: ;ADC, DAC 
; 8255-2 
; ADC_DB EQU 8008H ; Bus du lieu cua ADC0809 
; DAC_DB EQU 8009H ; Bus du lieu cua DAC0808 
; ADC_CONTROL EQU 800AH ; Cac tin hieu dieu khien ADC0809 
; CW2 EQU 800BH ; Tu dieu khien CW cua 8255-2 
; Cac bit cua ADC_CONTROL nhu sau 
; 7 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
; ----|-----|----|--------|------|------|------| 
; X X | EOC | OE | ALE+SC | ADDC | ADDB | ADDA | 
ADC: 
 mov DPTR, #CW2 
 mov A, #CW_100 ; A vao, B, C ra 
 movx @DPTR, A 
 mov DPTR, #ADC_CONTROL ; Chon 
kenh analog 0 
 mov A, #00001000B 
 movx @DPTR, A 
 nop 
 nop 
 nop 
 mov A, #00100000B ; Chot 
dia chi va bat dau chuyen doi 
 movx @DPTR, A 
 mov DPTR, #CW2 ; Chuyen PC - 
ADC_CONTROL lam dau vao 
 mov A, #CW_101 ; A, C vao, B ra 
 movx @DPTR, A 
Wait_EOC: ; Cho` cho 
qua trinh convert ket thuc 
 mov DPTR, #ADC_CONTROL 
 movx A, @DPTR 
 anl A, #00100000B 
 cjne A, #00100000B, Wait_EOC 
 ; Ket thuc qua trinh chuyen doi 
 mov DPTR, #CW2 ; Dat lai PC lam dau 
ra 
 mov A, #CW_100 ; A vao, B, C ra 
 movx @DPTR, A 
 mov DPTR, #ADC_CONTROL 
 mov A, #00110000B ; Cho phep dau ra OE 
= 1 
 movx @DPTR, A 
 mov DPTR, #ADC_DB ; Doc du lieu tra ve 
 movx A, @DPTR 
 mov Nhiet_Do, A 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG34 
 call Str_To_LCD 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG35 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG33 
 call Str_To_LCD 
 mov A, Nhiet_Do 
 clr CY 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 111 
 subb A, #100 
 jc Nhiet_Do_Nho_Hon_100 
Nhiet_Do_Lon_Hon_100: 
 mov A, Nhiet_Do 
 dec A ; Tru 1 
 rl A 
 rl A ; Nhan 4 de nhay cho dung 
vi tri chuoi can tra trong bang 
 mov R6, #4 
 mov R0, A 
 mov DPTR, #LON_HON_100_DO 
In_Nhiet_Do_1: 
 movc A, @A + DPTR 
 call In_Ki_Tu 
 inc R0 
 mov A, R0 
 djnz R6, In_Nhiet_Do_1 
 jmp In_Do_C 
Nhiet_Do_Nho_Hon_100: 
 mov A, Nhiet_Do 
 dec A ; Tru 1 
 rl A ; Nhan 2 de nhay cho dung 
vi tri chuoi can tra trong bang 
 mov R6, #2 
 mov R0, A 
 mov DPTR, #NHO_HON_100_DO 
In_Nhiet_Do_2: 
 movc A, @A + DPTR 
 call In_Ki_Tu 
 inc R0 
 mov A, R0 
 djnz R6, In_Nhiet_Do_2 
In_Do_C: 
 mov A, #' ' 
 call In_Ki_Tu 
 mov A, #'d' 
 call In_Ki_Tu 
 mov A, #'o' 
 call In_Ki_Tu 
 mov A, #' ' 
 call In_Ki_Tu 
 mov A, #'C' 
 call In_Ki_Tu 
 mov A, #' ' 
 call In_Ki_Tu 
 call Delay_500ms 
 call Delay_500ms 
 mov A, KEY 
 cjne A, #KEY_ENTER, KT_Thoat_ADC 
 mov KEY, #0FFH 
 jmp DAC 
KT_Thoat_ADC: 
 cjne A, #KEY_BSP, Tiep_Tuc_ADC 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Tiep_Tuc_ADC: 
 jmp ADC 
; -------------------------------------------
---- 
DAC: 
 mov E, #2 
 mov A, #01 
 call Command_To_LCD 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG38 ; 'Thi nghiem voi 
DAC' 
 call Str_To_LCD 
 ; DAC_DB EQU 8009H 
 ; Bus du lieu cua DAC0808 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG36 
 call Str_To_LCD 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 112 
 mov Ap_Ra, #10 
Tang_Ap_DAC: 
 mov A, Ap_Ra 
Dao_Gia_Tri: 
 rrc A 
 mov 07H, C 
 rrc A 
 mov 06H, C 
 rrc A 
 mov 05H, C 
 rrc A 
 mov 04H, C 
 rrc A 
 mov 03H, C 
 rrc A 
 mov 02H, C 
 rrc A 
 mov 01H, C 
 rrc A 
 mov 00H, C 
 mov A, 20H 
 mov DPTR, #DAC_DB 
 movx @DPTR, A 
 mov A, Ap_Ra 
 add A, #2 
 mov Ap_Ra, A 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 mov A, Ap_Ra 
 cjne A, #254, KT_Thoat_Tang_Ap_DAC 
 jmp Exit_DEMO5 
KT_Thoat_Tang_Ap_DAC: 
 mov A, KEY 
 cjne A, #KEY_BSP, Tang_Ap_DAC 
 mov KEY, #0FFH 
Exit_DEMO5: 
 call Restore_SCR 
 ret 
DEMO6: ; STEPPER, DC MOTOR 
;DIGITAL_INPUT EQU 800CH ; Dau vao so 
;DC_STEPPER EQU 800DH ; Dieu khien dong co 
buoc (PB0-PB3), dong co 1 chieu(PB4-PB7
; PULSE_INPUT EQU 800EH ; 4 dau vao xung = 
nut(PC4-PC7), 4 tu cac nguon phat 
xung(PC0-PC3) 
; CW3 EQU 800FH ; Tu dieu khien CW cua 
8255-3 
 mov DPTR, #DC_STEPPER 
 mov R4, #00110011B 
 mov R7, #255 
 mov R6, #5 
 mov Nut1, #0 
 mov Nut2, #0 
 mov Nut3, #0 
 mov Nut4, #0 
Quay_Thuan: 
 mov A, R4 
 movx @DPTR, A 
 rl A 
 mov R4, A 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Case_Enter_QT 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
 ; MSG29: db 'ENTER=Test pulse input', 0 
 ; MSG30: db 'ENTER=Test digital 
input',0 
Case_Enter_QT: 
 mov A, KEY 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 113 
 cjne A, #KEY_ENTER, Du_So_Buoc1 
 mov KEY, #0FFH 
 ;Hien thi thong bao bam enter de quay 
nguoc 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG29 
 call Str_To_LCD 
 mov R7, #255 
 mov R6, #5 
 mov R4, #00110011B 
 mov DPTR, #DC_STEPPER 
 jmp Quay_Nguoc 
Du_So_Buoc1: 
 djnz R7, Quay_Thuan 
 mov R7, #255 
 djnz R6, Quay_Thuan 
Quay_Nguoc: 
 mov A, R4 
 movx @DPTR, A 
 rr A 
 mov R4, A 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Case_Enter_QN 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Case_Enter_QN: 
 mov A, KEY 
 cjne A, #KEY_ENTER, Du_So_Buoc2 
 mov KEY, #0FFH 
 ;Hien thi thong bao bam enter de quay 
TEST pulse input 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG30 
 call Str_To_LCD 
 mov DPTR, #DC_STEPPER 
 mov A, #0 
 movx @DPTR, A 
 jmp Pulse_Digital_Input_Test 
Du_So_Buoc2: 
 djnz R7, Quay_Nguoc 
 mov R7, #255 
 djnz R6, Quay_Nguoc 
Pulse_Digital_Input_Test: 
; MSG32: db 'Digital input value: ',0 
 mov E, #2 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG31 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG32 
 call Str_To_LCD 
 ; DIGITAL_INPUT EQU 800CH ; 
Dau vao so 
 ; DC_STEPPER EQU 800DH ; 
Dieu khien dong co buoc (PB0-PB3), dong co 1 
chieu(PB4-PB7) 
 ; PULSE_INPUT EQU 800EH ; 
4 dau vao xung = nut(PC4-PC7), 4 tu cac nguon 
phat xung(PC0-PC3) 
 ; CW3 EQU 800FH
 ; Tu dieu khien CW cua 8255-3 
Quet_phim: 
 mov DPTR, #PULSE_INPUT 
 movx A, @DPTR 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 114 
 cjne A, #0FFH, Phim1 
 jmp Cap_nhat_gia_tri 
Phim1: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 1 dc an 
 cjne A, #01110000B, Phim2 
Cho_Phim1_tha: 
 mov DPTR, #PULSE_INPUT 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim1_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut1 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim2: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 2 duoc an 
 cjne A, #10110000B, Phim3 
Cho_Phim2_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim2_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut2 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim3: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 3 duoc an 
 cjne A, #11010000B, Phim4 
Cho_Phim3_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim3_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut3 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim4: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 4 duoc an 
 cjne A, #11100000B, Cap_nhat_gia_tri 
Cho_Phim4_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim4_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut4 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
Cap_nhat_gia_tri: 
Cap_nhat_gia_tri_digital_input: 
 mov A, #DONG3 + 28 
 call Command_To_LCD 
 mov DPTR, #DIGITAL_INPUT 
 movx A, @DPTR 
 call phex8 ; in ra gia tri cua 
digital input 
; MSG31: db 'B1: |B2: |B3: |B4: ',0 
Cap_nhat_so_lan_bam_cac_nut: 
 mov A, #DONG2 + 3 
 call Command_To_LCD 
 mov A, Nut1 
 call phex8 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 115 
 mov A, #DONG2 + 9 
 call Command_To_LCD 
 mov A, Nut2 
 call phex8 
 mov A, #DONG2 + 15 
 call Command_To_LCD 
 mov A, Nut3 
 call phex8 
 mov A, #DONG2 + 21 
 call Command_To_LCD 
 mov A, Nut4 
 call phex8 
 mov A, KEY 
 cjne A, #KEY_BSP, Tiep_tuc 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Tiep_tuc: 
 jmp Quet_Phim 
 ret 
DEMO7: ; RS232 
 call Disable_SERIAL_INT 
; Lam viec voi nua man hinh 2 
 mov E, #2 
 mov A, #01 
 call Command_To_LCD ; Xoa LCD 
 mov A, #DONG1 
 call Command_TO_LCD 
 ; Select receive mode, bam nut 0 
 mov DPTR, #MSG24 
 call Str_TO_LCD 
 mov A, #DONG2 
 call Command_TO_LCD 
 ; Select receive mode, bam nut 1 
 mov DPTR, #MSG25 
call Str_TO_LCD 
 mov A, #0CH ; Giau con tro 
 call Command_To_LCD 
Cho_Phim_0_DM7: 
 mov A, KEY 
 cjne A, #0, Cho_Phim_1_DM7 
 mov KEY, #0FFH 
 jmp Receive_Mode 
Cho_Phim_1_DM7: 
 mov A, KEY 
 cjne A, #1, Cho_Phim_BSP_DM7 
 mov KEY, #0FFH 
 jmp Send_Mode 
Cho_Phim_BSP_DM7: 
 mov A, KEY 
 cjne A, #KEY_BSP, Cho_Phim_0_DM7 
 mov KEY, #0FFH 
 call Enable_SERIAL_INT 
 ret 
Receive_Mode: 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG26 
 call Str_To_LCD 
 mov A, #DONG4 
 call Command_To_LCD 
 mov A, #0FH ; Nhap nhay con tro 
 call Command_To_LCD 
 clr RI 
 mov R7, #23 
Doi_Nhan_Du_Lieu: 
 mov A, KEY 
 cjne A, #KEY_BSP, Co_Du_Lieu_Den 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 116 
 mov KEY, #0FFH 
 jmp DEMO7 
Co_Du_Lieu_Den: 
 jnb RI, Doi_Nhan_Du_Lieu 
 mov A, SBUF 
 call In_Ki_Tu 
 djnz R7, Chua_Het_Hang 
 mov R7, #24 
 mov A, #DONG4 ; Tro ve dau dong 
 call Command_To_LCD 
Chua_Het_Hang: 
 clr RI 
 jmp Doi_Nhan_Du_Lieu 
; ------------------------------------ 
Send_Mode: 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG27 
 call Str_To_LCD 
Continue_Transfer: 
 mov DPTR, #MSG22 
 call Send_String 
 mov A, #13 
 call Send_Char 
 mov A, #10 
 call Send_Char 
 mov DPTR, #MSG23 
 call Send_String 
 mov A, #13 
 call Send_Char 
 mov A, #10 
 call Send_Char 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Continue_Transfer 
 mov KEY, #0FFH 
 jmp DEMO7 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 117 
6.5 Sơ đồ mạch in của các board
Sơ đồ mạch in của BOARD CPU - mặt trên 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 118 
Sơ đồ mạch in của BOARD CPU - mặt d−ới 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 119 
Sơ đồ mạch in của BOARD ADC - mặt trên 
Sơ đồ mạch in của BOARD xung số, động cơ b−ớc- mặt d−ới 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 120 
Sơ đồ mạch in của BOARD LED 
đơn, LED 7 đoạn và LED ma trận 
(mặt trên) 
(mặt d−ới) 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 121 
Tài liệu tham khảo 
1. Cấu trúc và lập trình họ vi điều khiển 8051 – Nguyễn Tăng C−ờng – Nhà 
xuất bản khoa học kỹ thuật – 2004 
2. Họ vi điều khiển 8051 – Tống Văn On, Hoàng Đức Hải – Nhà xuất bản 
Lao động –X/ hội – 2001 
3. Các tài liệu tham khảo khác d−ới dạng html và dạng pdf đi kèm theo CD 
ở th− mục “Tai lieu tham khao” 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh

File đính kèm:

  • pdfgiao_trinh_ky_thuat_vi_dieu_khien.pdf