1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế bộ KIT thực hành vi điều khiển 8051

97 912 2

Đ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 97
Dung lượng 3,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài của em gồm 4 phần:Phần I: GIỚI THIỆU CHUNG. Phần II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ 8051 VÀ AT89S52.Phần III: NỘI DUNG THIẾT KẾ.Phần IV: KẾT LUẬNTrong quá trình thực hiện đề tài do lượng kiến thức còn hạn chế nên em không tránh khỏi những thiếu sót. Em rất mong thầy cô đóng góp ý kiến để em có thể ứng dụng đề tài vào thực tế.

Trang 1

NHẬN XÉT CỦA HỘI ĐỒNG BẢO VÊ

Hà Nội, ngày… tháng … năm 2012

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Hà Nội, ngày… tháng … năm 2012

Trang 3

MỤC LỤC

MỤC LỤC 3

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

DANH MỤC BẢNG 8

DANH MỤC HÌNH VẼ 12

LỜI NÓI ĐẦU 16

PHẦN I: GIỚI THIÊU CHUNG 18

1.1 GIỚI THIÊU CHUNG VỀ VI ĐIỀU KHIỂN 18

1.2 GIỚI THIÊU MỘT SỐ HỌ VI ĐIỀU KHIỂN THÔNG DỤNG 18

1.2.1 Vi điều khiển của Atmel 18

1.2.2 Vi điều khiển của Microchip 19

1.2.3 Vi điều khiển của Cypress 19

1.2.4 Vi điều khiển của Hitachi 20

1.2.5 Vi điều khiển của Motorola 20

1.2.6 Vi điều khiển của Maxim 20

PHẦN II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ 8051 VÀ AT89S52 21

2.1 GIỚI THIÊU CHUNG VỀ HỌ 8051 21

Bảng 2.1 Giới thiệu một số IC họ 8051 22

2.1.1 Cấu trúc bus 22

2.1.2 Bộ nhớ chương trình 22

2.1.3 Bộ nhớ dữ liệu 22

2.2 GIỚI THIÊU TỔNG QUAN VỀ AT89S52 23

2.2.1 Sơ đồ khối và chức năng các khối của họ 8051 24

2.2.2 Sơ đồ chân và chức năng các chân của họ 8051 26

2.2.3 Sơ đồ cấu trúc AT89S52 26

Hình 2.3 Sơ đồ khối Vi điều khiển họ 89S52 27

2.3 SƠ LƯỢC VỀ CÁC CHÂN IC 89S52 27

Hình 2.4 Hình dạng sơ đồ IC 89S52 28

2.4 CHỨC NĂNG CÁC CHÂN IC 89S52 28

2.4.1 Port 0 : 28

2.4.2 Port 1: 29

2.4.3 Port 2: 30

2.4.4 Port 3( P3.0-P3.7) : 30

2.4.5 Chân /PSEN( Program Store Enable) 31

2.4.6 Chân ALE ( Address Latch Enable) 31

2.4.7 Chân /EA( External Access) 32

Trang 4

2.4.8 RST( Reset) 32

2.4.9 XTAL1, XTAL2 32

2.4.10 Vcc, GND 32

2.5 HOẠT ĐỘNG ĐỊNH THỜI 32

2.5.1 Giới thiệu 32

2.5.2 Các thanh ghi của bộ định thời 33

2.5.2.1 Các thanh ghi của Timer0, Timer1 33

2.5.2.2 Các thanh ghi của Timer2 35

2.5.3 Các chế độ của bộ định thời 36

2.5.3.1 Các chế độ của Timer0 và Timer1 36

Hình 2.9 Hoạt động của Timer0 và Timer1 ở chế độ 0 37

2.5.3.2 Các chế độ của Timer 2 40

Bảng 2.3 Các chế độ hoạt động của timer 2 40

Hình 2.16 Sử dụng Timer 2 tạo tốc độ baud 43

Hình 2.17 Timer 2 trong chế độ tạo xung 44

2.6 NGẮT VÀ XỬ LÝ NGẮT 44

2.6.1 Giới thiệu 44

2.6.2 Tổ chức ngắt 45

Hình 2.18 Các nguồn ngắt của AT89S52 45

2.6.3 Xử lý ngắt 48

2.7 CỔNG NỐI TIẾP 49

2.7.1 Giới thiệu 49

Hình 2.19 Mô tả hoạt động của cổng nối tiếp 49

Hình 2.20 Sơ đồ khối cổng nối tiếp của 8051 50

2.7.2 Các thanh ghi của cổng nối tiếp 50

2.7.3 Các chế độ hoạt động 52

2.7.3.1 Chế độ 0 52

Hình 2.21 Hoạt động của cổng nối tiếp ở chế độ 0 52

2.7.3.2 Chế độ 1 53

Hình 2.22 Giản đồ truyền nhận dữ liệu ở chế độ 0 53

Hình 2.23 Giản đồ truyền nhận dữ liệu ở chế độ 1 53

Hình 2.24 Giản đồ truyền nhận dữ liệu ở chế độ 2 và 3 54

Hình 2.25 Dùng Timer 1, 2 cung cấp tốc độ baud cho cổng nối tiếp 54

Hình 2.26 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp (TCLK=RCLK=0) 54

Hình 2.27 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp 55

Trang 5

2.7.3.3 Chế độ 2 55

Hình 2.28 Tốc độ baud của chế độ 2 55

2.7.3.4 Chế độ 3 55

PHẦN III: NỘI DUNG THIẾT KẾ 56

CHƯƠNG I: GIỚI THIÊU CÁC MODUL VÀ CÁC LINH KIÊN DÙNG TRONG MẠCH 56

1 KHỐI NGUỒN 56

2 KHỐI GHÉP NỐI VỚI MÁY TÍNH QUA CỔNG COM 56

2.1 Cổng nối tiếp (COM) 57

2.2 IC MAX232 58

3 KHỐI VI ĐIỀU KHIỂN 58

3.1.Mạch tạo dao động 59

3.2 Mạch reset 60

Hình 3.7 Sơ đồ mạch reset của 8051 60

4 KHỐI QUÉT LED MA TRẬN 8x8 60

Hình 3.8 Sơ đồ khối quét led matrix 60

4.1 IC 74HC595 61

4.2 LED MATRIX 8X8 62

4.2.1 Sơ đồ nguyên lý của ma trận led 8x8 62

Hình 3.10 Sơ đồ chân và hình ảnh thực tế của Led Matrix 8x8 62

4.2.2 Cách quét LED ma trận 8x8 62

5 KHỐI GIAO TIẾP LCD 63

5.1 Ý nghĩa các chân của LCD hiển thị ký tự 64

5.2 Nguyên tắc hiển thị ký tự trên LCD 64

6 KHỐI ADC0804 65

7 KHỐI HIỂN THỊ THỜI GIAN THỰC 69

8 KHỐI NGẮT HỒNG NGOẠI 70

8.1 OPTO 71

8.2 LM358 71

9 KHỐI QUÉT LED 7 ĐOẠN 72

Hình 3.21 Hình ảnh thực tế của led quét 4 72

Hình 3.22 Sơ đồ chân của led quet 4 73

10 KHỐI QUÉT LED ĐƠN 74

Hình 3.23 Sơ đồ khối quét led đơn 74

11 KHỐI GHÉP NỐI MA TRẬN PHÍM 4x4 75

Hình 3.24 Khối ghép nối ma trận phím 4x4 75

12 KHỐI ĐIỀU KHIỂN ĐỘNG CƠ 1 CHIỀU 76

Trang 6

Hình 3.25 Sơ đồ khối điều khiển động cơ một chiều 76

Hình 3.26 Sơ đồ mạch cầu H 77

