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

Điều Khiển Động Cơ bằng Cảm Biến nhiệt độ DS18B20 8051

46 314 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 46
Dung lượng 1,6 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ỗ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ác thiết bị ngoại vi sử dụng những Port để xuất nhập d

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG

MÔN: KĨ THUẬT ĐO II

ĐỀ TÀI:

ĐIỀU KHIỂN ĐỘNG CƠ BẰNG CẢM BIẾN

NHIỆT ĐỘ DS18B20

GVHD: NGUYỄN HỒNG PHÚC NHÓM: 12

SVTH : NGUYỄN TRIỆU PHONG 1651050035 TD16A

HÀ THÚC TUẤN 1651050054 TD16A TRẦN THỊ THỦY TIÊN 1651050040 TD16A

Trang 3

1.IC 89S52

1.1 Cấu trúc của IC 89S52

Trung tâm của 89S52 vẫn là vi sử lý trung tâm (CPU) Để kích thích cho toàn bộ hệ thống hoạt động, 89S52 có bộ tạo dao đông nội với thạch anh được ghép từ bên ngoài với tần số khoảng từ Mhz đến 24Mhz 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, BUSS địa chỉ và BUSS điều khiển 89S52 có 8K ROM, 256 bytes RAM và một số thanh ghi bợ nhớ … Nó giao tiế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ữ 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ó 2 ngắt ngoài cho phép nó đáp ứng và xử lý điều kiện bên ngoài theo cách ngắt quã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ển và các cổng song song 89S52 có thể có thể mở rộng bộ nhớ ngoài lên 64Kbs

dữ liệu

Sau đây là sơ đồ khối vi điều khiển:

Trang 4

•1.2 Sơ lượt về các chân IC89S52

•IC 89S52 có 40 chân Có 32 chân làm nhiệm vụ xuất nhập, truyền dữ liệu Các chân ơhucj vụ ngắt, các chân Timer, trong đó 24 chân làm 2 nhiệm vụ khác nhau 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ác thiết bị ngoại vi sử dụng

những Port để xuất nhập dữ liệu Tám đường trong mỗi Port được sử dụng như một đơn vị giao tiếp song song như máy in, bộ biến đổi

tương tự số… Hoặc mỗi đường cũng có thể hoạt động độc lập trong giao tiếp với các thiết bị đơn bit khác : transistor, LED,switch…

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

Trang 6

       + XTAL2 → ngõ ra mạch tạo xung clock trong chip.  

Trang 7

 Chân RST: 

         - RST (Reset): thiết lập lại, chân số 9. - Chức năng: 

       + Là tín hiệu cho phép thiết lặp (đặt) lại trạng thái ban đầu cho hệ thống.        + Là tín hiệu nhập, tích cực mức cao

 Chân Vcc, GND: 

      - Vcc, GND: nguồn cấp điện, chân số 40 và 20. 

      - Chức năng: Cung cấp nguồn điện cho chip 8051 hoạt động

      Vcc =    +5V ±  10% và GND = 0V

Trang 8

1.2 GIAO TIẾP VỚI LCD:

Trang 9

GIAO TI P 8051 V I LCD: ẾP 8051 VỚI LCD: ỚI LCD:

- LCD cần 8 hay 11 đường I/O để giao tiếp Nếu sử dụng bus dữ liệu 8 bit thì sẽ cần dùng 11 đường I/O của 8051 để giao tiếp với LCD, với kết nối mạch như sau:

P1.0 – P1.7 (của 8051) nối với DB0 – DB7 (của LCD)

P3.7 (của 8051) nối với E (của LCD)

P3.6 (của 8051) nối với RS

P3.5 (của 8051) nối với RW

Trang 11

X LÍ Ử LÍ ĐƯỜNG ĐIỀU KHIỂN E ĐƯỜNG ĐIỀU KHIỂN E NG I U KHI N E Đ ỀU KHIỂN E ỂN E :

