Báo Cáo Đồ Án Vi Xử Lý: Thiết Kế Lịch Vạn Niên Với ATMEGA8 & DS1307

Tài liệu nghiên cứu Thiết Kế Lịch Vạn Niên Vi Xử Lý: ATMEGA8, DS1307 góp phần nâng cao kiến thức chuyên ngành và ứng dụng hỗ trợ đào tạo hiệu quả

Chuyên ngành

Vi Xử Lý

Người đăng

Ẩn danh

Thể loại

Đồ án
51
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Thiết Kế Lịch Vạn Niên Vi Xử Lý

Thiết kế lịch vạn niên vi xử lý là một ứng dụng điều khiển tự động hiện đại kết hợp giữa vi điều khiển ATMEGA8chip thời gian thực DS1307. Hệ thống này được phát triển nhằm cung cấp giải pháp đo lường và điều khiển chính xác cho các ứng dụng dân dụng và công nghiệp. Trong bối cảnh phát triển công nghệ Nano, các IC thông minh như ATMEGA8 đã mở ra khả năng tạo ra những thiết bị điện tử có chức năng phức tạp nhưng vẫn tiêu thụ ít năng lượng. Lịch vạn niên điện tử không chỉ giúp người dùng theo dõi thời gian chính xác mà còn cung cấp các tính năng bổ sung như đo nhiệt độ và hiển thị thông tin trên màn hình LED 7 đoạn, đáp ứng nhu cầu thực tiễn của cuộc sống hiện đại.

1.1. Khái Niệm Và Tầm Quan Trọng

Vi xử lý ATMEGA8 là một microcontroller mạnh mẽ trong dòng AVR, được sử dụng rộng rãi trong các dự án điều khiển tự động. Khi kết hợp với DS1307 - một chip lưu giữ thời gian thực với pin dự phòng, hệ thống có thể duy trì độ chính xác thời gian ngay cả khi mất điện. Tầm quan trọng của lịch vạn niên vi xử lý nằm ở khả năng ứng dụng rộng rãi trong các thiết bị đo lường, hệ thống nhắc nhở tự động và các ứng dụng công nghiệp yêu cầu độ chính xác cao.

1.2. Mục Đích Thiết Kế

Mục đích chính của dự án là tạo ra một hệ thống đồng hồ thông minh có khả năng hiển thị giờ, phút, giây, ngày, tháng, năm một cách chính xác. Ngoài ra, hệ thống còn tích hợp cảm biến nhiệt độ DS18B20 để đo và hiển thị nhiệt độ môi trường. Với bộ phím chức năng cho phép người dùng chỉnh sửa các thông số đồng hồ và pin dự phòng đảm bảo hoạt động liên tục, thiết kế này đáp ứng đầy đủ các yêu cầu của một lịch vạn niên hiện đại.

II. Phân Tích Chi Tiết Chip DS1307 Và Giao Diện I2C

Chip DS1307 là một mạch tích hợp chuyên dụng để lưu giữ thời gian thực, được sử dụng phổ biến trong các ứng dụng yêu cầu độ chính xác cao. Chip này hoạt động dựa trên công nghệ lưu trữ dữ liệu SRAM kết hợp với pin nút có dung lượng cao, cho phép duy trì chức năng ngay cả khi mất nguồn điện chính. Giao diện I2C là một chuẩn giao tiếp nối tiếp đơn giản nhưng hiệu quả, cho phép vi điều khiển ATMEGA8 giao tiếp dễ dàng với DS1307. Thông qua hai đường dây SCL (Clock) và SDA (Data), dữ liệu thời gian được truyền tải một cách đồng bộ và an toàn. Cấu trúc bên trong DS1307 bao gồm các thanh ghi lưu trữ thông tin về giờ, phút, giây, ngày, tháng, năm, và các bit điều khiển quan trọng để cấu hình chế độ hoạt động.

2.1. Cấu Tạo Nội Bộ DS1307

Bên trong DS1307 có một oscillator 32.768 kHz tạo ra xung nhịp chính xác để đếm thời gian. Các thanh ghi bên trong được chia thành hai vùng: vùng lưu trữ thời gian và vùng RAM trống dùng để lưu trữ dữ liệu tùy chỉnh. Chip này có khả năng tính toán tự động các năm nhuận, số ngày trong tháng, giúp giảm tải cho vi điều khiển ATMEGA8. Pin dự phòng cho phép hệ thống tiếp tục hoạt động khi mất điện, đảm bảo tính liên tục của dịch vụ.

