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

lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20

52 595 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 52
Dung lượng 747 KB

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

Nội dung

Hiện nay các bộ vi điều khiển có mặt trong rất nhiều thiết bị điện tử hiện đạinhư là đầu đĩa CD, máy thu hình, máy ghi hình, dàn âm thanh HIFI, bộ điềukhiển nhiệt độ dùng trong hệ thống

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA VẬT LÝ

PHẠM THỊ NHẪN

LẬP TRÌNH C CHO VI ĐIỀU KHIỂN 8051

ĐIỀU KHIỂN SENSOR DS18B20

KHÓA LUẬN TÔT NGHIỆP ĐẠI HỌC

HÀ NỘI, 2014

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA VẬT LÝ

PHẠM THỊ NHẪN

LẬP TRÌNH C CHO VI ĐIỀU KHIỂN 8051

ĐIỀU KHIỂN SENSOR DS18B20

Chuyên ngành: Vật lý kỹ thuật

KHÓA LUẬN TÔT NGHIỆP ĐẠI HỌC

Người hướng dẫn khoa học:

Th.S Phùng Công Phi Thanh

HÀ NỘI, 2014

Trang 3

Lời cảm ơn

Trước tiên tôi xin chân thành cảm ơn Th.s Phùng Công Phi Khanh,

người đã hướng dẫn tận tình, hiệu quả giúp tôi hoàn thành Khóa luận

Tôi xin cảm ơn các thầy giáo, cô giáo trong khoa Vật lý trường Đạihọc Sư phạm Hà Nội 2 đã giúp đỡ tôi trong suốt quá trình học tập và làmKhóa luận

Tôi xin cảm ơn bạn bè, người thân luôn cổ vũ, động viên, giúp đỡ tôihoàn thành Khóa luận

Hà Nội, tháng 5 năm 2014

Sinh viên

Phạm Thị Nhẫn

Trang 4

Lời cam đoan

Quá trình nghiên cứu khóa luận về đề tài “ Lập trình C cho vi điều khiển8051điều khiển sensor DS18B20” tôi đã tiếp cận được một số công nghệ hiệnđại mang tính thời sự Qua đây tôi cũng giúp tôi bước đầu làm quen với côngtác nghiên cứu khoa học

Tôi xin cam đoan khóa luận này được hoàn thành do sự cố gắng tìmhiểu nghiên cứu của bản thân cùng với sự hướng dẫn chỉ đạo tận tình và hiểuquả của Th.s Phùng Công Phi Khanh cũng như các thầy cô trong khoa Vật lý– Trường Đại học Sư phạm Hà Nội 2 Đây cũng là đề tài không trùng vớicác đề tài khác

Hà Nội, tháng 5 năm 2014

Sinh viên

Phạm Thị Nhẫn

Trang 5

MỤC LỤC

Trang

Phần I: Mở đầu 5

Phần II: Nội dung 8

Chương 1: Giới thiệu về họ vi điều khiển 8051 và AT89C52 8

1.1 Tổng quan về vi điều khiển 8051 8

1.1.1 Sơ đồ của chip 8051 8

1.1.2 Tổng quan về vi điều khiển 8051 8

1.1.3 Các chân 9

1.2 Tìm hiểu vi điều khiển AT89C52 12

1.2.1 Cấu tạo 13

1.2.2 Cấu trúc của port xuất/nhập 14

1.2.3 Bộ nhớ ngoài 15

1.2.4 Hoạt động Reset 16

1.2.5 Hoạt động định thời 17

1.2.6 Một số hoạt động khác 19

Chương 2: Cảm biến nhiệt DS18B20 và màn hình hiển thị Led 20

2.1 Tổng quan 20

2.1.1 Cấu tạo 20

2.1.2 Lấy nhiệt với DS18B20 21

2.2 Giao tiếp với led 7 đoạn 24

2.2.1 Các khái niệm cơ bản 24

2.2.2 Kết nối với vi điều khiển 25

Chương 3: Ngôn ngữ lập trình C trong vi điều khiển 8051 27

3.1 Ngôn ngữ C cho vi điều khiển 27

3.1.1 Giới thiệu ngôn ngữ C 27

3.1.2 Ngôn ngữ C 28