13 KHỐI NẠP CHƯƠNG TRÌNH THEO CHUẨN ISP 77

Hình 3.27 Sơ đồ khối nạp chương trình theo chuẩn ISP 77

14 MẠCH NẠP CHO AT89S52 DÙNG ATMEGA8 (USB TO COM) 78

Hình 3.28 Sơ đồ mạch nạp chương trình dùng ATMEGA8 78

Hình 3.29 Sơ đồ chân ATMEGA8 80

Hình 3.30 Hình ảnh của ATMEGA8 80

CHƯƠNG II THIẾT KẾ MÔ HÌNH BỘ KIT THỰC HÀNH VĐK 81

1 YÊU CẦU: 81

2 SƠ ĐỒ NGUYÊN LÝ 81

Hình 3.31 Sơ đồ mạch nguyên lý 81

CHƯƠNG III: CÁC VÍ DỤ MINH HỌA CHO CÁC MODUL82 1 LẬP TRÌNH GHÉP NỐI KHỐI QUÉT LED ĐƠN 82

3 LẬP TRÌNH GHÉP NỐI MODUL LED 7 ĐOẠN VÀ BỘ ĐẾM HỒNG NGOẠI 85

4 LẬP TRÌNH QUÉT LED MATRIX 88

5 LẬP TRÌNH BỘ BIẾN ĐỔI ADC VÀ HIỂN THỊ LED 7 THANH 92

PHẦN IV KẾT LUẬN 96

3.1 ƯU ĐIỂM CỦA MẠCH 96

3.2 NHƯỢC ĐIỂM 96

3.3 HƯỚNG CẢI THIÊN 96

TÀI LIÊU THAM KHẢO 97

Trang 7

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

- ROM: Read Only Memory

- RAM : Random Access Memory

- SRAM: Static Random Access Memory

- EEPROM: Electrically Erasable Programmable Read-Only Memory

- CPU: Central Processing Unit

- ALU : Arithmetic Logical Unit

- PSW: Program Status Worl

- UART: Universal Ansynchrous Receiver and Transmitter

- WDM: Watch Dog Timer

- RTC: Real Time Clock

- ISP: In System Programmer

- PSEN: Program Store Enable

- ALE : Address Latch Enable

- EA: External Access

Trang 8

DANH MỤC BẢNG

MỤC LỤC 3

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

DANH MỤC BẢNG 8

DANH MỤC HÌNH VẼ 12

LỜI NÓI ĐẦU 16

PHẦN I: GIỚI THIÊU CHUNG 18

1.1 GIỚI THIÊU CHUNG VỀ VI ĐIỀU KHIỂN 18

1.2 GIỚI THIÊU MỘT SỐ HỌ VI ĐIỀU KHIỂN THÔNG DỤNG 18

1.2.1 Vi điều khiển của Atmel 18

1.2.2 Vi điều khiển của Microchip 19

1.2.3 Vi điều khiển của Cypress 19

1.2.4 Vi điều khiển của Hitachi 20

1.2.5 Vi điều khiển của Motorola 20

1.2.6 Vi điều khiển của Maxim 20

PHẦN II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ 8051 VÀ AT89S52 21

2.1 GIỚI THIÊU CHUNG VỀ HỌ 8051 21

Bảng 2.1 Giới thiệu một số IC họ 8051 22

2.1.1 Cấu trúc bus 22

2.1.2 Bộ nhớ chương trình 22

2.1.3 Bộ nhớ dữ liệu 22

2.2 GIỚI THIÊU TỔNG QUAN VỀ AT89S52 23

2.2.1 Sơ đồ khối và chức năng các khối của họ 8051 24

2.2.2 Sơ đồ chân và chức năng các chân của họ 8051 26

2.2.3 Sơ đồ cấu trúc AT89S52 26

Hình 2.3 Sơ đồ khối Vi điều khiển họ 89S52 27

2.3 SƠ LƯỢC VỀ CÁC CHÂN IC 89S52 27

Hình 2.4 Hình dạng sơ đồ IC 89S52 28

2.4 CHỨC NĂNG CÁC CHÂN IC 89S52 28

2.4.1 Port 0 : 28

2.4.2 Port 1: 29

2.4.3 Port 2: 30

2.4.4 Port 3( P3.0-P3.7) : 30

2.4.5 Chân /PSEN( Program Store Enable) 31

2.4.6 Chân ALE ( Address Latch Enable) 31

2.4.7 Chân /EA( External Access) 32

Trang 9

2.4.8 RST( Reset) 32

2.4.9 XTAL1, XTAL2 32

2.4.10 Vcc, GND 32

2.5 HOẠT ĐỘNG ĐỊNH THỜI 32

2.5.1 Giới thiệu 32

2.5.2 Các thanh ghi của bộ định thời 33

2.5.2.1 Các thanh ghi của Timer0, Timer1 33

2.5.2.2 Các thanh ghi của Timer2 35

2.5.3 Các chế độ của bộ định thời 36

2.5.3.1 Các chế độ của Timer0 và Timer1 36

Hình 2.9 Hoạt động của Timer0 và Timer1 ở chế độ 0 37

2.5.3.2 Các chế độ của Timer 2 40

Bảng 2.3 Các chế độ hoạt động của timer 2 40

Hình 2.16 Sử dụng Timer 2 tạo tốc độ baud 43

Hình 2.17 Timer 2 trong chế độ tạo xung 44

2.6 NGẮT VÀ XỬ LÝ NGẮT 44

2.6.1 Giới thiệu 44

2.6.2 Tổ chức ngắt 45

Hình 2.18 Các nguồn ngắt của AT89S52 45

2.6.3 Xử lý ngắt 48

2.7 CỔNG NỐI TIẾP 49

2.7.1 Giới thiệu 49

Hình 2.19 Mô tả hoạt động của cổng nối tiếp 49

Hình 2.20 Sơ đồ khối cổng nối tiếp của 8051 50

2.7.2 Các thanh ghi của cổng nối tiếp 50

2.7.3 Các chế độ hoạt động 52

2.7.3.1 Chế độ 0 52

Hình 2.21 Hoạt động của cổng nối tiếp ở chế độ 0 52

2.7.3.2 Chế độ 1 53

Hình 2.22 Giản đồ truyền nhận dữ liệu ở chế độ 0 53

Hình 2.23 Giản đồ truyền nhận dữ liệu ở chế độ 1 53

Hình 2.24 Giản đồ truyền nhận dữ liệu ở chế độ 2 và 3 54

Hình 2.25 Dùng Timer 1, 2 cung cấp tốc độ baud cho cổng nối tiếp 54

Hình 2.26 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp (TCLK=RCLK=0) 54

Hình 2.27 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp 55

Trang 10

2.7.3.3 Chế độ 2 55

Hình 2.28 Tốc độ baud của chế độ 2 55

2.7.3.4 Chế độ 3 55

PHẦN III: NỘI DUNG THIẾT KẾ 56

CHƯƠNG I: GIỚI THIÊU CÁC MODUL VÀ CÁC LINH KIÊN DÙNG TRONG MẠCH 56

1 KHỐI NGUỒN 56

2 KHỐI GHÉP NỐI VỚI MÁY TÍNH QUA CỔNG COM 56

2.1 Cổng nối tiếp (COM) 57

2.2 IC MAX232 58

3 KHỐI VI ĐIỀU KHIỂN 58

3.1.Mạch tạo dao động 59

3.2 Mạch reset 60

Hình 3.7 Sơ đồ mạch reset của 8051 60

4 KHỐI QUÉT LED MA TRẬN 8x8 60

Hình 3.8 Sơ đồ khối quét led matrix 60