2.2. Giao Diện I2C Và Cách Truyền Dữ Liệu

Giao diện I2C sử dụng hai đường dây chính: SCL (Serial Clock Line) và SDA (Serial Data Line). Chế độ truyền dữ liệu giữa ATMEGA8DS1307 tuân theo giao thức I2C chuẩn, với tốc độ 100 kHz hoặc 400 kHz. Vi điều khiển hoạt động như Master, khởi tạo các tín hiệu START/STOP để bắt đầu và kết thúc truyền thông. Dữ liệu được gửi theo dạng byte, với mỗi byte được theo sau bởi một bit ACK (xác nhận) từ thiết bị nhận.

III. Thiết Kế Mạch Nguyên Lý Và Các Linh Kiện Chính

Mạch nguyên lý lịch vạn niên được thiết kế dựa trên vi điều khiển ATMEGA8 làm trung tâm điều khiển, kết hợp với DS1307 để xử lý thời gian thực. Hệ thống bao gồm nhiều thành phần linh kiện quan trọng: IC 74HC595 được sử dụng làm bộ dịch chuyển nối tiếp để điều khiển các LED 7 đoạn hiển thị thông tin, giúp giảm số chân cần sử dụng trên ATMEGA8. Cảm biến DS18B20 tích hợp trong mạch để đo nhiệt độ, kết nối trực tiếp với vi điều khiển thông qua giao diện One-Wire đơn giản. Các nút bấm được kết nối để cho phép người dùng chỉnh sửa thông số đồng hồ, trong khi pin dự phòng đảm bảo hệ thống hoạt động liên tục. Mạch nguồn được thiết kế để cung cấp điện ổn định với các tụ lọc và stabilizer cần thiết.

3.1. Vai Trò Của IC 74HC595 Trong Hiển Thị

IC 74HC595 là một shift register 8-bit, cho phép ATMEGA8 điều khiển nhiều LED 7 đoạn chỉ bằng ba chân: CLOCK, DATA, và LATCH. Linh kiện này giúp giảm đáng kể số chân I/O cần sử dụng, giải phóng tài nguyên cho vi điều khiển. Dữ liệu được gửi nối tiếp đến 74HC595, sau đó được parallel hóa để điều khiển đồng thời các segment của LED 7 đoạn, hiển thị chữ số và ký tự cần thiết.

3.2. Tích Hợp Cảm Biến DS18B20

DS18B20 là cảm biến nhiệt độ kỹ thuật số sử dụng giao diện One-Wire, chỉ cần một chân dữ liệu để giao tiếp. Cảm biến này có độ chính xác ±0.5°C và phạm vi đo từ -55°C đến +125°C. Dữ liệu nhiệt độ được đọc bởi ATMEGA8 và hiển thị trên màn hình LED 7 đoạn, cung cấp thông tin môi trường thực thời cho người dùng.

IV. Quy Đổi Ngày Dương Sang Ngày Âm Và Ứng Dụng Thực Tiễn

Một tính năng nổi bật của lịch vạn niên vi xử lý là khả năng quy đổi từ ngày dương sang ngày âm. Điều này đặc biệt quan trọng tại Việt Nam nơi âm lịch vẫn được sử dụng phổ biến trong các hoạt động văn hóa, tôn giáo và gia đình. Quy luật của âm lịch Việt Nam dựa trên chu kỳ Mặt Trăng và có những quy tắc tính toán phức tạp bao gồm năm nhuận, tháng nhuận. Thuật toán quy đổi được lập trình trong ATMEGA8 sử dụng các bảng tra cứu (look-up table) để tính toán nhanh chóng và chính xác. Ứng dụng này không chỉ mang lại giá trị thực tiễn cao mà còn thể hiện sự kết hợp giữa công nghệ hiện đại với nền văn hóa truyền thống của dân tộc. Hệ thống lịch vạn niên trở thành một công cụ hữu ích cho các dịp lễ hội, tính toán ngày giỗ tổ, và các sự kiện quan trọng khác.

4.1. Quy Luật Của Âm Lịch Việt Nam

