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

ĐỒ án môn học THIẾT kế CHẾ tạo LỊCH vạn NIÊN điều KHIỂN từ XA

72 409 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 72
Dung lượng 2,71 MB

Nội dung

Khi thờigian báo thức trùng với thời gian thực thì loa sẽ phát ra âm thanh trong 1 phút,đồng thời khi có tác động vào các nút điều chỉnh thì 89C51bắt đầu giãi mã tín hiệunày, sau khi giả

Trang 1

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

Hưng Yên, ngày tháng năm 2012

Giáo Viên

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Hưng Yên, ngày tháng năm 2012

Giáo Viên

Trang 3

MỤC LỤC

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

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2

MỤC LỤC 3

LỜI NÓI ĐẦU 5

PHẦN I: MỞ ĐẦU 6

I KHÁI QUÁT VẤN ĐỀ 6

II MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI 6

PHẦN II : NỘI DUNG 8

CHƯƠNG I TỔNG QUAN VỀ LÝ THUYẾT 8

I.GIỚI THIỆU VỀ 89C51 8

1.1.Giới thiệu chung 8

1.2.Cấu trúc bên trong của 8951 9

1.3.Chức năng các chân vi điều khiển 11

II.TỔNG QUAN VỀ IC DS1307( IC ĐỊNH THỜI GIAN THỰC) 14

2.1 Tổng quan về DS1307 14

2.1.1 Sơ đồ chân DS1307 14

2.1.2 Cấu tạo bên trong DS1307 16

2.2 Khái quát giao diện I2C 20

2.3 Mode (chế độ) truyền dữ liệu giữa DS1307 và AT8951 24

2.3.1 Mode Data Write (chế độ ghi dữ liệu) 25

2.3.2 Mode Data Read (chế độ dọc dữ liệu) 26

III.GIỚI THIỆU VỀ IC ADC 08043(IC CHUYỂN ĐỔI TƯƠNG TỰ - SỐ) 27

3.1.Giới thiệu chung 27

3.2.Chức năng các chân 28

IV.GIỚI THIỆU VỀ IC CẢM BIẾN NHIỆT ĐỘ LM35 30

4.1 Một số tính chất cơ bản của LM35 31

4.2 Dải nhiệt độ và sự thay đổi trở kháng theo nhiệt độ của LM35 32

V.TỔNG QUAN VỀ HỆ THỐNG HỒNG NGOẠI 32

5.1 Khái niệm tia hồng ngoại 32

5.3 Mạch phát tín hiệu hồng ngoại Sơ đồ mạch nguyên lý 35

Trang 4

5.4 Mạch thu hồng ngoại Sơ đồ mạch nguyên lý 36

I THIẾT KẾ MẠCH NHIỆT ĐỘ 37

1.1.Sơ đồ khối 37

1.2.Sơ đồ nguyên lý và nguyên lý hoạt động 38

1.3.Nguyên lý hoạt động 38

1.4.Lưu đồ thuật toán 39

II THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN THỰC 40

2.1.Sơ đồ khối 40

2.1.Sơ đồ nguyên lý và nguyên lý hoạt động 41

2.3.Nguyên lý hoạt động 42

2.4 Lưu đồ và giải thuật chương trình 42

2.4.1 Giải thuật 42

2.4.2 Giải thuật chương trình con “WRITE_CLOCK” 42

2.4.3 Giải thuật chương trình con “READ_CLOCK” 43

2.4.4 Lưu đồ 43

PHẦN III : KẾT LUẬN VÀ ĐỀ NGHỊ 50

I KẾT LUẬN 50

II ĐỀ NGHỊ 50

TÀI LIỆU THAM KHẢO 51

PHẦN IV : PHỤ LỤC 52

1.6.Chương trình nhiệt độ 52

2.6.Chương trình đồng hồ thời gian thực 53

Trang 5

LỜI NÓI ĐẦU

Trong thời đại ngày nay khi nhân loại đang trải qua những bước tiến vượt bậc vềkhoa học công nghệ ,thì nghành điện tử cũng có những bước tiến đặc biệt quantrọng đặc biệt trong lĩnh vực vi điều khiển Các bộ vi xử lí ngày càng hoàn thiện vàphát triển được sử dụng trong hầu hết các hệ thống điều khiển tử động trong côngnghiệp, khoa học kỹ thuật, cũng như trong các thiết bị dân dụng Chính nhờ vai tròchức năng vai trò của vi xử lí đã đem lại ưu điểm, nhiều tính năng đặc biệt cho các

hệ thống điều khiển thay thế con người trong công việc yêu cầu phức tạp và đòi hỏi

kỹ thuật cao

Ngày nay các nhà nghiên cứu không ngừng nghiên cứu các hệ thống điềukhiển và sử dụng vi xử lí để thay thế và cũng chính vì thế đã thúc đảy vi xử lí pháttriển và ngày càng hoàn thiện hơn với yêu cầu điều khiển hiện nay

Qua quá trình học tập và rèn luyện chúng em cũng đã được làm quen với một số

IC vi xử lí với những chức năng, ứng dụng rộng rãi trong thực tế.Để áp dụng tínhnăng đặc biệt đó của vi xử lí vào thực tiễn thì nhóm chúng em đã nghiên cứu và

thực hiện đồ án với đề tài: “ THIẾT KẾ CHẾ TẠO LỊCH VẠN NIÊN ĐIỀU

