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

Thiết kế bộ KIT thí nghiệm vi điều khiển 8051

106 2,4K 0

Đ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 106
Dung lượng 2,76 MB

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

Nội dung

MỤC LỤCMỤC LỤC1Danh mục các từ viết tắt6Danh mục hình vẽ9Danh mục bảng biểu11MỞ ĐẦU12CHƯƠNG 1 : GIỚI THIỆU VỀ VI ĐIỀU KHIỂN141.1 Khái niệm vi điều khiển141.2 Lịch sử phát triển của vi điều khiển15CHƯƠNG 2 – HỌ VI ĐIỀU KHIỂN 8051172.1 Giới thiệu về họ vi điều khiển 8051172.1.1 Lịch sử phát triển172.1.2 Đặc điểm nổi bật182.2 Kiến trúc phần cứng192.2.1 Sơ đồ khối và chức năng các khối192.2.3 Bộ tạo dao động272.2.4 Mạch Reset282.3 Hoạt động vào ra282.4 Hoạt động định thời292.4.1 Giới thiệu về hoạt động định thời292.4.2 Các chế độ hoạt động của Timer0, Timer1332.4.3 Các chế độ hoạt động của Timer2352.4.4 Nguồn xung clock352.5 Hoạt động ngắt362.6 Cổng nối tiếp (Serial Port)38CHƯƠNG 3 THIẾT KẾ KÍT THÍ NGHIỆM VI ĐIỀU KHIỂN 8051423.1 Giới thiệu tổng quan về Kit thí nghiệm423.2 Sơ đồ nguyên lý423.3 Khối hiển thị Led đơn433.3.1 Sơ đồ nguyên lý433.3.2 Phân tích sơ đồ nguyên lý433.3.2.1 Các linh kiện sử dụng trên khối led đơn433.3.2.2 Nguyên lý hoạt động453.4 Khối quét led 7 đoạn.453.4.1 Sơ đồ nguyên lý453.4.2 Phân tích sơ đồ nguyên lý463.4.2.1 Các linh kiện trên khối quét led 7 thanh463.4.2.2 Nguyên lý hoạt động463.5 Khối ma trận led 8X8493.5.1 Sơ đồ nguyên lý493.5.2 Phân tích sơ đồ nguyên lý503.5.2.1 Các linh kiện trên khối led ma trận 8X8503.6 Khối hiển thị LCD543.6.1 Sơ đồ nguyên lý khối LCD543.6.2 Phân tích sơ đồ nguyên lý543.6.2.1 Các linh kiện sử dụng trên khối LCD543.6.2.1 Nguyên lý hoạt động573.7 Giao tiếp với khối ma trận phím583.7.1 Sơ đồ nguyên lý583.7.2 Phân tích sơ đồ nguyên lý593.7.2.1 Các linh kiện sử dụng trên khối ma trận phím593.7.2.2 Nguyên lý hoạt động593.8 Khối cổng nối tiếp613.8.1 Sơ đồ nguyên lý613.8.2 Phân tích sơ đồ nguyên lý613.8.2.1 Các linh kiện sử dụng trên khối cổng nối tiếp613.8.2.2 Nguyên lý hoạt động643.9 Khối giao tiếp với bộ chuyển đổi tương tự số (ADC)653.9.1 Sơ đồ nguyên lý653.9.2 Phân tích sơ đồ nguyên lý663.9.2.1 Các linh kiện sử dụng trên khối chuyển đổi AD663.9.2.2 Phân tích nguyên lý hoạt động713.10 Bộ chuyển đổi USB to Com723.10.1 Sơ đồ nguyên lý723.10.2 Phân tích sơ đồ nguyên lý723.10.2.1 Các linh kiện sử dụng trên khối USB to Com723.10.2.2 Nguyên lý hoạt động733.11 Khối ngắt743.11.1 Sơ đồ nguyên lý743.11.2 Phân tích sơ đồ nguyên lý743.11.2.1 Các linh kiện sử dụng trên khối ngắt743.11.2.2 Nguyên lý hoạt động753.12 Khối hiển thị thời gian thực763.12.1 Sơ đồ nguyên lý763.12.2 Phân tích sơ đồ nguyên lý763.12.2.1 Các linh kiện trên khối thời gian thực763.12.2.2 Nguyên lý hoạt động773.13 Khối vi điều khiển trung tâm813.13.1 Sơ đồ nguyên lý813.13.2 Phân tích sơ đồ nguyên lý813.13.2.1 Các linh kiện trên khối813.13.2.2 Nguyên lý hoạt động843.14 Khối nguồn843.15 Khối nạp chương trình theo chuẩn ISP.853.15.1 Sơ đồ nguyên lý khối ISP853.15.2 Phân tích mạch nguyên lý853.16 Khối DC Motor863.16.1 Sơ đồ nguyên lý863.16.2 Phân tích sơ đồ nguyên lý863.16.2.1 Các linh kiện sử dụng trên khối DC Motor863.16.2.2 Nguyên lý hoạt động87CHƯƠNG 4 : THIẾT KẾ ỨNG DỤNG TRÊN KIT884.1 Thiết kế mô hình volmet hiển thị lên LCD.884.1.1 Các khối sử dụng và các bước thiết kế.884.1.2 Chương trình đo điện áp hiển thị lên LCD884.2 Viết chương trình mã hóa ma trận phím từ 0015 hiển thị LCD.954.2.1 Các khối sử dụng và các bước thiết kế954.2.2 Chương trình quét ma trận phím hiện thị lên LCD964.3 Thiết kế bộ đếm sản phẩm cảm biến hồng ngoại hiển thị led 7 thanh1034.3.1 Các khối sử dụng và các bước thiết kế1034.3.2 Chương trình đếm sản phẩm.103Kết luận106Tài liệu tham khảo108

Trang 1

MỤC LỤC

MỤC LỤC 1

Danh mục các từ viết tắt 6

Danh mục hình vẽ 9

Danh mục bảng biểu 11

MỞ ĐẦU 12

CHƯƠNG 1 : GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 14

1.1 Khái niệm vi điều khiển 14

1.2 Lịch sử phát triển của vi điều khiển 15

CHƯƠNG 2 – HỌ VI ĐIỀU KHIỂN 8051 17

2.1 Giới thiệu về họ vi điều khiển 8051 17

2.1.1 Lịch sử phát triển 17

2.1.2 Đặc điểm nổi bật 18

2.2 Kiến trúc phần cứng 19

