1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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ử

118 602 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 118
Dung lượng 3,02 MB

Nội dung

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

Trang 1

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

Trang 2

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Ử

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

- 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ị

Trang 16

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

Trang 17

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:

Trang 18

- 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

Trang 19

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

Trang 20

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:

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

Trang 21

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

Trang 22

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

Trang 23

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ô

Trang 24

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

Trang 25

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

Trang 26

dụng Việc xuất ra các file CAM, CNC cũng rất chuẩn và thực hiện rất nhanh chóng

Hình 1.10 Giao diện Altium khi khởi động

1.4.2 Thiết kế mạch với Altium Designer 10

Các bước tạo một project mới:

- Bước 1: Chọn File => New => Project => PCB Projects

- Bước 2: Vẽ mạch nguyên lý:

o Thêm thư viện linh kiện: Chọn Design => Browse Library (hoặc

nhấn phím tắt D B) => Libraries => Install => Chọn thư viện =>

Open => Close

o Lấy linh kiện từ thư viện: Design => Browse Library (hoặc nhấn

phím tắt D B) => Lấy linh kiện teho yêu cầu => Vẽ mạch điện

theo sơ đồ nguyên lý

- Bước 3: Add file vẽ mạch nguyên lý:

o Kích chuột phải vào PCB_Project1.PrjPCB => chọn Add New to Project => chọn Schematic để add file mạch nguyên lý

- Bước 4: Add file vẽ mạch in:

o Kích chột phải vào PCB_Project1.PrjPCB => chọn Add New to Project => chọn PCB để add file mạch in

Trang 27

Hình 1.11 Giao diện thiết kế trên Altium 10

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

1.5.1 Giới thiệu chung

Visual Basic 6.0 là một ngôn ngữ lập trình hướng đối tượng, trực quan trên môi trường Windows VB cung cấp một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng, có thể nói đây là cách nhanh và tốt nhất để học

và lập trình ứng dụng trên Microsoft Windows

Phần "Visual- Trực quan" đề cập đến phương pháp được sử dụng để tạo giao diện đồ họa người dùng (GUI - Graphical User Interface) VB có sẵn rất nhiều những bộ phận trực quan gọi là các điều khiển (Controls) mà người lập trình có thể sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung giao diện màn hình, gọi là form Việc thiết kế các giao diện người dùng ứng dụng trên VB có thể hình dung đơn giản như việc vẽ giao diện trên Word hoặc trên Paint Prush của Windows

Trang 28

Hình 1.12 Giao diện Visual Basic 6 khi khởi động

1.5.2 Cách tạo một project mới

Cách tạo một project mới:

Bước 1: chọn File => New Project => Đặt tên => OK

Bước 2: Thêm các đối tượng => Từ hộp công cụ, kéo các đối tượng tương ứng

ra cửa sổ Form

Bước 3: Lập trình cho các đối tượng => Nhấn đúp chuột vào các đối tượng

Hình 1.13 Giao diện thiết kế của Visual Basic 6

Trang 29

CHƯƠNG 2 THIẾT KẾ VÀ THI CÔNG BỘ KIT

Sau khi tìm hiểu cơ sở lý thuyết về VĐK, các thiết bị ngoại vi, và các phần mềm hỗ trợ, kết hợp với tham khảo các thông số của các bảng mạch trong bộ KIT thí nghiệm của phòng Thực hành Kỹ thuật Vi xử lý, sẽ tiến hành thiết kế và chế tạo

bộ KIT thí nghiệm Nội dung chính của chương gồm có:

- Sơ đồ khối của bộ KIT

- Sơ đồ nguyên lý của các khối trong bộ KIT

- Chế tạo mạch, lắp ráp linh kiện lên mạch

2.1 Sơ đồ khối của bộ KIT

Bộ KIT thực hành bao gồm bộ điều khiển trung tâm là VĐK 8051 đi kèm với mạch nạp, các bảng mạch khác được thiết kế rời rạc theo từng mô-đun có thể tháo

lắp linh động Sơ đồ khối của bộ KIT được thể hiện như hình 2.1

Hình 2.1: Sơ đồ khối bộ KIT thực hành

2.2 Sơ đồ nguyên lý các khối trong bộ KIT

Để đáp ứng nhu cầu nhỏ gọn, thuận tiện cho việc sử dụng, di chuyển dễ dàng

và đặc biệt là có thể mở rộng được bộ vi xử lý trung tâm thành các loại VĐK khác như PIC, AVR, ARDUINO Bộ KIT được thiết kế thành 7 bo mạch riêng lẻ, có độ tích hợp không quá sâu để người học có thể tự kết nối các khối, qua đó hiểu hơn về nguyên lý hoạt động của từng mạch Các khối trong bộ KIT bao gồm:

Trang 30

- Khối vi xử lý trung tâm sử dụng VĐK 8051

Hình 2.2 Mạch xử lý trung tâm dùng VĐK 8051

- Khối hiển thị Led 7 đoạn

Hình 2.3 Mạch nguyên lý LED 7 đoạn

Trang 31

- Khối LCD 16x2IC thời gian thực DS1307 và ADC0804

Hình 2.4 Mạch nguyên lý LCD 16x2, DS1307, ADC0804 và LM35

- Mạch điều khiển động cơ sử dụng IC L298

Hình 2.5 Mạch công suất L298

Trang 32

- Khối mở rộng ngõ ra gồm IC 74HC595 và IC ULN2803

Hình 2.6 Mạch nguyên lý 74HC595 và ULN2803

- Khối Led ma trận 8x16

Hình 2.7 mạch nguyên lý LED ma trận

Trang 33

- Khối bàn phím ma trận 4x4, 8 Led đơn, hai nút nhấn đơn và 2 rơ le

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

