Đề tài Thiết kế mạch đồng hồ đo thời gian thực
BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA ĐIỆN – ĐIỆN TỬ
Đề tài : Thiết kế mạch đồng hồ đo thời gian thực
GVHD
:
Hoàng Thị Thơm
Nhóm SVHD:
Lê Văn Phi
Nguyễn Anh Tuấn
Trần Văn Bình
Lớp
: Điện – Điện tử 2
: 59 DDT-2
: 1
Khoa
Nhóm
I. Đặt vấn đề:
Đồng hồ trở nên phổ biến và đóng vai trò quan trọng trong đời sống con
người, là thiết bị cần thiết mà bất kì ai cũng phải dung tới nó. Một chiếc đồng hồ
cơ, xem giờ bằng cách nhìn vào kim chỉ ở vạch chia thời gian sẽ gây khó khăn cho
người mới bắt đầu sử dụng. Nhưng với đồng hồ số, thời gian được hiển thị rõ ràng
hơn bằng các chữ số sẽ dễ dàng hơn. Vận dụng kiến thức đã học, chúng em quyết
định thực hiện thiết kế Đồng hồ đo thời gian thực đề hiển thị bộ đếm GIỜ-PHÚT-
GIÂY trên Led7 đoạn. Với việc dung vi mạch 89s52 giao tiếp với IC thời gian
thực DS1307. IC DS1307 hoạt động ở tần số 32768kHz được nuôi bằng nguồn sự
phòng 3V có thể hoạt động trong thời gian khá dài .Sau thời gian làm mô phỏng
trên proteus, chúng em đã thiết kế được đồng hồ đo thời gian thực.
Từ khóa :”IC 89S52”,”DS 1307”,”Đồng hồ đo thơi gian thực”.
II. Giới thiệu:
Với sự ra đời của chip vi điều khiển đã làm cho công việc thiết kế các ứng dụng
trở nên nhỏ gọn và mềm dẻo hơn. Chúng có thể được ứng dụng trong nhiều sản phẩm
khác nhau. Và dưới đây là một số đề tài thiết kế đồng hồ đo thời gian thực trong và
ngoài nước mà chúng em đã tìm được:
Đồ án này[1] với sự hướng dẫn của thầy Nguyễn Lê Cường đã được sử dụng chủ
yếu dựa vào vi điều khiểnMà thực tế là IC ATMEGA16. Có khả năng điều chỉnh và
thay đổi được thời gian. So với những mạch đồng hồ dùng họ vi điều khiển 8051 và
PIC thì AVR có ưu điểm hơn là ngôn ngữ lập trình được viết bằng C thì chương trình
sẽ ngắn gọn hơn, so với 8051 thì tốc độ xử lý tín hiệu nhanh hơn. So với 8051 thì giá
thành của AVR đắt hơn. Việc sử dụng AVR ATMEGA16 thì với việc có nhiều tính
năng và giá cả phải chăng, rẻ hơn PIC nhưng đắt hơn 8051. Đồ án này[2] với chip
8051, DS12887, và Led 7đoạn. DS 12887 chứa các giá trị giờ phút giây ngày, tháng,
năm và thời gian hoạt động đúng đến năm 2100. Bộ đếm hoạt động với thời gian 10
năm nếu không có nguốn điện ngoài cung cấp. Nhưng theo em thì đối với việc mô
phỏng proteus, việc sử dụng DS 1307 chạy khá ổn và phù hợp hơn với DS 12887. Đồng
hồ thời gian thực RTC (Real Time Clock)[3] với việc sử dụng Led7 đoạn, với IC DS
12C887,IC ghi dịch 74HC591 và vi điều khiển PIC16F877A.Việc sử dụng DS 12C887
có thể ngắt lập trình được phục vụ cho việc cập nhật thời gian và hẹn giờ. IC 74HC591
làm tăng số lượng chân điều khiển cho vi điều khiển. Thực chất việc sử dụng
PIC16F877A cho các thao tác truy cập thời gian, hiển thị và chỉnh giờ cho ứng dụng
này là phí phạm, vì ứng dụng không yêu cầu thêm một chức năng phụ nào của vi điều
khiển ngoài chức năng I/O. Thiết kế một dự án đồng hồ IC thời gian thực (DS 1307)
bằng cách sử dụng vi mô PIC[4], với việc DS1307 dễ sử dụng, điều này làm cho kiểm
soát bố trí của mạch dễ dàng hơn. Nhưng trạng thái mặc định của DS1307 không được
xác định vì vậy bạn phải xóa bit CH để bắt đầu bộ dao động. Đồng hồ thời gian thực
này[5] sử dụng vi điều khiển 8051, RTC IC DS1307 và P89V51RD2, sử dụng chip
Dallas DS1307 với bộ vi điều khiển Philips P89V51RD2. Vi điều khiển giao tiếp với
DS1307 bằng cách sử dụng giao thức truyền thông I2C. Giao diện I2C có thể hoạt động
với tốc độ truyền dữ liệu lên đến 400k bit / giây. Tất cả các cài đặt liên quan đến thời
gian và ngày tháng, chúng tôi đã thực hiện nó bằng cách sử dụng hai nút ấn.Tuy nhiên
phụ kiện đắt tiền, phức tạp nên không phù hợp với sinh viên.
Qua những bài báo đó, nhóm chúng em đã thiết kế được một Đồng hồ đo thời
gian thực sử dụng IC 89S52 và DS 1307 nhằm mục đích tạo sự tiện lợi và đơn giản cho
sinh viên, và giá thành hợp lí.
III. Cơ sở lý thuyết:
1. Giới thiệu mạch:
Mạch đồng hồ hiển thị giờ phút giây, có khả năng lưu giờ khi mất điện.
Mạch sử dụng vi điều khiển AT89s52 và một chip thời gian thực DS 1307 hoạt động
ở tần số 32768 kHz được nuôi bằng nguồn dự phòng 3v có thể hoạt động trong thời
gian 5 năm khi không có nguồn điện.
2. Giới thiệu linh kiện mạch:
a) Vi điều khiển 89s52:
Vi điều khiển 8051 đƣợc Intel cho ra đời vào năm 1980 thuộc vi
điều khiển đầu tiên của họ MCS-51.
AT89S52 có các đặc trưng chuẩn như sau:
- 8 Kbyte ROM
- 256 byte RAM
- 32 đường xuất nhập
- 3 bộ định thời (đếm) 16 - bit
- Một port nối tiếp song công mạch dao động và tạo xung clock trên chip.
Interrupt control: điều khiển ngắt
Other register: các thanh ghi khác 256 byte RAM: RAM 256 byte
Time 2, 1, 0: bộ định thời 2, 1, 0
CPU: đơn vị điều khiển trung tâm
Ossilator: mạch dao động
Bus control: điều khiển bus
I/O ports: các port xuất/nhập
Serial port: port nối tiếp.[6]
b) DS 1307:
IC DS 1307 là IC thông dụng, cho khả năng chính xác về thời gian. Với nguồn
nuôi là một pin 3V thì có thể lưu giờ khi mất điện trong vòng 5 năm.[7]
Chip IC DS 1307
c) Led 7 đoạn:
Ưu điểm: hiển thị rõ ràng và thu hút được sự chú ý vì có thể nhìn xa
Nhược điểm: mạch điện phức tạp cần thêm các IC chốt.
3. Nguyên lý hoạt động:
Khi cho điện áp qua khối nguồn cho vi điều khiển, khi đó chương trình trong vi
điều khiển sẽ làm việc, đồng thời bộ tạo xung dao động tạo xung nhịp với tần số 12MHz
cho VĐK hoạt động. Chế độ ghi và nhận dữ liệu của IC thời gian thực đua tới vi điều
khiển, các điều kiện START và STOP đuợc nhận dạng khi bắt đầu hoặc kết thúc truyền
một chuỗi, lúc này các thanh ghi của IC thời gian thực nhận giá trị thời gian thực (giờ,
phút, giây, thứ, ngày, tháng, năm) và gửi đến vi điều khiển đồng thời lúc này vi
điều khiển sẽ gán một giá trị tuơng đuơng giá trị thời gian thực rồi gửi ra khối hiển thị.
Lúc này IC ghi dịch trong khối điều khiển sẽ gửi tín hiệu đến khối hiển thị.
Các nút ấn trong khối điều khiển có nhiệm vụ điều chỉnh thời gian. Khối Reset có
nhiệm vụ đua hệ thống về trạng thái ban đầu.
IV. Phương pháp đề xuất:
1. Cấu trúc hệ thống:
a) Linh kiện:
– Tụ hóa :10uf x 1
– Tụ gốm: 22 x 2
– Tụ gốm:100nf x2
– Tu hóa: 100uf x 2
– Điện trở :
+4,7k x 12
+ 330 x 7
– IC 89s52 + đế x 1( chính)
– IC ổn áp7805 x 1
– IC DS 1307 + đế x 1
– Transictor :A1015 x 6
– DIOT :1N4007 x 1
– Pin 3V + đế x 1
– Rào 6 x 2
– Led 7 đoạn 1 số x 6
– Phím nhấn x 4
– Thạch anh 12M x 1
– Thạch anh 32768Hz x 1
b) IC89S52: [8]
– Chức năng:
+ Là vi điều khiển chính của mạch.
+ 8 KB EPROM bên trong.
+ 256 Byte RAM nội.
+ 4 Port xuất /nhập I/O 8 bít.
+ 3 bộ định thời 16 bit.
– Sơ đồ chân :
– Nhóm chân nguồn:
+ VCC: chân 40, điện áp cung cấp 5VDC
+ GND: chân 20(hay nối Mass).
– Nhóm chân dao động: gồm chân 18 và chân 19 (Chân XTAL1 và XTAL2),
cho phép ghép nối thạch anh vào mạch dao động bên trong vi điều khiển, được sử
dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với
thạch anh và các tụ để tạo nguồn xung clock ổn định.
XTAL 1: Ngõ vào đến mạch khuếch đại dao động đảo và ngõ vào đến mạch
tạo xung clock bên trong.
XTAL 2: Ngõ ra từ mạch khuếch đại dao động đảo.
+ Chân chọn bộ nhớ chương trình: chân 31 (EA/VPP): dùng để xác định
chương trình thực hiện được lấy từ ROM nội hay ROM ngoại.
– Chân 31 nối mass: sử dụng bộ nhớ chương trình bên ngoài vi điều khiển
-Chân 31 nối VCC: sử dụng bộ nhớ chương trình (4Kb) bên trong vi điều
v RST(Chân RESET): Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập
trạng thái ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu
nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy.
+Chân cho phép bộ nhớ chương trình PSEN:
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ
nhớ chương trình ngoài. Chân này thường được nối với chân OE (output enable) của
ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín hiệu
kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic không
tích cực (logic 1)
(Không cần kết nối chân này khi không sử dụng đến).
v Chân ALE :(chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa
chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín
hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và
các đường dữ liệu khi kết nối chúng với IC chốt.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều khiển,
như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần
khác của hệ thống.
*Ghi chú : khi không sử dụng có thể bỏ trống chân này .
+ Nhóm chân điều khiển vào/ra:
Ø Port 0:
gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
-Chức năng xuất/nhập :các chân này được dùng để nhận tín hiệu từ bên ngoài
vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều
khiển led đơn sáng tắt.
– Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port
0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ
ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
Ø Port 1 (P1):
gồm 8 chân (từ chân 1 đến chân , chỉ có chức năng làm các đường xuất/nhập,
không có chức năng khác.
Ø Port 2 (P2) :
gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
-Chức năng xuất/nhập
-Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có dung
lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao
do P2 này đảm nhận.
Ø Port 3 (P3):
gồm 8 chân (từ chân 10 đến 17):
Chức năng xuất/nhập
Với mỗi chân có một chức năng riêng:
P3.0 RxD : Ngõ vào nhận dữ liệu nối tiếp
P3.1 TxD : Ngõ xuất dữ liệu nối tiếp
P3.2 INT0: Ngõ vào ngắt cứng thứ 0
P3.3 INT1: Ngõ vào ngắt cứng thứ 1
P3.4 T0 : Ngõ vào của Timer/Counter thứ 0
P3.5 T1 : Ngõ vào của Timer/Counter thứ 1
P3.6 WR : Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài
P3.7 RD : Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài
P1.0 T2 : Ngõ vào của Timer/Counter thứ 2
P1.1 T2X : Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2.
2. Nguyên lí hoạt động:
CHƯƠNG TRÌNH CHÍNH
BẮT ĐẦU
CHẾ ĐỘ = 0
KHỞI ĐỘNG RTC
ĐỌC THỜI GIAN BÁO THỨC
HIỂN THỊ THỜI GIAN LÊN LED 7 ĐOẠN
QUÉT PHÍM NHẤN
TẠO CHỚP TẮT NẾU CHỈNH THỜI GIAN
SO SÁNH THỜI GIAN BÁO THỨC
CHẾ ĐỘ = 0 HIỂN THỊ BÌNH THƯỜNG
CHẾ ĐỘ = 1 GHỈNH GIÂY
CHẾ ĐỘ = 2 CHỈNH PHÚT
CHẾ ĐỘ = 3 CHỈNH GIỜ
CHẾ ĐỘ = 4 CHỈNH PHÚT BÁO THỨC
CHẾ ĐỘ = 5 CHỈNH GIỜ BÁO THỨC
CTC KHỞI DỘNG
ĐỌC GIÁ TRỊ GIÂY TỪ RTC SAU ĐÓ XÓA BIT TẠO GIAO ĐỘNG NẠP
NGƯỢC TRỞ LẠI ĐỂ KHỞI DỘNG RTC
KHOIDONGTRC:
ĐỌC BYTE ĐẦU TIÊN TRONG RTC
XÓA BIT 7 ĐỂ KÍCH HOẠT BỘ TẠO
GIAO ĐỘNG TRONG RTC
GHI TRỞ LẠI RTC
RET
CTC ĐỌC THỜI GIAN TỪ RTC
DOCTG:
NẠP ĐỊA CHỈ GIÂY ( R4=00H )
GOI CTC ĐỌC 1 BYTE DƯ LIỆU THEO
ĐỊA CHỈ
CHUYỂN GIÁ TRỊ DOC ĐƯỢC VÀO Ô
NHỚ GIAY
NẠP ĐỊA CHỈ PHÚT ( R4=01H )
GOI CTC ĐỌC 1 BYTE DƯ LIỆU THEO
ĐỊA CHỈ
CHUYỂN GIÁ TRỊ DOC ĐƯỢC VÀO Ô
NHỚ PHÚT
NẠP ĐỊA CHỈ GIỜ ( R4=02H )
GOI CTC ĐỌC 1 BYTE DƯ LIỆU THEO
ĐỊA CHỈ
CHUYỂN GIÁ TRỊ DOC ĐƯỢC VÀO Ô
NHỚ GIỜ
RET
CTC ĐỌC 1 BYTE DƯ LIỆU THEO ĐỊA CHỈ
DOCBYTE:
GỌI START BIT ( STARTB )
NẠP MẢ SLAVE DS1307 CHIỀU ĐỌC
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
NẠP MẢ ĐỊA CHỈ WORD ( A = R4 )
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
GỌI STOP BIT ( STOPB )
GỌI START BIT ( STARTB )
NẠP MẢ SLAVE DS1307 CHIỀU ĐỌC
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
GỌI CTC DỌC 1 BYTE DỮ LIỆU
CHUYỂN GIÁ TRỊ TỪ A VÀO Ô NHỚ
GỌI STOP BIT ( STOPB )
RET
CTC GHI THỜI GIAN VÀO RTC
NAPTG:
GỌI START BIT ( STARTB )
NẠP MẢ SLAVE DS1307 CHIỀU GI
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
NẠP MẢ ĐỊA CHỈ WORD ( A = 00H )
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
NẠP DỮ LIỆU GIÂY VÀO A
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
NẠP DỮ LIỆU PHÚT VÀO A
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
NẠP DỮ LIỆU GIỜ VÀO A
GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
GỌI STOP BIT ( STOPB )
RET
CTC ĐỌC 1 BYTE DƯ LIỆU
RBYTE:
NẠP SỐ LẦN LẶP TƯƠNG ỨNG VỚI SỐ
BYTE ( R7 = 8 )
BẬT BIT SCL
CHUYỂN GIÁ TRỊ NHẬN ĐƯỢC TỪ SDA
VÀO CỜ C
XÓA BIT SCL
DỊCH TRÁI CÓ CỜ C THANH GHI A
GIẢM SỐ LẦN LẶP
R7 = 0
GOI CTC TẠO BIT THỪA NHẬN ( ASKB )
RET
CTC GHI 1 BYTE DƯ LIỆU
SBYTE:
NẠP SỐ LẦN LẶP TƯƠNG ỨNG VỚI SỐ
BYTE ( R7 = 8 )
XÓA BIT SCL
CHUYỂN GIÁ TRỊ CỦA ACC.7 CHO SDA
BẬT BIT SCL
XÓA BIT SCL
DỊCH TRÁI THANH GHI A
GIẢM SỐ LẦN LẶP
R7 = 0
GOI CTC TẠO BIT THỪA NHẬN ( ASKB )
RET
CTC CHỈNH THỜI GIAN
CHINH:
TĂNG NHẤN
TĂNG THỜI GIAN
CHỐNG DỘI
GIẢM NHẤN
GIẢM THỜI GIAN
CHỐNG DỘI
RET
CTC TĂNG GIÁ TRỊ THỜI GIAN
TANGTG:
NẠP LẠI R5 = 25
MO = 1
MO = 2
MO = 3
MO = 4
TĂNG GIÂY THÊM 1 GỚI HẠN ĐẾN 59H
TĂNG PHÚT THÊM 1 GỚI HẠN ĐẾN 59H
TĂNG GIỜ THÊM 1 GỚI HẠN ĐẾN 23H
TĂNG PHÚT BÁO THỨC GỚI HẠN 59H
TĂNG GIỜ BÁO THỨC GỚI HẠN ĐẾN 23H
MO = 5
RET
CTC GIẢM GIÁ TRỊ THỜI GIAN
GIAMTG :
NẠP LẠI R5 = 25
MO = 1
MO = 2
MO = 3
MO = 4
MO = 5
GIẢM GIÂY 1 GỚI HẠN ĐẾN 00H
GIẢM PHÚT 1 GỚI HẠN ĐẾN 00H
GIẢM GIỜ 1 GỚI HẠN ĐẾN 00H
GIẢM PHÚT BÁO THỨC GỚI HẠN 01H
GIẢM GIỜ BÁO THỨC GỚI HẠN ĐẾN 01H
RET
3. Mô hình thực:
V. Kết quả nghiên cứu và thảo luận:
Sau khi thực hiện lắp ráp mạch, mạch hoạt động đúng với lý thuyết đã học. Mạch
hoạt động với nguồn 3V cho khối vi xử lí và khối hiển thị, sử dụng tốt với các ứng
dụng trong thực tế.
Để thiết kế cho phù hợp với ứng dụng thực tế của mạch ta có thể thay đổicác
linh kiện như khối hiển thị sử dụng các led 7 đoạn lớn hơn và có thể thiết kế sắp xếp
bắt mắt hơn, nhằm mục đích giúp cho mọi người dễ quan sát.
VI. Kết luận:
1. Đối tượng nghiên cứu:
Ngày nay con người đang trải qua những sự phát triển vượt về mọi mặt.Trong
đó điện tử, tự động hoá đóng một vai trò không nhỏ. Điện tử góp phần vào quá trình tự
động hoá mọi thứ giúp con người hiện đại hoá cuộc sống và là thứ không thể thiếu để
con người có thể phát triển.
2. Kết quả nghiên cứu:
Sau hơn 3 tháng làm đề tài, với sự nỗ lực học hỏi của bản thân và sự chỉ bảo tận
tình cô giáo Hoàng Thị Thơm, đề tài “Thiết kế đồng hồ đo thời gian thực” của chúng
em đã hoàn thành đúng thời gian và thực hiện thành công hệ thống đồng hồ hiển thị
thời gian thực. Qua đề tài này em có những hiểu biết tốt hơn về lĩnh vực vi điều khiển
cũng như cách ghép nối các linh kiện điện tử thành một sản phẩm hoàn thiện Vì thời
gian có hạn và kiến thức cùng kinh nghiệm của bản thân còn hạn chế nên không tránh
khỏi những sai sót. Rất mong các thầy cô và các bạn xem xét và đóng góp những ý
kiến quý báu để cuốn đồ án được hoàn thiện hơn. Một lần nữa em xin chân thành cảm
ơn các thầy cô giáo trong khoa Điện - Điện tử, trường Đại học Nha Trang đã hết lòng
truyền đạt những kiến thức quý báu cho chúng em trong suốt tháng vừa qua. Đặc biệt,
em xin cảm ơn sự chỉ bảo tận tình của cô giáo Hoàng Thị Thơm và cùng các bạn.
Tài liệu tham khảo:
[1] GVHD Nguyễn Lê Cường, nhóm SVTH Hoàng Xuân Diệu, Thạch Khánh
Linh, Trần Mỹ Hiền, Ngô Thị Dung, Bùi Thanh Hiền, Tống Thị Thiện lớp C6ĐTVT.
Đồ án “Thiết kế mạch đồng hồ thời gian thực”,
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Thiết kế mạch đồng hồ đo thời gian thực", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
de_tai_thiet_ke_mach_dong_ho_do_thoi_gian_thuc.docx