4.1 IC 74HC595 61

4.2 LED MATRIX 8X8 62

4.2.1 Sơ đồ nguyên lý của ma trận led 8x8 62

Hình 3.10 Sơ đồ chân và hình ảnh thực tế của Led Matrix 8x8 62

4.2.2 Cách quét LED ma trận 8x8 62

5 KHỐI GIAO TIẾP LCD 63

5.1 Ý nghĩa các chân của LCD hiển thị ký tự 64

5.2 Nguyên tắc hiển thị ký tự trên LCD 64

6 KHỐI ADC0804 65

7 KHỐI HIỂN THỊ THỜI GIAN THỰC 69

8 KHỐI NGẮT HỒNG NGOẠI 70

8.1 OPTO 71

8.2 LM358 71

9 KHỐI QUÉT LED 7 ĐOẠN 72

Hình 3.21 Hình ảnh thực tế của led quét 4 72

Hình 3.22 Sơ đồ chân của led quet 4 73

10 KHỐI QUÉT LED ĐƠN 74

Hình 3.23 Sơ đồ khối quét led đơn 74

11 KHỐI GHÉP NỐI MA TRẬN PHÍM 4x4 75

Hình 3.24 Khối ghép nối ma trận phím 4x4 75

12 KHỐI ĐIỀU KHIỂN ĐỘNG CƠ 1 CHIỀU 76

Trang 11

Hình 3.25 Sơ đồ khối điều khiển động cơ một chiều 76

Hình 3.26 Sơ đồ mạch cầu H 77

13 KHỐI NẠP CHƯƠNG TRÌNH THEO CHUẨN ISP 77

Hình 3.27 Sơ đồ khối nạp chương trình theo chuẩn ISP 77

14 MẠCH NẠP CHO AT89S52 DÙNG ATMEGA8 (USB TO COM) 78

Hình 3.28 Sơ đồ mạch nạp chương trình dùng ATMEGA8 78

Hình 3.29 Sơ đồ chân ATMEGA8 80

Hình 3.30 Hình ảnh của ATMEGA8 80

CHƯƠNG II THIẾT KẾ MÔ HÌNH BỘ KIT THỰC HÀNH VĐK 81

1 YÊU CẦU: 81

2 SƠ ĐỒ NGUYÊN LÝ 81

Hình 3.31 Sơ đồ mạch nguyên lý 81

CHƯƠNG III: CÁC VÍ DỤ MINH HỌA CHO CÁC MODUL82 1 LẬP TRÌNH GHÉP NỐI KHỐI QUÉT LED ĐƠN 82

3 LẬP TRÌNH GHÉP NỐI MODUL LED 7 ĐOẠN VÀ BỘ ĐẾM HỒNG NGOẠI 85

4 LẬP TRÌNH QUÉT LED MATRIX 88

5 LẬP TRÌNH BỘ BIẾN ĐỔI ADC VÀ HIỂN THỊ LED 7 THANH 92

PHẦN IV KẾT LUẬN 96

3.1 ƯU ĐIỂM CỦA MẠCH 96

3.2 NHƯỢC ĐIỂM 96

3.3 HƯỚNG CẢI THIÊN 96

TÀI LIÊU THAM KHẢO 97

Trang 12

DANH MỤC HÌNH VẼ

MỤC LỤC 3

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

DANH MỤC BẢNG 8

DANH MỤC HÌNH VẼ 12

LỜI NÓI ĐẦU 16

PHẦN I: GIỚI THIÊU CHUNG 18

1.1 GIỚI THIÊU CHUNG VỀ VI ĐIỀU KHIỂN 18

1.2 GIỚI THIÊU MỘT SỐ HỌ VI ĐIỀU KHIỂN THÔNG DỤNG 18

1.2.1 Vi điều khiển của Atmel 18

1.2.2 Vi điều khiển của Microchip 19

1.2.3 Vi điều khiển của Cypress 19

1.2.4 Vi điều khiển của Hitachi 20

1.2.5 Vi điều khiển của Motorola 20

1.2.6 Vi điều khiển của Maxim 20

PHẦN II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ 8051 VÀ AT89S52 21

2.1 GIỚI THIÊU CHUNG VỀ HỌ 8051 21

Bảng 2.1 Giới thiệu một số IC họ 8051 22

2.1.1 Cấu trúc bus 22

2.1.2 Bộ nhớ chương trình 22

2.1.3 Bộ nhớ dữ liệu 22

2.2 GIỚI THIÊU TỔNG QUAN VỀ AT89S52 23

2.2.1 Sơ đồ khối và chức năng các khối của họ 8051 24

2.2.2 Sơ đồ chân và chức năng các chân của họ 8051 26

2.2.3 Sơ đồ cấu trúc AT89S52 26

Hình 2.3 Sơ đồ khối Vi điều khiển họ 89S52 27

2.3 SƠ LƯỢC VỀ CÁC CHÂN IC 89S52 27

Hình 2.4 Hình dạng sơ đồ IC 89S52 28

2.4 CHỨC NĂNG CÁC CHÂN IC 89S52 28

2.4.1 Port 0 : 28

2.4.2 Port 1: 29

2.4.3 Port 2: 30

2.4.4 Port 3( P3.0-P3.7) : 30

2.4.5 Chân /PSEN( Program Store Enable) 31

Trang 13

2.4.6 Chân ALE ( Address Latch Enable) 31

2.4.7 Chân /EA( External Access) 32

2.4.8 RST( Reset) 32

2.4.9 XTAL1, XTAL2 32

2.4.10 Vcc, GND 32

2.5 HOẠT ĐỘNG ĐỊNH THỜI 32

2.5.1 Giới thiệu 32

2.5.2 Các thanh ghi của bộ định thời 33

2.5.2.1 Các thanh ghi của Timer0, Timer1 33

2.5.2.2 Các thanh ghi của Timer2 35

2.5.3 Các chế độ của bộ định thời 36

2.5.3.1 Các chế độ của Timer0 và Timer1 36

Hình 2.9 Hoạt động của Timer0 và Timer1 ở chế độ 0 37

2.5.3.2 Các chế độ của Timer 2 40

Bảng 2.3 Các chế độ hoạt động của timer 2 40

Hình 2.16 Sử dụng Timer 2 tạo tốc độ baud 43

Hình 2.17 Timer 2 trong chế độ tạo xung 44

2.6 NGẮT VÀ XỬ LÝ NGẮT 44

2.6.1 Giới thiệu 44

2.6.2 Tổ chức ngắt 45

Hình 2.18 Các nguồn ngắt của AT89S52 45

2.6.3 Xử lý ngắt 48

2.7 CỔNG NỐI TIẾP 49

2.7.1 Giới thiệu 49

Hình 2.19 Mô tả hoạt động của cổng nối tiếp 49

Hình 2.20 Sơ đồ khối cổng nối tiếp của 8051 50

2.7.2 Các thanh ghi của cổng nối tiếp 50

2.7.3 Các chế độ hoạt động 52

2.7.3.1 Chế độ 0 52

Hình 2.21 Hoạt động của cổng nối tiếp ở chế độ 0 52

2.7.3.2 Chế độ 1 53

Hình 2.22 Giản đồ truyền nhận dữ liệu ở chế độ 0 53

Hình 2.23 Giản đồ truyền nhận dữ liệu ở chế độ 1 53

Hình 2.24 Giản đồ truyền nhận dữ liệu ở chế độ 2 và 3 54

Hình 2.25 Dùng Timer 1, 2 cung cấp tốc độ baud cho cổng nối tiếp 54

Hình 2.26 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp (TCLK=RCLK=0) 54

Trang 14

Hình 2.27 Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp

55

