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

Thiết kế, chế tạo bộ KIT thí nghiệm vi điều khiển 8051 phục vụ sinh hoạt ngoại khóa tại CLB điện điện tử

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 (3.02 MB, 118 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA ĐIỆN – ĐIỆN TỬ


SVTH: TRẦN XUÂN THỰC

ĐỀ TÀI:
THIẾT KẾ, CHẾ TẠO BỘ KIT THÍ NGHIỆM VI ĐIỀU KHIỂN 8051 PHỤC
VỤ SINH HOẠT NGOẠI KHÓA TẠI CLB ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Ngành: Công nghệ kỹ thuật điện, điện tử

Khánh Hòa - 2017


i

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA ĐIỆN – ĐIỆN TỬ


SVTH: TRẦN XUÂN THỰC

ĐỀ TÀI:
THIẾT KẾ, CHẾ TẠO BỘ KIT THÍ NGHIỆM VI ĐIỀU KHIỂN 8051 PHỤC
VỤ SINH HOẠT NGOẠI KHÓA TẠI CLB ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC


Ngành: Công nghệ kỹ thuật điện, điện tử

CÁN BỘ HƯỚNG DẪN:
ThS NGUYỄN VĂN HÂN

Khánh Hòa - 2017


ii

LỜI CẢM ƠN
Kính thưa:
- Ban giám hiệu trường Đại Học Nha Trang.
- Thầy, cô trong khoa Điện – Điện tử.
Trong những năm được học tập và làm việc tại trường Đại học Nha Trang,
dưới sự chỉ bảo và dạy dỗ tận tình của các thầy cô trong khoa cũng như thầy cô
trong trường, đã giúp chúng em tích lũy được nhiều kiến thức nền tảng quý giá
trước khi hòa nhập xã hội.
Em xin chân thành cảm ơn thầy ThS Nhữ Khải Hoàn – Trưởng khoa Điện–
Điện tử đã tạo điều kiện cho em được thực hiện đồ án tốt nghiệp.
Em xin chân thành cảm ơn thầy ThS Nguyễn Văn Hân đã tận tình chỉ bảo giúp
đỡ em để em có thể hoàn thành đồ án. Em cũng xin chân thành cảm ơn tất cả các
thầy cô trong và ngoài khoa Điện – Điện tử đã giúp đỡ nhiệt tình trong thời gian
qua.
Trong quá trình thực hiện đồ án tốt nghiệp, do còn hạn chế về kiến thức cũng
như kỹ năng thực tế nên đồ án của em còn một số thiếu sót. Em kính mong thầy cô
và bạn bè có những ý kiến đóng góp quý báu để kiến thức trong lĩnh vực được hoàn thiện
hơn.
Sau cùng, em xin kính chúc quý thầy cô trong khoa Điện – Điện tử thật dồi
dào sức khỏe để có thể tiếp tục truyền đạt kiến thức cho những thế hệ mai sau.

Em xin chân thành cảm ơn!
Nha Trang, tháng 06, năm 2017
Sinh viên thực hiện
Trần Xuân Thực


iii

LỜI CAM ĐOAN
Em xin cam đoan đồ án là sản phẩm khoa học của em, không sao chép từ bất
kỳ tài liệu nào khác. Tất cả các tài liệu trích dẫn đều sử dụng từ nguồn phổ biến và
được sự đồng ý của tác giả.
Em xin hoàn toàn chịu trách nhiệm về lời cam đoan của mình.
Nha Trang, tháng 06, năm 2017
Tác giả đồ án
Trần Xuân Thực


iv

MỤC LỤC
TRANG BÌA PHỤ ...................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
LỜI CAM ĐOAN ..................................................................................................... iii
MỤC LỤC ................................................................................................................. iv
DANH MỤC CHỮ VIẾT TẮT................................................................................. ix
DANH MỤC HÌNH ẢNH ..........................................................................................x
DANH MỤC BẢNG ................................................................................................ xii
MỞ ĐẦU .....................................................................................................................1
1. LÝ DO CHỌN ĐỀ TÀI .......................................................................................1

2. MỤC ĐÍCH CỦA ĐỀ TÀI .................................................................................2
3. GIỚI HẠN CỦA ĐỀ TÀI ....................................................................................2
4. PHƯƠNG PHÁP NGHIÊN CỨU .......................................................................2
4.1. Phương pháp nghiên cứu lý thuyết ................................................................2
4.2. Phương pháp nghiên cứu thực nghiệm ..........................................................2
5. BỐ CỤC CỦA ĐỀ TÀI .......................................................................................3
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ...........................................................................4
1.1. GIỚI THIỆU VĐK 8051 ..................................................................................4
1.1.1. Giới thiệu chung .........................................................................................4
1.1.2. Cấu trúc phần cứng VĐK 8051 ..................................................................4
1.1.2.1. Sơ đồ khối của 8051.............................................................................4
1.1.2.2. Sơ đồ chân và chức năng các chân của VĐK 8051 .............................6
1.1.3. Tổ chức bộ nhớ ...........................................................................................9
1.1.3.1. Bộ nhớ chương trình ............................................................................9
1.1.3.2. Bộ nhớ dữ liệu ......................................................................................9
1.1.3.3. Các thanh ghi có chức năng đặc biệt ...................................................9
1.2. Giới thiệu phần mềm Keil C uvision 4 .............................................................9
1.3.1. Giới thiệu chung .........................................................................................9
1.2.2. Cách tạo một project mới .........................................................................10


v

1.3. Giới thiệu phần mềm mô phỏng Proteus ........................................................10
1.3.1. Giới thiệu chung .......................................................................................10
1.3.2. Cách tạo một bản vẽ mới ..........................................................................12
1.4. Giới thiệu phần mềm Altium Designer 10 .....................................................12
1.4.1. Giới thiệu chung .......................................................................................12
1.4.2. Thiết kế mạch với Altium Designer 10 ....................................................13
1.5. Giới thiệu phần mềm Visual Basic 6.0 ...........................................................14

1.5.1. Giới thiệu chung .......................................................................................14
1.5.2. Cách tạo một project mới .........................................................................15
CHƯƠNG 2. THIẾT KẾ VÀ THI CÔNG BỘ KIT .................................................16
2.1. Sơ đồ khối của bộ KIT ....................................................................................16
2.2. Sơ đồ nguyên lý các khối trong bộ KIT .........................................................16
2.3. Chế tạo mạch, lắp ráp linh kiện ......................................................................20
CHƯƠNG 3. ĐỀ XUẤT CÁC BÀI THỰC HÀNH TRÊN BỘ KIT .......................22
3.1. Giao tiếp với LED đơn ...................................................................................22
3.1.1. Chớp tắt một LED ....................................................................................22
3.1.1.1. Mục đích ............................................................................................22
3.1.1.2. Hướng dẫn thực hành .........................................................................22
3.2. Giao tiếp với LED 7 đoạn ...............................................................................25
3.2.1. Giới thiệu led 7 đoạn ................................................................................25
3.2.2. Thực hành hiển thị số 1, 2, 3, 4 trên 4 LED 7 đoạn .................................27
3.2.2.1. Mục đích ............................................................................................27
3.2.2.2. Hướng dẫn lập trình ...........................................................................27
3.3. Giao tiếp với nút nhấn ....................................................................................28
3.2.1. Giao tiếp với nút nhấn đơn .......................................................................28
3.3.1.1. Mục đích ............................................................................................28
3.3.1.2. Hướng dẫn thực hành .........................................................................28
3.3.2. Giao tiếp với bàn phím ma trận 4x4 .........................................................29
3.3.2.1. Giới thiệu ma trận phím 4x4 ..............................................................29


vi

3.3.2.3. Mục đích ............................................................................................29
3.3.2.4. Hướng dẫn thực hành .........................................................................30
3.4. Giao tiếp với Rơ le ..........................................................................................30
3.4.1. Mục đích ...................................................................................................30

3.4.2. Hướng dẫn thực hành ...............................................................................30
3.5. Giao tiếp với LCD 16x2 .................................................................................31
3.5.1. Giới thiệu LCD 16x2 ................................................................................31
3.5.2. Thực hành hiển thị ký tự alphabet ra LCD 16x2 ......................................34
3.5.2.1. Mục đích ............................................................................................34
3.5.2.2. Hướng dẫn thực hành .........................................................................34
3.6. Giao tiếp với ADC0804 và cảm biến nhiệt độ LM35 ....................................35
3.6.1. Cơ sở lý thuyết .........................................................................................35
3.6.2. Thực hành đo nhiệt độ hiển thị lên LCD 16x2 .........................................37
3.6.2.1. Mục đích ............................................................................................37
3.6.2.2. Hướng dẫn thực hành .........................................................................37
3.7. Giao tiếp I2C sử dụng IC thời gian thực DS1307 ..........................................38
3.7.1. Giới thiệu giao thức I2C ...........................................................................38
3.7.2. Giới thiệu IC DS1307 ...............................................................................39
3.7.3. Thực hành hiển thị thời gian thực lên LCD 16x2 ....................................40
3.7.3.1. Mục đích ............................................................................................40
3.7.3.2. Hướng dẫn thực hành .........................................................................40
3.8. Điều khiển động cơ DC, giao tiếp với IC L298..............................................41
3.8.1. Nguyên lý điều khiển động cơ DC ...........................................................41
3.8.2. Giới thiệu IC L298 ...................................................................................42
3.8.3. Thực hành tắt/mở, thay đổi tốc độ, đảo chiều quay động cơ DC ............44
3.8.3.1. Mục đích ............................................................................................44
3.8.3.2. Hướng dẫn thực hành .........................................................................44
3.9. Giao tiếp với LED ma trận 8x8 ......................................................................45
3.9.1. Giới thiệu nguyên lý quét LED ma trận ...................................................45


vii

3.9.2. Thực hành hiển thị chữ lên LED ma trận 8x8 ..........................................46

3.9.2.1. Mục đích ............................................................................................46
3.9.2.2. Hướng dẫn thực hành .........................................................................47
3.10. UART và giao tiếp máy tính .........................................................................47
3.10.1. Giới thiệu UART ....................................................................................47
3.10.2. Giới thiệu module USB to TTL .............................................................48
3.10.3. Thực hành giao tiếp VĐK 8051 với máy tính ........................................49
3.10.3.1. Mục đích ..........................................................................................49
3.10.3.2. Hướng dẫn thực hành .......................................................................49
CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ VÀ KHUYẾN NGHỊ ..................................50
4.1. Đánh giá kết quả .............................................................................................50
4.2. Khuyến nghị và hướng mở rộng đề tài ...........................................................51
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................52
PHỤ LỤC 1 ...............................................................................................................53
Bài 1: Giao tiếp với Led đơn .................................................................................53
B1 – 1. Chớp tắt Led xen kẽ nhau ......................................................................53
B1 – 2. Tạo các hiệu ứng khác nhau cho 8 Led .................................................53
Bài 2: Giao tiếp với nút nhấn .................................................................................56
B2 – 1. Một nút nhấn bật tắt một Led ................................................................56
B2 – 2. Nút nhấn thay đổi hiệu ứng Led ............................................................57
B2 – 3. Bàn phím ma trận...................................................................................63
Bài 3. Nút nhấn điều khiển rơ le. ...........................................................................65
Bài 4. Led 7 đoạn anode chung .............................................................................66
B4 – 1. Hiển thị số 1, 2, 3, 4 trên 4 Led 7 đoạn .................................................67
B4 – 2. Đếm số từ 00 – 99 sử dụng 2 Led 7 đoạn .............................................68
Bài 5. Giao Tiếp với LCD16x2 .............................................................................70
Bài 6. Giao tiếp với cảm biến nhiệt độ LM35, ADC0804 .....................................73
Bài 7. Đồng hồ thời gian thực sử dụng DS1307 ....................................................78
Bài 8. Điều khiển động cơ, giao tiếp với IC L298.................................................98



viii

Bài 9. LED ma trận ..............................................................................................100
Bài 10. UART và giao tiếp máy tính ...................................................................101
PHỤ LỤC 2 .............................................................................................................105


ix

DANH MỤC CHỮ VIẾT TẮT

CLB: Câu lạc bộ
VĐK: Vi điều khiển
IC: Integrated Circuit
RAM: Random Access Memory
ROM: Read-Only Memory
PEROM: Flash Programmable and Erasable Read Only Memory
LED: Light Emitting Diode
LCD: Liquid crystal display
I2C: Inter-Intergrated Circuit
RTC: Real Time Clock
ASM: Assembly
VB6: Visual Basic 6


x

DANH MỤC HÌNH ẢNH
Hình 1.1. Sơ đồ khối của bộ VĐK 8051 .....................................................................5
Hình 1.2. Sơ đồ chân của bộ VĐK 8051 .....................................................................6

Hình 1.3. Sơ đồ mạch reset ngoài của 8051 ................................................................6
Hình 1.4. Mạch dao động cấp cho 8051 ......................................................................7
Hình 1.5. Nối điện trở kéo cho cổng 0 của 8051 .........................................................8
Hình 1.6. Giao diện Keil C 4 khi khởi động................................................................9
Hình 1.7. Giao diện thiết kế Keil C 4 ........................................................................10
Hình 1.8. Giao diện của Proteus khi khởi động.........................................................11
Hình 1.9. Giao diện thiết kế trên ISIS của proteus ....................................................12
Hình 1.10. Giao diện Altium khi khởi động ..............................................................13
Hình 1.11. Giao diện thiết kế trên Altium 10 ............................................................14
Hình 1.12. Giao diện Visual Basic 6 khi khởi động ..................................................15
Hình 1.13. Giao diện thiết kế của Visual Basic 6 ......................................................15
Hình 2.1: Sơ đồ khối bộ KIT thực hành ....................................................................16
Hình 2.2. Mạch xử lý trung tâm dùng VĐK 8051....................................................17
Hình 2.3. Mạch nguyên lý LED 7 đoạn.....................................................................17
Hình 2.4. Mạch nguyên lý LCD 16x2, DS1307, ADC0804 và LM35 ......................18
Hình 2.5. Mạch công suất L298 ................................................................................18
Hình 2.6. Mạch nguyên lý 74HC595 và ULN2803...................................................19
Hình 2.7. mạch nguyên lý LED ma trận ....................................................................19
Hình 2.8. Mạch nguyên lý LED đơn, rơ le, nút nhấn đơn, nút nhấn ma trận ............20
Hình 2.9. Các bo mạch sau khi thi công ....................................................................21
Hình 3.1. Giao tiếp một LED đơn .............................................................................23
Hình 3.2. Điều khiển 8 LED chớp tắt ........................................................................24
Hình 3.3. Cấu tạo và hình ảnh thực tế LED 7 đoạn...................................................25
Hình 3.4. Bảng mã LED 7 đoạn loại Anode chung ...................................................26
Hình 3.5. Giao tiếp LED 7 đoạn ................................................................................27


xi

Hình 3.6. Nút nhấn tắt mở LED đơn .........................................................................28

Hình 3.7. Bàn phím ma trận 4x4 ...............................................................................29
Hình 3.8. Giao tiếp với bàn phím ma trận 4x4 ..........................................................30
Hình 3.9. Giao tiếp với rơ le ......................................................................................31
Hình 3.10. Hình dạng thực tế và sơ đồ chân của LCD 16x2 .....................................32
Hình 3.11. Giao tiếp LCD hiển thị ký tự ...................................................................34
Hình 3.12. Sơ đồ chân của LM35 ..............................................................................35
Hình 3.13. Hình ảnh thực tế và sơ đồ chân cảu ADC0804 .......................................36
Hình 3.14. Giao tiếp cảm biến nhiệt độ LM35, ADC0804 .......................................38
Hình 3.15. Hình ảnh thực tế và sơ đồ chân của DS1307 ...........................................39
Hình 3.16. Giao tiếp DS1307 hiển thị thời gian thực lên LCD .................................41
Hình 3.17. Mô tả mạch cầu H ....................................................................................42
Hình 3.18. Duty Cycle ...............................................................................................42
Hình 3.19. Hình ảnh thực tế IC L298 ........................................................................43
Hình 3.20. Sơ đồ chân IC L298 .................................................................................43
Hình 3.21. Giao tiếp L298 điều khiển động cơ .........................................................45
Hình 3.22. Cấu tạo LED ma trận 8x8 ........................................................................45
Hình 3.23. Hiển thị chữ A lên LED ma trận 8x8.......................................................46
Hình 3.24. Giao tiếp LED ma trận 8x8 .....................................................................47
Hình 3.25. Module USB to COM ..............................................................................48
Hình 3.26. Giao tiếp VĐK với máy tính ...................................................................49


xii

DANH MỤC BẢNG
Bảng 1.1. Bảng mô tả chức năng riêng của cổng P3 ..................................................7
Bảng 3.1. Tên và chức năng các chân của LCD .......................................................33
Bảng 3.2. Tập lệnh thường dùng trong LCD ............................................................34
Bảng 3.3. Tên và chức năng các chân của ADC0804 ...............................................37
Bảng 3.4. Tên và chức năng các chân của DS1307 ..................................................40

Bảng 3.5. Tên và chức năng các chân của IC L298 ..................................................44


1

MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Kỹ thuật vi điều khiển hiện nay đang rất phát triển, nó được ứng dụng vào rất
nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh
vực khác nữa. So với kỹ thuật số thì kỹ thuật vi điều khiển nhỏ gọn hơn rất nhiều do
nó được tích hợp lại và có khả năng lập trình được để điều khiển nên rất tiện dụng
và cơ động.
Hiện nay có rất nhiều bộ kit có tính tích hợp cao bán sẵn trên thị trường như
bộ KIT 8051 Pro [1], KIT AT89S52 V3 NEW [2] của Minh Hà chế tạo. Các bộ KIT
này có những ưu điểm như hỗ trợ cho người dùng nhiều chức năng, các linh kiện đã
được tích hợp và kết nối sẵn trên cùng một bo mạch. Tuy nhiên vì tính tích hợp trên
cùng một bo mạch nên các bộ KIT này chỉ có thể đáp ứng cho nhu cầu để học VĐK
8051 mà không thể học được các loại VĐK khác như PIC, AVR,...và các bộ KIT
này có giá thành khá cao trên thị trường.
CLB Điện – Điện tử thuộc khoa Điện – Điện tử, trường Đại học Nha Trang
được thành lập từ năm 2010, CLB là nơi để các bạn sinh viên học tập và chia sẻ
kiến thức, kinh nghiệm cho nhau. Do mới được thành lập không lâu nên hiện tại
CLB vẫn còn thiếu một số thiết bị thiết yếu cho sinh viên học tập và trao đổi kiến
thức. Hiện tại thì CLB cũng đã có một số bo mạch thí nghiệm sử dụng IC số và một
số đồ án tốt nghiệp do các bạn khóa trước để lại phục vụ cho các bạn sinh viên khóa
sau nghiên cứu. Tuy nhiên, hiện tại CLB đang rất cần một bộ KIT thí nghiệm về vi
điều khiển, có thể học được nhiều loại VĐK khác nhau, để phục vụ cho nhu cầu tìm
hiểu và học tập về kỹ thuật vi điều khiển của sinh viên trong khoa.
Vì những lý do trên, trong đồ án tốt nghiệp cuối khóa này em chọn đề tài
“Thiết kế, chế tạo bộ KIT thí nghiệm vi điều khiển 8051 phục vụ sinh hoạt ngoại

khóa tại CLB Điện – Điện tử”. Đề tài này sẽ ứng dụng những kiến thức đã học về
cấu kiện điện tử, kỹ thuật vi điều khiển, kỹ thuật số, thiết kế mạch điện tử để thiết
kế một bộ KIT thí nghiệm với những ứng dụng thực tế để sinh viên có thể hiểu rõ
hơn về VĐK 8051.


2

2. MỤC ĐÍCH CỦA ĐỀ TÀI
-

Khảo sát thực trạng hiện nay về trang thiết bị phục vụ cho hoạt động ngoại
khóa của CLB Điện – Điện tử.

-

Trình bày tổng quan về VĐK 8051 và ngôn ngữ lập trình C với trình dịch
Keil C, phần mềm mô phỏng mạch điện tử Proteus 7, phần mềm vẽ mạch in
Altium Designer 10 và phần mềm Visual Basic 6.

-

Thiết kế, chế tạo bộ KIT thí nghiệm gồm nhiều module trên một bàn thí
nghiệm: Giao tiếp VĐK với LED, bàn phím, nút nhấn; giao tiếp VĐK với
LCD, LED 7 đoạn; giao tiếp VĐK với động cơ DC, truyền thông nối tiếp
đồng bộ SPI, I2C.

-

Viết tài liệu hướng dẫn thực hành trên bộ KIT.


3. GIỚI HẠN CỦA ĐỀ TÀI
Bộ KIT chỉ dừng lại ở quy mô nhỏ.
4. PHƯƠNG PHÁP NGHIÊN CỨU
4.1. Phương pháp nghiên cứu lý thuyết
Nghiên cứu cấu trúc phần cứng và lập trình điều khiển cho 8051 và các thiết bị
ngoại vi bằng ngôn ngữ lập trình C. Các phương pháp thiết kế và chế tạo mạch điện
tử.
4.2. Phương pháp nghiên cứu thực nghiệm
-

Tìm hiểu thông số của các bo mạch liên quan trên thực tế đã có, tham khảo
một số bộ thí nghiệm vi xử lý tại phòng Kỹ Thuật Vi Xử Lý trường Đại Học
Nha Trang.

-

Thiết kế phần nguồn cấp cho các bo mạch, phần bảng gỗ dùng để đặt các bo
mạch lên phục vụ cho quá trình thí nghiệm.

-

Vẽ mạch nguyên lý, mạch in trên phần mềm Altium Designer 10.

-

Chế tạo mạch theo phương pháp thủ công.

-


Thử nghiệm, đánh giá, hiệu chỉnh trên các bo mạch và đưa ra các kết luận,
khuyến nghị.


3

5. BỐ CỤC CỦA ĐỀ TÀI
Đồ án được thực hiện theo các nội dung sau:
-

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

-

CHƯƠNG 2. THIẾT KẾ VÀ THI CÔNG BỘ KIT THÍ NGHIỆM

-

CHƯƠNG 3. ĐỀ XUẤT CÁC BÀI THỰC HÀNH TRÊN BỘ KIT

-

CHƯƠNG 4. ĐÁNH GIÁ KẾT QUẢ VÀ KHUYẾN NGHỊ

-

PHỤ LỤC 1

-


PHỤ LỤC 2


4

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Dựa trên yêu cầu thiết kế bộ KIT thí nghiệm VĐK 8051 có thể thực hành được
các bài thực hành từ đơn giản đến phức tạp như: Giao tiếp với LED đơn, nút nhấn,
LED ma trận, LCD, điều khiển động cơ và truyền thông nối tiếp, giao tiếp với máy
tính. Nên những kiến thức cơ bản về VĐK 8051, các loại ngoại vi trên và các phần
mềm hỗ trợ sẽ được trình bày trong chương này. Cụ thể như sau:
-

Giới thiệu về VĐK 8051

-

Giới thiệu phần mềm Keil c 4

-

Giới thiệu phần mềm Proteus 7

-

Giới thiệu phần mềm Altium Designer 10

-

Giới thiệu phần mềm Visual Basic 6


1.1. GIỚI THIỆU VĐK 8051
1.1.1. Giới thiệu chung
Vào năm 1981 hãng Intel giới thiệu bộ vi điều khiển được gọi là 8051 [3]. Bộ
vi điều khiển này có 128 byte RAM, 4K byte ROM trên chip, hai bộ định thời, một
cổng nối tiếp và 4 cổng (độ rộng 8 bit) vào – ra tất cả được đặt trên một chip. 8051
là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một
thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dự liệu 8 bit để xử lý. 8051
đã trở lên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán các
dạng biến thể của 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với
các tốc độ khác nhau và dung lượng ROM trên chip khác nhau. Mặc dù có nhiều
biến thể khác nhau của 8051 về tốc độ và dung lượng nhớ ROM trên chip, nhưng tất
cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu
viết chương trình của mình cho một phiên bản nào của 8051 thì nó cũng sẽ chạy với
mọi phiên bản khác mà không phân biệt nó được sản xuất từ hãng nào.
1.1.2. Cấu trúc phần cứng VĐK 8051
1.1.2.1. Sơ đồ khối của 8051
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:


5

-

4 KB PEROM 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.

-

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.

-

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 (Powerdown).

Hình 1.1. Sơ đồ khối của bộ VĐK 8051


6

1.1.2.2. Sơ đồ chân và chức năng các chân của VĐK 8051

Hình 1.2. Sơ đồ chân của bộ VĐK 8051
Chân 1 đến 8: Được gọi là Cổng 1 (Port 1), Tám chân này có duy nhất 1 chức
năng là xuất và nhập. Cổng 1 có thể xuất và nhập theo bit hoặc byte. Ta đánh tên
cho mỗi chân của Port 1 là P1.X (X = 0 đến 7).
Chân 9: Chân vào reset của 8051 Khi tín hiệu này được đưa lên mức cao
trong ít nhất là 2 chu kỳ máy [3], các thanh ghi trong bộ vi điều khiển được tải
những giá trị thích hợp để khởi động hệ thống. Hay nói cách khác là vi điều khiển

sẽ bị reset nếu chân này được kích hoạt mức cao.

Hình 1.3. Sơ đồ mạch reset ngoài của 8051


7

Chân 10 đến 17: Được gọi là Cổng 3 (Port 3) Tám chân này ngoài chức năng
là xuất và nhập như các chân ở cổng 1 (chân 1 đến 8) thì mỗi chân này còn có chức
năng riêng nữa, cụ thể như sau:
Chức năng

Bit

Tên

P3.0

RxD

Chân nhận dữ liệu cho cổng nối tiếp

P3.1

TxD

Chân truyền dữ liệu cho cổng nối tiếp

P3.2


INT0

Chân ngắt ngoài 0

P3.3

INT1

Chân ngắt ngoài 1

P3.4

T0

Ngõ vào của Timer/Counter 0

P3.5

T1

Ngõ vào của Timer/Counter 1

P3.6

WR

Xung ghi bộ nhớ dữ liệu ngoài

P3.7


RD

Xung đọc bộ nhớ dữ liệu ngoài

Bảng 1.1. Bảng mô tả chức năng riêng của cổng P3
Chân 18 và 19 (XTAL1 & XTAL2): Hai chân này được sử dụng để nối với
bộ dao động ngoài.

Hình 1.4. Mạch dao động cấp cho 8051
Thông thường một bộ dao động thạch anh sẽ được nối tới các chân đầu vào
XTAL1 (chân 19) và XTAL2 (chân 18) cùng với hai tụ gốm giá trị khoảng 30pF.
Các hệ thống xây dựng trên 8051 thường có tần số thạch anh từ 10 đến 40 MHz,
thông thường ta dùng thạch anh 12 Mhz.
Chân 20: Được nối vào chân 0V của nguồn cấp.


8

Chân 21 đến chân 28: Được gọi là cổng 2 (Port 2) Tám chân của cổng 2 có 2
công dụng, ngoài chức năng là cổng xuất và nhập như cổng 1 thì cổng 2 này còn là
byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
Chân 29 (PSEN): Chân PSEN là chân điều khiển đọc chương trình ở bộ nhớ
ngoài, nó được nối với chân OE của ROM ngoài để cho phép đọc các byte mã lệnh
trên ROM ngoài. PSEN ở mức thấp trong thời gian đọc mã lệnh. Khi thực hiện
chương trình trong ROM nội thì PSEN được duy trì ở mức cao.
Chân 30 (ALE): Chân ALE cho phép tách các đường dữ liệu và các đường địa
chỉ tại Port 0 và Port 2.
Chân 31 (EA): Tín hiệu chân EA cho phép chọn bộ nhớ chương trình là bộ
nhớ trong hay ngoài vi điều khiển. Nếu chân EA được nối ở mức cao (nối nguồn
Vcc), thì vi điều khiển thi hành chương trình trong ROM nội. Nếu chân EA ở mức

thấp (được nối GND) thì vi điều khiển thi hành chương trình từ bộ nhớ ngoài.
Chân 32 đến 39: Được gọi là cổng 0 (Port 0) Cổng 0 gồm 8 chân cũng có 2
công dụng, ngoài chức năng xuất nhập, cổng 0 còn là bus đa hợp dữ liệu và địa chỉ,
chức năng này sẽ được sử dụng khi 8051 giao tiếp với các biết bị ngoài có kiến trúc
Bus như các vi mạch nhớ... Vì cổng P0 là một máng mở khác so với các cổng P1,
P2 và P3 nên các chân ở cổng 0 phải được nối với điện trở kéo khi sử dụng các chân
này như chân vào/ra. Điện trở này tùy thuộc vào đặc tính ngõ vào của thành phần
ghép nối với chân của port 0.

Hình 1.5. Nối điện trở kéo cho cổng 0 của 8051


9

Chân 40: Chân nguồn của vi điều khiển, được nối vào chân Vcc của nguồn.
1.1.3. Tổ chức bộ nhớ
1.1.3.1. Bộ nhớ chương trình
Trên vi điều khiển 8051/8052 đều có cả bộ nhớ chương trình (ROM) và bộ
nhớ dữ liệu (RAM). Tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế. Khi
thiết kế các ứng dụng đòi hỏi bộ nhớ lớn có thể dùng bộ nhớ ngoài.
1.1.3.2. Bộ nhớ dữ liệu
Bộ nhớ dữ liệu tồn tại độc lập so với bộ nhớ chương trình. Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128 byte và có thể mở rộng
với bộ nhớ dữ liệu ngoài lên tới 64 KByte.
1.1.3.3. Các thanh ghi có chức năng đặc biệt
Thanh ghi của 8051 được dùng để lưu trữ tạm thời dữ liệu hoặc địa chỉ. Các
thanh ghi này chủ yếu có kích thước 8 bit, 8 bit của các thanh ghi được sắp xếp như
hình dưới trong đó bit D7 là bit có trọng số cao nhất, còn bit D0 là bit có trọng số
thấp nhất.
1.2. Giới thiệu phần mềm Keil C uvision 4

1.3.1. Giới thiệu chung
Keil C uvision 4 là một phần mềm của hãng Keil [4], phần mềm này hỗ trợ
cho người dùng trong việc lập trình cho vi điều khiển các dòng khác nhau (Atmel,
AVR,..). Keil C giúp người dùng soạn thảo và biên dịch một chương trình C hay cả
ASM thành ngôn ngữ máy để nạp vào vi điều khiển giúp tương tác giữa vi điều
khiển và người lập trình.

Hình 1.6. Giao diện Keil C 4 khi khởi động


10

1.2.2. Cách tạo một project mới
Để tạo một project mới tiến hành làm các bước sau:
-

Bước 1: Chọn Project => New uVision Project... => Đặt tên và chọn nơi
lưu project.

-

Bước 2: Chọn CPU, chọn Atmel => AT89S52 => OK.

-

Bước 3: Tạo một cửa sổ để viết chương trình, chọn File => New, hoặc
nhấn tổ hợp phím Ctrl + N. Lưu file với đuôi .c.

-


Bước 4: Add file .c vào cửa sổ chứa project.
o Trong Target1, nhấn chuột phải vào Suorce Group 1 => Add File to
Group ‘Source Group 1’ => chọn file có đuôi .c mới tạo => Add =>
Close.

-

Bước 5: Tạo file .hex, Kích chuột phải vào Target 1 => chọn Options for
Target hoặc nhấn tổ hợp phím Alt + F7 => chọn thẻ Output => tích vào ô
Creat HEX File => OK.

Hình 1.7. Giao diện thiết kế Keil C 4
1.3. Giới thiệu phần mềm mô phỏng Proteus
1.3.1. Giới thiệu chung
Proteus là phần mềm dùng để thiết kế và mô phỏng hoạt động của mạch điện
tử do hãng Labcenter Electronics nghiên cứu và phát triển [5]. Proteus hỗ trợ mô


11

phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt phù hợp khi mô phỏng
các mạch điện tử số và vi xử lý, MCU như PIC, 8051, AVR, Motorola.
Proteus bao gồm 2 chương trình: ISIS cho phép thiết kế và mô phỏng mạch
điện tử và ARES dùng để vẽ mạch in (trong đồ án này chỉ sử dụng phần ISIS để vẽ
mạch điện và mô phỏng mà không sử dụng ARES). Proteus là công cụ mô phỏng
cho các loại VĐK khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR,
HC11, MSP430, ARM7/LPC2000, …các giao tiếp I2C, SPI, CAN, USB,
Ethenet,… Ngòai ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả.
Sức mạnh của nó là có thể mô phỏng hoạt động của các hệ VĐK một cách trực
quan, sinh động mà không cần thêm phần mềm phụ trợ nào.

Những đặc điểm của ISIS là:
-

Chạy trên nền Windows 98/Me/2k/XP/Win7.

-

Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch.

-

Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng.

-

Xuất file thống kê linh kiện cho mạch.

-

Xuất ra file Netlist tương thích với các chương trình làm mạch in thông
dụng.

-

Đối với người thiết kế mạch chuyên nghiệp, ISIS tích hợp nhiều công cụ
giúp cho việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn
linh kiện.

-


Thiết kế theo cấu trúc (hierachical design).

-

Khả năng tự động đánh số linh kiện.

Hình 1.8. Giao diện của Proteus khi khởi động


12

1.3.2. Cách tạo một bản vẽ mới
Để tạo một bản thiết kế mới và mô phỏng tiến hành như sau:
Bước 1: Chọn File => New Design... => Chọn khổ giấy => OK.
Bước 2: Lấy linh kiện => place component (hoặc chữ P) => kết nối mạch theo
sơ đồ
Bước 3: Nạp chương trình cho VĐK (nếu cần): double click lên VĐK => chọn
file. Hex => OK
Bước 4: Mô phỏng (click vào nút Run)

Hình 1.9. Giao diện thiết kế trên ISIS của proteus
1.4. Giới thiệu phần mềm Altium Designer 10
1.4.1. Giới thiệu chung
Phần mềm Altium Designer được phát triển từ phần mềm Protel của hãng
Altium [6]. Nó là một phần mềm dùng để thiết kế mạch nguyên lý và mạch in có
giao diện thân thiện, sử dụng đơn giản. Điểm mạnh của Altium là nó có thư viện
linh kiện và thư viện chân cắm vô cùng phong phú, được cộng đồng hỗ trợ liên tục.
Đồng thời nó có thể đọc được các file thiết kế từ các phần mềm khác như orcad,
eagle bằng cách sử dụng công cụ Import, làm cho Altium Designer mạnh và tiện



×