Trang 6

3.2 Cấu trúc chương trình C 31

3.2.1 Cấu trúc chương trình 31

3.2.2 Chỉ thị tiền xử lý 32

3.2.3 Chú thích trong chương trình 34

3.3 Các lệnh cơ bản trong C 34

Chương 4: Phần thực nghiệm 36

4.1 Mục đích, yêu cầu thiết kế 36

4.2 Thiết kế 36

4.3 Sơ đồ mạch điện 38

4.4 Thiết kế phần mềm 39

4.5 Một số hình ảnh nhiệt độ thu được từ mạch mô phỏng 42

Phần III: Kết luận 43 Tài liệu tham khảo

Phụ lục

Trang 7

PHẦN I: MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay những ứng dụng của vi điều khiển đã đi sâu vào đời sống sinhhoạt và sản xuất của con người Thực tế hiện nay là hầu hết các thiết bị điệndân dụng hiện nay luôn có sự góp mặt của vi điều khiển và vi xử lý Ứng dụng

vi điều khiển trong thiết kế hệ thống làm giảm về kích thước, khối lượng, giảmchi phí thiết kế và hạ giá thành sản phẩm đồng thời nâng cao tính ổn định củathiết bị và hệ thống Trên thị trường có rất nhiều vi điều khiển, trong đó có thể

kể đến đó là họ 8051 của Intel, 68 HC11 của Motorola, Z80 của hãng Zilog, Piccủa hãng Microchip, H8 của Hatachi,

Việc phát triển ứng dụng các hệ vi điều khiển đòi hỏi những hiểu biết cả vềphần cứng lẫn phần mềm, nhưng cũng chính vì vậy mà các hệ vi xử lý được sửdụng để giải quyết những bài toán rất khác nhau Tính đa dạng của các ứng dụngphụ thuộc vào lựa chọn các hệ vi xử lý cụ thể cũng như vào kỹ thuật lập trình Hiện nay các bộ vi điều khiển có mặt trong rất nhiều thiết bị điện tử hiện đạinhư là đầu đĩa CD, máy thu hình, máy ghi hình, dàn âm thanh HIFI, bộ điềukhiển nhiệt độ dùng trong hệ thống công nghiệp Lĩnh vực ứng dụng các hệ vi xử

lý cũng rất rộng lớn: từ nghiên cứu khoa học, truyền dữ liệu đến công nghiệp,năng lượng, giao thông và y tế,

Tùy theo kinh nghiệm và mức độ thông thạo mà chúng ta có thể sử dụngcác ngôn ngữ khác ngoài hợp ngữ như: C, C++, Visual basic để có nhữngchương trình chất lượng cao hơn

Trang 8

Vì vậy mà sau một thời gian học tập và nghiên cứu, chúng tôi đã lựa chọn

và nghiên cứu đề tài:

“Lập trình C cho vi điều khiển 8051điều khiển sensor DS18B20”

2 Mục đích nghiên cứu

Tìm hiểu về vi điều khiển

3 Đối tượng nghiên cứu

5 Nhiệm vụ nghiên cứu

Tìm hiểu tổng quan về vi điều khiển 8051

Lập trình C trong vi điều khiển 8051

Tìm hiểu về DS18B20 và led 7 đoạn

6 Phương pháp nghiên cứu

Sử dụng phương pháp nghiên cứu lý thuyết kết hợp với thực nghiệm

Trang 9

7 Cấu trúc khóa luận

Chương 1: Giới thiệu về vi điều khiển 8051và AT89C52 Trong đó giới

thiệu tổng quan về sơ đồ khối của chíp 8051, các chân của nó vàtìm hiểu về cấu tạo, hoạt động định thời, hoạt động reset củaAT89C52

Chương 2: Cảm biến nhiệt DS18B20 Cấu tạo, một số đặc điểm của

DS18B20, cách lấy nhiệt độ và đọc nhiệt độ của DS18B20 Chương 3: Ngôn ngữ lập trình C trong vi điều khiển 8051 Trình bày về

ngôn ngữ C, kiểu dữ liệu, cấu trúc chương trình C và một số câulệnh C