2.7.3.3 Chế độ 2 55

Hình 2.28 Tốc độ baud của chế độ 2 55

2.7.3.4 Chế độ 3 55

PHẦN III: NỘI DUNG THIẾT KẾ 56

CHƯƠNG I: GIỚI THIÊU CÁC MODUL VÀ CÁC LINH KIÊN DÙNG TRONG MẠCH 56

1 KHỐI NGUỒN 56

2 KHỐI GHÉP NỐI VỚI MÁY TÍNH QUA CỔNG COM 56

2.1 Cổng nối tiếp (COM) 57

2.2 IC MAX232 58

3 KHỐI VI ĐIỀU KHIỂN 58

3.1.Mạch tạo dao động 59

3.2 Mạch reset 60

Hình 3.7 Sơ đồ mạch reset của 8051 60

4 KHỐI QUÉT LED MA TRẬN 8x8 60

Hình 3.8 Sơ đồ khối quét led matrix 60

4.1 IC 74HC595 61

4.2 LED MATRIX 8X8 62

4.2.1 Sơ đồ nguyên lý của ma trận led 8x8 62

Hình 3.10 Sơ đồ chân và hình ảnh thực tế của Led Matrix 8x8 62

4.2.2 Cách quét LED ma trận 8x8 62

5 KHỐI GIAO TIẾP LCD 63

5.1 Ý nghĩa các chân của LCD hiển thị ký tự 64

5.2 Nguyên tắc hiển thị ký tự trên LCD 64

6 KHỐI ADC0804 65

7 KHỐI HIỂN THỊ THỜI GIAN THỰC 69

8 KHỐI NGẮT HỒNG NGOẠI 70

8.1 OPTO 71

8.2 LM358 71

9 KHỐI QUÉT LED 7 ĐOẠN 72

Hình 3.21 Hình ảnh thực tế của led quét 4 72

Hình 3.22 Sơ đồ chân của led quet 4 73

10 KHỐI QUÉT LED ĐƠN 74

Hình 3.23 Sơ đồ khối quét led đơn 74

11 KHỐI GHÉP NỐI MA TRẬN PHÍM 4x4 75

Trang 15

Hình 3.24 Khối ghép nối ma trận phím 4x4 75

12 KHỐI ĐIỀU KHIỂN ĐỘNG CƠ 1 CHIỀU 76

Hình 3.25 Sơ đồ khối điều khiển động cơ một chiều 76

Hình 3.26 Sơ đồ mạch cầu H 77

13 KHỐI NẠP CHƯƠNG TRÌNH THEO CHUẨN ISP 77

Hình 3.27 Sơ đồ khối nạp chương trình theo chuẩn ISP 77

14 MẠCH NẠP CHO AT89S52 DÙNG ATMEGA8 (USB TO COM) 78

Hình 3.28 Sơ đồ mạch nạp chương trình dùng ATMEGA8 78

Hình 3.29 Sơ đồ chân ATMEGA8 80

Hình 3.30 Hình ảnh của ATMEGA8 80

CHƯƠNG II THIẾT KẾ MÔ HÌNH BỘ KIT THỰC HÀNH VĐK 81

1 YÊU CẦU: 81

2 SƠ ĐỒ NGUYÊN LÝ 81

Hình 3.31 Sơ đồ mạch nguyên lý 81

CHƯƠNG III: CÁC VÍ DỤ MINH HỌA CHO CÁC MODUL82 1 LẬP TRÌNH GHÉP NỐI KHỐI QUÉT LED ĐƠN 82

3 LẬP TRÌNH GHÉP NỐI MODUL LED 7 ĐOẠN VÀ BỘ ĐẾM HỒNG NGOẠI 85

4 LẬP TRÌNH QUÉT LED MATRIX 88

5 LẬP TRÌNH BỘ BIẾN ĐỔI ADC VÀ HIỂN THỊ LED 7 THANH 92

PHẦN IV KẾT LUẬN 96

3.1 ƯU ĐIỂM CỦA MẠCH 96

3.2 NHƯỢC ĐIỂM 96

3.3 HƯỚNG CẢI THIÊN 96

TÀI LIÊU THAM KHẢO 97

Trang 16

LỜI NÓI ĐẦU

Ngày nay kĩ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹthuật và trong dân dụng Từ các dây truyền sản xuất lớn đến các thiết bị gia dụngchúng ta đều thấy sự hiện diện của vi điều khiển ( VĐK ) Các bộ VĐK có khả năng

xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các

tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sửdụng VĐK không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớnvào phát triển thông tin Đó là sự ra đời của hàng loạt thiết bị viễn thông và truyềnhình hiện đại, đặc biệt sự ra đời của mạng internet – góp phần đưa con người lênđỉnh cao của nền văn minh nhân loại

Chính vì các lí do trên, việc tìm hiểu khảo sát VĐK là điều mà các sinh viênngành điện tử chúng em hết sức quan tâm Các bộ điều khiển sử dụng VĐK tuyđơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp Phầncông việc sử lý chính vẫn là con người đó chính là chương trình hay phần mềm.Tuy chúng ta thấy các máy tính ngày nay cực kỳ thông minh, giải quyết các bài toánphức tạp trong vài phần triệu giây nhưng đó cũng đều là dựa trên sự hiểu biết củacon người Nếu không có sự tham gia của con người thì hệ thống VĐK cũng chỉ làmột vật vô tri Do vậy khi nói đến VĐK cũng như máy tính bao gồm phần cứng vàphần mềm

Các bộ VĐK theo thời gian cũng phát triển rất nhanh cùng với công nghệ bándẫn, từ các bộ VĐK 4 bit đơn giản tới các bộ VĐK 32 bit Bộ VĐK 8 bit là cơ sở đểchúng ta tìm hiểu và sử dụng các bộ VĐK tối tân hơn, đây chính là bước đầu tiên đểchúng ta tìm hiểu sâu vào lĩnh vực này

Để tìm hiểu bộ VĐK một cách khoa học và mang lại hiệu quả cao làm nềntảng cho việc xâm nhập công nghệ tối tân hơn Việc trang bị những kiến thức vềVĐK cho sinh viên là hết sức cần thiết Xuất phát từ thực tế này em đã quyết định

thực hiện đề tài “ Thiết kế bộ KIT thực hành vi điều khiển 8051”.

Trang 17

Đề tài của em gồm 4 phần:

Phần I: GIỚI THIỆU CHUNG.

Phần II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ 8051 VÀ

Em xin chân thành cảm ơn Thầy Cô!

Giáo viên hướng dẫn: Sinh viên thực hiện:Ths Nguyễn Viết Tuyến Trần Đức Minh

Hà nội, ngày 15 tháng 06 năm 2012

Trang 18

PHẦN I: GIỚI THIÊU CHUNG

1.1 GIỚI THIÊU CHUNG VỀ VI ĐIỀU KHIỂN

Năm 1976, hãng Intel giới thiệu bộ vi điều khiển 8748 – mở đầu cho họ viđiều khiển MCS-48 8748 là một vi mạch chứa hơn 17.00 transistor bao gồm mộtCPU, 1kbyte bộ nhớ EPROM, 64B RAM, một bộ đếm/định thời 8 bit và 27 chânvào/ra 8748 và các vi điều khiển tiếp theo của nó trong họ MCS-48 đã được sửdụng phổ biến trong các ứng dụng hướng điều khiển máy giặt, ô tô, các thiết bịngoại vi của máy tính… Sau 8748, các bộ vi điều khiển mới liên tục được cáchãng sản xuất như Intel, Atmel, Siemens … giới thiệu cho các ứng dụng củachúng