KHIỂN TỪ XA” Với mô hình này có thể giúp chúng ta có thể điều khiển hệ

thống hiển thị thời gian & ngày tháng trên LED 7đoạn Trong hệ thống này thìchúng em đã sử dụng IC 8051 là IC điều khiển chính, bởi vì 8051 có nhiều tínhnăng đặc biệt so với các họ vi xử lí khác nên nó được sử dụng rông rãi trong kỹthuật

Để hoàn thành được đồ án này ngoài sự tìm tòi của các thành viên trong nhóm

còn có sự hướng dẫn tận tình của thầy giáo: Vũ Văn Chiến , và các bạn Chúng

em xin chân thành cám ơn thầy cùng các bạn Tuy đã cố gắng rất nhiều nhưng dovốn kiến thức cũng như kinh nghiệm còn hạn chế nên đề tài vẫn còn thiếu sót Rấtmong sự đóng góp ý kiến của thầy cùng các bạn để đề tài chúng em được hoànthiện hơn

Chúng em xin chân thành cảm ơn !

Trang 6

Với sự ra đời của dòng IC mới đã làm thúc đẩy sự phát triển của những ICthời gian thực như DS1307, DS12887…

Cùng với sự phát triển của khoa học kỹ thuật đã góp phần nâng cao đờisống của con người Cũng chính vì thế mà mọi người cần phải biết chính xác ngày,giờ để thu xếp việc làm cho hợp lý

Xuất phát từ thực tiễn này chúng em đã đi đến quyết định “Thiết kế Chế

tạo Lịch vạn niên điều khiển từ xa” Nhằm đáp ứng nhu cầu ham muốn học hỏi của

bản thân, cũng như là góp phần nâng cao giá trị của những mạch điện tử trong đờisống của con người

II MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI

Trong đồ án này chúng em sử dụng một con IC thời gian thực (DS1307) kếthợp với vi điều khiển 80C51 để tạo thành giao diện I2C, 80C51 có nhiệm vụđọc/ghi (giờ, phút, giây, thứ, ngày… thời gian báo thức) từ chip DS1307 Khi thờigian báo thức trùng với thời gian thực thì loa sẽ phát ra âm thanh trong 1 phút,đồng thời khi có tác động vào các nút điều chỉnh thì 89C51bắt đầu giãi mã tín hiệunày, sau khi giải mã 8051 ghi dữ liệu nhận được vào DS1307 và hiển thị kết quả ra

Trang 7

led 7 đoạn Đồng thời bọn em sử dụng cặp thu phát hồng ngoại PT2248 và PT2249

để có thể hiệu chỉnh giờ, phút, giây, thứ, ngày, tháng, năm

Từ đây có thể suy ra mục đích yêu cầu của đề tài như sau:

 Mạch hiển thị giờ, phút, giây, thứ, ngày, tháng, năm một cách chínhxác

 Hiển thị ra led 7 đoạn

 Bộ cài đặt thời gian được sử dụng bằng các nút nhấn và có điều khiển

từ xa

 Khi thời gian báo thức trùng với thời gian thực thì loa phải phát ra âmthanh báo thức

 Giá thành sản phẩm không quá đắt

Dựa vào yêu cầu của đề tài chúng em đã phân ra thành 2 khối lớn:

o Khối A: Hiển thị kết quả ra led 7 đoạn

o Khối B: Đồng hồ thời gian thực và bộ điều khiển sử dụng các nút nhấn

Trang 8

PH N II ẦN II : N I DUNG ỘI DUNG

CHƯƠNG I TỔNG QUAN VỀ LÝ THUYẾT

I.GIỚI THIỆU VỀ 89C51

IC vi điều khiển 8051(8951) thuộc họ MCS51 có các đặc điểm sau:

 4Kbyte ROM (được lập trình bởi nhà sản xuất chỉ có ở 8951)

 4 port I10 8 bit

 Hai bộ định thời 16bit

 Giao tiếp nối tiếp

 64KB không gian bộ nhớ chương trình mở rộng

 64KB không gian bộ nhớ dữ liệu mở rộng

 1 bộ xử lý luận lý (thao tác trên các bit đơn)

 210bit được địa chỉ hoá

Trang 9

1.2.Cấu trúc bên trong của 8951

Hinh1.1 Sơ đồ khối (8951)

Phần chính của vi điều khiển 8051(8951) là bộ vi xử lý trung tâm (CPU: CentralProcessing Unit) bao gồm:

Trang 10

- Thanh ghi tích luỹ A

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

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

- Từ trạng thái chương trình (PSW: Program Status Word)

Hai bộ định thời 16bit hoạt động như một bộ đếm

Các cổng (port0, port1, port2, port3) sử dụng vào mục đích điều khiển

Ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bênngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn bên ngoài.Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ làm việcđộc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy rộng vàđược ấn định bằng một bộ định thời

Trong vi điều khiển 8051(8951) có hai thành phần quan trọng khác đó là bộ nhớ vàcác thanh ghi:

- Bộ nhớ gồm có bộ nhớ RAM dùng để lưu trữ dữ liệu và mã lệnh

- Các thanh ghi sử dụng để lưu trữ thông tin trong quá trình xử lý Khi CPUlàm việc nó làm thay đổi nội dung của các thanh ghi

Trang 11

Hình 1.2 Chức năng các chân của vi điều khiển

