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)
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
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
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ệ
• Độ 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ử
lý
Khối giao tiếp
phím bấm
Khối hiển
thị
Khối
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
Có
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)
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
Đ
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
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.
Đồ á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
)
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.
•
• 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:
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
đượ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