Vi điều khiển (MCU – viết tắt của cụm từ ‘Micro Control Unit’) có thểđược coi như một máy tính thu nhỏ trên một chip, nó có thể hoạt động với một vàilinh kiện phụ trợ ở bên ngoài Vi điều khiển có những đặc điểm sau:

- Về cấu trúc : Vi điều khiển là một chip có chứa CPU, bộ nhớ, mạch vào/ra và các mạch đặc biệt khác như bộ đếm/định thời, mạch biến đổi A/D, D/A

- Về ứng dụng : Vi điều khiển được dùng trong những ứng dụng điều khiển

- Về tập lệnh : Vi điều khiển chủ yếu là những tập lệnh vào/ra đơn giản và các lệnh xử lý bit

- Về bộ nhớ : Vi điều khiển thì chương trình được chứa trong ROM vì chúnglà chương trình điều khiển ứng dụng, hầu như không thay đổi nội dung còn RAM được dùng để chứa số liệu tạm thời cho chương trình như trạng thái của các chân vào/ra, nội dung các biến được khai báo trong chương trình Điều này chứng tỏ ROM có bộ nhớ lớn gấp nhiều lần RAM

1.2 GIỚI THIÊU MỘT SỐ HỌ VI ĐIỀU KHIỂN THÔNG DỤNG

1.2.1 Vi điều khiển của Atmel

Atmel là một hãng cung cấp vi điều khiển lớn, sản phẩm vi điều khiển của Atmel gồm:

Trang 19

- Dòng vi điều khiển dựa trên kiến trúc 8051 của Intel như 83xx, 87xx,

89xx…

- Dòng vi điều khiển AT91CAP như AT91CAP7S250A, AT91CAP7S450A…với tần số hoạt động từ 80 đến 200MHz, 2 đến 4 kênh PWM, 10 kênh ADC

10 bit, ghép nối được với module SDRAM ngoài

- Dòng vi điều khiển AT91SAM 32-bit ARM-based với bộ nhớ chương trình

có thể tới 2MB, tần số hoạt động đến 240MHz

- Dòng AVR 8-bit kiến trúc RISC như AT90PWM1, ATmega128,

ATmega16, ATmega32…

- Dòng AVR32 32-bit, MCU/DSP như AVR 32 UC3A, AVR 32 UC3B… là những bộ vi điều khiển 32 bit có thêm các lệnh xử lý tín hiệu số để xử lý âm thanh, hình ảnh

- Dòng FPSLIC như AT94K05L, AT94K10L, ATFS40… Đây là sự kết hợp

vi điều khiển AVR với mảng cổng logic lập trình FPGA trên một chíp rất phù hợp để tạo ra các hệ thống số trên một chíp duy nhất

- Dòng vi điểu khiển 4 bit cho các ứng dụng đơn giản MARC4 như

ATAM510, ATAR940…

1.2.2 Vi điều khiển của Microchip

- Dòng 8 bit như PIC10, PIC12, PIC14, PIC16, PIC18 với bộ nhớ kiểu Flash, OTP, ROM hoặc ROMless dung lượng từ 0,5 đên 256 kbyte

- Dòng 16 bit như PIC24F, PIC24H

- Dòng xử lý tín hiệu số 16 bit như dsPIC30Fxxxx, dsPIC33FJxxxx

1.2.3 Vi điều khiển của Cypress

Cypress nổi tiếng với dòng sản phẩm PSoC, đây là những vi mạch có tích hợp vi điều khiển, các linh kiện tương tự (các bộ khuếch đại, các bộ biến đổi A/D, D/A, các bộ lọc, các bộ so sánh…) và các linh kiện số (bộ định thời, bộ đếm, bộ tạoxung PWM, SPI, UART,T2C…) trên một chip duy nhất Việc tích hợp hàng trăm khối chức năng cùng với một bộ vi điều khiển trên một chip cho phép giảm thời

Trang 20

gian thiết kế, thu gọn kích thước sản phẩm, giảm công suất tiêu thụ và giá thành sảnphẩm.

1.2.4 Vi điều khiển của Hitachi

H8 là dòng vi điều khiển được phát triển bởi Hitachi, được sản xuất bởi Rcnesas Tchnology H8 gồm các dòng sản phẩm H8/300, H8/300H, H8/500, H8S (vi điều khiển 16 bit) và H8SX (vi điều khiển 32 bit kiểu CISC) Các vi điều khiển

họ H8 được sử dụng rộng rãi trong các sản phẩm dân dụng và công nghiệp như tivi,đầu ghi DVD, camera, PLC, biến tần…

1.2.5 Vi điều khiển của Motorola

Motorola sản xuất dòng vi điều khiển 68xx như 6801, 6805, 6809, 6811… Một sản phẩm tiêu biểu của Motorola là 68HC11, đây là một bộ vi điều khiển 8 bit; 16bit địa chỉ; tập lệnh tương thích với các phiên bản trước như 6801, 6805,6809; cótích hợp bộ biến đổi A/D, bộ tạo xung PWM, cổng truyền đồng bộ/không đồng bộ RS232, SPI

1.2.6 Vi điều khiển của Maxim

Các sản phẩm vi điều khiển do Maxim cung cấp gồm:

- Vi điều khiển MAXQ 16 bit kiến trúc RISC như MAXQ3212,

MAXQ2000

- Các sản phẩm dựa trên kiến trúc 8051 của Intel như vi điều khiển tích hợp đồng hồ thời gian thực DS87C530, vi điều khiển tích hợp bộ biến đổiA/D 10 bit DS80HC11, vi điều khiển tích hợp giao tiếp mạng Ethernet DS80C400, DS80C430 (rất phù hợp thiết kế IP camera, các trạm đo/điều khiển phân tán AM như DS5250, DS2250, DS2252…)

Trang 21

PHẦN II: TỔNG QUAN VỀ HỌ CỦA VI ĐIỀU KHIỂN HỌ

8051 VÀ AT89S52

2.1 GIỚI THIÊU CHUNG VỀ HỌ 8051

Năm 1981 hãng Atmel giới thiệu bộ vi điều khiển 8051 Bộ vi điều khiển(VĐK) này có 128 byte RAM, 4 byte ROM, hai bộ định thời, một cổng nối tiếp vàbốn cổng vào/ra song song ( độ rộng 8 bit ) tất cả đều được đặt trên 1 chip 8051 là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 sẽ được chia ra thành các dữ liệu 8 bit để xử lý

8051 đã trở nên phổ biến 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 tốc độ và dung lượng ROM trên chip khác nhau, nhưng tất cả các lệnh đềuphải tương thích với 8051 ban đầu Như vậy nếu ta viết chương trình cho một phiênbản của 8051 thì cũng chạy được với mọi phiên bản khác không phụ thuộc vào hãngsản xuất

8051 có 2 thành viên khác trong họ đó là:

- Bộ vi điều khiển 8052

- Bộ vi điều khiển 8031

8051 có 2 phiên bản sau:

- Bộ vi điều khiển 8751

- Bộ vi điều khiển AT8951 từ Atmel Corporation

Trang 22

Vi điều khiển Vùng mã lệnh nội Vùng dữ liệu nội Số Timer

Bảng 2.1 Giới thiệu một số IC họ 8051 2.1.1 Cấu trúc bus

Bus địa chỉ của họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi làbus địa chỉ 16 bit) với lượng bit địa chỉ như vậy, không gian nhớ của nó có thể mởrộng tối đa đến 2^16 = 65536 địa chỉ tương đương 64K

Bus dữ liệu của họ 8051 gồm 8 đường tín hiệu (thường gọi là dữ liệu 8 bit),