2.2.1 Sơ đồ khối và chức năng các khối 19

2.2.3 Bộ tạo dao động 27

2.2.4 Mạch Reset 28

2.3 Hoạt động vào ra 28

2.4 Hoạt động định thời 29

2.4.1 Giới thiệu về hoạt động định thời 29

2.4.2 Các chế độ hoạt động của Timer0, Timer1 33

2.4.3 Các chế độ hoạt động của Timer2 35

Trang 2

2.4.4 Nguồn xung clock 35

2.5 Hoạt động ngắt 36

2.6 Cổng nối tiếp (Serial Port) 38

CHƯƠNG 3 - THIẾT KẾ KÍT THÍ NGHIỆM VI ĐIỀU KHIỂN 8051 42

3.1 Giới thiệu tổng quan về Kit thí nghiệm 42

3.2 Sơ đồ nguyên lý 42

3.3 Khối hiển thị Led đơn 43

3.3.1 Sơ đồ nguyên lý 43

3.3.2 Phân tích sơ đồ nguyên lý 43

3.3.2.1 Các linh kiện sử dụng trên khối led đơn 43 3.3.2.2 Nguyên lý hoạt động 45 3.4 Khối quét led 7 đoạn 45

3.4.1 Sơ đồ nguyên lý 45

3.4.2 Phân tích sơ đồ nguyên lý 46

3.4.2.1 Các linh kiện trên khối quét led 7 thanh 46 3.4.2.2 Nguyên lý hoạt động 46 3.5 Khối ma trận led 8X8 49

3.5.1 Sơ đồ nguyên lý 49

3.5.2 Phân tích sơ đồ nguyên lý 50

3.5.2.1 Các linh kiện trên khối led ma trận 8X8 50 3.6 Khối hiển thị LCD 54

3.6.1 Sơ đồ nguyên lý khối LCD 54

3.6.2 Phân tích sơ đồ nguyên lý 54

Trang 3

3.6.2.1 Các linh kiện sử dụng trên khối LCD 54

3.6.2.1 Nguyên lý hoạt động 57

3.7 Giao tiếp với khối ma trận phím 58

3.7.1 Sơ đồ nguyên lý 58 3.7.2 Phân tích sơ đồ nguyên lý 59 3.7.2.1 Các linh kiện sử dụng trên khối ma trận phím 59

3.7.2.2 Nguyên lý hoạt động 59

3.8 Khối cổng nối tiếp 61

3.8.1 Sơ đồ nguyên lý 61 3.8.2 Phân tích sơ đồ nguyên lý 61 3.8.2.1 Các linh kiện sử dụng trên khối cổng nối tiếp 61

3.8.2.2 Nguyên lý hoạt động 64

3.9 Khối giao tiếp với bộ chuyển đổi tương tự số (ADC) 65

3.9.1 Sơ đồ nguyên lý 65 3.9.2 Phân tích sơ đồ nguyên lý 66 3.9.2.1 Các linh kiện sử dụng trên khối chuyển đổi A/D 66

3.9.2.2 Phân tích nguyên lý hoạt động 71

3.10 Bộ chuyển đổi USB to Com 72

3.10.1 Sơ đồ nguyên lý 72 3.10.2 Phân tích sơ đồ nguyên lý 72 3.10.2.1 Các linh kiện sử dụng trên khối USB to Com 72

3.10.2.2 Nguyên lý hoạt động 73

3.11 Khối ngắt 74

Trang 4

3.11.1 Sơ đồ nguyên lý 74

3.11.2 Phân tích sơ đồ nguyên lý 74

3.11.2.1 Các linh kiện sử dụng trên khối ngắt74 3.11.2.2 Nguyên lý hoạt động 75 3.12 Khối hiển thị thời gian thực 76

3.12.1 Sơ đồ nguyên lý 76

3.12.2 Phân tích sơ đồ nguyên lý 76

3.12.2.1 Các linh kiện trên khối thời gian thực 76 3.12.2.2 Nguyên lý hoạt động 77 3.13 Khối vi điều khiển trung tâm 81

3.13.1 Sơ đồ nguyên lý 81

3.13.2 Phân tích sơ đồ nguyên lý 81

3.13.2.1 Các linh kiện trên khối 81 3.13.2.2 Nguyên lý hoạt động 84 3.14 Khối nguồn 84

3.15 Khối nạp chương trình theo chuẩn ISP 85

3.15.1 Sơ đồ nguyên lý khối ISP 85

3.15.2 Phân tích mạch nguyên lý 85

3.16 Khối DC Motor 86

3.16.1 Sơ đồ nguyên lý 86

3.16.2 Phân tích sơ đồ nguyên lý 86

3.16.2.1 Các linh kiện sử dụng trên khối DC Motor 86

3.16.2.2 Nguyên lý hoạt động 87

Trang 5

CHƯƠNG 4 : THIẾT KẾ ỨNG DỤNG TRÊN KIT 88

4.1 Thiết kế mô hình volmet hiển thị lên LCD 88

4.1.1 Các khối sử dụng và các bước thiết kế 88

4.1.2 Chương trình đo điện áp hiển thị lên LCD 88

4.2 Viết chương trình mã hóa ma trận phím từ 00-15 hiển thị LCD 95

4.2.1 Các khối sử dụng và các bước thiết kế 95

4.2.2 Chương trình quét ma trận phím hiện thị lên LCD 96

4.3 Thiết kế bộ đếm sản phẩm cảm biến hồng ngoại hiển thị led 7 thanh 103

4.3.1 Các khối sử dụng và các bước thiết kế 103

4.3.2 Chương trình đếm sản phẩm 103

Kết luận 106

Tài liệu tham khảo 108

Trang 6

Danh mục các từ viết tắt

ALE Address Latch Enable Tín hiệu điều khiển chốt địa

chỉ

CP/RL2 Capture/ Reload Select Chế độ thu nhận

CPU Central Processing Unit Đơn vị xử lý trung tâm

DCD Data Carrier Detect Tách tín hiệu mang dữ liệuDCE Data Comnication Equipment Thiết bị tiếp nhận

DTR Data Terminal Realy Đầu cuối dữ liệu

DTE Data Terminal Equipment Thiết bị đầu cuối

EA External Access Tín hiệu cho phép chọn bộ

nhớEIA Electronics Industry

Asscociation Hiệp hội công nghiệp điện tử

I2C Intergrated Circuit Chuẩn giao tiếp I2C

IP Interrupt priority Thanh ghi ưu tiên ngắt