Chương 4: Phần thực nghiệm Thiết kế và mô phỏng mạch đo nhiệt độ dùng vi

điều khiển AT89C52 và sensor DS18B20 hiển thị trên led 7 đoạn

Trang 10

PHẦN II: NỘI DUNG Chương 1: GIỚI THIỆU VỀ HỌ VI ĐIỀU KHIỂN 8051

VÀ AT89C52

1.1Tổng quan về vi điều khiển 8051

1.1.1 Sơ đồ khối của chíp 8051

Hình 1.1 Tổng quan về họ vi điều khiển 8051

1.1.2 Tổng quan về vi điều khiển 8051

- 4KB ROM

- 128 byte RAM

- 4 port xuất nhập (I/O port) 8 – bit

Trang 11

- 2 bộ định thời 16 – bit.

- Mạch giao tiếp nối tiếp

- Không gian nhớ chương trình (mã) ngoài 64K

- Không gian nhớ dữ liệu ngoài 64K

- Bộ xử lý bit (thao tác trên các bit riêng rẽ)

- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit

- Nhân/chia trong 4µs

1.1.3 Các chân (pinout)

Chip 8051 có 40 chân, 32 trong 40 chân này làm nhiệm vụ xuất/nhập, tuynhiên 24 trong 32 đường này có 2 mục đích Mỗi một đường có thể hoạt độngxuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như mộtđường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp 32 chân đó được chia làm 4port – 8 bit 8 đường cho mỗi port có thể được xử lý như một đơn vị giao tiếp vớicác thiết bị song song như máy in, bộ biến đổi D – A,vv , hoặc mỗi đường cóthể hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED,cuộn dây, động cơ

1.1.3.1 Port 0

Port 0 (từ chân 32 đến chân 39 trên 8051) có hai công dụng Các chân củaport 0 được kí hiệu P0.0, P0.1, , P0.7 Trong các thiết kế có tối thiểu thànhphần, port 0 được sử dụng làm nhiệm vụ xuất/nhập Trong các thiết kế lớn hơn

có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp

Trang 12

1.1.3.2 Port 1

Port 1 có một công dụng là xuất/nhập (các chân từ 1 đến 8 của chip 8051).Các chân của port 1 được kí hiệu là P1.0, P1.1, , P1.7 và được dùng để giao tiếpvới các thiết bị bên ngoài khi có yêu cầu chúng chỉ để sử dụng để giao tiếp vớicác thiết bị ngoại vi

1.1.3.3 Port 2

Port 2 (các chân từ 21 đến 28) có hai công dụng, hoặc làm nhiệm vụxuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16 bit cho các thiết kế có bộ nhớchương trình ngoài hoặc các thiết bị nhiều hơn 256 byte bộ nhớ ngoài dữ liệu

1.1.3.4 Port 3

Port 3 (các chân từ 10 đến 17 của chip 8051) có hai công dụng Khi khônghoạt động xuất/nhập, các chân của port 3 có nhiều chức năng riêng (mỗi chân cóchức năng riêng liên quan đến các đặc trưng cụ thể của 8051)

Bảng 1.1- Chức năng các chân của port 3 và chân P1.0 và P1.1 của port 1

Bit Tên Địa chỉ bit Chức năng

Trang 13

P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài

1.1.3.5 Các chân cho phép của bộ nhớ chương trình

8051 cung cấp cho ta 4 tín hiệu điều khiển bus Tín hiệu cho phép bộ nhớ

tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài Chân này

cho phép đọc các byte lệnh

1.1.3.6 Chân cho phép chốt địa chỉ ALE

