Đề tài Thiết kế mạch đồng hồ đo thời gian thực

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 1

Trang 1

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 2

Trang 2

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 3

Trang 3

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 4

Trang 4

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 5

Trang 5

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 6

Trang 6

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 7

Trang 7

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 8

Trang 8

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 9

Trang 9

Đề tài Thiết kế mạch đồng hồ đo thời gian thực trang 10

Trang 10

Tải về để xem bản đầy đủ

docx 22 trang Bảo Đạt 06/04/2025 130
Bạn đang xem 10 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.

Tóm tắt nội dung tài liệu: Đề tài Thiết kế mạch đồng hồ đo thời gian thực

Đề 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
 Khoa : 59 DDT-2
 Nhóm : 1 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

File đính kèm:

  • docxde_tai_thiet_ke_mach_dong_ho_do_thoi_gian_thuc.docx