ISR Interrupt Service Routine Chương trình con phục vụ

ngắt

Trang 7

PD Power Down Giảm áp

PSEN Program Store Enable Chân điều khiển đọc chương

trìnhPSoC Program System on Chip Bộ điều chỉnh

PSW Program Status Word Từ trạng thái chương trìnhRAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên

SCON Srerial Control Thanh ghi điều khiển cổng

nối tiếp

SFCLK Shift Receiver Clock Input Chân vào xung clock

SQH Serial Data Outputs Chân dữ liệu nối tiếp

UART Universal Ansynchronous

Receiver And Transmision

Truyền nhận nối tiếpWDM Watch dog timer Bộ định thời giám sát

Trang 8

Danh mục hình vẽ

Hình 2.1: Sơ đồ khối của 8051 19

Hình 2.2 : 89S52 dạng DIP 23

Hình 2.3 Sơ đồ cấu tạo của Port 0 24

Hình 2.4.Cấu trúc của các chân trên Port1 và Port 3 24

Hình 2.5 Cấu trúc các chân trên Port 2 25

Hình 2.6: Mạch tạo dao động dùng thạch anh 27

Hình 2.7: Sơ đồ mạch Reset của AT89S52 28

Hình 2.8: Thanh ghi TCON 31

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

Hình 3.1: Sơ đồ nguyên lý Kit thí nghiệm vi điều khiển 8051 42

Hình 3.2: Sơ đồ nguyên lý khối led đơn 43

Hình 3.3: Cấu tạo của led đơn 44

Hình 3.4: Sơ đồ nguyên lý khối quét led 7 thanh 45

Hình 3.5: Cấu tạo chân của led 7 đoạn 46

Hình 3.6: Sơ đồ nguyên lý khối led ma trận 8X8 49

Hình 3.7: Sơ đồ chân của 74HC595 50

Hình 3.8: Cấu tạo bên trong Matrix8X8 51

Hình 3.7: Sơ đồ nguyên lý khối hiển thị LCD 54

Hình 3.8: Hình ảnh thực tế và sơ đồ chân của LCD 55

Hình 3.9:Sơ đồ nguyên lý khối ma trận phím 59

Hình 3.10 Sơ đồ nguyên lý khối cổng nối tiếp 61

Hình 3.11 Sơ đồ chân và hình dạng thực tế của RS232 62

Hình 3.12: Sơ đồ chân và hình dạng thực tế của MAX232 64

Hình 3.13: Sơ đồ nguyên lý khối chuyển đổi A/D 65

Hình 3.14: Sơ đồ chân và hình dạng thực tế của ADC0804 66

Trang 9

Hình 3.15:Sơ đồ chân của LM358 70

Hình 3.16: Sơ đồ nguyên lý khối USB to Com 72

Hình 3.17: Sơ đồ chân của Atmega8 73

Hình 3.18: Sơ đồ nguyên lý khối ngắt 74

Hình 3.19: Sơ đồ chân của OPTO 75

Hình 3.20: Sơ đồ nguyên lý khối hiển thị thời gian thực 76

Hình 3.21: Sơ đồ chân và hình ảnh thực tế của DS1307 77

Hình 3.22: Sơ đồ nguyên lý khối vi điều khiển trung tâm 81

Hình 3.23: Sơ đồ chân và hình dạng thực tế AT89s52 82

Hình 3.24: Sơ đồ nguyên lý khối nguồn 84

Hình 3.25: Sơ đồ nguyên lý khối ISP 85

Hình 3.26 Sơ đồ nguyên lý khối DC Motor 86

Trang 10

Danh mục bảng biểu

Bảng 2.1: Các đặc tính của 8051 đầu tiên 17

Bảng 2.2: Số chu kì máy WDT đếm tùy theo giá trị S0,S1,S2 21

Bảng 2.3: Thời gian tràn của WDT 22

Bảng 2.4 Chức năng của Port 26

Bảng 2.5: Thanh ghi chức năng TMOD 30

Bảng 2.6 Chức năng thanh ghi TCON 31

Bảng 2.7: Chức năng thanh ghi T2CON 32

Bảng 2.8: Chức năng thanh ghi T2MOD 33

Bảng 2.9: Chế độ hoạt động của Timer 2 35

Bảng 2.10: Bảng chức năng thanh ghi IE 37

Bảng 2.11: Bảng chức năng thanh ghi IP 38

Bảng 3.1: Bảng mã hiện thị dành cho led 7 đoạn Anot chung 49

Bảng 3.2: Bảng mã lệnh của LCD 58

Bảng 3.3: Chức năng các chân DB-9 của RS232 64

Bảng 3.4: Bảng kích thước bước của ADC0804 69

Trang 11

MỞ ĐẦ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 Vi điều khiển không những gópphần vào kỹ thuật điều khiển mà còn góp phần to lớn và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ền hì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ănminh nhân loại

Chính vì các lí do trên, việc tìm hiểu khảo sát vi điều khiển là điều mà cácsinh viên ngành điện tử chúng em hết sức quan tâm Các bộ điều khiển sử dụng

vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rấtphức tạp Phần công việc sử lý chính vẫn là con người đó chính là chương trìnhhay 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án phứ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ủa con người Nếu không có sự tham gia của con người thì

hệ thống vi điều khiển cũng chỉ là một vật vô tri Do vậy khi nói đến vi điềukhiển cũng như máy tính bao gồm phần cứng và phần mềm

Các bộ vi điều khiển theo thời gian cũng phát triển rất nhanh cùng với côngnghệ bán dẫn, từ các bộ Vi điều khiển 4 bit đơn giản tới các bộ vi điều khiển 32bit Bộ vi điều khiển 8 bit là cơ sở để chúng ta tìm hiểu và sử dụng các bộ vi điềukhiển 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ĩnhvực này

Để tìm hiểu bộ vi điều khiển một cách khoa học và mang lại hiệu quả caolàm nền tả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

Trang 12

thức về vi điều khiển cho sinh viên là hết sức cần thiết Xuất phát từ thực tế này,

nên em đã chọn đồ án “ Thiết kế bộ KIT thí nghiệm vi điều khiển 8051”.

Nội dung chính của đồ án bao gồm 4 chương:

Chương 1: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN

Chương 2: HỌ VI ĐIỀU KHIỂN 8051

Chương 3: THIẾT KẾ KÍT THÍ NGHIỆM VI ĐIỀU KHIỂN 8051

Chương 4: THIẾT KẾ ỨNG DỤNG TRÊN KIT