- Để thiết lập các lệnh hay gởi dữ liệu ký tự cho LCD, ta phải tạo ra một xung cạnh xuống trên chân E, do đó ta phải đưa đường E lên mức cao, tạo trễ 1 khoảng thời gian để tạo độ rộng xung và sau đó ta đưa đường E xuống mức thấp.

lệnh LCD

- Để đọc dữ liệu hay trạng thái từ LCD, ta phải tạo ra một xung cạnh lên trên

chân E, do đó ta phải đưa đường E xuống mức thấp, tạo trễ 1 khoảng thời gian để tạo độ rộng xung và sau đó ta đưa đường E lên mức cao.

đọc từ LCD

Trang 16

2.CẢM BIẾN NHIỆT ĐỘ DS18B20

Trang 19

BỘ NHỚ:

• Bộ nhớ của DS18B20 bao gồm bộ nhớ nháp (SRAM scratchpad), thanh ghi lưu trữ kích hoạt cảnh báo cao và thấp (TH và TL) và thanh ghi cấu hình, cả hai thanh ghi này đều trang bị bộ nhớ EEPROM. Lưu ý rằng nếu nếu chức năng cảnh báo không được 

sử dụng thì thanh ghi TH và TL có thể được sử dụng như bộ nhớ 

đa mục đích

• Byte 0 và Byte 1 của bộ nhớ nháp chứa đựng LSB và MSB của thanh ghi nhiệt độ. Những Byte này chỉ có thể đọc. 

• Byte 2 và 3 truy cập thanh ghi TH và TL . 

• Byte 4 chứng đựng dữ liệu của thanh ghi cấu hình . 

• Byte 5, 6 và 7 để dành riêng cho sử dụng bởi thiết bị, ta không thể ghi đến các byte này

• Byte 8 chứa đựng mã CRC của byte 0 đến byte 7 của bộ nhớ nháp

• Dữ liệu trong các thanh ghi EEPROM không mất đi khi ngắt nguồn cấp; khi có nguồn cấp lại dữ liệu trong các thanh ghi này 

sẻ được nạp vào bộ nhớ nháp theo vị trí byte tương ứng. Dữ liệu này có thể nạp lại bằng lệnh từ EEPROM bằng lệnh E2 [B8h]

Bộ nhớ SRAM scratchpad

Trang 20

THANH GHI CẤU HÌNH:

Byte thứ 4 của bộ nhớ nháp chứa đựng thanh ghi cấu hình, với tổ chức như hình bên dưới. Người dùng 

có thể thiết lập độ phân giải của DS18B20 sử dụng bit R0 và R1. Khi cấp nguồn mặt định R0=1, R1=1 (độ phân giải 12 bit). Bit thứ 7 và bit 0 đến bít 4trong thanh ghi cấu hình được để dành riêng cho thiết bị và không thể ghi đè

Trang 21

CÁC LỆNH CƠ BẢN:

SEARCH ROM [F0h]

- Khi hệ thống đươc cấp nguồn, thiết bị đóng vai trò master phải xác định mã ROM của tất cả các thiết bị slave được đấu trên cùng bus, việc làm này cho phép thiết bị master xác định số lượng thiết bị salve và kiểu thiết bị

READ ROM (33h)

- Lệnh này chỉ dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết 

bị tớ cùng đáp ứng. Nó cho phép đọc 64 bit mã ROM (8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC) và không sử dụng quy trình Search Rom

MATCH ROM (55h)

- Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus chọn ra chỉ một cảm biến 

DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến DS1820 

có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây

SKIP ROM (CCh)

- Thiết bị master có thể sử dungj lệnh này để gửi đến tất cả các thiết bị slave trên bus một các đồng thời mà 

không cần gửi mã ROM định danh của thiết bị. Ví dụ như thiết bị master ra lệnh cho tất cả các DS18B20 trên Bus 

chuyển đổi nhiệt độ một cách đồng thời bởi gửi lệnh SKIP ROM và lệnh CONVERT T (44h)

Trang 22

ALARM SEARCH (ECh)

- Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến

- Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết 

bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820. khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn. Các lệnh chức năng có thể được mô tả ngắn gọn như sau:

