Tải bản đầy đủ (.doc) (51 trang)

Mô hình thiết kế đồng hồ thời gian thực

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.6 MB, 51 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
KHOA ĐIỆN TỬ
BỘ MÔN: KỸ THUẬT MÁY TÍNH
ĐỒ ÁN MÔN HỌC
MÔN HỌC
HỆ THỐNG NHÚNG
Nhó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
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
Thái Nguyên – 2011
Nhậ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)


Đồ án Hệ Thống Nhúng Trang 2
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
MỤC LỤC
MỤC LỤC.........................................................................................................3
LỜI NÓI ĐẦU..................................................................................................5
CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN..........................................................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ệ chip ứng dụng trong thiết kế thời gian thực có mặt trên thị trường.........8
1.2. Lựa chọn giải pháp...........................................................................9
1.2.1.Giải pháp công nghệ..........................................................................................................9
1.2.2 .Giải pháp thiết kế.............................................................................................................9
1.2.3.Các yêu cầu........................................................................................................................9
1.2.4.Giới hạn 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.4. Sơ đồ thuật toán.............................................................................12
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ị....................................................................................................................16
2.5.5.Khối giao tiếp phím bấm.................................................................................................16
2.6.Lựa chọn linh kiện...........................................................................16
2.6.1.Vi điều khiển AT89C51.....................................................................................................16
2.6.2.IC thời gian thực DS1307.................................................................................................23
2.6.3. LCD 16x2.........................................................................................................................31

2.6.4.IC ổn áp 7805...................................................................................................................34
2.6.5. Tụ điện ...........................................................................................................................35
Đồ án Hệ Thống Nhúng Trang 3
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
2.6.6.Điện trở...........................................................................................................................35
2.6.7.Nút bấm button...............................................................................................................36
2.6.8.Biến trở............................................................................................................................36
2.6.9.Thạch anh........................................................................................................................36
2.6.10.Pin CMOS 3V..................................................................................................................37
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG........................................................38
3.1.Thiết kế phần cứng..........................................................................38
3.2.Thiết kế phần mềm...........................................................................40
3.3.Kết quả mô phỏng...........................................................................50
3.4.Mạch thi công thực tế......................................................................50
KẾT LUẬN............................................................................................51
Danh mục tài liệu tham khảo.................................................................51
Đồ án Hệ Thống Nhúng Trang 4
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
Lờ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
Đồ án Hệ Thống Nhúng Trang 5
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
CHƯƠ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ấ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.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ờ (đố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, ố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) 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").
Đồ án Hệ Thống Nhúng Trang 6
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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 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
Đồ án Hệ Thống Nhúng Trang 7
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
1.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ông
thườ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á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 DS1307 cầ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ên trong.
 Thực hiện giao tiếp với vi điều khiển để hiện thị thời gian và cài đặt
giờ…
 Trên cơ sở đó thì chúng ta có thể sử dụng cả 2 loại IC này, nhưng với
nhóm em thì việc lựa chọn sẽ là DS1307 vì nó cũng thực hiện được

yêu cầu mà giá thành thì rẻ hơn.
• 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 so vớ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ản hơ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. Việc sử dụng quá tốn
kém cho 1 mạch là không cần thiết trong khi đó một chip cũng có thể
làm được điều này mà giá thành rẻ hơn thì đó là lựa chọn tối ưu hơn.
• Hiển thị:
Chúng ta có 2 cách hiển thị đó là : sử dụng led 7 thanh và sử dụng lcd.
 Led 7 thanh :
• Ư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:
• Ư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ết nố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 thanh,giá
thành cao…
 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ột
LCD 16x2. Thêm nữa khi sử dụng LCD chúng ta sẽ không phải mắc
Đồ án Hệ Thống Nhúng Trang 8
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
phứ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 gian
liê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ặc
lớn hơn sẽ lưu giờ cho DS1307 khoảng hơn 10 năm khi không có nguồn điện
cung 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ện
như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 linh
kiệ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ện
trê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…
1.2.4.Giới hạn cho hệ thống
• Sử dụng nguồn điện 5V.
• Làm việc liên tục.
Đồ án Hệ Thống Nhúng Trang 9
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
• Kích thước phù hợp với người sử dụng.
• 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ời
gian thực, lưu trữ 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ệu vào trong khối thời gian thực.
Đồ án Hệ Thống Nhúng Trang 10
Khối Xử

Khối giao tiếp
phím bấm
Khối hiển
thị
Khối