đó là lí do vì sao nói 8051 là họ vi điều khiển 8 bit Với độ rộng của bus dữ liệu nhưvậy, các chip họ 8051 có thể xử lí được các toán hạng 8 bit trong 1 chu kì lệnh

2.1.2 Bộ nhớ chương trình

Vi điều khiển họ 8051 có không gian nhớ là 64K địa chỉ, đó cũng là bộ nhớchương trình lớn nhất mà mỗi chip thuộc họ này có được Bộ nhớ chương trình củacác chip thuộc họ 8051 có thể thuộc loại ROM, EPROM, Flash, hoặc không có bộnhớ chương trình bên trong chip, tên của chip thể hiện bộ nhớ chương trình mà nóchứa bên trong

2.1.3 Bộ nhớ dữ liệu

Bộ nhớ SRAM được tích hợp bên trong mọi chip thuộc họ này, có dunglượng khác nhau tùy loại chip nhưng thường thì chỉ khoảng vài trăm byte Đâychính là nơi chứa các biến trung gian trong quá trình hoạt động của chip Khi mấtđiện do bản chất của SRAM mà các giá trị này cũng mất theo Bên cạnh bộ nhớ

Trang 23

loại SRAM thì một số chip thuộc họ 8051 còn có thêm bộ nhớ EEPROM với dunglượng tối đa vài Kbyte tùy từng loại chip cụ thể.

2.2 GIỚI THIÊU TỔNG QUAN VỀ AT89S52

AT89S52 là một thành viên của họ 8051 Nó là một bộ VĐK thông dụng, giá

rẻ, có khá nhiều chức năng hay, đặc biệt là có tích hợp sẵn bộ nạp ISP trên chipgiúp người sử dụng có thể dễ dàng thực hiện các bài thí nghiệm với chi phí rất thấp.AT89S52 có 8 kbyte Flash ROM trên chip, khi chân /EA ( chân số 31) đặt ởmức logic cao (+5v) thì VĐK sẽ thực hiện chương trình bộ nhớ trong Khi /EA đặt

ở mức logic thấp (0v) thì VĐK thực hiện chương trình ở bộ nhớ ngoài, AT89S52 có

256 bytes RAM nội, 32 bytes thấp của bộ nhớ nội dùng cho các thanh ghi, 128 bit

có chứa các byte định địa chỉ theo bit từ 20H đến 2FH

AT89S52 có chứa 3 bộ đếm /định thời (timer/counter) 16 bit được dùng choviệc định thời hoặc đếm sự kiện

AT89S52 chứa 1 port nối tiếp phục vụ cho việc trao đổi thông tin với các thiết

bị có khả năng giao tiếp nối tiếp như máy tính( qua cổng COM)…

AT89S52 có chứa 6 nguồn ngắt, 2 mức ưu tiên,1 bộ giao động trên chip, nóthường được nối với bộ giao động thạch anh có tần số lớn nhất là 33MHz, thôngthường là 12 MHz

AT89S52 dùng nguồn một chiều có dải điện áp từ 4v – 5.5 v được cấp quachân 40, chân 20 nối mát

Trang 24

2.2.1 Sơ đồ khối và chức năng các khối của họ 8051

Hình 2.1 Sơ đồ khối của họ 8051

 Bộ vi điều khiển AT89S52 gồm các khối chức năng sau đây:

+ CPU( Central Processing unit ) bao gồm:

- Thanh ghi tích lũy A

- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia

- Đơn vị logic học ALU( Arithmetic Logical Unit)

- Thanh ghi từ trạng thái chương trình ( PSW: Program Sttatus Worl)

- Bốn băng thanh ghi

- Con trỏ ngăn xếp

+ Bộ nhớ chương trình( bộ nhớ ROM) gồm 8 Kb Flash.

+ Bộ nhớ dữ liệu ( Bộ nhớ RAM ) gồm 256 Bytes.

Trang 25

Bộ UART ( Universal Ansynchrous Receiver and Transmitter) có chức năng truyền nhận nối tiếp, AT89S52 có thể giao tiếp với cổng nối tiếp của máy tính thông qua bộ UART.

+ Ba bộ timer/count 16 bit: thực hiện các chức năng định thời và đếm sự

kiện

+ WDM ( Watch Dog Timer ) : được dùng để phục hồi lại hoạt động của CPU

khi nó bị treo bởi một nguyên nhân nào đó

+ Khối điều khiển ngắt : với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.

+ Bộ lập trình ( ghi chương trình lên flash ROM ): cho phép người sử dụng

có thể nạp chương trình cho chip mà không cần bộ nạp chuyên dụng

+ Bộ chia tần: với hệ số chia là 12.

+ Bốn cổng xuất nhập: với 32 chân.

Trang 26

2.2.2 Sơ đồ chân và chức năng các chân của họ 8051

Hình 2.2 Sơ đồ chân của họ 8051 2.2.3 Sơ đồ cấu trúc AT89S52

Trung tâm của 89S52 vẫn là vi xử lý trung tâm (CPU) Để kích thích chotoàn bộ hệ thống hoạt động, 89S52 có bộ tạo dao động nội với thạch anh đượcghép từ bên ngoài với tần số khoảng từ vài Mhz đến 24 Mhz Liên kết các phần tửvới nhau là hệ thống BUS nội, gồm có BUS dữ liệu, BUS địa chỉ và BUS điềukhiển 89S52 có 8K ROM, 256 bytes RAM và một số thanh ghi bộ nhớ… Nó giaotiếp với bên ngoài qua 3 cổng song song và một cổng nối tiếp có thể thu, phát dữ

Trang 27

liệu nối tiếp với tốc độ lập trình được Hai bộ định thời 16 bit của 89S52 còn có 2ngắt ngoài cho phép nó đáp ứng và xử lý điều kiện bên ngoài theo cách ngắtquãng, rất hiệu quả trong các ứng dụng điều khiển Thông qua các chân điều khiểnvà các cổng song song 89S52 có thể mở rộng bộ nhớ ngoài lên đến 64Kb dữ liệu.Sau đây là sơ đồ khối Vi điều khiển họ 89S52:

Hình 2.3 Sơ đồ khối Vi điều khiển họ 89S52

2.3 SƠ LƯỢC VỀ CÁC CHÂN IC 89S52

IC 89S52 có 40 chân Có đến 32 chân làm nhiệm vụ xuất nhập, truyền dữ liệu Các chân phục vụ ngắt, các chân Timer, trong đó 24 chân làm 2 nhiệm vụ khácnhau Mỗi chân có thể là đường xuất nhập, đường điều khiển

hoặc là một phần của địa chỉ hay dữ liệu Thiết kế thường có bộ nhớ ngoài hay cácthiết bị ngoại vi sử dụng những Port để xuất nhập dữ liệu Tám đường trong mỗiPort được sử dụng như một đơn vị giao tiếp song song như máy in, bộ biến đổitương tự số… Hoặc mỗi đường cũng có thể hoạt động độc lập trong giao tiếp vớicác thiết bị đơn bit khác như: transistor, LED, switch…

Sau đây là hình dạng sơ đồ của IC 89S52:

Trang 28

Hình 2.4 Hình dạng sơ đồ IC 89S52 2.4 CHỨC NĂNG CÁC CHÂN IC 89S52

Sau đây là phần giới thiệu chức năng các chân, các Port tương ứng, chânPSEN, chân ALE, chân RESET…

2.4.1 Port 0 :

Port 0 là cổng song song dùng cho 2 mục đích, nó là các chân từ 32 Trongnhững thiết kế nhỏ nó được dùng trong các cổng xuất nhập bình thường Ở nhữngthiết kế có sử dụng bộ nhớ ngoài, nó vừa là Bus dữ liệu vừa là bytes thấp của Busđịa chỉ Nó còn được dùng chứa những bytes mã khi nạp ROM nội

