Chuông Báo Tiết Học
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
Trang 2Nhận xét của giáo viên hướng dẫn
Thái Nguyên, Ngày Tháng Năm 20
Giáo Viên hướng dẫn (Ký ghi rõ họ tên) Nhận xét của giáo viên chấm
Thái Nguyên, Ngày Tháng Năm 20
Giáo Viên hướng dẫn
(Ký ghi rõ họ tên)
LỜI MỞ ĐẦU
Ngành điện tử ngày càng phát triển,đã dần thay thế các thiết bị thô sơ,bằng các thiết bị điện tử có độ tự động rất cao,tiết kiệm công sức cho con người Hiện
Trang 3nay với sự phát triển của vi điều khiển thì chỉ cần động tác nhẹ nhàng các thiết bị
đã được điều khiển một cách nhanh chống
Người ta thường nói : “Học đi đôi với hành” , vì thế để tạo nền tảng , tăng thêm hiểu biết cũng như đi vào thực tế em đã lựa chọn đề tài “Chuông Báo Tiết Học”
Trong quá trình thực hiện đề tài này , Chúng em đã rất cố gắng , nhưng có lẽ do vốn kiến thức cũng như những nguyên nhân chủ quan khác mà đề tài chắc chắn sẽ không tránh khỏi thiếu sót Chúng em rất mong sự đóng góp ý kiến, phê bình và hướng dẫn thêm của thầy cô và các bạn đọc
Sinh viên thực hiện
Chu Anh Nguyễn Trần Đức Hoàng Nguyễn Thị Nhung
Trang 4MỤC LỤC
-Chức năng của khối này là sử dụng ngắt của 89c51 để yêu cầu việc điều chỉnh time theo ý của người sử dụng , cài đặt time ban đầu cho đồng hồ thời gian thực RTC.Tác động bởi các phím bấm (BUTTON) 7
- Khối này thực chất là LCD 16x2 để hiển thị time và các thông tin mà lập trình viên cần hiển thị 7Trang web tham khảo : 50
A PHẦN MỞ ĐẦU
1 Đặt vấn đề
- Hiện nay với sự phát triển của vi điều khiển.Các hệ thống cần thiết đều
được hoạt động một cách tự động Đơn giản như hệ thống chuông hẹn giờ,hệ
thống báo động,báo giờ trường học,báo giờ công sở
Vấn đề báo tiết học là vấn đề cần thiết ở bất cứ trường học nào,giúp thầy cô điều chỉnh được thời gian dạy học của mình.Sẽ mất thời gian khi ta phải canh thời gian cho tiết học.Chính vì thế chúng em thiết kế mạch chuông báo tiết hoc tự động cho các trường học
2 lý do chọn đề tài
- Đây là vấn đề thực tế ,được ứng dụng nhiều trong các trường học
Nhằm để củng cố kiến tức lập trình vi xử lý vừa mới học và rèn luyện khả học hỏi nên em đã chọn đề tài này
3 giới hạn của đề tài
3.1 Phân tích
- Trước tiên chúng ta phải xác định rõ mục đích và yêu cầu của bài toán
Mục đích:
-Hệ thống báo chuông tại các thời điểm vào, ra của tiết học của trường
-Hệ thống có khả năng chỉnh lại giờ
-Thời gian kéo dài chuông vào tiết và nghỉ giải lao là khác nhau
Trang 5-Hệ thống chuông được dùng đi dây điện đồng bộ 220V
Yêu cầu:
-Hệ thống làm việc ổn định
-Có khả năng đưa vào ứng dụng trong thực tế
Với thực tế bài toán này chúng ta phải thiết kế 2 thành phần cơ bản:
- Mỗi ngày có 2 buổi học mỗi buổi kéo dài 6 tiết Thời gian của mỗi tiết là
45 phút.Thời gian nghỉ giải lao là 5 phút.Sau tiết thứ 3 của mỗi buổi nghỉ giải lao
10 phút từ đó ta xây dựng được thời khóa biểu như sau:
- Thời gian báo:
+, thời gian báo là 10 giây đối với những tiết bắt đầu ,ra vào tiết thứ 3 vào tiết thứ tư của mỗi buổi,kết thúc của mỗi buổi
+,còn lại thời gian báo cho các thời điểm khác là 5 giây
- Cách báo : sử dụng chuông điện 220V
- Phạm vi báo: Tất cả khu vực trong trường bằng cách xây dựng hệ thống chuông đến từng khu nhà,từng giảng đường
Trang 63.3 Phạm vi của đồ án và phương hướng mở rộng
- Vì đồ án môn học nên chúng em mới chỉ xây dựng mô phỏng và thiết kế hệ
thống trong phạm vi hẹp.cố định một thời khóa biểu
- Phương hướng mở rộng đồ án môn học thành đồ án tốt nghiệp:
+, Thiết kế hệ thống chuông báo cho thời khóa biểu 2 mùa.mùa đông và mùa
hè Trong đó giờ mùa hè buổi sáng vào sớm hơn 15 phút ,buổi chiều vào muộn hơn 30 phút xo với giờ mùa đông.và thêm thời kháo biểu buổi tối cho các trường học theo hệ thống tín chỉ
+, Thiết kế Module điều chỉnh bằng quét phím ma trận hoặc giao tiếp bàn phím máy tính có thể lập trình thời khóa biểu theo ý muốn và giờ giấc của từng trường cũng như nơi làm việc
+ Xây dựng Hệ thống chuông báo không dây sử dụng bộ thu phát sóng
B PHẦN NỘI DUNG
CHƯƠNG I : SƠ ĐỒ KHỐI
1 Sơ đồ tổng quát
-Sơ đồ khối tổng quát
Hình 1: Sơ đồ khối tổng quát
2 Chức năng các khối
2.1 Khối nguồn
-Cung cấp nguồn nuôi tất cả linh kiện trong mạch
Vi SỬ LÝ AT89C51
Hiển Thị LCD 16x2
Nút nhấn
Thời Gian Thực DS1307
Khối nguồn
alam
Trang 72.2 Chức năng của khối RTC
-Khối này thực chất là một chíp thời gian thực(Real Time Clock), được
sử dụng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng.Nó có pin cấp riêng , như vậy nếu như mất nguồn điện thì RTC vẫn có thể hoạt động bình thường
và chính xác theo thời gian đã được thiết lập ban đầu Trong sơ đồ này nó sẽ đảm nhiệm chức năng cấp time chính xác cho vi điều khiển xử lý các công việc mà người sử dụng yêu cầu
2.3 Chức năng của khối điều chỉnh
-Chức năng của khối này là sử dụng ngắt của 89c51 để yêu cầu việc điều chỉnh time theo ý của người sử dụng , cài đặt time ban đầu cho đồng hồ thời gian thực RTC.Tác động bởi các phím bấm (BUTTON).
2.4 Khối âm thanh
-Khối này gồm có transistor thông dòng cho loa kêu khi có mức điện áp thay đổi liên tục ở chân ra của vi điều khiển
2.5 Khối hiển thị
- Khối này thực chất là LCD 16x2 để hiển thị time và các thông tin mà lập trình viên cần hiển thị
2.6 khối xử lý (vi điều khiển 89c51)
-Vi điều khiển 89C51 là trung tâm xử lý các thông tin của mạch
Cụ thể là :
đổi dữ liệu qua lại giữa RTC với LCD để có thể hiển thị lên LCD , đông thời cập nhật time từ DS1307
- Nói tóm lại là, VĐK làm nhiệm vụ đọc time trên DS1307 sau đó nó kiểm tra xem ngắt được tác động hay không? nếu có thì điều chỉnh time, hiển thị
Trang 8time lên LCD , kiểm tra xem giờ hiện tại có bằng giờ báo chuông hay không ? nếu
có thì gọi chương trình điều khiển chuông kêu !
CHƯƠNG II: THIẾT KẾ HỆ THỐNG
1 Sơ đồ callgraph
Hình 2: Sơ đồ Callgraph
Chương Trình Điều Khiển
Module Xử
Lý Điều Chỉnh
Module xử lý chương trình
Trang 92 Sơ đồ đặc tả
Hình 3: Sơ đồ Đặc tả
3 các linh kiện sử dụng trong mạch
3.1 giới thiệu cấu trúc của vi điều khiển MCS-51
-Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương
tự như nhau Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel của
Mỹ sản xuất Chúng có các đặc điểm chung như sau:
+ 4K Bytes Flash rom
Trang 10+ 2 bộ định thời 16 bit
+ Có port nối tiếp
+ Có thể mở rộng bộ nhớ chương trình ngoài 64 K Byte
+ Bộ xử lý bit
- AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất thấp với bộ nhớ Flash có thể lập trình được Nó được sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, và tương thích với họ MCS-51TM
- AT89C51 được thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống
0 vaứ hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm Chế
độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối
tiếp và hệ thống ngắt tiếp tục hoạt động
- Chế độ nguồn giảm duy trì nội dung của RAM
nhưng không cho mạch dao động cung cấp xung clock
nhằm vô hiệu hoá các hoạt động khác của chip cho đến
khi có reset cứng tiếp theo
Hình 4: Hình dạng IC AT89C51
U1
AT89C51 9
18 19
20 29
30 31
40
1 2 3 4 5 6 7 8
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
39 38 37 36 35 34 33 32
RST
XTAL2 XTAL1
GND PSEN
ALE/PROG EA/VPP
VCC
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
Trang 11Hình 5: Sơ đồ khối của AT89C51
Trang 13chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và
bộ nhớ chương trình ngoài Port 0 cũng nhận các byte mã trong khi lập trình cho
Flash và xuất các byte mã trong khi kiểm tra chương trình (Các điện trở kéo lên bên ngoài được cần đến trong khi kiểm tra chương trình)
- Port 1(1-8) : Port 1 là port xuất nhập 8-bit hai chiều Port 1 cũng nhận byte
địa chỉ thấp trong thời gian lập trình cho Flash
- Port 2 (21-28): Port 2 là port xuất nhập 8-bit hai chiều Port 2 tạo ra các
byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài
và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16-bit Trong
thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 8-bit, Port 2 phát các nội dung của thanh ghi chức năng đặc biệt P2 Port 2 cũng nhận các bít địa chỉ cao
và vài tín hiệu điều khiển trong thời gian lập trình cho Flash và kiểm tra chương trình
- Port 3 (10-17) :Port 3 là Port xuất nhập 8-bit hai chiều Port 3 cũng còn làm
các chức năng khác của AT89C51 Các chức năng này được liệt kê như sau:
P3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài
Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và kiểm
tra chương trình
- RST (9)
Ngõ vào reset Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao động đang hoat động sẽ reset AT89C51.
Trang 14Hình 7: Mạch reset tác động bằng tay và tự động reset khi khởi động máy
- ALE/PROG (30)
ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy xuất bộ nhớ ngoài Chân này cũng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash
Khi hoạt động bình thường, xung ngõ ra ALE luôn có tần số không đổi là 1/6 tần số của mạch dao động, có thể được dùng cho các mụch đích định thời từ
bên ngoài vµ tạo xung clock Tuy nhiên, lưu ý là một xung ALE sẽ bị bỏ qua trong
mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài
Khi cần, hoạt động ALE có thể được vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ 8Eh Khi bit này được set, ALE chỉ tích
cực trong thời gan thực hiện lệnh MOVX hoặc MOVC Ngược lại, chân này sẽ
được kéo lên cao Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ
sẽ không có tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngoài
- PSEN (29)
PSEN (Program Store Enable) là xung điều khiển truy xuất bộ nhớ chương trình ngoài Khi AT89C52 đang thực thi chương trình từ bộ nhớ chương trình ngoài, PSENđược kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động PSEN
sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài
- EA/Vpp (31)
EA (External Access Enable) là chân cho phép truy xuất bộ nhớ chương trình ngoài (bắt đầu từ địa chỉ từ 0000H đến FFFFH)
RST
Trang 15EA = 0 cho phép truy xuất bộ nhớ chương trình ngoài, ngỵc l¹i EA=1 sẽ
thực thi chương trình bên trong chip
Tuy nhiên, lưu ý rằng nếu bit khoá 1 (lock-bit 1) được lập trình, EA sẽ được chốt bên trong khi reset
Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó ®iƯn áp lập trình 12V được chọn)
- XTAL1 và XTAL2
XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại đảo của mạch
dao động, được cấu hình để dùng như một bộ dao động trên chip
Hình 8: Xung clock Không có yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngoài do tín hiệu này phải qua một flip-flop chia hai trước khi đến mạch tạo xung clock bên
trong, tuy nhiên các chi tiết kỹ thuật về thời gian mức thấp và mức cao, điện áp cực tiểu và cực đại cần phải được xem xét
3.1.2 Các chế độ đặc biệt
3.1.2.1Chế độ nghỉ
5 Trong chế độ nghỉ, CPU tự đi vào trạng thái ngủ trong khi tất cả các
ngoại vi bên trong chip vẫn tích cực Chế độ này được điều khiển bởi phần mềm Nội dung của RAM trên chip và của tất cả các thanh ghi chức
năng đặc biệt vẫn không đổi trong khi thời gian tồn tại chế độ này Chế
Trang 16độ nghỉ có thể được kết thúc bởi một ngắt bất kỳ nào được phép hoặc
bằng cách reset cứng.
6 Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng,
chip vi điều khiển sẽ tiếp tục bình thường việc thực thi chương trình từ
nơi chương trình bị tạm dừng, trong vòng 2 chu kỳ máy trước khi giải
thuật reset mềm nẵm quyền điều khiển.
7
Ở chế độ nghỉ, phần cứng trên chip cẫm truy xuất RAM nội nhưng cho phép truy xuất các chân của các port Để tránh khả năng có một thao tác ghi không mong muốn đến một chân port khi chế độ nghỉ kết thúc bằng
reset, lệnh tiếp theo yêu cầu chế độ nghỉ không nên là lệnh ghi đến chân port hoặc đến bộ nhớ ngoài.
3.1.2.2 Chế độ nguồn giảm
- Trong chế độ này, mạch dao động ngừng hoạt động và lệnh yêu cầu chế độ
nguồn giảm là lệnh sau cùng được thực thi RAM trên chip và các thanh ghi chức
năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồn giảm kết
thúc Chỉ có một cách ra khỏi chế độ nguồn giảm, đó là reset cứng.
Việc reset sẽ xác định lại các thanh ghi chức năng đặc biệt nhưng không làm thay đổi RAM trên chip Việc reset không nên xảy ra (chân reset ở mức tích cực)
trước khi Vcc được khôi phục lại mức điện áp bình thường và phải kéo dài trạng
thái tích cực của chân reset đủ lâu để cho phép mạch dao động hoạt động trở lại và
Trang 17Chương trình
Nguồ
n
3.1.3 Các bít khoá bộ nhớ chương trình
- Trên chip có ba bit khoá, các bít này có thể không cho phép lập trình hoặc
cho phép lập trình, các bit này cho ta thêm một số đặc trưng nữa của AT89C51
như sau.Khi bit khoá 1 LB1 được lập trình, mức logic ở chân EA được lấy
mẫu và được chốt trong khi reset Nếu việc cấp nguồn cho chip không có
công dụng reset, mạch chốt được khởi động bằng một giá trị ngẫu nhiên và giá
trị này được duy trì cho đến khi có tác động reset Điều cần thiết là giá trị
được chốt của EA phải phù hợp vơi mức logic hiện hành ở chân này
trình ngoài không được phép tìm nạp lệnh từ bộ nhớ nội, EA được lấy mẫu và được chốt khi reset, hơn
nữa việc lập trình trên Flash bị cấm
Trang 18SUBB A,soure ; trừ bớt A bởi toán hạng nguồn
INC A ; tăng giá trị A lên 1
DEC A ; giảm A xuống 1
MUL AB ; nhân A với B
DIV AB ; chia A bởi B
DA ; hiệu đính
Nhóm lệnh logic
ANL A,soure ; lệnh nhân logic
ORL A,soure ; lệnh cộng logic
XRL A,soure ; lệnh xor logic
RL A ;quay trái
RR A ; quay phải
CLR A ; xóa A
Nhóm lệnh di chuyển dữ liệu:
MOV A,soure ; di chuyển toán hạng nguồn đến đích
MOVC A,@A+DPTR ; di chuyển từ bộ nhớ chương trình
MOVX A,@Ri ; di chuyển từ bộ nhớ dữ liệu
PUSH direct ; cất vào stack
POP direct ;lấy ra stack
XCH A,soure ; trao đổi các byte
XCHD A,@Ri ; trao đổi các digit thấp
Nhóm lệnh rẽ nhánh:
ACALL addr ; gọi chương trình con
RET ;quay chương trình con
RETI ; quay về từ chương trình phục vụ ngắt
JMP addr ; lệnh nhảy
CJNE A,direct,rel ; so sánh và nhảy
3.2 Tìm hiểu IC thời gian thực DS1307
3.2.1 Giới thiệu chung về DS1307
Trang 19-IC thời gian thực là họ vi điều khiển của hãng dalat
DS1307 có một số đặc trưng cơ bản sau
_DS1307 là IC thời gian thực với nguồn cung cấp nhỏ dùng để cập nhật thời gian và ngày tháng
_SRAM :56bytes
_Địa chỉ và dữ liệu được truyền nối tiệp qua 2 đường bus 2 chiều
_DS1307 có môt mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự động đóng ngắt với nguồn pin cung cấp 3v
+ DS1307 có 7 byte dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điểu khiển, và
56 byte lưu trữ ( dành cho người sủ dụng )
+ Khi xử lý dữ liệu từ DS1307, họ đã tự chuyển cho ta về dạng số BCD, ví dụ như ta đọc đựoc dữ liệu từ địa chỉ 0x04 ( tưong ứng với Day- ngày trong tháng)
và tại 0x05 ( thang ) là 0x15, 0x11 như thế có nghĩa là lúc đó là ngày 15-11 chứ
ko phải là ngày 21 tháng 17
+ Lưu ý đến vai trò của chân SQW/OUT Đây là chân cho xung ra của DS1307
có 4 chế độ 1Hz, 4.096HZ, 8.192Hz, 32.768Hz các chế độ này đuợc quy định bởi các bít của thanh ghi Control Register ( địa chỉ 0x07 )
+ Địa chỉ của DS1307là 0xD0
_ Cơ chế hoạt động :DS1307 hoạt động với vai trò slave trên đường bus nối tiếp.Việc truy cập được thi hành với chỉ thị start và một mã thiết bị nhất định được cung cấp bởi địa chỉ các thanh ghi.tiếp theo đó các thanh ghi sẽ được truy cập liên tụcđến khi chỉ thị stop đươc thực thi
3.2.2 Cơ chế hoạt động và chức năng của DS1307
Trang 20• DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời gian và ngày tháng với 56 bytes SRAM Địa chỉ và dữliệu được truyền nối tiếp qua 2 đường bus 2 chiều Nó 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 sẽ tự động được điều chỉnh với các tháng nhỏ hơn 31 ngày,bao gồm cả việc tự động nhảy năm Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h với chỉ thị AM/PM DS1307 có một mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự động đóng ngắt với nguồn pin
Trang 21cung cấp
• DS 1307 hoạt động với vai trò slave trên đường bus nối tiếp Việc truy cập được thi hành với chỉ thị START và một mã thiết bị nhất định được cung cấp bởi địa chỉ các thanh ghi Tiếp theo đó các thanh ghi sẽ được truy cập liên tục
đến khi chỉ thị STOP được thực thi
Sơ đồ khối của DS1307:
Hình 10:Mô tả hoạt động của các chân:
• Vcc,GND: nguồn một chiều được cung cấp tới các chân này Vcc là đầu vào 5V Khi 5V được cung cấp thì thiết bị có thể truy cập hoàn chỉnh và dữ liệu có
thể đọc và viết
Khi pin 3 V được nối tới thiết bị này và Vcc nhỏ hơn 1,25Vbat thì quá trình đọc
và viết không được thực thi,tuy nhiên chức năng timekeeping không bị ảnh
hưởng bởi điện áp vào thấp Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ được ngắt tới
nguồn cung cấp trong (thường là nguồn 1 chiều 3V)
Trang 22• Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V Điện áp pin phải được giữ trong khoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết bị
• SCL(serial clock input): SCL được sử dụng để đồng bộ sự chuyển dữ liệu
trên đường dây nối tiếp
• SDA(serial data input/out): là chân vào ra cho 2 đường dây nối tiếp Chân
SDA thiết kế theo kiểu cực máng hở , đòi hỏi phải có một điện trở kéo trong khi hoạt động
• SQW/OUT(square wave/output driver)- khi được kích hoạt thì bit SQWE
được thiết lập 1 chân SQW/OUT phát đi 1 trong 4 tần số
(1Hz,4kHz,8kHz,32kHz) Chân này cũng được thiết kế theo kiểu cực máng hở vì vậy nó cũng cần có một điện trở kéo
trong Chân này sẽ hoạt động khi cả Vcc và Vbat được cấp
• X1,X2: được nối với một thạch anh tần số 32,768kHz.Là một mạch tạo dao
động ngoài , để hoạt động ổn định thì phải nối thêm 2 tụ 33pF
Trang 23
• Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte thanh ghi thích hợp thời gian và ngày tháng được thiết lập cũng thông qua các byte thanh ghi này bằng cách viết vào đó những giá trị thích hợp nội dung của các thanh ghi dưới dạng mã BCD(binary coded decreaseimal) Bit 7 của thanh ghi seconds là bit clock halt(CH),khi bit này được thiết lập 1 thì dao động disable,khi
nó được xoá về 0 thì dao động được enable
Chú ý l: enable dao động trong suốt quá trình cấu hình thiết lập (CH=0) Thanh ghi thời gian thực được mô tả như sau:
Trang 24
• DS1307 có thể chạy ở chế độ 24h cũng như 12h Bit thứ 6 của thanh ghi hours là bit chọn chế độ 24h hoặc 12h khi bit này ở mức cao thì chế độ 12h được chọn ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là là PM ở chế độ 24h thì bit 5 là bit chỉ 20h(từ 20h đến 23h)
• Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thì dòng thời gian được truyền tới một thanh ghi thứ 2,thông tin thời gian sẽ được đọc từ thanh ghi thứ cấp này,trong khi đó đồng hồ vẫn tiếp tục chạy
Trong DS1307 có một thanh ghi điều khiển để điều khiển hoạt động của chân
SQW/OUT
• OUT(output control):bit này điều khiển mức ra của chân SQW/OUT khi đầu ra xung vuông là disable Nếu SQWE=0 thì mức logic ở chân SQW/OUT sẽ là 1 nếu OUT=1,và =0 nếu OUT=0
• SQWE(square wave enable): bit này được thiết lập 1 sẽ enable đầu ra của bộ tạo dao động Tần số của đầu ra sóng vuông phụ thuộc vào giá trị của RS1 và RS0
Trang 25
DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu thiết bị gửi dữ liệu lên bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu thiết bị điều khiển quá trình này gọi là master thiết bị nhận sự điều khiển của master gọi là slave Các bus nhận sự điều khiển của master,là thiết bị phát ra chuỗi xung
clock(SCL),master sẽ điều khiển sự truy cập bus,tạo ra các chỉ thị START và STOP
Sự truyền nhận dữ liệu trên chuỗi bus 2 dây :
Tuỳ thuộc vào bit R/ w mà 2 loại truyền dữ liệu sẽ được thực thi:
• truyền dữ liệu từ master truyền và slave nhận: Master sẽ truyền byte đầu tiên
là địa chỉ của slave Tiếp sau đó là các byte dữ liệu slave sẽ gửi lại bit thông báo
đã nhận được (bit acknowledge) sau mỗi byte dữ liệu nhận được dữ liệu sẽ truyền
từ bit có giá trị nhất (MSB)
• truyền dữ liệu từ slave và master nhận: byte đầu tiên (địa chỉ của slave) được