Trang 12

a Port0: Là port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ nhỏ

(không dùng bộ nhớ mở rộng) có hai chức năng như các đường IO Đối với cácthiết kế cỡ lớn (với bộ nhớ mở rộng) nó được kết hợp kênh giữa các bus

b Port1: Là một port I/O trên các chân 1-8 Các chân được ký hiệu P1.0, P1.1,

P1.2 có thể dùng cho các thiết bị ngoài nếu cần Port1 không có chức năng khác,

vì vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị ngoài

c Port2: Là một port công dụng kép trên các chân 21-28 được dùng như các

đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ

mở rộng

d Port3: là một port công dụng kép trên các chân 10-17 Các chân của port này có

nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của

8951 như ở bảng sau:

Bit Tên Chức năng chuyển đổi

Chức năng của các chân trên Port3

e PSEN (Program Store Enable): 8951 có 4 tín hiệu điều khiển PSEN là tín hiệu

ra trên chân 29 Nó là tín hiệu điều khiển để cho phép bộ nhớ chương trình mở

Trang 13

rộng và thường được nối đến chân OE (Output Enable) của một EPROM để chophép đọc các byte mã lệnh.

PSEN sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương trìnhđược đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8951 để giải mãlệnh Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức thụ động (mứccao)

f ALE (Address Latch Enable):

Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm việc với các xử lý

8585, 8088, 8086, 8051 dùng ALE một cách tương tự cho làm việc giải các kênhcác bus địa chỉ và dữ liệu khi port0 đựoc dùng trong chế độ chuyển đổi của nó: vừa

là bus dữ liệu vừa là bus thấp của địa chỉ, ALE là tín hiệu để chốt địa chỉ vào mộtthanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đường port0dùng để xuất hoặc nhập dữ liểutong nửa sau chu kỳ của bộ nhớ

Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thểđược dùng là nguồn xung nhịp cho các hệ thống Nếu xung trên 8051(8951) là 12MHz thì ALE có tần số 2MHz Chỉ ngoại trừ khi thi hành lệnh MOVX, một xungALE sẽ bị mất Chân này cũng được làm ngõ vào cho xung lập trình cho EPROMtrong 8051(8951)

g EA (External Access):

Tín hiệu vào EA trên chân 31 thường được mắc lên mức cao (+5V) hoặc mức thấp(GND) Nếu ở mức cao, 8051(8951) thi hành chương trình từ ROM nội trongkhoảng địa chỉ thấp (4K) Nếu ở mức thấp, chương trình được thi hành từ bộ nhớ

Trang 14

mở rộng.Nếu EA được nối mức thấp bộ nhớ bên trong chương trình 8051(8951) sẽ

bị cấm và chương trình thi hành từ EPROM mở rộng Người ta còn dùng chân EAlàm chân cấp điện áp 21V khi lập trình cho EPROM trong 8051(8951)

h SRT (Reset):

Ngõ vào RST trên chân 9 là ngõ Reset của 8051(8951) Khi tín hiệu này được đưalên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong 8951 đựoc tải nhữnggiá trị thích hợp để khởi động hệ thống

i Các ngõ vào bộ dao động trên chip:

8051(8951) có một bộ dao động trên chip Nó thường được nối với thạch anh giữahai chân 18 và 19 Các tụ giữa cũng cần thiết Tần số thạch anh thông thường là 12MHz

Trang 15

năm Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghitrống có thể dùng như RAM DS1307 được đọc và ghi thông qua giao diện nối tiếpI2C nên cấu tạo bên ngoài rất đơn giản DS1307 xuất hiện ở 2 gói SOIC và DIP có

8 chân như trong hình sau

Hình 1.3 Hai gói cấu tạo của chip DS1307

Các chân của DS1307 được mô tả như sau:

- X1 và X2: là 2 ngõ kết nối với 1 thạch anh 32.768KHz làm nguồn tạo dao

động cho chip

- V BAT: cực dương của một nguồn pin 3V nuôi chip

- GND: chân mass chung cho cả pin 3V và Vcc

- Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều

khiển Chú ý: nếu Vcc không được cấp nguồn nhưng VBAT được cấp thì DS1307vẫn đang hoạt động (nhưng không ghi và đọc được)

- SQW/OUT: Đây là chân tạo ngõ ra xung vuông của DS1307 có 4 chế độ

1Hz, 4.096HZ, 8.192Hz, 32.768Hz các chế độ này đuợc quy định bởi các bit của thanh ghi Control Register (địa chỉ 0x07)

- SCL và SDA là đường giữ xung nhịp và đường dữ liệu của giao diện I2C mà

chúng ta sẽ tìm hiểu sau

Trang 16

2.1.2 Cấu tạo bên trong DS1307

Hinh 1.4 Sơ đồ khối bên trong chip DS1307

Cấu tạo bên trong DS1307 bao gồm một số thành phần như mạch nguồn,mạch dao động, mạch điều khiển logic, mạch giao điện I2C, con trỏ địa chỉ và cácthanh ghi (hay RAM) Do đa số các thành phần bên trong DS1307 là thành phần

“cứng” nên chúng ta không có quá nhiều việc khi sử dụng DS1307 Sử dụngDS1307 chủ yếu là ghi và đọc các thanh ghi của chip này Vì thế cần hiểu rõ 2 vấn

đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh ghi này thôngqua giao diện I2C

Trang 17

Như đã trình bày, bộ nhớ DS1307 có tất cả 64 thanh ghi 8bit được đánh địachỉ từ 0 đến 63 (từ 0x00h đến 0x3Fh) Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu

là dùng cho chức năng “đồng hồ”, còn lại 56 thanh ghi bỏ trống có thể được dùngchứa biến tạm như RAM nếu muốn Bảy thanh ghi đầu tiên chứa thông tin về thờigian của đồng hồ bao gồm: giây (SECONDS), phút (MINUETS), giờ (HOURS),thứ (DAY), ngày (DATE), tháng (MONTH) và năm (YEAR) Việc ghi giá trị vào

7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho RTC Việcđọc giá từ 7 thanh ghi là quá trình đọc thời gian thực mà RTC tạo ra

Trang 18

Chú ý là tất cả các giá trị thời gian lưu trong các thanh ghi theo dạng BCD(Binary-Coded Decimal)

Thanh ghi giây (SECONDS): thanh ghi này là thanh ghi đầu tiên trong bộ

nhớ của DS1307, địa chỉ của nó là 0x00 Bốn bit thấp của thanh ghi này chứa mãBCD 4-bit của chữ số hàng đơn vị của giá trị giây Do giá trị cao nhất của chữ sốhàng chục là 5 nên chỉ cần 3 là đủ Bit cao nhất (bit thứ 7) trong thanh ghi này là 1bit điều khiển có tên CH (Clock halt – treo đồng hồ), nếu bit này được set bằng 1

bộ dao động trong chip bị vô hiệu hóa, đồng hồ không hoạt động Vì vậy, nhất thiếtphải reset bit này xuống 0 ngay từ đầu

Thanh ghi phút (MINUTES): có địa chỉ 0x01h, chứa giá trị phút của đồng

hồ Tương tự thanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùng lưu

mã BCD của phút, bit thứ 7 luôn luôn bằng 0

Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong

chip DS1307 Thanh ghi này có địa chỉ 0x02h Trước hết 4 bit thấp của thanh ghinày được dùng cho chữ số hàng đơn vị của giờ Do DS1307 hỗ trợ 2 loại hệ thống

Trang 19

hiển thị giờ là: 12h và 24h giờ, vì vậy bit thứ 6 được dùng để xác lập hệ thống giờ.Nếu bit thứ 6 = 0 thì hệ thống 24h được chọn, khi đó 2 bit thứ 5 và thứ 4 dùng mãhóa chữ số hàng chục của giá trị giờ Do giá trị lớn nhất của chữ số hàng chụctrong trường hợp này là 2 nên cần 2 bit để mã hóa Nếu bit thứ 6 = 1 thì hệ thống12h được chọn Với trường hợp này chỉ có 1 bit thứ 4 dùng mã hóa chữ số hàngchục của giờ, bit thứ 5 chỉ buổi trong ngày (AM hoặc PM) Bit thứ 5 = 0 là AM vàbit thứ 5 = 1 là PM Bit thứ 7 luôn bằng 0.

Thanh ghi thứ (DAY – ngày trong tuần): nằm ở địa chỉ 0x03h Thanh ghi

DAY chỉ mang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần Vìthế, chỉ có 3 bit thấp trong thanh ghi này có nghĩa Các bit còn lại luôn bằng 0

Thanh ghi ngày (DATE – ngày trong tháng): nằm ở địa chỉ 0x04h Thanh

ghi DATE mang giá trị từ 1 đến 31, chỉ có 5 bit đầu tiên là có nghĩa Các bit còn lạiluôn bằng 0

Thanh ghi tháng (MONTH): nằm ở địa chỉ 0x05h Thanh ghi MONTH

mang giá trị từ 1 đến 12, chỉ có 4 bit đầu tiên là có nghĩa Các bit còn lại bằng 0

Thanh ghi năm (YEAR): nằm ở địa chỉ 0x06h Thanh ghi YEAR mang giá

trị từ 0 đến 99 Chip DS1307 chỉ dùng cho 100 năm, nên giá trị năm chỉ có 2 chữ

số, phần đầu của năm do người dùng tự thêm vào

Thanh ghi điều khiển (CONTROL REGISTER): có địa chỉ là 0x07h, thanh

ghi CONTROL REGISTER được dùng để điều khiển tần số xung vuông ở ngỏ raSQW/OUT Giá trị các bít trong thanh ghi CONTROL REGISTER được biểu diểnnhư sau:

Trang 20

Bit 7_Output Control (OUT): dùng để kiểm soát mức logic tại SQW/OUT Bit 4_Square-Wave Enable (SQWE): bit này được set lên bằng 1 để tạo dao

động ở đầu ra

Bits 1 and 0_ Rate Select (RS[1:0]): 2 bit này dùng điều khiển tần số dao

động ở ngỏ ra SQW/OUT, với 4 tần số được chọn như sau:

 I2C là viết tắc của từ Inter - Integrated Circuit là một chuẩn truyền thôngnối tiếp đồng bộ do hãng điện tử Philips Semiconductor sáng lập và xây dựngthành chuẩn năm 1990

 Các khái niệm cơ bản trong giao diện I2C:

 Master (chip chủ): là chip khởi động quá trình truyền nhận, phát đi địa chỉcủa thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL

 Slave (chip tớ): là chip có một địa chỉ cố định, được gọi bởi Master và phục