Trang 29

Hình 2.5 Cấu trúc Port 0 2.4.2 Port 1:

Port 1 dành cho cổng xuất nhập và chỉ dành cho mục đích này mà thôi Nódùng để giao tiếp với các thiết bị ngoại vi theo từng bit hoặc bytes Port 1 chiếmcác chân từ 1 đến 8

Hình 2.6 Cấu trúc Port 1

Trang 30

2.4.3 Port 2:

Port 2 (chân 21÷ 28) là Port có 2 chức năng Ngoài mục đích dành cho xuấtnhập thông thường nó còn dùng làm bytes cao cho các địa chỉ bộ nhớ ngoài

Hình 2.7 Cấu trúc Port 2 2.4.4 Port 3( P3.0-P3.7) :

Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng

cụ thể như sau:

Hình 2.8 Cấu trúc Port 3

Trang 31

Bảng 2.2 Chức năng các chân của Port3

Chức năng

Dữ liệu nhận cho Port nối tiếp

Dữ liệu truyền cho Port nối tiếp

Ngắt bên ngoài 0

Ngắt bên ngoài 1

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

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

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

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

2.4.5 Chân /PSEN( Program Store Enable)

Chân/PSEN là chân điều khiển đọc chương trình bộ nhớ ngoài, nó được nối vớichân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài /PSEN sẽ ở mức thấptrong thời gian đọc mã lệnh Mã lệnh được đọc từ bộ nhớ ngoài qua bus dữ liệu(Port 0) thanh ghi lệnh để được giải mã

Khi thực hiện chương trình trong ROM nội thi /PSEN ở mức cao

2.4.6 Chân ALE ( Address Latch Enable)

ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của

vi điều khiển Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như

74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ /dữ liệu( Port0)

Trang 32

2.4.7 Chân /EA( External Access)

Tín hiệu /AE 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 /AE ở mức cao( nối với Vcc) thì vi điều khiển thi hành trong ROMnội Nếu /AE ở mức thấp( nối với GND ) thì vi điều khiển thực hiện chương trình từbộ nhớ ngoài

2.4.8 RST( Reset)

Ngõ vào RST trên chân 9 là ngõ reset của 8051 Khi tín hiệu này được đưa lênmức cao ( trong ít nhất 2 chu kì máy) , các thanh ghi trong bộ vi điều khiển được tảinhững giá trị thích hợp để khởi động hệ thống

AT89S52 có 3 bộ định thời 16 bit trong đó hai bộ Timer 0,Timer 1 có 4 chếđộ hoạt động Timer 2 có 3 chế độ hoạt động Các bộ định thời dùng để địnhkhoảng thời gian(hẹn giờ), đếm sự kiện xảy ra bên ngoài bộ vi điều khiển hoặc tạotốc độ baud cho cổng nối tiếp

Trong các ứng dụng định khoảng thời gian, Timer được lập trình sao cho sẽtràn sau một khoảng thời gian và thiết lập cờ tràn bằng 1 Cờ tràn được sử dụng bởi

Trang 33

chương trình để thực hiện một hành động tương ứng như kiểm tra trạng thái của cácngõ vào hoặc gửi các sự kiện ra các ngõ ra.

Đếm sự kiện dùng để xác định số lần xảy ra của một sự kiện Trong ứng dụngnày người ta tìm cách quy các sự kiện thành sự chuyển mức từ 1 xuống 0 trên cácchân T0 hoặc T1 hoặc T2 để dùng các Timer tương ứng đếm các sự kiện đó

2.5.2 Các thanh ghi của bộ định thời

2.5.2.1 Các thanh ghi của Timer0, Timer1

- Thanh ghi chế độ định thời (TMOD)

Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer0 và Timer1

11

0

Mô tả

Bit mở cổng cho timer 1

Bit chọn chế độ Counter/Timer 1

1=bộ đếm sự kiện

0=bộ định khoảng thời gian

Bit 1 chọn chế độ của Timer1

Bit 0 chọn chế độ của Timer1

00: Chế độ 0- Timer 13bit

01: Chế độ 1-Timer 16bit

10: Chế độ 2- 8 bit tự động nạp lại

11: Chế độ 3-tách timer

Bit mở cổng timer 0,khi được đặt bằng 1 thì Timer0 chỉ chạy khi chân INT0 ở mức cao

Trang 34

Bit chọn chế độ counter/timer của Timer0.

Bit 1 chọn chế độ của Timer0

Bit 0 chọn chế độ của Timer0

TMOD không có bit định vị, nó thường load một lần bởi phần mềm ở đầuchương trình để khởi động mode Timer Sau đó sự định giờ có thể dừng lại, đượckhởi động lại như thế bởi truy xuất của các thanh ghi chức năng đặc biệt của Timerkhác

- Thanh ghi điều khiển Timer (TCON)

TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0

TCON.7 TF1 Cờ báo tràn của Timer1, được đặt bởi phần cứng khi

có tràn,được xóa bởi phần cứng hoặc mềm khi bộ

xử lí chỉ đến chương trình ngắtTCON.6 TR1 Bít diều khiển Timer hoạt động

TCON.4 TR0 Bít điều khiển Timer 0 hoạt động

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển Timer0 và Timer1.Bốn bit cao trong TCON (TCON.4-TCON.7) được dùng để điều khiển các bộđịnh thời hoạt động hoặc ngưng(TR0,TR1) hoặc để báo các bộ định thờitràn(TF0,TF1)

Trang 35

Bốn bit thấp của TCON (TCON.0-TCON.3) không dùng để điều khiển các bộđịnh thời, chúng được dùng để phát hiện và khởi động các ngắt ngoài.

- Các thanh ghi chứa giá trị của các bộ định thời

Các Timer0 và Timer1 đều là các Timer 16 bit, mỗi Timer có thanh ghi 8 bitdùng để chứa giá trị khởi tạo hoặc giá trị hiện thời của các Timer

Timer 0

TH0(8bits) TH0(8bits) Timer 1

TH1(8bits) TL1(8bits)

2.5.2.2 Các thanh ghi của Timer2

 Thanh ghi T2CON:

T2CON.4

T2CON.3

T2CON.2

T2CON.1

T2CON.0

2

T2CON.7 TF2 CFH Cờ báo tràn của Timer 2, được đặt khi tràn và

xóa bằng phần mềm, không được thiết lập khiTCLK hoặc RCLK được đặt bằng 1

T2CON.6 EXF2 CEH Cờ ngắt ngoài của Timer2, được xóa bởi phần

mềm

Trang 36

T2CON.5 RCLK CDH Bit chọn Timer cung cấp xung nhịp cho đường

nhận của cổng nối tiếp

T2CON.4 TCLK CCH Bit chọn Timer cung cấp xung nhịp cho đường

truyền của cổng nối tiếp

T2CON.3 EXEN2 CBH Bit điều khiển hoạt động của Timer2

T2CON.2 TR2 CAH Bit điều khiển hoạt động của Timer2

T2CON.1 C/#T2 C9H Bit chọn chế độ đếm hoặc định thời của

Timer2T2CON.0 CP/#RL2 C8H Bit chọn chế độ thu nhận hay nạp lại của

Timer2

 Thanh ghi T2MOD:

T2MOD có địa chỉ 0C9H, thanh ghi này không định địa chỉ bit

 Thanh ghi TH2 và TL2,RCAP2H và RCAP2L:

Cũng giống như TH0, 1 và TL0, 1, TH2 và TL2 chứa giá trị đếm của Timer

2, tuy nhiên khác nhau là Timer 0,1 có thể dung THx để chứa giá trị nạp lại còn Timer 2 dùng RCAP2H và RCAP2L để chứa giá trị cần nạp lại