Do thời gian có hạn, cùng lượng kiến thức còn hạn chế nên khi hoàn thiện

đồ án không tránh khỏi nhứng thiếu sót, có những câu văn chưa được lưu loátkính mong thây, cô thông cảm góp ý để hoàn thiện hơn nữa

Sau cùng em xin chân thành cảm ơn cô giáo VŨ THỊ THU HƯƠNG đã tậntình chỉ bảo giúp đỡ em hoàn thành được đồ án tốt nghiệp Em cũng xin chânthành cảm ơn các thầy cô giáo trong khoa Điện Tử - Trường Đại Học CôngNghiệp Hà Nội tận tình giảng dạy và hướng dẫn em trong suốt thời gian học tập

Sinh viên thực hiệnTrần Mạnh Hào

Trang 13

CHƯƠNG 1 : GIỚI THIỆU VỀ VI ĐIỀU KHIỂN

1.1 Khái niệm vi điều khiển

Vi điều khiển là những vi mạch điện tử tích hợp (chip) mà bạn có thể lậptrình để thực hiện những nhiệm vụ mà bạn muốn Khác với vi xử lý, các vi điềukhiển ngoài chức năng xử lý dữ liệu thuật toán…nó còn được tích hợp các bộchức năng đặc biệt khác, các vi điều khiển ngõ vào để nhận và xuất dữ liệu, các

bộ timer xử lý thời gian, các bộ trao đổi dữ liệu theo một số chuẩn giao tiếp,thậm chí có một số loại vi điều khiển còn có cả bộ chuyển đổi AD, bộ điều khiểnđộng cơ…

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 vàilinh kiện phụ trợ ở bên ngoài.Vi điều khiển khác với vi xử lý ở những điểm sau:

- Về phần cứng: Vi xử lý cần ghép thêm các thiết bị ngoại vi bên ngoàinhư bộ nhớ và các thiết bị ngoại vi khác để có thể tạo thành một bản mạch hoànchỉnh Với vi điều khiển bản thân nó là một hệ máy tính hoàn chỉnh với CPU, bộnhớ, mạch giao tiếp, các bộ định thời và mạch điều khiển ngắt được tích hợp bêntrong

- Về ứng dụng: Các bộ vi xử lý chủ yếu được dùng làm CPU trong cácmáy tính còn các bộ vi điều khiển dùng làm trong các ứng dụng hướng điềukhiển

- Về các đặc trưng tập lệnh: Do ứng dụng khác nhau nên các bộ vi xử lý

và vi điều khiển cũng có những yêu cầu khác nhau đối với tập lệnh của chúng.Tập lệnh của các vi xử lý thường mạnh về các kiểu địa chỉ với các lệnh cung cấpcác hoạt động trên các lượng dữ liệu lớn như 1 byte, ½ byte, word, double

Trang 14

word…Ở các vi điều khiển, các tập lệnh rất mạnh trong việc xử lý các kiểu dữliệu nhỏ như bit hoặc một vài bit.

1.2 Lịch sử phát triển của vi điều khiển

Trong những thập niên cuối thế kỉ XX, bước đột phá lớn nhất trong công nghệđiện tử là việc công ty Intel cho ra đời bộ vi xử lý đầu tiên Phát minh này chophép tạo ra các ứng dụng theo một công thức khác: phần cứng+phần mềm=ứngdụng Điều này có nghĩa là muốn có một ứng dụng khác thì chỉ cần thay đổiphần mềm mà có thể giữ nguyên phần cứng

Bộ vi xử lý sau đó được phát triển theo hai hướng

- Tăng tấc độ xử lý để phục vụ cho các hệ thống máy tính đòi hỏi tính toánvới tốc độ cao

- Tích hợp trên bộ nhớ, giao tiếp ngoại vi và một số tài nguyên khác trongcùng một vi mạch, vi mạch đó được gọi là vi điều khiển

Vi điều khiển có khả năng tương tự như khả năng của vi xử lý, nhưng cấu trúcphần cứng giành cho người sử dụng đơn giản hơn nhiều Vi điều khiển ra đờimang lại sự tiện lợi đối với người sử dụng, họ không cần nắm vững một khốikiến thức quá lớn như với người sử dụng vi xử lý, mạch điện mà người sử dụngphải thiết kế cũng trở nên đơn giản, không đòi hỏi tính toán phức tạp như dâytruyền tự động loại nhỏ, các robot có chức năng đơn giản, máy giặt, ô-tô

Sau đây, là một số loại vi điều khiển tiêu biểu:

- Vi điều khiển 8051,bộ vi điều khiển đầu tiên của họ MCS-51 và là chuẩncông nghệ cho nhiều họ vi điều khiển được sản xuất sau này

Trang 15

- AVR: đây là sản phẩm của công ty Atmel (Hoa Kỳ) đây là một bộ xử lý

có kiến trúc kiểu Harvard, nghĩa là đơn vị xử lý trung tâm có bộ nhớ chươngtrình và một bô nhớ dữ liệu tách biệt Bộ vi điều khiển AVR có nhiều khả năng

để giảm năng lượng tiêu thụ Đây là một trong những ưu điểm lớn của họ vi điềukhiển này

- PIC: là họ vi điều khiển RISC PIC bắt nguồn là chữ viết tắt của

“Programmable Intelligent Computer”(máy tính khả trình thông minh) la mộtsản phẩm của hãng General Intruments đặt cho dòng sản phẩm đầu tiên của họ làPIC1650 Lúc này PIC1650 được dùng để giao tiếp vói các thiết bị ngoại vi chomáy chủ 16bit CP1600, vì vậy người ta cũng gọi PIC với cái tên ”PeripheralInterface Controller” (Bộ điều khiển giao tiếp ngoại vi) CP 1600 là một CPU tốtnhưng lại kém về các hoạt động xuất/nhập, và vì vậy PIC-8bit được phát triểnvào năm 1975 để hỗ trợ hoạt động xuất nhập cho CPU 1600 PIC sử dụngmicrocode đơn giản đặt trong ROM, và mặc dù cụm từ RISC chưa được sử dụngthời bấy giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạymột lệnh một chu kỳ máy(4 chu kỳ cua dao động)

Trang 16

CHƯƠNG 2 – HỌ VI ĐIỀU KHIỂN 80512.1 Giới thiệu về họ vi điều khiển 8051

