Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai trò quan trọng trong đời sống con người
Trang 1Nhóm sinh viên : Trần Quang Hợp
Nguyễn Viết Hiền
Nguyễn Văn Hồng
Lớp : K43ĐĐK
Giáo viên hướng dẫn : Ths.Nguyễn Văn Huy
Thái Nguyên – 2011
Trang 2Nhận xét của giáo hướng dẫn
………
………
………
………
………
Thái Nguyên, Ngày Tháng Năm 2011 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 2011
Giáo Viên chấm
(Ký ghi rõ họ tên)
Trang 3MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦ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 chọn linh kiện 14
CHƯƠNG 3 XÂY DỰNG HỆ THỐ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 LUẬN 48
Danh mục tài liệu tham khảo 48
Trang 4Lời nói đầu
Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai trò quan trọng trong đời sống con người Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm điện, điều hòa, điện thoại di động, ô
tô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành thông minh, robot v.v ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong cuộc sống của chúng ta.
Qua môn học hệ thống nhúng, chúng em đã hiểu thêm về các hệ thống nhúng trong thực tế, về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người Với mong muốn làm rõ các kiến thức
đã học và giới thiệu các ứng dụng cơ bản của hệ thống nhúng, nhóm chúng em đưa ra mô hình thiết kế đồng hồ thời gian thực – một sản phẩm rất quen thuộc và cần thiết trong đời sống.
Do thời gian thực hiện và kiến thức còn hạn chế nên còn nhiều sai sót trong quá trình thực hiện đề tài, rất mong được sự bổ sung đóng góp của các thầy cô và các bạn.
Chúng em xin chân thành cảm ơn các thầy cô trong khoa điện tử
-bộ môn kỹ thuật máy tính, cảm ơn thầy Ths Nguyễn Văn Huy đã tận tình hướng dẫn và giúp đỡ chúng em thực hoàn thành đề tài này.
Trân trọng và chân thành cám ơn!
Nhóm thực hiện đề tài:
Trần Quang Hợp Nguyễn Viết Hiền Nguyễn Văn Hồng
Trang 5CHƯƠNG 1 PHÂN TÍCH BÀI TOÁN 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ậ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ấutạ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.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 (đối với kim phút), 1 giờ (đốivớ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 theodõ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ôngthườ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, ống catode
để thể hiện hình ảnh những con số Khi những đồng hồ điện tử thaypin, 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) hay một mã (số tiếng chuông báo hiệu sốgiờ)
Đồ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ờ ba mươ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ụng cảm thấy dễchịu hơn khi sử dụng đồng hồ (ví dụ "Khoảng mười hai giờ rưỡi")
Trang 61.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 mang trê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ến xe) 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ính vẫn có thể hoạt động ngay cả khi đồng hồ trong máy bị chết nhưng khi khởi động máy lạ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ời gian chính xác có ý nghĩa quan trọng trong các thí nghiệm
Đồng hồ điện tử
Đồng hồ điện tử trên một lò vi sóng
Trang 71.1.3.Các công nghệ chip ứng dụng trong thiết kế thời gian thực có mặt trên thị trường
Do yêu cầu về thời gian thực nên chúng ta sẽ không xét tới các mạchđiện thiết kế đồng hồ sử dụng các mạch điện tương tự và các IC số thôngthường, chúng ta sẽ xét tới việc sử dụng IC thời gian thực, vi điều khiển, cáchthức hiển thị thời gian thực
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, nhưng vớinhóm em thì việc lựa chọn sẽ là DS1307 vì nó cũng thực hiện đượcyêu cầu mà giá thành thì rẻ hơn
Xét trên điều kiện để làm mạch này thì số led 7 thanh tương đối nhiều
và cần thêm các IC chốt do đó về giá cả thì sẽ tương đương với mộtLCD 16x2 Thêm nữa khi sử dụng LCD chúng ta sẽ không phải mắc
Trang 8phức tạp Với đồng hồ để sử dụng cho cá nhân này thì chúng ta có thểcần dùng LCD là đủ.
1.2 Lựa chọn giải pháp
1.2.1.Giải pháp công nghệ
Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng đồng
hồ dựa trên IC thời gian thực Đọc giờ từ IC thời gian thực, hiển thị thời gianliên tục và có thể cài đặt được giờ, lưu giờ khi mất điện và sai lệch thời gian
là ít nhất (theo quảng cáo của nhà sản xuất : với một pin lithium 48mAh hoặclớn hơn sẽ lưu giờ cho DS1307 khoảng hơn 10 năm khi không có nguồn điệncung cấp cho mạch ở điều kiện +25°C )
1.2.2 Giải pháp thiết kế
Việc lựa chọn giải pháp thường được xem xét trên nhiều phương diệnnhưng quan trọng là giải pháp có khả thi không? Có phù hợp với với thực tế
và thỏa mãn yêu cầu về kinh tế?
Đồng hồ thời gian thực với bộ não điều khiển là AT89C51 và các linhkiện khác: LCD hiển thị, IC ổn áp7805, IC thời gian thực DS1307
AT89C51 có các ưu điểm: tính năng và tốc độ đáp ứng được yêu cầu
kĩ thuật trong ứng dụng không đòi hỏi cao;giá thành thấp hơn họ viđiều khiển khác; có hỗ trợ lập trình điều khiển bằng cả hợp ngữ và C
IC DS1307 là IC chuyên dụng, cho khả năng chính xác về thời gian
LCD hiển thị một cách rõ ràng, linh động
IC ổn áp 7805 được sử dụng rộng rãi trong các bộ nguồn
Vì vậy giải pháp thiết kế đồng hồ thời gian thực dùng các linh kiệntrên có nhiều ưu thế hơn so với những giải pháp khác Đồng thời đảm bảođược yêu cầu về kinh tế
Trong thực tế hiện nay lịch vạn niên là một sản phẩm tương tự đồng
hồ thời gian thực và rất gần gũi với mọi người
1.2.3.Các yêu cầu
Với sản phẩm đồng hồ thời gian thực đòi hỏi các yêu cầu:
Hiển thị đúng thời gian:ngày, tháng, năm, giờ, phút, giây
Điều chỉnh và thay đổi được thời gian
Đảm bảo đúng về thời gian sau khi mất điện
Khả năng thực thi:Thời gian đáp ứng, độ chính xác…
Đảm bảo về kích thước và trọng lượng cho phép
Độ an toàn, khả năng chống lại sự phá hoại hay xâm nhập…
Trang 9 Hệ thống nhỏ gọn.
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
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Sơ đồ tổng quát
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ờigian thực, lưu trữ và đưa ra khối hiển thị và nhận tín hiệu từ khối giaotiế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ểnlưu dữ liệu vào trong khối thời gian thực
Khối Xử lý
Khối giao tiếp phím bấm
Khối hiển thị
Trang 102.2 Sơ đồ Call graph
2.3 Sơ đồ đặc tả
Chương trình điều khiển chínhModule xử
lý thời gian thực
Module xử
lý chương trình
IC thời gian
Cài đặt
Xử lý
Thời gian trong RTC
Có ngắt &
ấn phím
Kiểm tra ngắt ngoài 0
Đọc
Ghi
Hiể
n thị
Trang 112.4 Sơ đồ thuật toán
Bắt đầu
Kiểm tra dữ liệu thời gian trong rtc
Có
Xử lý dữ liệu từ rtc
Đặt thời gian mặc địnhS
Đ
Có ngắt ngoài 0
Khởi tạo LCD
(1)
(2)
Hiển thị giờ bình thường LCD
Trang 12Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
Đ
S
Kiểm tra tăng
Kiểm tra giảm
(2)
Đ Đ
Đ
Đ
Thay đổi giờ Thay đổi phút
Thay đổi giây Thay đổi ngày
Thay đổi tháng Thay đổi năm
Trang 132.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ươngtrình đã lập trì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
Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz choVĐK hoạt động Hai đầu này được nối vào 2chân XTAL1 và XTAL2củ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útReset đượ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ẳng xuống đất lúc này điện áp tại chân vi điềukhiể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
Trang 14
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ậpnhật thời gian và ngày tháng với 56 bytes SRAM Địa chỉ và dữ liệu đượctruyề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ềuchỉ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êm 1pin 3V vào chân số 3 của IC DS1307 (sao cho chân(+) của pinnối vào IC và chân (–) của pin nối xuống đất) Hai chân 1 và 2 củaDS1307 được nối vào bộ dao động thạch anh có tần số 32,768KHz để tạodao động cho IC hoạt động
Trang 152.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 cho việc quan sát thời gian khi đồng hồ chạy bình thường cũngnhư lúc cài đặt trực quan và linh hoạt hơn
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ển bằ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ều khiển Nút thứ ba có tác dụng thiết đặt chế độ cho vi điều khiển làm việc
2.6.Lựa chọn 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àntương tự như nhau Ở đây giới thiệu IC AT89C51 là một họ IC vi điềukhiển do hãng Intel của Mỹ sản xuất Chúng có các đặc điểm chungnhư sau:
+ 4K Bytes Flash rom
+ 128 Bytes Ram
+ 4 port 8 bit
Trang 16+ 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ôngsuất thấp với bộ nhớ Flash có thể lập trình được Nó được sản xuất vớicông nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, và tươngthí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 K byte Flash, 128 byteRAM, 32 đường xuấ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ảmxuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằngphầ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 ảnh AT89C51
Trang 17Sơ đồ khối của AT89C51
2.6.1.1 Mô tả các chân
Trang 18Sơ đồ 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
Port 0 còn được cấu hình làm bus địa chỉ (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ìnhngoà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ệungoà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
Trang 19chươ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:
3.4 T0 Ngõ vào bên ngoài của bộ định thời 13.5 T1 Ngõ vào bên ngoài của bộ định thời 03.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoài
3.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.
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 truyxuấ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
R ST
Trang 20động chốt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ vi điềukhiể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)
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ìnhFlash (khi đó điện áp lập trình 12V được chọn)
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 đượcxem xét
2.6.1.2 Các chế độ đặc biệt
2.6.1.2.1.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ế
Trang 21độ 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ơichươ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.
2.6.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 khichế độ 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ươngtrình
ALE PSEN PORT 0 PORT1 PORT2 PORT 3
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ủaAT89C51 như sau.Khi bit khoá 1 LB1 được lập trình, mức logic ở chân
Trang 22EA đượ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 logichiện hành ở chân này
Các bit khóa chương trình Loại bảo vệ
Chế
độ
1 U U U Không có đặc trưng khóa chương trì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ìmnạ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
2.6.2.IC thời gian thực DS1307
2.6.2.1.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ộ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 bytes dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điểu khiển, và 56 bytes 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 bít của thanh ghi Control Register (địa chỉ
Trang 230x07 ).
+ Đị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
IC thời gian thực DS1307
2.6.2.2.Cơ chế hoạt động và chức năng của DS1307:
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
DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cậpnhậ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
Trang 24đượ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 cung 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:
*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ànchỉ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àothấp Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ được ngắt tớinguồ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 đượcgiữ trong khoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết
bị