Báo cáo: "Đồng hồ thời gian thực dùng DS 1307"
Tài liệu này được upload & download miễn phí tại website: http://hutonline.net
1 Đồng hồ RTC_DS1307_ HC3T
Mc Lục
LỜII ĐẦU 3
CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN 4
1.1.Khảo sát và phân tích bài toán 4
1.2. Lựa chọn giải pháp 7
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 8
2.1. Sơ đồ tổng quát 8
2.2. Sơ đồ CallGraph 9
2.3. Sơ đồ đặc tả 9
2.4. Sơ đồ thuật toán 10
2.5.Các module trong hệ thống 12
2.6.Lựa chn linh kiện 14
CHƯƠNG 3. xây dựngLuận Văn - Đề Án - Tiểu Luận Xây Dựng HTHỐNG 35
3.1.Thiết kế phần cứng 35
3.2.Thiết kế phần mềm 37
3.3.Kết quả mô phỏng 47
3.4.Mạch thi công thực tế 47
KẾT LUN 48
Môn vi x
Đi : đng h thi gian thc dùng DS 1307
Giáo viên hướng dẫn: ThS Hàn Huy Dũng
Nhóm thc hiện: Sinh viên lp điện t2-K48
Các thành viên:
+ Lê Th Hằng.
+ Đỗ Minh Châu.
+ Nguyễn Anh Tuấn.
+ Đinh Xuân Thu.
+ Vũ Anh Tuấn.
I, Chứcng của mạch điện:
- Hin th : giờ ,phút,giây, ngày , tháng,năm,thứ trong tuần
- giao tiếp vi 4 phím : status-mode-increase-decrease. Phím status dùng để chuyển chế độ từ hiển thị gi
,phút ,giây,th sang ngày ,tháng, năm. Phím mode ng đ điều chỉnh ngày, tháng, năm giờ ,phút
,giây,th
II, Mô t mạch:
-Mch sdụng IC thời gian thực DS 1307 giao tiếp I2C với Pic.
Pic16F877A
- Dùng 8 led 7 thanh loi 4 led/1 con.
- Dùng 8 Tranzito để điu khiển việc đóng ngt c led.
- Vi điều khiển được dùng là PIC 16F877A
- Dùng thạch anh 20MHz để to dao động cho PIC.
Tài liệu này được upload & download miễn phí tại website: http://hutonline.net
2 Đồng hồ RTC_DS1307_ HC3T
- Dùng một mạch tiny Bootloaderđể kết nối giữa pic và máy tính , nạp chương trình trc tiếp từ
máy tính o PIC không cần thông qua mạch nạp cho PIC.
III/ bản về tiny bootloader:
Đây bootloader cho các vi điều khiển Microchip PIC
*là bootloader có kích thước nhỏ nhất, ít hơn 100 word bộ nhớ chương trình
* bootloader duy nht hỗ trtất cả các dòng PIC: 16F, 18F, dsPIC (những dòng h
trợ chế độ self-programming - t nạp lại).
Đặc điểm của firmware:
* Kích thước chỉ khoảng 100word (cho tất cả các dòng 16F, 18F, dsPIC, thực ra nó ít hơn 100
word);
* thghi vào flash, eeprom, thghi vào c bytes i đăt (configuration bytes) của
ng 18F
* Khi reset, đợi 1 giây để nhận chương trình nạp, nếu không nhận được thì chuyển qua chy chương
trình
* File .asm của bootloader rất dễ đ chỉnh sửa lại,cho phù hợp với từng chip, tốc độ truyền
nhn.
Đặc điểm của phn mềm trên máy tính
* Có th tải chương trình vào flash (trong phiên bản này ca bootloader, cho phép cài đặt các
byte cài đặt (configuration bytes) và có thể thay đổi dễ dàng theo tng loại PIC)
* Làm việc vi tất cả các dòng PIC đã nêu trên; tđộng nhận ra nội dung file HEX và dòng PIC
* Ghi nhớ cài đặt cuối (thuận tiện cho nời dùng khi thao c với một loại PIC)
* Trong trưng hợp li, nó sẽ truyn một tín hiệu ngược lại cho máy tính để tái đồng bộ giữa
máy tính PIC;
* Chế độ giao tiếp có thđược thay đổi, có thdùng bt k cổng COM nào với tốc độ baud nào
Khái niệm chung về bootloader Một bootloader là một chương trình nằm trong vi điều khiển, và
giao tiếp với máy tính (thông qua giao tiếp ni tiếp). Bootloader nhận một chương trình (đã được
dịch ra thành file HEX) tmáy nh và ghi o b nhớ flash của vi điều khiển thông qua một
phần mềm trên y nh, sau đó chạy chương trình đó trên vi điều khiển. Bootloader chỉ thể
được dùng với những vi điều khiển nào cho pp ghi vào b nh flash thông qua phần mềm trên
máy tính. Bản thân bootloader phải được ghi vào trong b nh flash bằng một mạch nạp khác. Để
bootloader hoạt động, sau khi nhấn reset, một lệnh "goto bootloader" phải nằm địa chỉ đầu tiên
của chương trình vi điu khiển. Có 2 loại bootloader, một s loại đôi khi cần người dùng đặt li địa
ch c dòng lệnh đầu, một skhác thì t bản thân nó đặt những dòng lệnh đầu của người dùng vào
một địa chỉ khác khi bootloader đã nằm sẵn đó, và quay tr lại chương trình của ngưi dùng
khi kết thúc đoạn chương trình bootloader.
Trong trường hợp này, tiny bootloader t động đem các vị trí đầu của chương trình người viết, và
đặt phía dưới cùng với chương trình bootloader (thực ra đoạn chương trình này ch tối đa 4
dòng lệnh). địa chỉ 0x0004 đã địa chỉ bt đầu ngắt. Chính vì vậy, nếu lập trình t vị trí 0x0000
thì cũng chỉ viết được tối đa 4 dòng lệnh, sau đó phải nhy đến chương trình chính. Như vậy, tiny
bootloader s thực hiện thao tác, cắt 4 dòng đầu tiên t 0x0000 đến 0x0003 , thay bằng dòng lệnh
GOTO BOOTLOADER. t động đặt 4 dòng lệnh nằm ngay phía trên chương trình
bootloader .Sau đó, chạy chương trình tinybootloader phía bên dưới. Rồi nó quay lên chạy 4 dòng
lệnh . Kết thúc 4 dòng này, nó lại trở về vị trí chương trình chạy bình thưng bên trên. . phiên
Tài liệu này được upload & download miễn phí tại website: http://hutonline.net
3 Đồng hồ RTC_DS1307_ HC3T
bản mới nhất của tiny bootloader cho phép reset trên máy tính, kng cần phải bm reset
nữa.
Đây là một loại tiny bootloader : max232
IV/ Cơ chế hoạt động và chức năng của DS1307:
Vcc: nối với nguồn
X1,X2: nối với thạch anh 32,768 kHz
Vbat: đầu vào pin 3V
GND: đất
SDA: chuỗi data
SCL:y xung clock
SQW/OUT: xung vuông/đầu ra driver
DS1307 là một IC thi gian thực vi nguồn cung cấp nhỏ, dùng để cập nhật thời gian và
ngày tháng vi 56 bytes SRAM. Địa ch và dữliệu được truyền ni tiếp qua 2 đường bus
2 chiều. cung cấp thông tin v giờ,phút,giây ,thứ,ngày ,tháng, năm.Ngày cuối tháng