Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em đã chọn đề tài " Mạch hiển thị thời gian, ngày, tháng, năm, giờ phút giây bằng LCD, sử dụng vi điều khiển họ
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
LỜI NÓI ĐẦU 5
CHƯƠNG 1 PHÂN TÍCH YÊU CẦU 6
1.1 Khảo sát và phân tích bài toán 6
1.1.1 Cách hiển thị thời gian 6
1.1.2 Mục đích 7
1.1.3 Các công nghệ ứng dụng trong thiết kế thời gian thực 8
1.1.4 Giải pháp thiết kế 9
1.1.5 Các tham số cho hệ thống 9
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 10
2.1 Sơ đồ tổng quát 10
2.2 Sơ đồ Call graph 11
2.3 Sơ đồ đặc tả 11
2.5 Các module trong hệ thống 14
2.5.1 Khối nguồn 14
2.5.2 Khối điều khiển trung tâm 14
2.5.3 Khối tạo thời gian thực 15
2.5.4 Khối hiển thị 15
2.5.5 Khối giao tiếp phím bấm 16
2.6 Giới thiệu một số linh kiện 16
2.6.1 Vi điều khiển AT89C51 16
Trang 22.6.4 IC ổn áp 7805 36
2.6.5 Tụ điện 37
2.6.6 Điện trở 37
2.6.7 Nút bấm button 37
2.6.8 Biến trở 38
2.6.9 Thạch anh 38
2.6.10 Pin CMOS 3V 38
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 39
3.1 Thiết kế phần cứng 39
3.2 Lập trình vi điều khiển 40
Chương trình 40
3.3 Kết quả mô phỏng 53
KẾT LUẬN 54
DANH MỤC TÀI LIỆU THAM KHẢO 55
Trang 3Hình 2.14 Mạch reset tác động bằng tay và tự động reset khi khởi động máy 20
Trang 4Hình 2.23 Hình dạng của điện trở trong thiết bị điện tử. 37
Trang 5LỜI NÓI ĐẦU
Sự ra đời của các bộ vi xử lí nói chung, các bộ vi điều khiển nói riêng đã tạo ra mộtbước ngoặt lớn trong việc thiết kế các hệ thống xử lí thông tin, đo lường điều khiển vàtruyền thông Kết quả là đã tạo ra được những sản phẩm như máy ảnh số, máy chơi nhạcMP3, đầu đĩa DVD, các bộ biến tần,PLC…ngày càng rẻ hơn, nhỏ gọn hơn, thông minhhơn và tiện dụng hơn
Hơn nữa, kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rấtnhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vựckhác nữa So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do nó đượctích hợp lại và có khả năng lập trình được để điều khiển Nên rất tiện dụng và cơ động Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em đã chọn
đề tài " Mạch hiển thị thời gian, ngày, tháng, năm, giờ phút giây bằng LCD, sử dụng vi điều khiển họ 8051 và IC thời gian thực DS1307 Có chỉnh thời gian, ngày tháng"
Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm những ứngdụng của vi điều khiển trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiều ứng dụngkhác trong đời sống hằng ngày cần đến
Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sách tham khảo
và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót Vì vậy nhóm rấtmong được sự góp ý của thầy cô và các bạn
Hà Nội, ngày 22 tháng 12 năm 2012
Nhóm sinh viên
Trang 6CHƯƠNG 1 PHÂN TÍCH YÊU CẦU
1.1 Khảo sát và phân tích bài toán
Đồ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ậpvớ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ùngtrong 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 thường thể hiện ba thông tin: giờ, phút, giây
1.1.1 Cách hiển thị thời gian
Đồ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 (đốivớ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ờ theodọ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ủachú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áchthể hiện:
- 24 giờ để đếm giờ từ 00-23h
- 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, ống catode để 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 đó
Đồng hồ âm thanh:
Để tiện lợi hơn, có một số đồng hồ sử dụng âm thanh để bào hiệu giờ Âm thanh cóthể được sử dụng như ngôn ngữ tự nhiên ("Bây giờ là mười sáu giờ ba mươi phút) haymột mã (số tiếng chuông báo hiệu số giờ)
Trang 7 Đồng hồ chữ:
Loại đồng hồ này hiện thời gian ở dạng chữ Nếu như ở đồng hồ điện tử chúng ta đọcđược những con số 12:35 thì ở đồng hồ chữ, chúng ta có thể đọc được "Mười hai giờ bamươi lăm phút" Một số loại đồng hồ khác sử dụng cơ chế gần đúng khiến người sử dụngcảm thấy dễ chịu hơn khi sử dụng đồng hồ (ví dụ "Khoảng mười hai giờ rưỡi")
1.1.2 Mục đích
Đồng hồ treo tường được dùng trong nhà và văn phòng, đồng hồ đeo tay được mangtrên tay, và những loại đồng hồ lớn được đặt ở những nơi công cộng (nhà thờ hay bếnxe) Hầu hết những máy tính và điện thoại di động đều có góc dưới màn hình hiển thị giờ.Tuy nhiên, đồng hồ không phải lúc nào cũng được sử dụng để hiển thị thời gian Nócòn có thể sử dụng để điều khiển một vật theo thời gian Ví dụ như đồng hồ chuông cóthể được dùng làm chuông báo tiết học Nó có thể được gọi chính xác hơn là một hệthống đếm giờ
Máy tính sử dụng những tín hiệu đồng hồ để đồng bộ quá trình xử lý (mặc dầu có một
số nghiên cứu về bộ xử lí không đồng bộ) Máy tính lưu trữ thời gian để báo hiệu hay chỉ
là để hiển thị thời gian Bên trong máy tính có một đồng hồ được nuôi bằng pin Máy tínhvẫn có thể hoạt động ngay cả khi đồng hồ trong máy bị chết nhưng khi khởi động máylại, đồng hồ của máy tính sẽ được khởi động lại
Thời gian là một khái niệm cơ bản trong môn vật lý Do đó, chế tạo dụng cụ đo thờigian chính xác có ý nghĩa quan trọng trong các thí nghiệm
Hình 1.1 Đồng hồ điện tử
Trang 8Hình 1.2 Đồng hồ điện tử trên một lò vi sóng
1.1.3 Các công nghệ ứng dụng trong thiết kế thời gian thực
IC thời gian thực, vi điều khiển, cách thức hiển thị thời gian thực
IC thời gian thực:
Hiện nay trên thị trường có 2 loại IC thời gian thực phồ biến là DS1307 và DS12887.Các IC này đều có chức năng chạy thời gian thực và lưu giờ khi mất điện, với DS1307cần có thêm nguồn nuôi là một pin cmos 3V, với DS12887 có sẵn pin tích hợp ở bêntrong Các IC này thực hiện giao tiếp với vi điều khiển để hiện thị thời gian và cài đặtgiờ…
Trên cơ sở đó thì chúng ta có thể sử dụng cả 2 loại IC này, đề tài của nhóm em đượcgiao là dùng DS1307
Vi điều khiển:
Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch đồng hồ này như
vi điều khiển pic, avr, 8051… Các loại vi điều khiển pic hay avr có nhiều ưu điểm hơn sovới 8051 như hỗ trợ kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trình đơn giảnhơn Nhưng giá thành thì lại cao hơn nhiều so với 8051 mà trong mạch này chúng em sửdụng AT89C51
Hiển thị:
Chúng ta có 2 cách hiển thị đó là: sử dụng LED 7 đoạn và sử dụng LCD
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
LCD 16x2:
Trang 9- Ưu điểm: hiển thị dễ dàng, có thể linh động hơn trong việc hiển thị thời gian, kếtnối đơn giản mạch điện không phức tạp…
- Nhược điểm: không thu hút được sự chú ý bằng LED 7 đoạn, giá thành cao…
Hệ thống lưu được thời gian khi mất nguồn cấp (có nguồn dự trữ)
Nguồn nuôi (pin CMOS) cho IC thời gian thực đảm bảo
Làm việc trong điều kiện môi trường bình thường
Trang 10Sơ đồ tổng quát các khối của mạch:
Hình 2.1 Sơ đồ khối hệ thống
Khối Nguồn: cung cấp nguồn cho hệ thống
Khối Thời gian thực: lưu trữ thời gian thực, thời gian cài đặt
Khối Xử lý: Dùng vi điều khiển AT89C51 để lấy dữ liệu từ khối thời gian thực, lưutrữ và đưa ra khối hiển thị và nhận tín hiệu từ khối giao tiếp
Khối Hiển thị: lấy tín hiệu ra từ vi điều khiển, thực hiện giao tiếp với vi điều khiển
để hiển thị giờ và ngày
Khối giao tiếp: là khối bàn phím, thực hiện cài đặt giờ để vi điều khiển lưu dữ liệuvào trong khối thời gian thực
Trang 11Chương trình điều khiển chính
2.2 Sơ đồ Call graph
Hình 2.2 Sơ đồ Call graph của mạch
2.3 Sơ đồ đặc tả
Hình 2.3 Sơ đồ đặc tả của mạch
Trang 12Có ngắt ngoài 0 S
Cài đặt + hiển thị thời gian cài đặt trên LCD
2.4 Sơ đồ thuật toán
Hình 2.4 Sơ đồ thuật toán khối điều khiển
Trang 14S Đ
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
giây-1
S Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại
vị trí ngày menu =0
tăng =0
giảm =0 ngày+1
ngày-1
S Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
tháng-1
S Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại
vị trí năm menu =0
tăng =0
giảm =0 năm+1
năm-1
S Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
(2)
Đ Đ
Đ
Trang 152.5 Các module trong hệ thống
2.5.1 Khối nguồn
Đây là module dùng để tạo ra nguồn điện áp chuẩn +5V Sử dụng IC7805
Đầu vào là điện áp xoay chiều sau khi được biến đổi qua máy biến áp, đưa vào bộDiode cầu để cho ra dòng điện một chiều (lúc này điện áp nằm trong khoảng từ 7->10V).Sau khi đi qua IC ổn áp 7805 sẽ tạo ra nguồn điện áp chuẩn +5V cung cấp cho mạch
Hình 2.6 Sơ đồ khối nguồn
2.5.2 Khối điều khiển trung tâm
Khối điều khiển trung tâm sử dụng vi điều khiển AT89C51, qua chương trình đã lậptrình được nạp cho chip, vi điều khiển sẽ điều khiển việc đọc, ghi thời gian thực, hiển thịthời gian lên khối hiển thị là LCD
Hình 2.7 Khối điều khiển trung tâm
Trang 16Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạtđộng Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK
Bộ RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu Khi nút Reset được
ấn điện áp +5V từ nguồn được nối vào chân Reset của vi điều khiển được chạy thẳngxuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biếtđược sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống
2.5.3 Khối tạo thời gian thực
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 đườngbus 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ốithá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
Để không phải điều chình lại thời gian vào những lúc bị mất nguồn, có thể nối thêm1pin 3V vào chân số 3 của IC DS1307 (sao cho chân (+) của pin nối vào IC và chân (–)của pin nối xuống đất) Hai chân 1 và 2 của DS1307 được nối vào bộ dao động thạch anh
có tần số 32, 768KHz để tạo dao động cho IC hoạt động
Hình 2.8 Khối tạo thời gian thực.
2.5.4 Khối hiển thị
Sử dụng LCD 16x2, hiển thị thời gian linh hoạt, hiển thị được nhiều ký tự, giúp choviệc quan sát thời gian khi đồng hồ chạy bình thường cũng như lúc cài đặt trực quan vàlinh hoạt hơn
Trang 17Hình 2.9 Khối hiển thị
2.5.5 Khối giao tiếp phím bấm
Gồm 3 nút ấn, hoạt động tương tự nút Reset Khi ấn nút thì các chân vi điều khiểnđược nối với phím bấm đưa điện áp xuống đất lúc này điện áp tại các chân vi điều khiểnbằng 0 làm cho vi điều khiển nhận biết được sự thay đổi này và thực hiện lệnh cần điềukhiển Nút thứ ba có tác dụng thiết đặt chế độ cho vi điều khiển làm việc
Hình 2.10 Các nút điều khiển mạch.
2.6 Giới thiệu một số linh kiện
2.6.1 Vi điều khiển AT89C51
Đặ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 IC AT89C51 là một họ IC vi điều khiển do hãng Intel của Mỹ sảnxuất Chúng có các đặc điểm chung như sau:
Trang 18- 4KBytes Flash rom
- 128 Bytes Ram
- 4 port 8 bit
- 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ơimật độ cao của hãng Atmel, và tương thích với họ MCS-51TM về chân ra và tập lệnh AT89C51 có các đặc trưng cơ bản như sau: 4 Kbytes Flash, 128 byte RAM, 32 đườngxuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúc ngắt hai mức ưu tiên và 5 nguyên
nhân ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock trên chip
AT89C51 được thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống 0 và 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 2.11 Hình ảnh AT89C51
Trang 19Hình 2.12 Sơ đồ khối của AT89C51 2.6.1.1 Mô tả các chân
AT89C51 có tất cả 40 chân với các chức năng như sau:
- Vcc (40): Chân cung cấp điện (5V)
- GND (20): Chân nối đất (0V)
- Port 0 (32-39):
Port 0 là port xuất nhập 8-bit hai chiều Nó còn được cấu hình làm bus địa chỉ (bytethấ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ươngtrình ngoài Nó cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã
Trang 20trong 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 khikiểm tra chương trình)
Hình 2.13 Sơ đồ các chân AT89C51
- 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 bit đị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:
Trang 213 0 RxD Ngõ vào Port nối tiếp
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
Trang 22cho Flash Khi hoạt động bình thường, xung ngõ ra ALE luôn có tần số không đổi là 1/6tầ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 (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) EA = 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
Trang 23Hình 2.15 Mạch tạo 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 ápcực tiểu và cực đại cần phải được xem xét
2.6.1.2 Các chế độ đặc biệt
Chế độ nghỉ
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ế độ 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
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
Ở 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
Trang 24 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à đạt trạng thái ổn định
Trạng thái của các chân trong thời gian tồn tại chế độ nghỉ va chế độ nguồn giảmđược cho trong bảng sau:
Chế
độ
Bộ nhớ chương trình
1
PORT 2
PORT 3
2.6.1.3 Các bit khoá bộ nhớ chương trình
Trên chip có ba bit khoá, các bit 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 bitkhoá 1 LB1 được lập trình, mức logic ở chân EA được lấy mẫu và được chốt trongkhi 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
Trang 25reset Đ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
2 P U U Các lệnh MOVC được thực thi từ bộ nhớ
chương trình ngoài không được phép tìm nạplệ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
Giới thiệu chung về DS1307:
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: 56 bytes
Địa chỉ và dữ liệu được truyền nối tiếp qua 2 đường bus 2 chiều DS1307 có mộtmạ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 pincung cấp 3V:
Trang 26DS1307 có 7 bytes dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điểu khiển, và 56bytes 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 được dữ liệu từ địa chỉ 0x04 (tương ứng với Day- ngày trong tháng) và tại 0x05(tháng) là 0x15, 0x11
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 bit củathanh 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ệctruy 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 địachỉ 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
Hình 2.16 IC thời gian thực DS1307
Cơ chế hoạt động và chức năng của DS1307:
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 đườngbus 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ốithá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ắtvới nguồn pin cung cấp
Trang 27Hình 2.17 Khối mạch thời gian thực
Vcc: nối với nguồn
GND: đất X1, X2: nối với thạch anh 32, 768 kHz
VBAT: đầu vào pin 3V
SDA: chuỗi data, SCL: dãy xung clock
SQW/OUT: xung vuông/đầu ra driver
DS 1307 hoạt động với vai trò slave trên đường bus nối tiếp Việc truy cập được thihà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 thanhghi Tiếp theo đó các thanh ghi sẽ được truy cập liên tục đến khi chỉ thị STOP được thựcthi
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)
- Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V Điện áp pin phải được giữ trongkhoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết bị
Trang 28- 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 SDAthiế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 đượcthiế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 độngngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF
- Cũng có DS1307 với bộ tạo dao động trong tần số 32, 768kHz, với cấu hình nàythì chân X1 sẽ được nối vào tín hiệu dao động trong còn chân X2 thì để hở
Sơ đồ khối của DS1307:
Hình 2.18 Sơ đồ khối DS1307