Âm lịch Việt Nam dựa trên chu kỳ Mặt Trăng mới (khoảng 29.5 ngày), được chia thành 12 tháng với các tháng có 29 hoặc 30 ngày. Năm nhuận được tính theo chu kỳ 19 năm Metonic, trong đó có 7 năm được thêm một tháng nhuận. Việc tính toán này yêu cầu thuật toán phức tạp, nhưng khi được lập trình vào ATMEGA8, hệ thống có thể thực hiện quy đổi tự động một cách chính xác.

4.2. Ứng Dụng Thực Tiễn Của Lịch Vạn Niên

Lịch vạn niên điện tử có thể được sử dụng trong nhiều trường hợp: tính toán ngày tết, lễ hội truyền thống, ngày kỷ niệm, hoặc các sự kiện văn hóa dân gian. Người dùng có thể nhanh chóng tra cứu tương ứng giữa ngày dương và ngày âm mà không cần tra bảng lịch thủ công. Điều này tiết kiệm thời giantăng độ chính xác, đặc biệt hữu ích cho các cơ sở tôn giáo, trung tâm văn hóa, hoặc gia đình quan tâm đến truyền thống.

28/12/2025

Trích đoạn nội dung tài liệu

ĐẶT VẤN ĐỀ VA NHIỆM VỤ THƯ 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 và AVR. 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… Song song đó truyền dữ liệu không dây cũng bắt phát triển với nhiều kiểu truyền khác nhau và phức tạp, trong tất cả các kiểu truyền đó thì truyền dữ liệu bằng tia hồng ngoại được xem là đơn giản nhất. 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 em đã đi đến quyết định “Thiết kế Lịch Vạn Niên Điện Tử”. 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 giá trị của những mạch điện tử trong đời sống của con người. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI Trong đồ án này tôi sử dụng một con IC thời gian thực (DS1307) kết hợp với vi điều khiển ATMEGA8 để tạo thành giao diện I2C, ATMEGA8 có nhiệm vụ đọc/ghi (giờ, phút, giây, ngày, tháng , năm) từ chip DS1307. Khi có tín hiệu từ nút bấm thì ATMEGA8 bắt đầu giãi mã tín hiệu này, sau khi giải mã ATMEGA8 ghi dữ liệu nhận được vào DS1307.

Ngoài ra tôi còn thiết kế -3- Báo cáo đồ án môn VXL Thiết kế Lịch Vạn Niên thêm một mạch sử dụng (DS18b20), kết hợp với ATMEGA8 và hiển thị kết quả ra của nhiệt độ ra led 7 đoạn. 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, ngày, tháng, năm một cách chính xác  Đo nhiệt độ và hiển thị ra led 7 đoạn  Có các phím chức năng chỉnh các thông số của đồng hồ  Có pin dự phòng khi mất điện -4- Báo cáo đồ án môn VXL Thiết kế Lịch Vạn Niên CHƯƠNG 2: TỔNG QUAN VỀ CÁC LOẠI ĐỒNG HỒ SỐ & CÁCH QUY ĐỔI TỪ NGÀY DƯƠNG SANG NGÀY ÂM I. TỔNG QUAN VỀ CÁC LOẠI ĐỒNG HỒ SỐ Đồng hồ là một công cụ để đo đạc những mốc thời gian nhỏ hơn một ngày; đối lập với lịch, là một công cụ để đo thời gian dài hơn một ngày. Những loại đồng hồ dùng trong kĩ thuật thường có độ chính xác rất cao và cấu tạo rất phức tạp.

Trong khi đó, người ta có thể tạo ra những loại đồng hồ nhỏ để dễ dàng mang theo bên mình (gọi là đồng hồ đeo tay). Những loại đồng hồ hiện đại (từ thế kỷ 14 trở đi) thường thể hiện ba thông tin: giờ, phút, giây.1 CÁCH HIỂN THỊ THỜI GIAN 1. Đồng hồ cơ Đồng hồ cơ thể hiện thời gian sử dụng các góc. Mặt đồng hồ có những con số từ 1 đến 12 và sử dụng kim để chỉ giờ và cả phút.

Từ một số đến một con số kế cận là 5 phút (đối với kim phút), 1 giờ (đối với kim giờ) hay 5 giây (đối với kim giây). Một loại đồng hồ cơ khác được sử dụng là đồng hồ mặt trời. Nó hoạt động nhờ theo dọi thường xuyên ánh sáng Mặt Trời, và người ta theo dõi bằng cách nhìn bóng của chúng. Đồng hồ điện tử Đồng hồ điện tử sử dụng hệ thống số để thể hiện thời gian.