vụ yêu cầu từ Master

 SDA (Serial Data): là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉhay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một Chú ý

là trong chuẩn I2C, bit có trọng số lớn nhất (MSB) được truyền đi trướcnhất

Trang 21

 SCL (Serial Clock): là đường xung giữ nhịp nối tiếp I2C là chuần truyềnthông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trìnhtruyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trênđường SDA sẽ được lấy mẫu (sample) Dữ liệu nối tiếp trên đường SDAđược lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì thếđường SDA không được đổi trạng thái khi SCL ở mức cao (trừ điều kiệnSTART và STOP) Chân SDA có thể được đổi trạng thái khi SCL ở mứcthấp.

 Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock(SCL) SDA là đường truyền dữ liệu theo 2 hướng (từ master đến slave và ngượclại), còn SCL là đường truyền xung đồng hồ chỉ truyền theo một hướng (từ masterđến slave)

 Trong một giao diện I2C thì có một thiết bị là chủ (master) và một thiết bị

là tớ (slave) Tại sao lại có sự phân biệt này? Đó là vì trên một giao diện I2C thìquyền điều khiển thuộc về thiết bị chủ Thiết bị chủ nắm vai trò tạo xung đồng bộcho toàn hệ thống, khi giữa 2 thiết bị chủ/tớ giao tiếp thì thiết bị chủ có nhiệm vụtạo ra xung đồng bộ và quản lý đến thiết bị tớ trong suốt quá trình giao tiếp Thiết

bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong quá trình giaotiếp

Trang 22

 Một giao diện I2C có thể hoạt động ở nhiều chế độ khác nhau:

- Một chủ một tớ (one master – one slave)

- Một chủ nhiều tớ (one master – multi slave)

- Nhiều chủ nhiều tớ (Multi master – multi slave)

 Vài điều kiện cần biết khi thiết lập một giao tiếp I2C:

- Điều kiện START (gọi tắt là S): điều kiện START được thiết lập khi cómột sự chuyển đổi trạng thái từ cao xuống thấp tại SDA, khi SCL đang ở mứccao (mức cao là 1, mức thấp là 0)

- Điều kiện STOP (gọi tắt là P): điều kiện STOP được thiết lập khi có một

sự chuyển đổi trạng thái từ thấp lên cao tại SDA, khi SCL đang ở mức cao

- Điều kiện REPEAT START (bắt đầu lặp lại): khoảng giữa điều kiệnSTART và STOP là khoảng bận của đường truyền, các master khác không tácđộng được vào đường truyền trong khoảng này Trường hợp sau khi kết thúcquá trình truyền/nhận mà master không gởi điều kiện STOP lại gởi thêm 1điều kiện START gọi là REPEAT START Khả năng này thường được dùngkhi master muốn lấy dữ liệu liên tiếp từ các Slaves

Hinh1.6 Mô tả điều kiện START, STOP và REPEAT

Stop Start

Trang 23

- Bit ACK: dùng để báo hiệu dữ liệu đã được nhận, bit ACK được tạo ra tại thờiđiểm xung clock thứ 9 bằng cách kéo chân SDA xuống mức thấp.

- Bit NACK: dùng để báo hiệu dữ liệu đã bị lỗi hoặc byte truyền cuốicùng, bit NACK cũng được tạo ra tại thời điểm xung clock thứ 9 bằng cáchkéo chân SDA lên mức cao

Hình 1.7 Bit ACK/NACK trong giao diện I2C

 Định dạng dữ liệu truyền:

Dữ liệu được truyền trên bus I2C theo từng bit, bit dữ liệu được truyền

đi tại mỗi sườn lên của xung đồng hồ trên đường

dây SCL, quá trình thay đổi bit dữ

liệu xảy ra khi SCL đang ở mức thấp

Mỗi byte dữ liệu được truyền có độ dài là 8 bit Số byte có thể truyền trong một lần

là không hạn chế Mỗi byte được truyền đi theo sau là một bit ACK, bit có trong sốlớn nhất (MSB) sẽ được truyền đi đầu tiên, các bit kế tiếp sẽ được truyền đi lầnlượt Sau 8 xung clock thì dữ liệu đã được truyền đi, ở xung clock thứ 9 thì bitACK được truyền đi báo hiệu đã nhận đủ 8 bits Thiết bị truyền sau khi nhận đượcbit ACK sẽ tiếp tục thực hiện quá trình truyền hoặc kết thúc

Trang 24

Hinh 1.8 Dữ liệu được truyền trên giao diện I2C

Một byte truyền đi có kèm theo bit ACK là điều kiện bắt buộc, nhằm đảmbảo cho quá trình truyền nhận được chính xác Khi không nhận được đúng địa chỉhay muốn kết thúc quá trình giao tiếp, thiết bị nhận sẽ gởi một xung Not_ACK(NACK) để báo cho thiết bị chủ biết Thiết bị chủ sẽ tạo ra xung STOP để kết thúchay lặp lại một xung START để bắt đấu quá trình mới

Trong giao tiếp I2C giữa DS1307 và 8951 thì chip 8951 đóng vai trò là mộtmaster và DS1307 đóng vai trò là một slave Do chỉ có một master và một chipgiao tiếp với nhau nên chỉ có 2 mode (chế độ) hoạt động giao tiếp giữa 2 chip này

