KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 1
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 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
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 2
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
MỤC LỤC
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..............................................................................7
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.....................................................................10
1.3.Chức năng các chân vi điều khiển............................................................12
II.TỔNG QUAN VỀ IC DS1307( IC ĐỊNH THỜI GIAN THỰC)..........................................15
2.1. Tổng quan về DS1307..............................................................................15
2.1.1. Sơ đồ chân DS1307...............................................................................................................................................15
2.1.2. Cấu tạo bên trong DS1307....................................................................................................................................18
2.2. Khái quát giao diện I2C ..........................................................................22
2.3. Mode (chế độ) truyền dữ liệu giữa DS1307 và AT8951...........................27
2.3.1. Mode Data Write (chế độ ghi dữ liệu)..................................................................................................................27
2.3.2. Mode Data Read (chế độ dọc dữ liệu)..................................................................................................................29
III.GIỚI THIỆU VỀ IC ADC 08043(IC CHUYỂN ĐỔI TƯƠNG TỰ - SỐ)..........................30
3.1.Giới thiệu chung .......................................................................................30
3.2.Chức năng các chân .................................................................................31
IV.GIỚI THIỆU VỀ IC CẢM BIẾN NHIỆT ĐỘ LM35..........................................................33
4.1. Một số tính chất cơ bản của LM35..........................................................34
4.2. Dải nhiệt độ và sự thay đổi trở kháng theo nhiệt độ của LM35...............35
V.TỔNG QUAN VỀ HỆ THỐNG HỒNG NGOẠI..................................................................35
5.1. Khái niệm tia hồng ngoại.........................................................................35
5.3. Mạch phát tín hiệu hồng ngoại.
Sơ đồ mạch nguyên lý.
..........................................................................................................................38
thạch anh là 455Khz.
Tần số sóng mang = Tấn số dao động / 12 = 455/12 = 38KHZ
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 3
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
+ 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!................................................................................................39
5.4. Mạch thu hồng ngoại
Sơ đồ mạch nguyên lý
..........................................................................................................................39
I. THIẾT KẾ MẠCH NHIỆT ĐỘ.............................................................................................40
1.1.Sơ đồ khối..................................................................................................40
1.2.Sơ đồ nguyên lý và nguyên lý hoạt động...................................................41
1.3.Nguyên lý hoạt động..................................................................................41
1.4.Lưu đồ thuật toán......................................................................................42
II. THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN THỰC ..........................................................43
2.1.Sơ đồ khối..................................................................................................43
2.1.2. Khối CPU..............................................................................................44
2.1.3. Khối hiển thị..........................................................................................44
.........................................................................................................................45
2.1.4. Khối hiệu chỉnh ( Điều khiển từ xa)......................................................45
Khối thu...........................................................................................................46
2.2.Sơ đồ nguyên lý và nguyên lý hoạt động...................................................47
2.3.Nguyên lý hoạt động..................................................................................48
2.4. Lưu đồ và giải thuật chương trình..........................................................48
2.4.1. Giải thuật.............................................................................................................................................................. 48
2.3.Nguyên lý hoạt động..................................................................................49
2.4. Lưu đồ và giải thuật chương trình..........................................................49
2.4.1. Giải thuật.............................................................................................................................................................. 49
2.4.2. Giải thuật chương trình con “WRITE_CLOCK”.......................................................................................................49
2.4.3. Giải thuật chương trình con “READ_CLOCK”........................................................................................................50
2.4.4.. Lưu đồ..................................................................................................51
PHẦN III : KẾT LUẬN VÀ ĐỀ NGHỊ....................................................................................................................... 58
I. KẾT LUẬN........................................................................................................................58
II. ĐỀ NGHỊ..............................................................................................................................61
TÀI LIỆU THAM KHẢO........................................................................................................................................ 62
........................................................................................................................................ 63
PHẦN IV : PHỤ LỤC............................................................................................................................................ 63
1.6.Chương trình nhiệt độ...............................................................................63
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 4
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
2.6.Chương trình đồng hồ thời gian thực........................................................64
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 quan
trọ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ông
nghiệ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ều
khiển và sử dụng vi xử lí để thay thế và cũng chính vì thế đã thúc đảy vi xử lí phát
triể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ính
nă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ì
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 5
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
chúng em đã sử dụng IC 8051 là IC điều khiển chính, bởi vì 8051 có nhiều tính
nă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 do
vố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ất
mong sự đóng góp ý kiến của thầy cùng các bạn để đề tài chúng em được hoàn
thiện hơn.
Chúng em xin chân thành cảm ơn !
PHẦN I: MỞ ĐẦU
I. KHÁI QUÁT VẤN ĐỀ
Trong giai đoạn hiện nay với sự phát triển vượt bật của công nghệ Nano
hàng loạt IC mới được chế tạo. Những IC này thông minh hơn rất nhiều so với các
IC trước và đặc biệt là chúng ta có thể ghi/xóa dữ liệu vào một cách dể dàng. Vì
thế nó được sử dụng trong nhiều thiết bị Điện - Điện Tử và ngày càng thể hiện
được bản chất ưu việt của mình. Điển hình là dòng IC 8051/8052.
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 IC
thờ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 đời
số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
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 6
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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 đời
số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ết
hợ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ời
gian 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ệu
nà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
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ính
xá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 âm
thanh 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.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 7
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
PHẦN II : NỘI DUNG
CHƯƠNG I. TỔNG QUAN VỀ LÝ THUYẾT
I.GIỚI THIỆU VỀ 89C51
• 1.1.Giới thiệu chung
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)
128 byte RAM
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á
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 8
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
• bộ nhân / chia 4µs
•
•
•
•
•
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 9
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
• 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: Central
Processing Unit) bao gồm:
-
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)
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 10
KHOA : ĐIỆN – ĐIỆN TỬ
-
Từ trạng thái chương trình (PSW: Program Status Word)
-
Bốn băng thanh ghi
-
Con trỏ ngăn xếp
ĐÔ ÁN MỨC 2
- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian
và logic.
- Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên
trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm định thời
hoặc cũng có thể là giao diện nối tiếp.
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ên
ngoà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 CPU
làm việc nó làm thay đổi nội dung của các thanh ghi.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 11
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
•
•
•
•
•
•
• 1.3.Chức năng các chân vi điều khiển.
Hình 1.2. Chức năng các chân của vi điều khiển
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 12
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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ác
thiế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
P3.0
Tên
RXD
Chức năng chuyển đổi
Dữ liệu nhận cho port nối tiếp
P3.1
TXD
Dữ liệu phát cho port nối tiếp
P3.2
INTO
Ngắt 0 bên ngoài
P3.3
INT1
Ngắt 1 bên ngoài
P3.4
TO
Ngõ vào của Timer/Counter 0
P3.5
T1
Ngõ vào của Timer/Counter 1
P3.6
WR
Xung ghi bộ nhớ dữ liệu ngoài
P3.7
RD
Chức năng của các chân trên Port3
Xung đọc bộ nhớ dữ liệu ngoài
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ở
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 13
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
rộng và thường được nối đến chân OE (Output Enable) của một EPROM để cho
phé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ức
cao).
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ênh
cá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ột
thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port0
dù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à 12
MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh MOVX, một xung
ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM
trong 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 trong
khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình được thi hành từ bộ nhớ
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 14
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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 EA
là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 đưa
lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong 8951 đựoc tải những
giá 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ữa
hai 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à 12
MHz.
j. Các chân nguồn:
8051(8951) vận hành với nguồn đơn +5V. VCC được nối vào chân 40 và VSS
(GND) được nối vào chân 20.\
II.TỔNG QUAN VỀ IC DS1307( IC ĐỊNH THỜI GIAN THỰC)
• 2.1. Tổng quan về DS1307
2.1.1. Sơ đồ chân DS1307
DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm
thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang
sử dụng, tính bằng giây, phút, giờ…DS1307 là một sản phẩm của Dallas
Semiconductor (một công ty thuộc Maxim Integrated Products). Chip này có 7
thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng,
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 15
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
năm. Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi
trống có thể dùng như RAM. DS1307 được đọc và ghi thông qua giao diện nối tiếp
I2C 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
- VBAT: 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ì DS1307
vẫ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.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 16
KHOA : ĐIỆN – ĐIỆN TỬ
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
ĐÔ ÁN MỨC 2
Trang 17
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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ác
thanh 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ụng
DS1307 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ông
qua giao diện I2C
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 18
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
Như đã trình bày, bộ nhớ DS1307 có tất cả 64 thanh ghi 8−bit được đánh địa
chỉ 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ùng
chứ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ời
gian 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.
Hình 1.5. Tổ chức bộ nhớ trong DS1307
Vì 8 thanh ghi đầu tiên là quan trọng nhất trong hoạt động của DS1307,
chúng ta sẽ khảo sát các thanh ghi này một cách chi tiết. Trước hết hãy quan sát tổ
chức theo từng bit của các thanh ghi này trong hình sau:
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 19
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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à 1
bit đ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ết
phả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 ghi
này được dùng cho chữ số hàng đơn vị của giờ. Do DS1307 hỗ trợ 2 loại hệ thống
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 20
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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ục
trong 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ống
12h đượ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àng
chụ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ại
luô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ỏ ra
SQW/OUT. Giá trị các bít trong thanh ghi CONTROL REGISTER được biểu diển
như sau:
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 21
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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:
•
•
•
•
• 2.2. Khái quát giao diện I2C
I2C là viết tắc của từ Inter - Integrated Circuit là một chuẩn truyền thông
nối tiếp đồng bộ do hãng điện tử Philips Semiconductor sáng lập và xây dựng
thà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ước
nhất.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 22
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
SCL (Serial Clock): là đường xung giữ nhịp nối tiếp. I2C là chuần truyền
thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình
truyề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ện
START và STOP). Chân SDA có thể được đổi trạng thái khi SCL ở mức
thấ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ược
lạ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 giao
tiếp.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 23
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
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ức
cao (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ện
START 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úc
quá 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ùng
khi master muốn lấy dữ liệu liên tiếp từ các Slaves.
Stop Start
Hinh1.6. Mô tả điều kiện START, STOP và REPEAT
- 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.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 24
KHOA : ĐIỆN – ĐIỆN TỬ
ĐÔ ÁN MỨC 2
- Bit NACK: dùng để báo hiệu dữ liệu đã bị lỗi hoặc byte truyền cuối
cùng, bit NACK cũng được tạo ra tại thời điểm xung clock thứ 9 bằng cách
kéo chân SDA lên mức cao.
GVHD : Vũ Văn Chiến
SVTH: Đào Thị An
Nguyễn Văn Linh
Nguyễn Thị Loát
Trang 25