thời
gian
thực
Khối nguồn
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
2.2. Sơ đồ Call graph
2.3. Sơ đồ đặc tả
Đồ án Hệ Thống Nhúng Trang 11
Chương
trình điều
khiển
chính
Module xử
lý thời gian
thực
Module xử
lý chương
trình
IC thời gian
thực
Bàn phím Hiển thị
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ị
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
2.4. Sơ đồ thuật toán
Đồ án Hệ Thống Nhúng Trang 12
Bắt
đầu
Kiểm tra dữ liệu thời
gian trong rtc

Xử lý dữ liệu từ rtc
Đặt thời gian
mặc định
S
Đ
Có ngắt ngoài
0
S
Cài đặt + hiển thị thời
gian cài đặt trên LCD
Đ
Cập nhật thời gian
vào RTC
Khởi tạo LCD
(1)
(2)

Hiển thị giờ bình
thường LCD
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
Đồ án Hệ Thống Nhúng Trang 13
con trỏ LCD tại
vị trí giờ
menu
=0
tăng =0
giảm =0
giờ+1
giờ-1
S
Đ
Đ
S
Khối cài đặt +hiển thị thời gian cài đặt trên LCD:
:
Đ
(1)
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại
vị trí phút
menu
=0
tăng =0
giảm =0
phút+1
phút-1

S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại
vị trí giấy
menu
=0
tăng =0
giảm =0
giây+1
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
con trỏ LCD tại
vị trí tháng
menu
=0
tăng =0
giảm =0
tháng+1
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
con trỏ LCD tại
vị trí thứ
menu
=0
tăng =0
giảm =0
thứ+1
thứ-1
S
Đ
Đ
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
Thay đổi thứ
S
S

S
S
S
S
S
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
2.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.
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ậ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 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ẳng xuố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.

Đồ án Hệ Thống Nhúng Trang 14
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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 đườ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.
 Để 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 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.
Đồ án Hệ Thống Nhúng Trang 15
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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 cho việ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.
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à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ản xuất. Chúng có các đặc điểm chung
như sau:
+ 4K Bytes Flash rom.

+ 128 Bytes Ram.
+ 4 port 8 bit.
Đồ án Hệ Thống Nhúng Trang 16
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
+ 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-51
TM
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 byte
RAM, 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ả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 ảnh AT89C51
Đồ án Hệ Thống Nhúng Trang 17
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
Sơ đồ khối của AT89C51
2.6.1.1. Mô tả các chân

Đồ án Hệ Thống Nhúng Trang 18
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
Sơ đồ 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ì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
Đồ án Hệ Thống Nhúng Trang 19
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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:
Chân Tên Chức năng
3.0 RxD Ngõ vào Port nối tiếp
3.1 TxD Ngõ ra Port nối tiếp
3.2
INT0
Ngõ vào ngắt ngoài 0
3.3
INT1
Ngõ vào ngắt ngoài 1
3.4 T0 Ngõ vào bên ngoài của bộ định thời 1
3.5 T1 Ngõ vào bên ngoài của bộ định thời 0
3.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 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
Đồ án Hệ Thống Nhúng Trang 20
ST
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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).

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.


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.
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 Hệ Thống Nhúng Trang 21
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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.
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 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
ALE PSEN PORT 0
PORT
1
PORT
2
PORT 3
Nghỉ Bên trong 1 1 Dữ liệu Dữ liệu Dữ
liệu
Dữ liệu
Nghỉ Bên ngoài 1 1 Thả nổi Dữ liệu Dữ
liệu
Dữ liệu
Nguồn
giảm
Bên trong 0 0 Dữ liệu Dữ liệu Dữ
liệu
Dữ liệu
Bên ngoài 0 0 Thả nổi Dữ liệu Dữ
liệu
Dữ liệu
2.6.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
Đồ án Hệ Thống Nhúng Trang 22
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp

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.
Các bit khóa chương trình Loại bảo vệ
Chế
độ
LB1 LB2 LB3
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ì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
3 P P U Như chế độ 2, cấm thêm việc kiểm tra
chương trình
4 P P P Như chế độ 3, cấm thêm việc thực thi
chương trình ngoài
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 Hệ Thống Nhúng Trang 23
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
độ 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.
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ậ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
Đồ án Hệ Thống Nhúng Trang 24
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công Nghiệp
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 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à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ữ trong khoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết
bị.
Đồ án Hệ Thống Nhúng Trang 25

×