Trang 25

Hai mode đó là: Data Write (từ AT8951 đến DS14307) và Data Read (từ DS1307vào AT8951).

2.3.1 Mode Data Write (chế độ ghi dữ liệu)

Mode Data Write (chế độ truyền dữ liệu từ master đến slave) được dùng khixác lập giá trị ban đầu cho các thanh ghi thời gian hoặc dùng để canh chỉnh thờigian cho chip DS1307 Cấu trúc truyền dữ liệu trong mode Data Write được mô tảnhư hình sau:

Hinh 1.9 Chế độ data write

 Trước hết hãy nói về địa chỉ SLA (Slave Address) của chip DS1307trong mạng I2C, trên mạng I2C mỗi thiết bị sẽ có một địa chỉ riêng gọi là SLA.SLA được tính theo lý thuyết chuẩn I2C sẽ có giá trị tối đa là 128 (do có 128 thiết

bị trong 1 mạng I2C) Chip DS1307 là một Slave nên cũng có một địa chỉ SLA, giátrị này được set cố định là 1101000b (68h) Do SLA của DS1307 cố định nên trong

1 mạng I2C sẽ không thể tồn tại cùng lúc 2 chip này

 Quan sát hình trên ta thấy, đầu tiên master (AT8951) sẽ gởi điều kiệnSTART đến Slave (DS1307), tiếp theo sau master sẽ là 7 bit địa chỉ SLA của slave(cố định là: 1101000b) Do chế độ này là Data Write nên bit W = 0 và sẽ được gởi

Trang 26

kèm sau SLA Bit ACK (A) được slave trả về cho master sau mỗi quá trình giaotiếp.

 Tiếp theo sau địa chỉ SLA sẽ là 1 byte chứa địa chỉ của thanh ghi cầntruy cập (Word Address) Cần phân biệt địa chỉ của thanh ghi cần truy cập và địachỉ SLA Như đã đề cập trên, địa chỉ của thanh ghi cần truy cập sẽ được lưu trongthanh ghi địa chỉ (hay con trỏ địa chỉ), vì vậy byte dữ liệu đầu tiên sẽ được chứatrong thanh ghi địa chỉ của DS1307

 Sau byte địa chỉ thanh ghi là một dãy các byte dữ liệu được ghi vào bộnhớ của DS1307 Byte dữ liệu đầu tiên sẽ được ghi vào thanh ghi có địa chỉ đượcchỉ định bởi Word Address, sau khi ghi xong 1 byte thì Word Address tự động tăngnên các byte tiếp theo sẽ được ghi liên tiếp vào DS1307 ở các thanh ghi kế sau Sốlượng bytes dữ liệu cần ghi do master quyết định và không được vượt quá dunglương bộ nhớ của DS1307 Quá trình ghi kết thúc khi master phát ra điều kiệnSTOP

Chú ý: Sau khi ghi thành công 1 byte thì DS1307 sẽ trả lời lại bằng một bit

ACK Nếu như byte được ghi vào là byte cuối cùng thì DS1307 sẽ trả lời lại bằng 1bit Not_ACK (NACK)

Nếu sau khi gởi byte Word Address, master không gởi các byte dữ liệu màgởi liền điều kiện STOP thì không có thanh ghi nào được ghi Trường hợp nàyđược dùng để set địa chỉ Word Address để phục vụ cho quá trình đọc

2.3.2 Mode Data Read (chế độ dọc dữ liệu)

Mode Data Read (chế độ truyền dữ liệu từ salve về master) được sử dụngkhi đọc thời gian thực từ DS1307 về AT8951.Cấu trúc truyền dữ liệu trong modeData Write được mô tả như hình sau:

Trang 27

Hình 1.10 Chế độ Data Read

Nguyên tắt truyền trong chế độ Data Read cơ bản cũng giống như trongtruyền chế độ Data Write Trong chế độ Data Read bit R = 1 sẽ được gởi kèm sau 7bit SLA Sau đó liên tiếp các byte dữ liệu được truyền từ DS1307 đến AT8951.Điểm khác biệt trong cách bố trí dữ liệu của chế độ này so với chế độ Data Write làkhông có byte địa chỉ thanh ghi dữ liệu nào được gởi đến Tất cả các byte theo sauSLA+R đều là dữ liệu đọc từ bộ nhớ của DS1307

Lưu ý: dữ liệu được đọc tại thanh ghi được chỉ định bởi con trỏ địa chỉ, vì

vậy muốn đọc chính xác dữ liệu từ một địa chỉ nào đó, chúng ta cần thực hiện quátrình ghi giá trị cho con trỏ định địa chỉ trước khi thực hiên quá trình đọc Để ghigiá trị vào con trỏ định địa chỉ chúng ta sẽ gọi chương trình Data Write với chỉ 1byte được ghi sau SLA+W như phần chú ý ở trên

III.GIỚI THIỆU VỀ IC ADC 08043(IC CHUYỂN ĐỔI TƯƠNG TỰ - SỐ)

-Chip ADC0804 là bộ 1.Giới thiệu chung chuyển đổi tương tự số thuộc họADC800 của hãng Natinal Semiconductor Chíp này cũng được nhiều hãng khác

Trang 28