8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE(address latch enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ.Khi port 0 được sử dụng làm bus địa chỉ (byte thấp của địa chỉ 16 bit) vào một

điều này đã thực hiện, các chân của port 0 sẽ xuất/nhập dữ liệu hợp lệ trong suốt thứ hai của chu kỳ bộ nhớ

điều khiển và có thể được dùng làm xung clock cho phần còn lại của hệ thống

Trang 14

Nếu mạch dao động có tần số 12 MHz, tín hiệu ALE có tần số 2 MHz Ngoài hệduy nhất là thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua ChânALE còn được dùng để nhận xung ngõ vào lập trình cho EPROM trên chip đốivới các phiên bản của 8052 có EPROM này.

1.1.3.7 Chân truy xuất ngoài

Ngõ vào này (chân 31) có thể được nối với 5V (logic 1) hoặc với GND(logic 0)

(chương trình nhỏ hơn 4K/8K)

thực thi chứa ở bộ nhớ ngoài

điện áp cấp điện 21V (Vpp) cho việc lập trình EPROM nội (nạp EPROM)

1.1.3.8 Chân RESET (RST)

Ngõ vào RST (chân 9) là ngõ vào xóa chính (master reset) của 8051 dùng

để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống

Khi ngõ vào này được treo ở mức logic 1 tối thiểu hai chu kỳ máy, cácthanh ghi bên trong 8051 được nạp các giá trị thích hợp cho việc khởi động lại

hệ thống

Trang 15

1.2.1.9 Các chân XTAL1 và XTAL2

Mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ởhai chân XTAL1 và XTAL2 (chân 18 và chân 19) Tần số danh định của thạchanh là 12MHz cho hầu hết các chip của họ MCS – 51 (80C31BH – 1 sử dụngthạch anh 16 MHz bên trong, mạch dao động bên trong chip không cần thạchanh bên ngoài)

1.2 Tìm hiểu vi điều khiển AT89C52

1.2.1 Cấu tạo

AT89C52 là một hệ vi tính 8 – bit đơn chip CMOS có hiệu suất cao, côngsuất nguồn tiêu thụ thấp, và có 48Kbyte bộ nhớ RAM Flash xóa được, lập trìnhđược Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung, có

độ tích hợp cao của Atmel Flash trên chip này cho phép bộ nhớ chương trìnhđược lập trình lại trên hệ thống hoặc bằng lập trình bộ nhớ không mất nội dungquy ước Bằng cách kết hợp một CPU linh hoạt 8 – bit với Flash trên một chipđơn tinh thể Atmel 89C52 là một bộ vi tính đơn chip mạnh cho ta một giải pháp

có hiệu quả về chi phí và rất linh hoạt với các ứng dụng điều khiển AT89C52 cónhững đặc trưng chuẩn sau:

- 8 Kbyte ROM

- 256 byte RAM

- 32 đường xuất nhập

- 3 bộ định thời (đếm) 16 – bit

Trang 16

Hình 1.2 Sơ đồ chân của chip AT89C52

Hình trên cho chúng ta sơ đồ các chân của chip AT89C52

Các port của 89C52 (cùng các chân tương ứng) có cấu tạo và chức năngtương tự của 8051

Trang 17

1.2.2 Cấu trúc của port xuất/nhập

Việc ghi đến một chân của port sẽ nạp dữ liệu vào bộ chốt của port, ngõ ra

Q của bộ chốt điều khiển 1 transistor trường và transistor nối với chân của port Lưu ý là điện trở kéo lên (pull up) sẽ không có ở port 0 (trừ khi port nàylàm nhiệm vụ của bus địa chỉ/dữ liệu đa hợp), do vậy một điện trở bên ngoàiđược cần đến Giá trị của điện trở này phụ thuộc vào đặc tính ngõ vào của thànhphần ghép nối với chân của port

Hình 1.3 Mạch bên trong của port xuất/nhập

Trang 18

1.2.3 Bộ nhớ ngoài

Các bộ vi điều khiển cần có khả năng mở rộng các tài nguyên trên chip đểtránh hiện tượng cổ chai trong thiết kế Cấu trúc MCS – 51 cho ta khả năng mởrộng không gian bộ nhớ chương trình đến 64K và không gian bộ nhớ dữ liệu đến64K ROM và RAM ngoài được thêm vào khi cần Các IC giao tiếp ngoại vi cũng

có thể được thêm vào để mở rộng khả năng xuất/nhập Khi bộ nhớ ngoài được sửdụng, port 0 không làm nhiệm vụ của port xuất/nhập, port này trở thành bus địachỉ (A0 – A7) và bus dữ liệu (D0 – D7) đa hợp Ngõ ra ALE chốt byte thấp củađịa chỉ ở thời điểm bắt đầu mỗi một chu kỳ bộ nhớ ngoài Port 2 thường đượcdùng làm byte cao của bus địa chỉ

1.2.4 Hoạt động Reset

AT89C52 được reset bằng cách giữ chân RST ở mức cao tối thiểu 2 chu kỳmáy và sau đó chuyển về mức thấp RST có thể tác động bằng tay hoặc tác độngkhi cấp nguồn bằng cách dùng một mạch RC được trình bày như hình dưới:

(a) Reset bằng tay (b) Reset khi cấp nguồn

Hình 1.4 Hai mạch dùng reset hệ thống

Trang 19

Reset: nút ấn reset

Manual reset: reset bằng tay

Power – on reset: reset khi cấp nguồn

thời có n tầng sẽ chia tần số xung clock ở ngõ vào của bộ này cho 2 mũ n.

Ngõ ra của tầng cuối cùng làm xung clock cho một flipflop báo tràn bộ địnhthời hay còn gọi là cờ tràn (overflow flag), cờ tràn này được kiểm tra bởi phầnmềm hoặc tạo ra một ngắt Giá trị nhị phân trong các flipflop của bộ định thời là

số đếm các xung clock từ khi bộ định thời bắt đầu đếm Thí dụ một bộ định thời

16 – bit sẽ đếm từ 0000H đến FFFFH Cờ tràn được set bằng 1 khi xảy ra tràn sốđếm từ FFFFH xuống 0000H

Trang 20

b) Giản đồ thời gian