2.1.1 Lịch sử phát triển

Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển dầu tiêncủa họ vi điều khiển MCS-51 Nó bao gồm 4Kb ROM, 128 byte RAM, 32 đườngxuất nhập , 1 Port nối tiếp và 2 bộ định thời 16 bit Tiếp theo đó là sự ra đời củachip 8052, 8053, 8055 với nhiều tính năng được cải tiến

Bảng 2.1: Các đặc tính của 8051 đầu tiên

Hiện nay Intel không còn cung cấp các loại vi điều khiển họ MCS-51 nữa,thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siements,Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họMSC-51 Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở ViệtNam hiện nay là vi điều khiển của hãng Atmel với nhiều chủng loại vi điềukhiển khác nhau

Trang 17

Hãng Atmel có các chip vi điều khiển có tính năng tương tự như chip viđiều khiển MCS-51 của Intel, các mã số được thay đổi chút ít khi được Atmelsản xuất Mã số 80 trở thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel

mã số thành 89C52( mã số đầy đủ: AT89C52) với tính năng chương trình tương

tự như nhau Tương tự 8051, 8053, 8055 có mã số tương đương ở Atmel là:89C51, 89C53, 89C55 Vi điều khiển Atmel sau này ngày càng được cải tiến và

được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng

Chương trình phần mềm dành cho các Chip của họ 8051 là như nhau, ta cóthể dùng trình dịch Keil C51 của Keil để biên dịch các tập tin nguồn viết bằngngôn ngữ C Vì vậy người lập trình có rất nhiều thuận lợi khi sử dụng các tậplệnh

Các Chip của họ vi điều khiển 8051 đều có thể lập trình được nhiều lần bằng

bộ lập trình chuyên dụng, mạch nạp đơn giản Ví dụ, các Chip 89Sxx có chế độnạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch màkhông cần tháo Chip vi điều khiển sang mạch khác để nạp chương trình

Trang 18

Do đó việc lập trình thuận lợi,có thể dùng Chip của họ 8051 để thiết kế vàlắp ráp mạch trong công nghiệp Đặc biệt với nhất là với các bạn sinh viên dễtiếp cận, nghiên cứu và làm các mạch thí nghiệm.

2.2 Kiến trúc phần cứng

2.2.1 Sơ đồ khối và chức năng các khối

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

Bộ vi điều khiển họ 8051 gồm các khối chức năng chính sau:

- 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

Trang 19

Đơn vọ logic học( ALU:Arithmetic Logical Unit ).

Thanh ghi từ trạng thái chương trình(PSW:Progrm Status Word )

Bốn băng thanh ghi

Con trỏ ngăn xếp

- Bộ nhớ chương trình (bộ nhớ ROM) gồm 8 Kbyte Flash

- Bộ nhớ dữ liệu( bộ nhớ RAM) gồm 256 byte

- Bộ UART(Universal Ansychronous Reciever and Tranmitter) có chức năngtruyề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ínhthông qua bộ UART

- 3 bộ Timer/Counter 16 bit thực hiện các chức năng định thời và đếm các sựkiện

- WDM( Watch Dog Timer): WDM được dùng để phục hồi lại hoạt động củaCPU khi nó bị treo bởi một nguyên nhân nào đó WDM ở AT89S52 gồm 1 bộTimer 14 bit, 1 bộ Timer 7 bit, thanh ghi WDTPRG( WDT Programable) điềukhiển Timer 7 bit và 1 thanh ghi chức năng WDTRST (WDT Register) Bìnhthường WDT không hoạt động( bị cấm), để cho phép WDT, các giá trị 1Eh váE1H cần phải được ghi liên tiếp vào thanh ghi WDTRST Timer 14 bit của WDT

sẽ đếm tăng dần sau mỗi chu kì đồng hồ cho đến giá trị 16383 thì xảy ra tràn.Khi xảy ra tràn chân Reset sẽ được đặt ở mức cao trong khoảng thời gian98*Tosc ( Tosc=1/Fosc ) và AT89S52 sẽ đượ reset Khi WDT hoạt động , ngoạitrừ Reset phần cứng và Reset do WDT tràn thì không có cách nào cấm đượcWDT, vì vậy khi sử dụng WDT thì các đoạn mã của chương trình phải được đặttrong các khe thời gian giữa các lần WDT được khởi tạo lại

Thanh ghi WDTPRG:

Trang 21

1 0 1 524.29 ms 393.12 ms 314.56 ms

Bảng 2.3: Thời gian tràn của WDT

-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ộ chia tần số với hệ số chia là 12

- 4 cổng xuất nhập với 32 chân

- 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 các chương trình lên chip mà không cần các bộ nạp chuyên dụng

2.2.2 Sơ đồ chân và đóng gói

Hình 2.2 : 89S52 dạng DIP

Mặc dù các thành viên của họ 8051 (ví dụ 8751, 89S52, 89C51, DS5000)đều có các kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual In-Line Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) và dạng chip không