sản xuất.Chíp có điện áo nuôi -5V và độ phân giải 8 bit Ngoài độ phân giải thì thờigain chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC Thời gianchuyển đổi được được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầuvào tương tự thành một số nhị phân Đối với ADC0804 thì thời gín chuyển đổi phụthuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN và không bé hơn110µs

 CS (Chip select)

Chân số 1 là chân chọn Chip, đàu vào tích cực mức thấp được sử dụng đểkích hoạt Chip ADC0804 Để truy cập ADC0804 thì chân này phải ở mứcthấp

Chân số 2 lầ một tín hiệu vào tích cực ở mức thấp Các bộ chuyển đổi đầuvào tương tự thành số nhị phân và giữu nó ở một thanh ghi trong RD được

sử dụng để có dữ liệu đã được chuyển đổi tới đầu ra của ADC0804

Khi CS = 0 nếu có 1 xung cao xuống thấp áp đén chân RD thì dữ liệu radạng số 8 bít đượ đưa đến các chân dữ liệu (DB0- DB7)

 WR( Write)

Chân số 3 là chân vào tích cực ở mức thấp được dùng để báo cho ADC đểbắt đầu quá trình chuyển đổi Nếu CS = 0 khi WD tạo ra xung cao xuốngthấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương tự

Vin về số nhị phân 8 bit Khi việc chuyển đổi hoàn tất thì chân INTR đượcADC hạ xuống thấp

CLK IN (Chân số 4) là chân vào nối tới đồng hồ ngoài được sử dụng để tạo

Trang 29

thời gian Tuy nhiên ADC0804 cũng có 1 bộ xung đồng hồ riêng Để dùngđồng hồ riêng thì các chân CLK IN và CLK R (chân số 19) được nối với với

1 tụ điện và 1 điện trở Khi đó tần số được xác định như sau:

RC 1 , 1 1

f Giá trị tiêu biểu của các đại lượng trên là R = 10k và C= 150pF và tần sốnhận được là f = 606kHz và thời gian chuyển đổi sẽ mất là 110s

 Chân ngắt INTR(ngắt hay gọi chính xác hơn là “kết thúc chuyển đổi’)

Đây là chân đầu ra tích cực mức thấp Bình thường nó ở trạng thái cao

và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho CPU biết là dữliệu được chuyển đổi sẵn sàng để lấy đi Sau khi INTR xuống thấp, ta đặt CS

= 0 và gửi một xung cao 0 xuống - thấp tới chân RDlấy dữ liệu ra của 804

Trang 30

V ref / 2(V) V in (V) Step Size (mV)

- * Khi Vref/2 hở thì đo được ở đó khoảng 2,5V

- Kích thước bước (độ phân dải) là sự thay đổi nhỏ nhất mà ADC có thểphân biệt được

 Các chân dữ liệu D0 - D7

Các chân dữ liệu D0 - D7 (D7 là bít cao nhất MSB và D0 là bít thấpnhất LSB) là các chân đầu ra dữ liệu số Đây là những chân được đệm batrạng thái và dữ liệu được chuyển đổi chỉ được truy cập khi chân CS = 0 vàchân RDbị đưa xuống thấp Để tính điện áp đầu ra ta có thể sử dụng côngthức sau:

buoc thuoc kich V

out 

Với Dout là đầu ra dữ liệu số (dạng thập phân) Vin là điện áp đầu vào tương

tự và độ phân dải là sự thay đổi nhỏ nhất được tính như là (2  Vref/2) chiacho 256 đối với ADC 8 bít

IV.GIỚI THIỆU VỀ IC CẢM BIẾN NHIỆT ĐỘ LM35

Để đo nhiệt độ được chính xác cần phải có một đầu dò thích hợp Đầu dò là mộtcảm biến nhiệt độ có nhiệm vụ vận chuyển từ nhiệt độ qua tín hiệu điện Có rấtnhiều loại cảm biến như đã giới thiệu ở chương II Nhưng dựa vào lý thuyết vàthực tế của mạch cần thiết kế ta dùng phương pháp đo bằng IC cảm biến nhiệt độ.Các IC cảm biến nhiệt độ có độ chính xác cao, dễ tìm và giá thành rẻ Một trong số

đó là IC LM35, là loại thông dụng trên thị trường hiện nay, đồng thời nó có nhữngđặc tính làm việc phù hợp với thiết kế chi tiết của mạch

Trang 31

4.1 Một số tính chất cơ bản của LM35.

- LM35 có độ biến thiên theo nhiệt độ: 10mV/1ºC

- Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở nhiệt độ 25ºC nó có sai

số không quá 1% Với tầm đo từ 0ºC - 128ºC, tín hiệu ngõ ra tuyến tính liên tục vớinhững thay đổi của tín hiệu ngõ vào

- Thông số kỹ thuật:

Tiêu tán công suất thấp

Dòng làm việc từ 400μA – 5mA

Trang 32

4.2 Dải nhiệt độ và sự thay đổi trở kháng theo nhiệt độ của LM35

Các bộ biến đổi (Transducer) chuyển đổi các đại lượng vật lý ví dụ như nhiệt

độ, cường độ ánh sáng, lưu tốc và tốc độ thành các tín hiệu điện phụ thuộc vào bộbiến đổi mà đầu ra có thể là tín hiệu dạng điện áp, dòng, trở kháng hay dungkháng Ví dụ, nhiệt độ được biến đổi thành về các tín hiệu điện sử dụng một bộbiến đổi gọi là Thermistor (bộ cảm biến nhiệt), một bộ cảm biến nhiệt đáp ứng sựthay đổi nhiệt độ bằng cách thay đổi trở kháng nhưng đáp ứng của nó không tuyếntính