Trang 37

Chế độ 0 là chế độ định thời 13bit, chế độ này tương thích với các bộ vi điềukhiển trước đó, trong các ứng dụng hiện nay chế độ này không còn thích hợp.

Hình 2.9 Hoạt động của Timer0 và Timer1 ở chế độ 0

 Chế độ 1

Trong chế độ 1,bộ Timer dùng cả hai thanh ghi TH và TL để chứa giá trị đếm,

vì vậy chế độ này còn được gọi là chế độ định thời 16bit Bit MSB sẽ là bit D7 của

TH còn bit LSB là D0 của TL

Hình 2.10 Hoạt động của Timer0 và Timer1 ở chế độ 1

Trang 38

Hình 2.10 mô tả hoạt động của các Timer ở chế độ 1: Nguồn xung clockđược đưa tới Timer từ một trong cách phụ thuộc vào bit C/#T trong thanh ghiTMOD.

+ Nếu C/#T=1, xung clock sẽ được lấy từ bên ngoài qua chân Tx(T0,T1,T2) + Nếu C/#T=0, xung clock sẽ được lấy từ bộ chia tần trong chip,tần số củaxung ở đây là 1/12 tần số của dao động thạch anh

Nguồn xung clock trên sẽ được điều khiển để đưa tới các Timer bằng các bit:TR,GATE và mức logic trên các chân INTx

+ Nếu TRx=0, các Timer sẽ bị cấm mà không cần quan tâm tới GATE vàmức logic trên các chân INTx ( thể hiện bằng cổng “AND”)

+ Nếu TRx=1, các Timer sẽ hoạt động khi hoặc là bit GATE=0 hoặc là bitGATE=1 và trên chân /INTx có mức logic 1

Với chế độ 1, giá trị lớn nhất mà các Timer chứa được là 65535, khi đếm quágiá trị này sẽ xảy ra tràn, khi cờ tràn TF sẽ được đặt =1 Sau khi xảy ra tràn, nếumuốn Timer tiếp tục đếm, chương trình phải có câu lệnh nạp lại giá trị khởi tạo saukhi đã dừng Timer bằng cách xóa bit TR

Trang 39

 Chế độ 2

Hình 2.11 Hoạt động của Timer0 và Timer1 ở chế độ 2

Trong chế độ 2, bộ Timer dùng TL để chứa giá trị đếm và TH để chứa giá trịnạp lại vì vậy chế độ này được gọi là chế độ tự nạp lại 8 bit Sau khi đếm quá 255 sẽxảy ra tràn,khi đó TF được đặt bằng 1 đồng thời giá trị của Timer tự động được nạplại bằng nội dung của TH

Với nguồn xung clock,cách điều khiển Timer ở chế độ 2 hoàn toàn giống chếđộ 1

 Chế độ 3

Hình 2.12 Hoạt động của Timer0 ở chế độ 3

Trong chế độ 3, Timer0 được tách thành hai bộ Timer hoạt động độc lập, chếđộ này sẽ cung cấp cho bộ vi điều khiển thêm bộ Timer nữa

Bộ Timer thứ nhất với nguồn xung clock được lấy từ bộ chia tần trên chiphoặc từ bộ tạo xung bên ngoài qua chân T0 tùy thuộc vào giá trị của bit C-/T0 Việc

Trang 40

điều khiển hoạt động của bộ thứ nhất do bit GATE, bit TR0 và mức logic trên chânINT0 ( giống chế độ 0,1,2 ).

Giá trị đếm của Timer được chứa trong TL0, khi xảy ra tràn, cờ TF0=1 và gây

ra ngắt do Timer0 (nếu được đặt)

Bộ Timer thứ hai với nguồn xung clock được lấy từ bộ chia tần trên chip.Việc điều khiển hoạt động của bộ thứ hai chỉ là việc đặt giá trị của bit TR0 Giá trịđếm của Timer được chứa trong TH0, khi xảy ra tràn, cờ TF1=1 và gây ra ngắt doTimer1(nếu được đặt)

Khi Timer0 được tách thành hai Timer 8 bit thì Timer1 vẫn có thể hoạt độngbình thường ở các chế độ 0,1,2, tuy nhiên khi xảy ra tràn cờ TF1 không được thiếtlập bằng 1 Như vậy trong trường hợp này Timer1 chỉ có thể sử dụng cho các ứngdụng không cần đến ngắt(TF1=1), chẳng hạn như tạo tốc độ baud cho port nối tiếp

2.5.3.2 Các chế độ của Timer 2

Timer 2 có 3 chế độ hoạt động là chế độ thu nhận (Captuer), chế độ tự nạp lại(auto – reload) và chế độ cung cấp tốc độ baud cho cổng nối tiếp (Baud RateGenerator)

1110

16-bit Auto-reload: 16 bit tự nạp lại

16-bit Capture: 16bit thu nhậnBaud Capture: cung cấp tốc độ baud (off)

Bảng 2.3 Các chế độ hoạt động của timer 2

Ngày đăng: 20/04/2016, 17:36

HÌNH ẢNH LIÊN QUAN

Bảng 2.1. Giới thiệu một số IC họ 8051 2.1.1. Cấu trúc bus - Thiết kế bộ KIT thực hành vi điều khiển 8051
Bảng 2.1. Giới thiệu một số IC họ 8051 2.1.1. Cấu trúc bus (Trang 22)
Hình 2.1. Sơ đồ khối của họ 8051 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.1. Sơ đồ khối của họ 8051 (Trang 24)
2.2.2. Sơ đồ chân và chức năng các chân của họ 8051 - Thiết kế bộ KIT thực hành vi điều khiển 8051
2.2.2. Sơ đồ chân và chức năng các chân của họ 8051 (Trang 26)
Hình 2.3. Sơ đồ khối Vi điều khiển họ 89S52 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.3. Sơ đồ khối Vi điều khiển họ 89S52 (Trang 27)
Hình 2.4. Hình dạng sơ đồ IC 89S52 2.4. CHỨC NĂNG CÁC CHÂN IC 89S52 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.4. Hình dạng sơ đồ IC 89S52 2.4. CHỨC NĂNG CÁC CHÂN IC 89S52 (Trang 28)
Hình 2.5. Cấu trúc Port 0 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.5. Cấu trúc Port 0 (Trang 29)
Hình 2.6. Cấu trúc Port 1 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.6. Cấu trúc Port 1 (Trang 29)
Hình 2.8. Cấu trúc Port 3 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.8. Cấu trúc Port 3 (Trang 30)
Hình 2.7. Cấu trúc Port 2 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.7. Cấu trúc Port 2 (Trang 30)
Bảng 2.2. Chức năng các chân của Port3 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Bảng 2.2. Chức năng các chân của Port3 (Trang 31)
Hình 2.11.  Hoạt động của Timer0 và Timer1 ở chế độ 2 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.11. Hoạt động của Timer0 và Timer1 ở chế độ 2 (Trang 39)
Hình 2.13. Timer 2 ở chế độ thu nhận - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.13. Timer 2 ở chế độ thu nhận (Trang 41)
Hình 2.16. Sử dụng Timer 2 tạo tốc độ baud - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.16. Sử dụng Timer 2 tạo tốc độ baud (Trang 43)
Hình 2.17. Timer 2 trong chế độ tạo xung - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.17. Timer 2 trong chế độ tạo xung (Trang 44)
Hình 2.18. Các nguồn ngắt của AT89S52 - Thiết kế bộ KIT thực hành vi điều khiển 8051
Hình 2.18. Các nguồn ngắt của AT89S52 (Trang 45)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w