có chân đỡ LLC (Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức

Trang 22

năng khác nhau như vào ra I/O, đọc RD, ghi WR, địa chỉ, dữ liệu và ngắt Cầnphải lưu ý một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào

ra ít hơn cho các ứng dụng yêu cầu thấp hơn Tuy nhiên vì hầu hết các nhà pháttriển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tập trung

mô tả phiên bản này

- Port 0( P0.0=>P0.7)

Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp

dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi 89c52 giaotiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch PIO…

Hình 2.3 Sơ đồ cấu tạo của Port 0.

-Port 1 (P1.0-P1.7)

Port 1: Từ chân 1 đến chân 9 (P1.0 _ P1.7) Port 1 là port IO dùng cho giaotiếp với thiết bị bên ngoài nếu cần, Port 1 có thể xuất nhập theo bit và theo byte.Riêng dòng 89Sxx, ba chân P1.5, P1.6, P1.7 được dùng để nạp ROM theochuẩn ISP Hai chân P1.0 và P1.1 được dùng cho bộ timer 2 Sơ đồ kết nốiAT89S52 với cổng song song để nạp chương trình (file hex)

Trang 23

Hình 2.4.Cấu trúc của các chân trên Port1 và Port 3

- Port 2 (P2.0-P2.7)

Port 2: Từ chân 21 đến chân 28 (P2.0 _P2.7) Port 2 là một Port có tác dụngkép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với cácthiết bị dùng bộ nhớ mở rộng

Hình 2.5 Cấu trúc các chân trên Port 2

- Port 3 (P3.0-P3.7)

Port 3: Từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có tác dụng kép Cácchân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của 89S52 như ở bảng 2.6

Trang 24

Bit Tên Chức năng

P3.0 RXD Dữ liệu nhận cho Port nối tiếp

P3.1 TXD Dữ liệu truyền cho Port nối tiếp

Bảng 2.4 Chức năng của Port

- PSEN (Program stre enable)

PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc chương trình ở bộ nhớngoài và thường được nối đến chân OE để cho phép đọc các byte mã lệnh trênROM ngoài Nối với chân PSEN ở mức thấp trong thời gian 89S52 lấy lệnh Các

mã lệnh của chương trình được đọc từ EPROM qua bus dữ liệu, được chốt vàothanh ghi lệnh bên trong 89S52 để giải mã lệnh Khi 89S52 thi hành chươngtrình trong ROM nội, PSEN ở mức cao

- 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 lần tần số dao độngcủ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àinhư 74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ/dữ liệu( Port0)

- Chân /EA (Extetnal Access)

Trang 25

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

- 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 đưalên mức cao (trong ít nhất hai chu kỳ máy ), các thanh ghi trong vi điều khiểnđược tải những giá trị thích hợp để khởi động hệ thống

Chế độ X1(chế độ mặc định) thạch anh được chia 12 lần, nghĩa là nếu 1lệnh trong một chu kì máy và tần số thạch anh là 12MHz thì thời gian thực hiệnlệnh là 1us

Trang 26

Chế độ X2 : Ở chế độ này thạch anh được chia 6 lần, chế độ này được đặtbằng cách đặt các bit ở thanh ghi CLKCON0 và thanh ghi CLKCON1

Hình 2.6: Mạch tạo dao động dùng thạch anh 2.2.4 Mạch Reset

Có bốn cách để Reset lần lượt là Reset khi cấp nguồn,Reset bởi WDT,Reset bằng phần mềm và Reset bằng mạch ngoài qua chân RST AT89S52 cóngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ , sau đóxuống mức thấp để nó bắt đầu làm việc RST có thể được kick bằng tay bởi mộtnút bấm thông thường

Hình 2.7: Sơ đồ mạch Reset của AT89S52

C 7

R 9 R

V C C

Trang 27

2.3 Hoạt động vào ra

AT89S52 có 4 cổng vào ra song song, lần lượt là P0, P1, P2, P3 Mỗi cổng

có 8 tín hiệu (nên còn được gọi là cổng 8 bit), mỗi tín hiệu gọi là 1 bit và có tên

là Px.y Trong đó x là số thứ tự cổng (0-> 3), y là số thứ tự của bit (0-> 7)

Hầu hết các cổng đều tích hợp và thêm một số chức năng nào đó (ví dụnhư ngắt ngoài, cổng truyền thông nối tiếp, đầu vào đếm sự kiện…) Trong phầnlớn trường hợp, khi sử dụng tính năng kiêm nhiệm, người dùng không nên sửdụng cổng đó ở chức năng vào ra thông thường nữa Ngoại vi on chip nắm quyềnđiều khiển mức logic tại cổng đó

Tất cả các cổng đều là cổng hai chiều, tức là có thể dùng làm cổng vàohoặc cổng ra Cổng vào để đọc dữ liệu từ bên ngoài, cổng RS dùng để điều khiểnngoại vi bên ngoài

Chiều vào/ra là độc lập giữa các cổng, thậm chí giữa các bit trong cùngmột cổng Sau khi Reset tất cả các cổng đều là cổng vào ra

Các thanh ghi SFR liên quan.

Mỗi cổng liên quan đến một thanh ghi chức năng đặc biệt 8 bit (SFR) cótên trùng với tên cổng, lần lượt là P0, P1, P2, P3

Trước khi sử dụng cổng phải cấu hình hướng vào/ra cho cổng

Để cấu hình cổng vào (Input Port), người ta phải ghi các giá trị logic “1”lên bit trong thanh ghi SFR tương ứng Sau đó có thể đọc mức logic tại cổngbằng cách đọc thanh ghi cổng SFR tương ứng

Trang 28

2.4 Hoạt động định thời

2.4.1 Giới thiệu về hoạt động định thời

Các bộ định thời sử dụng rất rộng rãi trong các ứng dụng đo lường và vi điềukhiển.Bộ điều khiển AT89C52 có ba bộ định thời 16 bit trong đó hai bộ Timer 0

và Timer 1 có bốn chế độ hoạt động, Timer 2 có 3 chế độ hoạt động Các bộ địnhthời được dùng để định khoả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ạo tốc độ baud cho cổng nối tiếp của vi điều khiển

-Thanh ghi của Timer 0 và Timer 1

 Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc choTimer 0 và Timer 1

bit 7 bit 0

Hình 2.8: Thanh ghi TMOD của Timer 0 và Timer 1.

Bit Ký hiệu Chức năng

7 GATE1 Bit điều khiển cổng.Khi set lên 1, bộ định thời chỉ hoạt động

trong khi INT1 ở mức cao

6 C/#T1 Bit chọn chức năng đếm hoặc định thời

1=đếm sự kiện0=định thời trong 1 khoảng thời gian

5 M1 Bit chọn chế độ thứ nhất

4 M0 Bit chọn chế độ thứ 2

00 chế độ 0 – Timer 13 bit

Trang 29

01 chế độ 1 – Timer 16 bit

10 chế độ 2 – 8 bit tự động nạp lại

11 chế độ 3 – tách Timer

3 GATE0 Bit điều khiển cổng cho bộ định thời 0

2 C/#T0 Bit chọn chức năng đếm hoặc định thời cho bộ định thời 0

1 M1 Bit chọn chế độ thứ nhất cho bộ định thời 0

0 M0 Bit chọn chế độ thứ 2 cho bộ định thời 0

Bảng 2.5: Thanh ghi chức năng TMOD

Thanh ghi chứa giá trị của các bộ định thới của Timer 0 và Timer 1 làTHx và TLx, là thanh ghi 8bit để chứa giá trị khởi tạo hoặc giá trị hiện thời củaTimer Thanh ghi này không được định địa chỉ bit

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

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển Timer 0 và Timer 1.

TCON7 TCON6 TCON5 TCON4 TCON3 TCON2 TCON1 TCON0

Hình 2.8: Thanh ghi TCON

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.5 TF0 Cờ báo tràn Timer 0

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

Trang 30

TCON.3 IT1 Cờ ngắt do Timer 1

TCON.2 IE1 Cờ ngắt ngoài 1

TCON.1 IT0 Cờ ngắt do Timer 0

TCON.0 IE0 Cờ ngắt ngoài 0

Bảng 2.6 Chức năng thanh ghi TCON

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

Các Timer 0 và Timer 1 đều là các Timer 16 bit , mỗi Timer có 2 thanhghi 8 bit dùng để chứa giá trị khởi tạo hoặc giá trị hiện thời của các Timer Cụthể Timer 0 có TH0 và TL0, Timer 1 có TH1 và TL1 Các thanh ghi này khôngđược định địa chỉ bit

- Các thanh ghi của Timer 2

 Thanh ghi T2CON

Bit Kí hiệu Địa

chỉ

Mô tả

T2CON.7 TF2 CFH Cờ báo tràn của Timer2, đượ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

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

Trang 31

Bảng 2.7: Chức năng thanh ghi T2CON

Trang 32

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

đếm tiến

Bảng 2.8: Chức năng thanh ghi T2MOD

Thanh ghi TH2 và TL2, RCAP2H và RCAP2L: chứa giá trị đếm cho Timer2Dùng RCAP2H và RCAP2L chứa giá trị nạp lại

2.4.2 Các chế độ hoạt động của Timer0, Timer1

Trang 33

giá trị này sẽ xảy ra tràn, khi cờ tràn TF sẽ được đặt bằng 1 Sau khi xảy ra trànnếu muố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ởitạo sau khi đã dừng Timer bằng cách xoá bit TR.

- Chế độ 2:

Trong chế độ 2 bộ Timer dùng TL để chứa các giá trị đếm và TH để chứacác 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ủatimer tự động được nạp lại bằng nội dung của TH

- Chế độ 3:

Trong chế độ 3, Timer 0 được tách thành 2 bộ Timer hoạt động độc lập.Timer thứ nhất với nguồn xung clock được lấy từ bộ chia tần hoặc trên chip hoặc

từ bộ tạo xung bên ngoài qua chân T0

Giá trị đếm của Timer chứa trong TL0, khi xảy ra tràn, cờ TF0 được đặtbằng 1 và gây ra ngắt do timer 0 (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 Timer thứ hai chỉ là việc đặt giá trị của bit TR0 Giá trịđếm của Timer chứa trong TH0, khi xảy ra tràn cờ TF được đặt bằng 1 và gây rangắt do Timer 1 (nếu được đặt)

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

Trang 34

2.4.3 Các chế độ hoạt động của Timer2

Timer 2 có ba chế độ hoạt động đó là chế độ thu nhận (Capture), chế độ tựnạp lại (Auto-reload) và chế độ cung cấp tốc độ baud cho cổng nối tiếp (BaudRate Generator)

lại

2.5 Hoạt động ngắt

Ngắt là những yêu cầu do ngoại vi (là các phần cứng tích hợp trên IC hoặccác tác động từ bên ngoài) gửi tới CPU nhằm đòi hỏi những đáp ứng nhất định.Mục đích của việc thiết kế cơ chế ngắt trong vi xử lý nhằm tiết kiệm thời giancho CPU Trong hầu hết các trường hợp, vi xử lý cần phải thực hiện nhiều nhiệm

vụ trong thời gian rất ngắn và liên tục Để đáp ứng kịp thời các sự kiện cần xử lý,

Trang 35

CPU có thể tiến hành thăm dò (Polling), liên tục các sự kiện để xem khi nàochúng xảy ra thì xử lý đáp ứng lại Tuy nhiên làm như vậy lãng phái rất nhiềuthời gian của CPU trong khi còn rất nhiều nhiệm vụ khác đang chờ được thựchiện, ngoài ra CPU không thể thăm dò liên tục nhiều sự kiện trong cùng một lúcđược Người ta tạo ra ngắt để CPU không phải thăm dò liên tục nhiều sự kiệncần đáp ứng các cơ chế khác nhau, khi một sự kiện nào đó xảy ra CPU dừngcông việc đang làm lại (nhưng phải thực hiện xong việc đang thực hiện, dù mớichỉ ở giai đoạn tìm nạp mã lệnh), và chuyển sang sử xong sự kiện gây ngắt, CPU

sẽ tiếp tục quay lại làm tiếp công việc đang thực hiện (nhờ hoạt động của ngănxếp) Trong ngắt có hai loại ưu tiên ngắt cơ bản là ưu tiên giữa các ngắt xảy rađồng thời và ưu tiên giữa các ngắt xảy ra khác thời điểm, chen vào nhau Trong

cả hai trường hợp, ngắt có ưu tiên cao hơn sẽ luôn được phục vụ ngay lập tức

AT89S52 có 6 nguồn ngắt:

Ngắt ngoài đến từ chân #INT0

Ngắt ngoài đến từ chân #INT1

Ngắt do Timer 0

Ngắt do Timer 1

Ngắt do Timer 2

Ngắt do Port nối tiếp

Sáu nguồn ngắt này được xoá khi hết và được đặt riêng bằng phần mềmbởi các bit trong các thanh ghi cho phép ngắt (IE), thanh ghi ưu tiên ngắt (IP).-Thanh ghi cho phép ngắt IE ( Interrupt Enable )

Bit Ký hiệu Địa chỉ bit Mô tả (1 cho phép; 0:cấm

Trang 36

IE.7 EA AFH Cho phép hoặc cấm toàn bộ

IE.5 ET5 ADH Cho phép nhắt từ timer 1 (8052)IE.4 ES ACD Cho phép ngắt từ portt nối tiếpIE.3 ET1 ABH Cho phép nhắt từ timer 1

IE.2 EX1 AAH Cho phép ngắt ngoài 1

IE.1 ET0 A9H Cho phép ngắt từ ngoài 0

IE.0 EX0 A8H Cho phép ngắt ngoài 0

Bảng 2.10: Bảng chức năng thanh ghi IE

Trang 37

-Thanh ghi ưu tiên ngắt IP.

IP.5 PT2 BDH Ưu tiên ngắt từ Timer 2

IP.4 PS BCH Ưu tiên ngắt ngoài Port nối tiếp

IP.3 PT1 BBH Ưu tiên ngắt ngoài từ Timer 1

IP.1 PT0 B9H Ưu tiên cho ngắt ngoài Timer 0

Bảng 2.11: Bảng chức năng thanh ghi IP

2.6 Cổng nối tiếp (Serial Port)

AT89S52 có một cổng nối tiếp (UART) trên chip có thể hoạt động ở nhiềuchế độ khác nhau với các tốc độ khác nhau Chức năng chủ yếu của cổng nối tiếp

là chuyển đổi song song sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếpsang song song với dữ liệu nhận

Dữ liệu đi và về hoàn toàn độc lập với nhau, do đó có thể truyền nhậnđồng thời, và cổng nối tiếp có đặc tính như vậy còn gọi là cổng song công

Trang 38

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

- Các thanh ghi liên quan

Dữ liệu nhận về thông qua RxD, tới một thanh ghi chức năng đặc biệt(8bit) tên là SBUF

Dữ liệu truyền thông qua TxD, từ một thanh ghi chức năng đặc biệt (8bit)cũng tên là SBUF

+ Thanh ghi điều khiển SCON:

SM0- SM1:

0- 0 = mode 0: Chế độ đồng bộ 8 bit, clock=1/12 Fosc

0- 1 = mode 1: Chế độ dị bộ 8 bit, clock thay đổi được tuỳ ý

1- 0 = mode 2: Chế độ dị bộ 9 bit, clock =1/64 Fosc hoặc 1/32 Fosc

1- 1 = mode 3: Chế độ dị bộ 9 bit, clock thay đổi tuỳ ý

SM2: Bit cho phép chế độ giao tiếp đa xử lý mode 2 hoặc mode 3 Trong

các chế độ thông thường SM2=0

REN: Bit cho phép nhận dữ liệu nếu ghi vào đó giá trị logic 1 Giá trị

logic 0 tại bit này sẽ “khoá cổng” với dữ liệu gửi đến

Cổng RS232

chuyển

Trang 39

TB8: Bit dữ liệu thứ 9 phát đi trong chế độ truyền nhận 9 bit (mode 2 &

mode3 )

RB: Bit dữ liệu thứ 9 nhận về trong các chế độ truyền nhận 9 bit (mode 2 và

mode 3)

TI: Cờ báo ngắt truyền, khi TI =1 báo hiệu rằng một khung dữ liệu (8 hay

9 bit tuỳ chế độ) đã được truyền xong Cờ này không tự xoá về 0 khi chươngtrình phục vụ ngắt thực hiện Người dùng phải xoá từng lệnh

RI: Cờ báo ngắt nhận, khi RI = 1 báo hiệu rằng một khung dữ liệu (8 hay

9 bit tuỳ chế độ) đã được nhận về đầy đủ, cờ này không tự xoá về 0 khi chươngtrình phục vụ ngắt thực hiện Người dùng phải xoá bằng lệnh

Với cổng nối tiếp các bit dữ liệu được truyền lần lượt trên một đường tínhiệu thay vì truyền cùng một lúc trên các đường tín hiệu khác nhau Thôngthường thì việc truyền dữ liệu bằng cổng nối tiếp phải tuân theo một cơ chế, mộtgiao thức hay nguyên tắc nhất định Có một số giao thức như SPI, I2C, SCI…

Cổng nối tiếp có hai kiểu truyền dữ liệu chính:

+ Truyền đồng bộ (Synchronous): Thiết bị truyền và thiết bị nhận dùngchung một xung nhịp clock

+ Truyền dị bộ (Asychronous): Thiết bị truyền và thiết bị nhận sử dụng hainguồn xung nhịp riêng Tuy nhiên hai nguồn xung này không được khác nhaunhiều

Xung nhịp là yếu tố không thể thiếu trong truyền dữ liệu cổng nối tiếp và

nó có vai trò xác định giá trị của bit dữ liệu

Cổng nối tiếp có thể có một trong các tính năng:

Trang 40

+Đơn công: Thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu.

+Bán song công: Thiết bị có thể truyền và nhận dữ liệu nhưng tại cùngmột thời điểm chỉ có thể thực hiện một trong hai

+Song công: Thiết bị có thể truyền và nhận dữ liệu đồng thời

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

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Sơ đồ khối của 8051 - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 2.1 Sơ đồ khối của 8051 (Trang 13)
Bảng 2.3: Thời gian tràn của WDT - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Bảng 2.3 Thời gian tràn của WDT (Trang 16)
Hình 2.3  Sơ đồ cấu tạo của Port 0. - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 2.3 Sơ đồ cấu tạo của Port 0 (Trang 17)
Hình 2.4.Cấu trúc của các chân trên Port1 và Port 3 - Port 2 (P2.0-P2.7) - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 2.4. Cấu trúc của các chân trên Port1 và Port 3 - Port 2 (P2.0-P2.7) (Trang 18)
Hình 2.5. Cấu trúc các chân trên Port 2 - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 2.5. Cấu trúc các chân trên Port 2 (Trang 18)
Bảng 2.4 Chức năng của Port - PSEN (Program stre enable) - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Bảng 2.4 Chức năng của Port - PSEN (Program stre enable) (Trang 19)
Bảng 2.11: Bảng chức năng thanh ghi IP - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Bảng 2.11 Bảng chức năng thanh ghi IP (Trang 32)
Hình 2.9.  Mô tả hoạt động của cổng nối tiếp - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 2.9. Mô tả hoạt động của cổng nối tiếp (Trang 33)
Hình 3.1: Sơ đồ nguyên lý Kit thí nghiệm vi điều khiển 8051 - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.1 Sơ đồ nguyên lý Kit thí nghiệm vi điều khiển 8051 (Trang 36)
Hình 3.2: Sơ đồ nguyên lý khối led đơn. - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.2 Sơ đồ nguyên lý khối led đơn (Trang 37)
Hình 3.4: Sơ đồ nguyên lý khối quét led 7 thanh. - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.4 Sơ đồ nguyên lý khối quét led 7 thanh (Trang 39)
Hình 3.5: Cấu tạo chân của led 7 đoạn - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.5 Cấu tạo chân của led 7 đoạn (Trang 40)
Bảng 3.1: Bảng mã hiện thị dành cho led 7 đoạn Anot chung - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Bảng 3.1 Bảng mã hiện thị dành cho led 7 đoạn Anot chung (Trang 43)
Hình 3.8: Cấu tạo bên trong Matrix8X8 - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.8 Cấu tạo bên trong Matrix8X8 (Trang 45)
Hình 3.7: Sơ đồ nguyên lý khối hiển thị LCD 3.6.2 Phân tích sơ đồ nguyên lý - Thiết kế bộ KIT thí nghiệm vi điều khiển 8051
Hình 3.7 Sơ đồ nguyên lý khối hiển thị LCD 3.6.2 Phân tích sơ đồ nguyên lý (Trang 48)

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