Bảng 3.6.2: Trở kháng của bộ cảm biến nhiệt theo nhiệt độ.

Bảng 3.6.3: Hướng dẫn chọn loạt các cảm biến nhiệt họ LM35.

V.T NG QUAN V H TH NG H NG NGO I ỔNG QUAN VỀ HỆ THỐNG HỒNG NGOẠI Ề HỆ THỐNG HỒNG NGOẠI Ệ THỐNG HỒNG NGOẠI ỐNG HỒNG NGOẠI ỒNG NGOẠI ẠI

Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được bằng mắt thường , có bước sóng khoảng từ 0.86μm đến 0.98μm Tia hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng

- Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu Nó được ứng dụng

Trang 33

tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với sóng điện từ

mà người ta vẫn dùng

- Tia hồng ngoại dễ bị hấp thụ , khả năng xuyên thấu kém Trong điều khiển từ xa bằng tia hồng ngoại , chùm tia hồng ngoại phát đi hẹp , có hướng , do đó khi thu phải đúng hướng

5.2 Nguyên tắc thu phát hồng ngoại.

số thập phân Mạch mã hóa sẽ chuyển đổi thành mã nhị phân tương ứng dưới dạng

mã lệnh tín hiệu số gồm các bít 0 và 1 Số bit trong mã lệnh nhị phân có thể là 4 bit hay 8 bit … tùy theo số lượng các phím chức năng nhiều hay ít

- Khối dao động có điều kiện : Khi nhấn 1 phím chức năng thì dồng thời khởi độngmạch dao động tạo xung đồng hồ , tần số xung đồng hồ xác định thời gian chuẩn của mỗi bit

- Khối chốt dữ liệu và khối chuyển đổi song song ra nối tiếp : Mã nhị phân tại mạch mã hóa sẽ được chốt để đưa vào mạch chuyển đổi dữ liệu song song ra nối tiếp Mạch chuyển đổi dữ liệu song song ra nối tiếp được điều khiển bởi xung

Trang 34

đồng hồ và mạch định thời nhằm đảm bảo kết thúc đúng lúc việc chuyểnđổi đủ số bit của một mã lệnh

- Khối điều chế và phát FM : mã lệnh dưới dạng nối tiếp sẽ được đưa qua mạch điều chế và phát FM để ghép mã lệnh vào sóng mang có tần số 38Khz đến 100Khz, nhờ sóng mang cao tần tín hiệu được truyền đi xa hơn , nghĩa là tăng cự ly phát

- Khối thiết bị phát : là một LED hồng ngoại Khi mã lệnh có giá trị bit =’1’ thì LED phát hồng ngoại trong khoảng thời gian T của bit đó Khi mã lệnh có giá trị bit=’0’ thì LED không sáng Do đó bên thu không nhận được tín hiệu xem như bit

- Tần số sóng mang còn được dùng để so pha với tần số dao động bên phần thu giúp cho mạch thu phát hoạt động đồng bộ , đảm bảo cho mạch tách sóng và mạch chuyển đổi nối tiếp sang song song hoạt động chính xác

Trang 35

từ xa với khoảng cách ngắn.

+Chọn tần số dao động : tần số sóng mang mang mã truyền là tần số thu được do

vi mạch mã hóa sau khi tiến hành chia 12 lần đối với tần số dao động của bộ cộng hưởng bằng thạch anh được đấu ở bên ngoài Cho nên mức độ ổn định của tần số này phụ thuộc vào chất lượng và quy cách của thạch anh Tần số dao động của mạch phát thường là 400-500Khz Đối với mạch phát trên thì nên chọn tần số của

Trang 36

thạch anh là 455Khz.

Tần số sóng mang = Tấn số dao động / 12 = 455/12 = 38KHZ

+ Do đầu ra của IC có dòng rất bé nên ta phải dùng thêm bộ khuyếch đại tín hiệu của nó lên nên dùng con A1013 Hay ta có thể khuếch đại tín hiệu dùng mạch Dalington cũng được (hệ số khuếch đại lớn)

+ Mã hóa các phìm được lắp theo kiểu ma trận Cái này được lắp theo

sơ đồ trong datasheet!

+ Một điều lưu ý là PT2248 có thể phát 18 mã lệnh ứng với 18 phím khác

nhau ,nhưng bên thu PT2249 chỉ thu được 10 mã lệnh

Ngày đăng: 11/03/2016, 09:33

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] Giáo trình MẠCH TƯƠNG TỰ _ Tác giả KS. Trương Văn Tám [6] http://alldatasheet.com/ Link
[1] Giáo trình Vi Điều Khiển _ Tác giả Th.Phạm Hùng Kim Khánh Khác
[2] Tài liệu hướng dẫn Thực Tập Vi Điều Khiển _ Biên soạn Th.Trần Nhật Khải Hoàn, KS.Trần Hữu Danh Khác
[3] Giáo trình MẠCH XUNG _ Biên soạn Th.Lương Văn Sơn, KS.Nguyễn Khắc Nguyên Khác
[4] Giáo trình MẠCH SỐ _ Tác giả Th.Nguyễn Trung Lập Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w