2.3 Chế tạo mạch, lắp ráp linh kiện

Bo mạch vi xử lý trung tâm sẽ được cố định trên một bảng, khi thí nghiệm đến bài nào thì sẽ lắp các bo mạch tương ứng lên bảng Các bo mạch sẽ được kết nối với nhau qua các dây bus

Các bước thi công:

- Thiết kế mạch in bằng phần mềm Altium Designer 10 Từ file mạch in đã

thiết kế trên phần mềm, tiến hành in các bo mạch in ra giấy chuyên dụng

- Chuyển mạch từ giấy qua bo mạch đồng bằng phương pháp dùng bàn ủi thủ

công

- Rửa mạch, khoan lỗ và ráp linh kiện thành các bo mạch hoàn chỉnh

Trang 34

- Lắp ráp các bo mạch lên bảng mạch chính có sẵn khối nguồn cấp 12 V và 5

V để tạo thành bộ KIT hoàn chỉnh, như Hình 2.8

Hình 2.9 Các bo mạch sau khi thi công

Trang 35

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

Dựa trên những ứng dụng thực tế thường gặp của VĐK 8051, và mức độ phức tạp của các bài thực hành sao cho phù hợp với đa số sinh viên tham gia sinh hoạt ngoại khóa tại CLB Điện – Điện tử Em xin đề xuất một số bài thực hành trên bộ KIT như sau:

- Bài 1: Giao tiếp với LED đơn

- Bài 2: Giao tiếp với LED 7 đoạn

- Bài 3: Giao tiếp với nút nhấn

- Bài 4: Giao tiếp với Rơ le

- Bài 5: Giao tiếp với LCD 16x2

- Bài 6: Giao tiếp với ADC0804 và cảm biến nhiệt độ LM35

- Bài 7: Giao tiếp I2C sử dụng IC thời gian thực DS1307

- Bài 8: Điều khiển động cơ, giao tiếp với IC L298

- Bài 9: Giao tiếp với LED ma trận 8x8

- Bài 10: UART và giao tiếp máy tính

3.1 Giao tiếp với LED đơn

Trang 36

Hình 3.1 Giao tiếp một LED đơn

- Nạp đoạn mã chương trình sau vào VĐK:

Trang 37

Delay_ms(500);// Tao tre 500ms

- Sử dụng dây bus 8 để kết nối 8 cổng của VĐK(từ P1.0 đến P1.7) với 8 LED

đơn giữa hai bo mạch theo sơ đồ nguyên lý, như Hình 3.2

Hình 3.2 Điều khiển 8 LED chớp tắt

- Nạp đoạn mã chương trình sau cho VĐK 8051:

#include <REGX52.H>

void Delay_ms(int t) // Chuong trinh con tao tre ms

{

Trang 38

unsigned int x, y; // Khai bao cac bien trong chuong trinh

P1 = 0x00; // Cho tat ca cac chan cua PORT1 xuong 0(0V)

Delay_ms(500); // Tao tre 500ms

P01= 0xFF; // Cho tat ca cac chan cua PORT1 lên muc 1(5V)

Delay_ms(500); // Tao tre 500ms

}

}

- Cấp nguồn cho mạch và quan sát kết quả trên 8 LED

Để điều khiển 8 LED sáng tắt với các hiệu ứng khác nhau như: 8 LED sáng tắt xen kẽ nhau, sáng dần từng LED, 4 LED sáng 4 LED tắt liên tục, vẫn sử dụng sơ

đồ kết nối như trên, chỉ thay đổi phần code lập trình Phần code lập trình của các hiệu ứng khác nhau sẽ được trình bày ở bài 2 phần phụ lục 1

3.2 Giao tiếp với LED 7 đoạn

3.2.1 Giới thiệu led 7 đoạn

Cấu tạo:

Hình 3.3 Cấu tạo và hình ảnh thực tế LED 7 đoạn

Trang 39

LED 7 đoạn có cấu tạo bao gồm 7 LED đơn xếp theo hình phía trên và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của LED 7 thanh 8 LED đơn trên led 7 thanh có Anode (cực +) hoặc Cathode (cực -) được nối chung với nhau vào một điểm và được đưa chân ra ngoài để kết nối với mạch điện 7 cực còn lại trên mỗi led đơn của LED 7 đoạn và 1 cực trên LED đơn ở góc dưới, bên phải của LED 7 đoạn được đưa thành 8 chân riêng để điều khiển cho LED sáng tắt theo ý muốn

Nếu LED 7 đoạn có Anode (cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, LED chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0

Nếu LED 7 đoạn có Cathode (cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các LED đơn, LED chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1

Trong đồ án sử dụng LED 7 đoạn loại Anode chung Để điều khiển LED hiển thị các co số từ 0 đến 9, sử dụng bảng mã LED 7 đoạn như sau:

Hình 3.4 Bảng mã LED 7 đoạn loại Anode chung

Trang 40

3.2.2 Thực hành hiển thị số 1, 2, 3, 4 trên 4 LED 7 đoạn

- Mạch hiển thị LED 7 đoạn

- Sử dụng dây bus kết nối các bo mạch lại theo sơ đồ nguyên lý, như Hình 3.5

Hình 3.5 Giao tiếp LED 7 đoạn

- Nạp đoạn mã chương trình của bài 4 (B4 – 1) nằm trong phần phụ lục 1

- Cấp nguồn cho mạch và quan sát kết quả trên LED 7 đoạn

Để thực hành hiển thị đếm số từ 00 đến 99 trên LED 7 đoạn, vẫn sử dụng sơ

đồ kết nối như trên, chỉ thay đổi phần code lập trình nạp cho VĐK Code lập trình tham khảo tại bài 4 (B4 – 2) nằm trong phần phụ lục 1

Ngày đăng: 01/10/2017, 17:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w