Thông thường có 2 cách thể hiện:  24 giờ để đếm giờ từ 00-23  12 giờ với kí hiệu AM / PM (chủ yếu ở Mĩ) Những đồng hồ điện tử sử dụng màn hình LCD hay LED, để thể hiện hình ảnh những con số. Khi những đồng hồ điện tử thay pin, chúng thường "quên" dữ liệu về thời gian trước đó.2 CÁCH ĐẾM THỜI GIAN Hầu hết đồng hồ đều có một cơ chế dao động điều hòa bên trong, cho phép đưa ra một tần số không đổi. Số lần dao động đó đều được đo lại và thể hiện lên mặt đồng hồ.  Đồng hồ cơ học sử dụng con lắc như cơ chế dao động điều hòa, cùng với bánh răng để điều khiển mặt đồng hồ  Đồng hồ điện sử dụng điện để chạy -5- Báo cáo đồ án môn VXL Thiết kế Lịch Vạn Niên II.

CÁCH QUY ĐỔI TỪ NGÀY DƯƠNG SANG NGÀY ÂM 1. QUY LUẬT CỦA ÂM LỊCH VIỆT NAM Âm lịch Việt Nam là một loại lịch thiên văn. Nó được tính toán dựa trên sự chuyển động của mặt trời, trái đất và mặt trăng. Ngày tháng âm lịch được tính dựa theo các nguyên tắc sau: a.

Ngày đầu tiên của tháng âm lịch là ngày chứa điểm Sóc b. Một năm bình thường có 12 tháng âm lịch, một năm nhuận có 13 tháng âm lịch c. Đông chí luôn rơi vào tháng 11 âm lịch d. Trong một năm nhuận, nếu có 1 tháng không có Trung khí thì tháng đó là tháng nhuận.

Nếu nhiều tháng trong năm nhuận đều không có Trung khí thì chỉ tháng đầu tiên sau Đông chí là tháng nhuận e. Việc tính toán dựa trên kinh tuyến 105° đông. Sóc là thời điểm hội diện, đó là khi trái đất, mặt trăng và mặt trời nằm trên một đường thẳng và mặt trăng nằm giữa trái đất và mặt trời. Gọi là "hội diện" vì mặt trăng và mặt trời ở cùng một hướng đối với trái đất.

Chu kỳ của điểm Sóc là khoảng 29,5 ngày. Ngày chứa điểm Sóc được gọi là ngày Sóc, và đó là ngày bắt đầu tháng âm lịch. Trung khí là các điểm chia đường hoàng đạo thành 12 phần bằng nhau. Trong đó, bốn Trung khí giữa bốn mùa là đặc biệt nhất: Xuân phân (khoảng 20/3), Hạ chí (khoảng 22/6), Thu phân (khoảng 23/9) và Đông chí (khoảng 22/12).

Bởi vì dựa trên cả mặt trời và mặt trăng nên lịch Việt Nam không phải là thuần âm lịch mà là âm-dương-lịch. Theo các nguyên tắc trên, để tính ngày tháng âm lịch cho một năm bất kỳ trước hết chúng ta cần xác định những ngày nào trong năm chứa các thời điểm Sóc (New moon). Một khi bạn đã tính được ngày Sóc, bạn đã biết được ngày bắt đầu và kết thúc của một tháng âm lịch: ngày mùng một của tháng âm lịch là ngày chứa điểm sóc. Sau khi đã biết ngày bắt đầu/kết thúc các tháng âm lịch, ta tính xem các Trung khí (Major solar term) rơi vào tháng nào để từ đó xác định tên các tháng và tìm tháng nhuận.

Đông chí luôn rơi vào tháng 11 của năm âm lịch. Bởi vậy chúng ta cần tính 2 điểm sóc: Sóc A ngay trước ngày Đông chí thứ nhất và Sóc B ngay trước ngày Đông chí thứ hai. Nếu khoảng cách giữa A và B là dưới 365 ngày thì năm âm lịch có 12 tháng, và những tháng đó có tên là: tháng 11, tháng 12, tháng 1, tháng 2, …, tháng 10. Ngược lại, nếu khoảng cách giữa hai sóc A và -6- Báo cáo đồ án môn VXL Thiết kế Lịch Vạn Niên B là trên 365 ngày thì năm âm lịch này là năm nhuận, và chúng ta cần tìm xem đâu là tháng nhuận.