Hình 1.5 Hoạt động của bộ định thời

Timer flipflop: các flipflop định thời

“Flag” flipflop: flipflop cờ

hai chia 4 tần số xung clock Số đếm (count) được ghi ở dạng thập phân vàđược kiểm tra dễ dàng bằng cách khảo sát trạng thái của 3 flipflop Các flipflop ởhình 1 5 là các flipflop tác động cạnh âm (nghĩa là ngõ ra của Q của các flipflop

Trang 21

đổi trạng thái theo cạnh âm của xung clock) Khi số đếm tràn từ 1112 xuống

lên đến 1 (ngõ vào D của flipflop này luôn ở logic 1)

Bộ định thời được sử dụng trong hầu hết các ứng dụng hướng điều khiển vàAT89C52 có 3 bộ định thời 16 – bit, bộ định thời thứ nhất và thứ hai có bốn chế

độ hoạt động, bộ định thời thứ 3 có ba chế độ hoạt động, các bộ định thời đượcdùng để:

a) Định thời trong khoảng thời gian

b) Đếm sự kiện

c) Tạo tốc độ baud cho port nối tiếp của chip AT89C52

1.2.6 Các chế độ và hoạt động khác của AT89C52

Ngoài các tổ chức, hoạt động nêu ở trên thì AT89C52 còn có một số chế độ,hoạt động khác như: các chế độ định thời, cờ tràn, khởi động, dừng và điều khiểncác bộ định thời, hoạt động ngắt, xử lý ngắt

Trang 22

Chương 2 CẢM BIẾN NHIỆT DS18B20 VÀ MÀN HÌNH HIỂN THỊ LED

Trang 23

Đặc điểm chính của DS18B20 như sau:

+ Lấy nhiệt độ theo giao thức 1 dây (1wire)

+ Cung cấp nhiệt độ với độ phân giải config 9, 10, 11, 12 bit, tùy theo sửdụng Trong trường hợp không config thì nó tự động ở chế độ 12 bit Thời gianchuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit

C, theo số bit config lần lượt là 9, 10, 11, 12 bit

+ Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép Ngườidùng có thể lập trình chức năng này cho DS18B20 Bộ nhớ nhiệt độ cảnh báokhông bị mất khi mất nguồn vì nó có một mã định danh duy nhất 64 bit chứatrong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze.+ Cảm biến nhiệt độ DS18B20 có mã lên đến 64 bit, vì vậy bạn có thể kiểmtra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giao tiếpvới các IC này

Với DS18B20 bạn hoàn toàn có thể tạo cho mình mạch cảm biến nhiệt độtheo ý muốn

+ Điện áp sử dụng: 3 – 5,5 V

+ Dòng tiêu thụ tại chế độ nghỉ rất nhỏ

