Và dưới đây là một số đề tài thiết kế đồng hồ đo thời gian thựctrong 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ụngchủ yếu
Trang 1BỘ 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 Khoa : 59 DDT-2
Nhóm : 1
Trang 2Từ 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 ứngdụ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ảnphẩm khác nhau Và dưới đây là một số đề tài thiết kế đồng hồ đo thời gian thựctrong 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ụngchủ 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ươngtrì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 8051thì giá thành của AVR đắt hơn Việc sử dụng AVR ATMEGA16 thì với việc có nhiềutí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ớichip 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ờigian 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
Trang 3việ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ấtviệ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 gianthực (DS 1307) bằng cách sử dụng vi mô PIC[4], với việc DS1307 dễ sử dụng, điềunà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ủaDS1307 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ằngcá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ớisinh viên
Qua những bài báo đó, nhóm chúng em đã thiết kế được một Đồng hồ đo thờigian 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ảncho 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:
Trang 4Vi đ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]
Trang 5Nhượ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 đuatớ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ặckế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 đồngthờ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
Trang 6+ 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
Trang 7+ 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ớithạ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 đầunế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
Trang 8hiệ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
Trang 9Ø 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àiP3.7 RD : Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoàiP1.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
Trang 10BẮT ĐẦU
KHỞI ĐỘNG RTC CHẾ ĐỘ = 0
ĐỌ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
KHOIDONGTRC:
ĐỌC BYTE ĐẦU TIÊN TRONG RTC
XÓA BIT 7 ĐỂ KÍCH HOẠT BỘ TẠO GIAO ĐỘNG TRONG RTC
Trang 11NẠ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 THỜI GIAN TỪ RTC
Trang 12CTC ĐỌC 1 BYTE DƯ LIỆU THEO ĐỊA CHỈ
Trang 13GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU
GỌI CTC DỌC 1 BYTE DỮ LIỆU
GỌI STOP BIT ( STOPB )
KẾT THÚC VIỆC GI DỊA CHỈ WORD
CHUYỂN GIÁ TRỊ TỪ A VÀO Ô NHỚ
Trang 14GỌ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
RET
GỌI STOP BIT ( STOPB )
KẾT THÚC GHI THỜI GIAN
CTC ĐỌC 1 BYTE DƯ LIỆU
Trang 15NẠP SỐ LẦN LẶP TƯƠNG ỨNG VỚI SỐ BYTE ( R7
= 8 ) RBYTE:
DỊCH TRÁI CÓ CỜ C THANH GHI A GIẢM SỐ LẦN LẶP
GOI CTC TẠO BIT THỪA NHẬN ( ASKB )
CTC GHI 1 BYTE DƯ LIỆU
Trang 16NẠP SỐ LẦN LẶP TƯƠNG ỨNG VỚI SỐ BYTE ( R7
= 8 ) SBYTE:
DỊCH TRÁI THANH GHI A
Trang 18CTC TĂNG GIÁ TRỊ THỜI GIAN
CTC GIẢM GIÁ TRỊ THỜI GIAN
Trang 20V Kết quả nghiên cứu và thảo luận:
Trang 21Sau 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áclinh 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ếpbắ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ảotậ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ủachú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ànthiệ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 emxin 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ọcNha Trang đã hết lòng truyền đạt những kiến thức quý báu cho chúng em trong suốtthá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:
Trang 22[1] GVHD Nguyễn Lê Cường, nhóm SVTH Hoàng Xuân Diệu, Thạch KhánhLinh, 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”,
Link:
file:///D:/Downloads/tailieumienphi.vn_do_an_thiet_ke_mach_dong_ho_thoi_gian_thuc_truong_dai_hoc_dien_luc.pdf
[2] GVHD N.T.B Thiện, nhóm SVTH Tạ Tấn Vàng, Nguyễn Tấn Vinh,Nguyễn Mạnh Tú lớp DHDT6LTA Đồ án “Mạch đồng hồ thời gian thực”
[4] Join Main, thiết kế dự án “Đồng hồ đo thời gian thực IC(DS 1307) sử dụng
vi điều khiển PIC”
https://www.engineersgarage.com/contribution/real-time-clock-using-[6],[8] Các thông in về AT89S52
Trang 23Link: https://vi.scribd.com/doc/148706639/Vi-%C4%91i%E1%BB%81u-khi
%E1%BB%83n-At89s52
[7] Các thông tin về DS 1307
Link: chc-nng-va-hot-ng-ca-rtc-ds1307.html