Để làm việc này ta xem xét tất cả các tháng giữa A và B, tháng đầu tiên không chứa Trung khí sau ngày Đông chí thứ nhất là tháng nhuận. Tháng đó sẽ được mang tên của tháng trước nó kèm chữ "nhuận". Khi tính ngày Sóc và ngày chứa Trung khí bạn cần lưu ý xem xét chính xác múi giờ. Đây là lý do tại sao có một vài điểm khác nhau giữa lịch Việt Nam và lịch Trung Quốc.Ví dụ, nếu bạn biết thời điểm hội diện là vào lúc yyyy-02- 18 16:24:45 GMT thì ngày Sóc của lịch Việt Nam là 18 tháng 2, bởi vì 16:24:45 GMT là 23:24:45 cùng ngày, giờ Hà nội (GMT+7, kinh tuyến 105° đông).

Tuy nhiên theo giờ Bắc Kinh (GMT+8, kinh tuyến 120° đông) thì Sóc là lúc 00:24:45 ngày yyyy-02-19, do đó tháng âm lịch của Trung Quốc lại bắt đầu ngày yyyy-02-19, chậm hơn lịch Việt Nam 1 ngày. Ví dụ 1: Âm lịch năm 1984 Chúng ta áp dụng quy luật trên để tính âm lịch Việt nam năm 1984.  Giữa A và B là khoảng 355 ngày, như thế năm âm lịch 1984 là năm thường. Tháng 11 âm lịch của năm trước kéo dài từ 4/12/1983 đến 2/01/1984, tháng 12 âm từ 3/1/1984 đến 1/2/1984, tháng Giêng từ 2/2/1984 đến 1/3/1984 v.

Ví dụ 2: Âm lịch năm 2004  Sóc A - điểm sóc cuối cùng trước Đông chí 2003 - rơi vào ngày 23/11/2003.  Giữa 2 ngày này là khoảng 385 ngày, như vậy năm âm lịch 2004 là năm nhuận. Tháng 11 âm của năm 2003 bắt đầu vào ngày chứa Sóc A, tức ngày 23/11/2003.  Tháng âm lịch đầu tiên sau đó mà không chứa Trung khí là tháng từ 21/3/2004 đến 18/4/2004 (Xuân phân rơi vào 20/3/2004, còn Cốc vũ là 19/4/2004).

Như thế tháng ấy là tháng nhuận.  Từ 23/11/2003 đến 21/3/2004 là khoảng 120 ngày, tức 4 tháng âm lịch: tháng 11, 12, 1 và 2. Như vậy năm 2004 có tháng 2 nhuận. -7- Báo cáo đồ án môn VXL Thiết kế Lịch Vạn Niên CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG I.

TỔNG QUAN VỀ CÁC CON LINH KIỆN TRÊN BO MẠCH 1. TỔNG QUAN VỀ CON ATMEGA8. Là họ vi điều khiển 8 bit theo công nghệ mới, với những tính năng rất mạnh được tích hợp trong chip của hãng Atmel theo công nghệ RISC, nó mạnh ngang hàng với các họ vi điều khiển 8 bit khác như PIC, Pisoc.Do ra đời muộn hơn nên họ vi điều khiển AVR có nhiều tính năng mới đáp ứng tối đa nhu cầu của người sử dụng, so với họ 8051 89xx sẽ có độ ổn định, khả năng tích hợp, sự mềm dẻo trong việc lập trình và rất tiện lợi. - Tính năng mới ATMEGA8.

Atmega8 là bộ vi xử RISC với kiến trúc Harvard thuộc họ AVR được sản xuất bởi hãng ATMEL với tính năng mạnh mẽ. Tập lệnh gồm 130 lệnh xử lý hầu hết trong một chu kỳ xung nhịp. Có 8Kbyte bộ nhớ flash có thể xóa lập trình được và có thể đạt 10000 lần ghi xóa. Có 32 thanh ghi đa năng 8 bit, 512 byte bộ nhớ EEPROM tích hợp trên chíp, có 1 kbyte SRAM nội.

Có hai bộ Timer/counter 8 bit và một bộ timer/counter 16 bit với bộ chia tần lập trình được. Có 6 kênh lối vào chuyển đổi ADC với độ phân giải 10 bit. Atmega8 có 28 chân, trong đó có 23 cổng vào ra. Nguồn nuôi từ 2.5 đối với Atmega8L và từ 4.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