2.1.2 Lấy nhiệt độ với DS18B20

2.1.2.1 Tìm hiểu về các lệnh Rom liên quan đến DS18B20

Trang 24

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ếnDS18B20 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đonhiệ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 Saukhi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địachỉ 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áclệnh chức năng DS18B20 Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và

Trang 25

ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS18B20, khởi tạo quá trìnhchuyể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 DS18B20 Byteđầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai đượcghi vào thanh ghi TL (byte 3 của bộ nhớ nháp) Cả hai byte này phải được ghitrướ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)

- Copy scratchpad (48h)

Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vàonhớ EEPROM Nếu cảm biến được sử dụng trong chế độ cấp nguồn 1 bắtđầu việc đo

- 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 thanhghi nhiệt độ 2 byte trong bộ nhớ nháp, thời gian không quá 200ms, trong thờigian đ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)

Trang 26

Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS18B20 đ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 đườngdẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng.

2.1.2.2 Đọc nhiệt độ

Khi bắt đầu chuyển đổi nhiệt độ thì chân DQ sẽ được kéo xuống mức thấp

và khi chuyển đổi xong thì ở mức cao Như vậy ta sẽ căn cứ vào hiện tượng này

để xác định khi nào chuyển đổi xong nhiệt độ Lưu ý luôn phải dùng một điện trởtầm 4.7k trở lên vào chân DQ treo lên nguồn

2.2 Giao tiếp với led 7 đoạn

2.2.1 Các khái niệm cơ bản

Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sửdụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng “led 7đoạn” Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉcần hiển thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng,trong các đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm đượckiểm tra sau một công đoạn nào đó

Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và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ủaled 7 đoạn 8 led đơn trên led 7 đoạn có Anode (cực +) hoặc Cathode (cực -)được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối vớimạch điện, 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũngđược đưa ra ngoài để kết nối với mạch điệ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 được điều khiển sáng

Ngày đăng: 05/04/2016, 11:15

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Tổng quan về họ vi điều khiển 8051 - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 1.1. Tổng quan về họ vi điều khiển 8051 (Trang 10)
Bảng 1.1- Chức năng các chân của port 3 và chân P1.0 và P1.1 của port 1 - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Bảng 1.1 Chức năng các chân của port 3 và chân P1.0 và P1.1 của port 1 (Trang 12)
Hình 1.2. Sơ đồ chân của chip AT89C52 - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 1.2. Sơ đồ chân của chip AT89C52 (Trang 16)
Hình 1.3. Mạch bên trong của port xuất/nhập - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 1.3. Mạch bên trong của port xuất/nhập (Trang 17)
Hình 1.5. Hoạt động của bộ định thời - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 1.5. Hoạt động của bộ định thời (Trang 20)
Hình 2.1. Cấu tạo của DS18B20 - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 2.1. Cấu tạo của DS18B20 (Trang 22)
Hình 2.2. Sơ đồ các led - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 2.2. Sơ đồ các led (Trang 27)
Bảng 2.1- Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Bảng 2.1 Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (Trang 28)
Bảng 3.1- Kiểu dữ liệu trong C - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Bảng 3.1 Kiểu dữ liệu trong C (Trang 30)
Bảng 3.3 –Phép toán so sánh - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Bảng 3.3 –Phép toán so sánh (Trang 32)
Bảng 3.5 – Phép toán kết hợp - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Bảng 3.5 – Phép toán kết hợp (Trang 33)
Hình 4.1. Mạch điện mô phỏng - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 4.1. Mạch điện mô phỏng (Trang 40)
Sơ đồ khối chương trình ta viết phần mềm chạy cho chương trình như sau: - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Sơ đồ kh ối chương trình ta viết phần mềm chạy cho chương trình như sau: (Trang 41)
Hình 4.2. Mạch điện mô phỏng giá trị nhiệt độ mức  C - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 4.2. Mạch điện mô phỏng giá trị nhiệt độ mức C (Trang 45)
Hình 4.3. Mạch điện mô phỏng giá trị nhiệt độ mức  C - lập trình c cho vi điều khiển 8051 điều khiển sensor ds18b20
Hình 4.3. Mạch điện mô phỏng giá trị nhiệt độ mức C (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