WRITE SCRATCHPAD (4Eh)

- Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất hiện

READ SCRATCHPAD (BEh)

- Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte thứ 9 (byte 8 – CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc

Trang 23

COPYSCRATCHPAD (48h)

- Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3), và thanh ghi cấu hình từ bộ nhớ nháp đến 

bộ nhớ EEPROM. Nếu cảm biến được sử dụng trong chế độ sử dụng nguồn ký sinh, trong 10us (tối đa) sau khi truyền lệnh này, thiết bị master phải cho phép một "strong pullup" lên bus

CONVERT T (44h)

- Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp. Trong thời gian đang 

chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0

READ POWER SUPPLY (B4h)

- Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng

Trang 25

1.3 TIMER:

8051 có 2 timer 16 bit: THx (byte cao) ; TLx (byte th p) ấp) + Timer 0

+ Timer 1

1.3.1 Các thanh ghi của timer

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

 

+ M1, M0: chọn chế độ hoạt động.

+ C/T: bit chọn chức năng đếm hoặc định thời cho timer + Gate: bit điều khiển cổng cho bộ định thời.

Trang 26

b Thanh ghi điều khiển định thời (TCON):

+ TFx: cờ tràn của timer x (x là 0 hay 1) + TRx = 0: không cho phép timer chạy + TRx = 1: cho phép timer chạy.

Trang 27

1.4 Port n i ti p ối tiếp ếp

- Chức năng cơ bản của port nối tiếp là chuyển đổi dữ liệu từ song song thành nối tiếp khi phát và từ nối tiếp thành song song khi thu

- Truy xuất port nối tiếp thông qua 2 chân:

+ RxD (P3.0): chân thu của port nối tiếp

+ TxD (P3.1): chân phát của port nối tiếp

- Các thanh ghi liên quan đến port nối tiếp:

+ SCON: chứa các bit trạng thái và các bit điều khiển port nối tiếp

+ SBUF: là bộ đệm của port nối tiếp Thực tế, port nối tiếp gồm 2 bộ đệm riêng cho phát và thu

1 Thanh ghi đi u khi n port n i ti p SCONều khiển port nối tiếp SCON ển port nối tiếp SCON ối tiếp SCON ếp SCON

Trang 28

SM0, SM1: chọn chế độ hoạt động của port nối tiếp

Trang 29

1.5 INTERUPT:

  - Interupt (Ngắt): là việc ngưng thực hiện chương trình hiện hành do sự tác động của bên ngoài hay bên trong để nhảy tới thực hiện 1 chương trình khác, được gọi là chương trình phục vụ ngắt ISR (Interrupt Service Routine).

-8051 có 5 nguồn ngắt:

+ 2 ngắt ngoài:

ngắt ngoài 0: qua chân (P3.2)

ngắt ngoài 1: qua chân (P3.3)

Trang 30

1.4.1 Các thanh ghi liên quan đến ngắt.

a Thanh ghi cho pheùp ngaét IE (Interrupt Enable)

Trang 31

mov TMOD,#20h ; timer 1 mode 2

mov SCON,#53h ; UART mode 1

mov TH1,#(-3) ; baudrate = 9600 NẠP BYTE CAO CỦA -3 VÀO TH1 mov TL1,#(-3)

SETB TR1 ;CHO TIMER 1 CHẠY

mov DPTR,#800H

acall out_string_run

Trang 32

mov A,#13 ; ma ASCII cua ky tu xuong dong

Trang 35

81 -  INC DPTR

82 -  DJNZ 30H,ROW1      ;giảm giá trị của ô nhớ 30H đi 1 rồi nhảy đến nhãn nếu giá trị ô nhớ direct khác 0.       ;nếu giá trị ô nhớ 30H bằng 0 thì thực hiện câu lệnh LCALL DELAY2

Trang 44

MOV TH0,#HIGH(-50000)MOV TL0,#LOW(-50000)

Trang 46

P2.7 = 0P2.7 = 1

Ngày đăng: 30/03/2019, 11:03

TỪ KHÓA LIÊN QUAN

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

w