ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
TR NG Đ I H C K THU T CÔNG NGHI P ƯỜ Ạ Ọ Ậ Ệ Ỹ
B môn:
KHOA ĐI N TỆ Ử 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 : Chu Anh Nguy nễ
Tr n Đ c Hoàng
ứ
ầ
Nguy n Th Nhung
ễ
ị
L p : K43ĐĐK
ớ
Giáo viên h
ng d n
ướ
ẫ : Nguy n Văn Huy ễ
Thái Nguyên – 2011
B môn K thu t máy tính 1 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
Nh n xét c a giáo viên h ủ
ậ
ướ
ng d n ẫ
........................................................................................................................................................................................................................................... ........................................................................................................................................................................................................................................... ........................................................................................................................................................................................................................................... ...........................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................
Thái Nguyên, Ngày Tháng Năm 20...
Giáo Viên h ng d n ẫ ướ (Ký ghi rõ h tên) ọ
Nh n xét c a giáo viên ch m
ủ
ậ
ấ
........................................................................................................................................................................................................................................... ........................................................................................................................................................................................................................................... ........................................................................................................................................................................................................................................... ...........................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................
Thái Nguyên, Ngày Tháng Năm 20...
Giáo Viên h ng d n ẫ ướ (Ký ghi rõ h tên) ọ
L I M Đ U Ờ Ở Ầ
- Ngành đi n t
ngày càng phát tri n,đã d n thay th các thi t b thô ệ ử ể ế ầ ế ị
có đ t t ki m công s c cho con s ,b ng các thi ơ ằ t b đi n t ế ị ệ ử ộ ự ộ đ ng r t cao,ti ấ ế ứ ệ
B môn K thu t máy tính 2 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
ng i. Hi n nay v i s phát tri n c a vi đi u khi n thì ch c n đ ng tác nh ườ ớ ự ỉ ầ ủ ể ề ể ệ ộ ẹ
nhàng các thi t b đã đ c đi u khi n m t cách nhanh ch ng ế ị ượ ề ể ộ ố
- Ng i ta th ng nói : “H c đi đôi v i hành” , vì th đ t o n n t ng , ườ ườ ế ể ạ ề ả ọ ớ
tăng thêm hi u bi t cũng nh đi vào th c t ể ế ự ế ư em đã l a ch n đ tài “Chuông Báo ề ự ọ
Ti ế t H c”. ọ
- Trong quá trình th c hi n đ tài này , Chúng em đã r t c g ng , ấ ố ắ ự ệ ề
nh ng có l do v n ki n th c cũng nh nh ng nguyên nhân ch quan khác mà ư ẽ ư ữ ủ ứ ế ố
đ tài ch c ch n s không tránh kh i thi u sót . Chúng em r t mong s đóng ề ự ẽ ế ắ ắ ấ ỏ
góp ý ki n, phê bình và h ế ướ ng d n thêm c a th y cô và các b n đ c. ầ ủ ẫ ạ ọ
Sinh viên th c hi n ự ệ
Chu Anh Nguy nễ
Tr n Đ c Hoàng ứ ầ
Nguy n Th Nhung ễ ị
B môn K thu t máy tính 3 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
M C L C Ụ Ụ
ủ ứ ể ệ ầ
i s d ng , cài đ t time ban đ u cho đ ng h ố ủ ồ ầ ồ
ỉ ờ ắ ủ ặ ấ ở
ể ể ự ấ ố ị
ể
-Ch c năng c a kh i này là s d ng ng t c a 89c51 đ yêu c u vi c đi u ề ử ụ ch nh time theo ý c a ng ườ ử ụ 7 ....................... th i gian th c RTC.Tác đ ng b i các phím b m (BUTTON). ộ ự - Kh i này th c ch t là LCD 16x2 đ hi n th time và các thông tin mà l p ậ trình viên c n hi n th . 7 .................................................................................... ị ầ 41 ................................................................................... Trang web tham kh o :ả
A. PH N M Đ U Ở Ầ Ầ
1. Đ t v n đ ặ ấ ề
- Hi n nay v i s phát tri n c a vi đi u khi n.Các h th ng c n thi ể ủ ệ ố ớ ự ệ ề ể ầ ế t
c ho t đ ng m t cách t đ u đ ề ượ ạ ộ ộ ự ộ ẹ đ ng. Đ n gi n nh h th ng chuông h n ư ệ ố ả ơ
gi ,h th ng báo đ ng,báo gi ng h c,báo gi công s . . . ờ ệ ố ộ tr ờ ườ ọ ờ ở
t h c là v n đ c n thi t ng h c nào,giúp th y cô V n đ báo ti ề ấ ế ọ ề ầ ấ b t c tr ế ở ấ ứ ườ ầ ọ
đi u ch nh đ c th i gian d y h c c a mình.S m t th i gian khi ta ph i canh ề ỉ ượ ọ ủ ẽ ấ ạ ả ờ ờ
th i gian cho ti t h c.Chính vì th chúng em thi t k m ch chuông báo ti t hoc ờ ế ọ ế ế ế ạ ế
t đ ng cho các tr ự ộ ườ ng h c ọ
2. lý do ch n đ tài ọ ề
,đ ng h c. - Đây là v n đ th c t ấ ề ự ế ượ ứ c ng d ng nhi u trong các tr ề ụ ườ ọ
ệ Nh m đ c ng c ki n t c l p trình vi x lý v a m i h c và rèn luy n ố ế ứ ậ ớ ọ ể ủ ử ừ ằ
kh h c h i nên em đã ch n đ tài này ả ọ ỏ ề ọ
3. gi i h n c a đ tài ớ ạ ủ ề
3.1. Phân tích
- Tr c tiên chúng ta ph i xác đ nh rõ m c đích và yêu c u c a bài toán ướ ầ ủ ụ ả ị
M c đích: ụ
- H th ng báo chuông t i các th i đi m vào, ra c a ti t h c c a tr ng. ệ ố ạ ủ ế ọ ủ ể ờ ườ
+ H th ng có kh năng ch nh l i gi . ệ ố ả ỉ ạ ờ
B môn K thu t máy tính 4 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
+ Th i gian kéo dài chuông vào ti t và ngh gi i lao là khác nhau. ờ ế ỉ ả
+ H th ng chuông đ ệ ố ượ c dùng đi dây đi n đ ng b 220V ệ ồ ộ
Yêu c u:ầ
-H th ng làm vi c n đ nh. ệ ố ệ ổ ị
-Có kh năng đ a vào ng d ng trong th c t ứ . ự ế ụ ư ả
V i th c t bài toán này chúng ta ph i thi t k 2 thành ph n c b n: ự ế ớ ả ế ế ầ ơ ả
-H th ng đi u khi n và đ ng h s ệ ố ồ ố ề ể ồ
-M ch đi dây và chuông báo ạ
3.2. Xây d ng ph ng án ự ươ
- Sau khi nghiên c u th c t các th i đi m vào ra c a các ti t h c tr ự ế ứ ủ ể ờ ế ọ ườ ng
h c, chúng ta có nh ng nh n xét sau. ữ ậ ọ
- M i ngày có 2 bu i h c m i bu i kéo dài 6 ti t. Th i gian c a m i ti ổ ọ ỗ ỗ ổ ế ỗ ế t ủ ờ
i lao là 5 phút.Sau ti là 45 phút.Th i gian ngh gi ờ ỉ ả ế t th 3 c a m i bu i ngh gi ỗ ỉ ả i ứ ủ ổ
lao 10 phút t đó ta xây d ng đ ừ ự ượ c th i khóa bi u nh sau: ể ư ờ
Ti Vào Ra Ti Vào Ra tế tế
1 6h45 7h30 7 12h30 13h15
2 7h35 8h20 8 13h20 14h05
3 8h25 9h10 9 14h10 14h55
4 9h20 10h05 10 15h05 15h50
5 10h10 10h55 11 15h55 16h40
6 11h00 11h45 12 16h45 17h30
- Th i gian báo: ờ
+, th i gian báo là 10 giây đ i v i nh ng ti t b t đ u ,ra ti t th 3 vào ti ố ớ ữ ờ ế ắ ầ ế ứ ế t
th t ứ ư ủ c a m i bu i,k t thúc c a m i bu i ổ ổ ế ủ ỗ ỗ
+,còn l i th i gian báo cho các th i đi m khác là 5 giây ạ ể ờ ờ
- Cách báo : s d ng chuông đi n 220V ử ụ ệ
B môn K thu t máy tính 5 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
- Ph m vi báo: T t c khu v c trong tr ấ ả ự ạ ườ ệ ố ng. b ng cách xây d ng h th ng ự ằ
chuông đ n t ng khu nhà,t ng gi ng đ ng. ế ừ ừ ả ườ
3.3. Ph m vi c a đ án và ph ng h ng m r ng ủ ồ ạ ươ ướ ở ộ
- Vì đ án môn h c nên chúng em m i ch xây d ng mô ph ng và thi ự ọ ồ ỏ ớ ỉ ế ế t k
h th ng trong ph m vi h p.c đ nh m t th i khóa bi u ể ẹ ố ị ệ ố ạ ờ ộ
- Ph ng h ng m r ng đ án môn h c thành đ án t t nghi p: ươ ướ ở ộ ồ ồ ọ ố ệ
+, Thi t k h th ng chuông báo cho th i khóa bi u 2 mùa.mùa ế ế ệ ố ể ờ
đông và mùa hè. Trong đó gi ờ ổ mùa hè bu i sáng vào s m h n 15 phút ,bu i ổ ớ ơ
chi u vào mu n h n 30 phút so v i gi ơ ề ộ ớ ờ ổ mùa đông.và thêm th i kháo bi u bu i ể ờ
t i cho các tr ố ườ ng h c theo h th ng tín ch . ỉ ệ ố ọ
+, Thi t k Module đi u ch nh b ng quét phím ma tr n ho c giao ế ế ề ặ ằ ậ ỉ
ti p bàn phím máy tính có th l p trình th i khóa bi u theo ý mu n và gi ể ậ ể ế ờ ố ờ ấ gi c
c a t ng tr ủ ừ ườ ng cũng nh n i làm vi c ệ ư ơ
+. Xây d ng H th ng chuông báo không dây s d ng b thu phát ệ ố ử ụ ự ộ
sóng
B. PH N N I DUNG Ộ Ầ
CH ƯƠ NG I : S Đ KH I Ố Ơ Ồ
1. S đ t ng quát ơ ồ ổ
-S đ kh i t ng quát ố ổ ơ ồ
Kh i ngu n ồ ố
alam
Nút nh nấ Hi n Th ị ể LCD 16x2
Vi X LÝỬ AT89C51
ờ
Th i Gian Th c ự DS1307
Hình 1: S đ kh i t ng quát ơ ồ ố ổ
B môn K thu t máy tính 6 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
2. Ch c năng các kh i ố ứ
2.1 Kh i ngu n ố ồ
-Cung c p ngu n nuôi t t c linh ki n trong m ch ấ ồ ấ ả ệ ạ
2.2. Ch c năng c a kh i RTC ủ ứ ố
-Kh i này th c ch t là m t chíp th i gian th c(Real Time Clock), ự ự ấ ố ộ ờ
đ ượ ử ụ c s d ng v i ý nghĩa th i gian tuy t đ i mà con ng ờ ệ ố ớ ườ i đang s d ng.Nó có ử ụ
ạ ộ pin c p riêng , nh v y n u nh m t ngu n đi n thì RTC v n có th ho t đ ng ư ấ ư ậ ế ệ ể ấ ẫ ồ
bình th ng và chính xác theo th i gian đã đ c thi t l p ban đ u . Trong s đ ườ ờ ượ ế ậ ơ ồ ầ
này nó s đ m nhi m ch c năng c p time chính xác cho vi đi u khi n x lý các ẽ ả ử ứ ệ ề ể ấ
i s d ng yêu c u. công vi c mà ng ệ ườ ử ụ ầ
2.3. Ch c năng c a kh i đi u ch nh ủ ố ề ứ ỉ
ề -Ch c năng c a kh i này là s d ng ng t c a 89c51 đ yêu c u vi c đi u
ắ ủ
ử ụ
ủ
ứ
ố
ệ
ể
ầ
ch nh time theo ý c a ng
i s d ng , cài đ t time ban đ u cho đ ng h
ủ
ỉ
ườ ử ụ
ồ
ầ
ặ
ồ
th i gian th c RTC.Tác đ ng b i các phím b m (BUTTON).
ự
ờ
ộ
ở
ấ
2.4. Kh i âm thanh ố
ệ -Kh i này g m có transistor thông dòng cho loa kêu khi có m c đi n ứ ố ồ
áp thay đ i liên t c ổ ụ ở chân ra c a vi đi u khi n ể ủ ề
2.5. Kh i hi n th ố ể ị
Kh i này th c ch t là LCD 16x2 đ hi n th time và các thông tin
ể ể ự ố ấ ị
ể ầ ậ mà l p trình viên c n hi n th ị .
2.6. kh i x lý (vi đi u khi n 89c51) ố ử ề ể
-Vi đi u khi n 89C51 là trung tâm x lý các thông tin c a m ch. ử ủ ể ề ạ
C th là : ụ ể
• AT89C51 đ m nhi m vi c đ c th i gian t DS1307, ệ ệ ả ọ ờ ừ
chuy n đ i d li u qua l ổ ữ ệ ể ạ i gi a RTC v i LCD đ có th ớ ữ ể ể
hi n th lên LCD , đông th i c p nh t time t DS1307 ờ ậ ể ậ ị ừ
• Đi u khi n LCD ể ề
• Ki m tra phím b m ể ấ
B môn K thu t máy tính 7 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
• Đi u khi n loa ề ể
- Nói tóm l i là, VĐK làm nhi m v đ c time trên DS1307 sau đó nó ạ ụ ọ ệ
ki m tra xem ng t đ ắ ượ ể ể c tác đ ng hay không? n u có thì đi u ch nh time, hi n ế ề ộ ỉ
th time lên LCD , ki m tra xem gi báo chuông hay ể ị ờ hi n t ệ ạ i có b ng gi ằ ờ
không ? n u có thì g i ch ế ọ ươ ng trình đi u khi n chuông kêu ! ể ề
CH NG II: THI T K H TH NG ƯƠ Ế Ệ Ố Ế
1. S đ callgraph ơ ồ
Ch
ng
ươ Trình Đi u ề Khi nể
Module x lý ử ng trình ch
ươ
Module X ử Lý Đi u ề Ch nhỉ
Ch p Hành
Nút nẤ
ấ
Hi n Th ể
ị
B môn K thu t máy tính 8 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
Hình 2: S đ Callgraph ơ ồ
2. S đ đ c t ơ ồ ặ ả
ậ ắ B t/T t Chuông
Hi n Th ể
ị
G i thông tin G i thông tin ử ử
Tác đ ngộ
KI M TRA TH I GIAN
Ể Ờ
G i d li u ử ữ ệ
Đi u khi n ể ề
Đi u Ch nh
ề
ỉ
Ki m Tra ể th i gian ờ th cự
Hình 3: S đ Đ c t ơ ồ ặ ả
3. các linh ki n s d ng trong m ch ệ ử ụ ạ
i thi u c u trúc c a vi đi u khi n MCS-51 ớ ệ ấ ủ ề ể 3.1 gi
B môn K thu t máy tính 9 3/15/2013 ậ ộ ỹ
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
-Đ c đi m và ch c năng ho t đ ng c a các IC h MSC-51 hoàn toàn ạ ộ ủ ứ ể ặ ọ
t ng t nh nhau. đây gi i thi u IC8951 là m t h IC vi đi u khi n do hãng ươ ự ư Ở ớ ộ ọ ệ ề ể
Intel c a M s n xu t. Chúng có các đ c đi m chung nh sau: ỹ ả ư ủ ể ấ ặ
+ 4K Bytes Flash rom
+ 128 Bytes Ram
+ 4 port 8 bit
+ 2 b đ nh th i 16 bit ộ ị ờ
+ Có port n i ti p ố ế
ng trình ngoài 64 K Byte + Có th m r ng b nh ch ể ở ộ ớ ươ ộ
+ B x lý bit ộ ử
- AT89C51 là m t b vi x ộ ộ ử lý 8 bit, lo i CMOS, có t c đ cao và công ố ộ ạ
su t th p v i b nh Flash có th l p trình đ c. Nó đ ớ ộ ể ậ ấ ấ ớ ượ ượ ả c s n xu t v i công ấ ớ
ngh b nh không bay h i m t đ cao c a hãng Atmel, và t ng thích v i h ậ ộ ệ ộ ủ ơ ớ ươ ớ ọ
MCS-51TM 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 ế ắ ạ ố
clock trên chip. đ ng và t o xung ạ ộ
- AT89C51 đ c thi ượ ế ế ớ ố ả t k v i logic tĩnh cho ho t đ ng có t n s gi m ạ ộ ầ
t ki m năng l ng đ xu ng 0 va h tr hai ch đ ti ứ ỗ ợ ế ộ ế ố ệ ượ ượ ự ầ c l a ch n b ng ph n ằ ọ
U1
40
VCC
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. ắ ế ụ ạ ộ
39 38 37 36 35 34 33 32
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
21 22 23 24 25 26 27 28
- Ch đ ngu n gi m duy trì n i dung c a RAM ế ộ ủ ả ồ ộ
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
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 ệ ằ
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
10 11 12 13 14 15 16 17
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
19 18
reset c ng ti p theo. đ n khi có ế ứ ế
XTAL1 XTAL2
ALE/PROG
10 ộ ậ ỹ
31 9
30 29 20
EA/VPP RST
PSEN GND
AT89C51
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
Hình 4: Hình d ng IC AT89C51 ạ
11 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
Hình 5: S đ kh i c a AT89C51 ơ ồ ố ủ
12 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
3.1.1. Mô t các châ n ả
Hình 6: S đ ơ ồ các chân
Nh v y 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. c c u hình làm bus ề Port 0 còn đ ậ ấ ượ ấ
ớ ữ ệ đ 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). ượ ầ ể ế ươ
13 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
- Port 1(1-8) : Port 1 là port xu t nh p 8-bit hai chi u. ề Port 1 cũng nh nậ ậ ấ
byte đ a ch th p trong th i gian l p trình cho Flash. ờ ỉ ấ ậ ị
- Port 2 (21-28): Port 2 là port xu t nh p 8-bit hai chi u. ề Port 2 t o ra các ậ ạ ấ
byte cao c a bus đ a ch trong th i gian tìm n p l nh t b nh ch ng trình ạ ệ ủ ờ ị ỉ ừ ộ ớ ươ
ngoài và trong th i gian truy xu t b nh d li u ngoài s d ng các đ a ch 16- ớ ữ ệ ấ ộ ử ụ ờ ỉ ị
bit. Trong th i gian truy xu t b nh d li u ngoài s d ng các đ a ch 8-bit, ớ ữ ệ ấ ộ ử ụ ờ ị ỉ
Port 2 phát các n i dung c a thanh ghi ch c năng đ c bi t P2. ứ ủ ặ ộ ệ Port 2 cũng nh nậ
các bít đ a ch cao và vài tín hi u đi u khi n trong th i gian l p trình cho Flash ề ể ệ ậ ờ ị ỉ
và ki m tra ch ng trình. ể ươ
- Port 3 (10-17) :Port 3 là Port xu t nh p 8-bit hai chi u. ề Port 3 cũng còn ậ ấ
làm các ch c năng khác c a AT89C51. Các ch c năng này đ c li ứ ủ ứ ượ ệ t kê nh sau: ư
ắ ắ
ủ ộ ị ủ ộ ị ờ ờ
Ch c năng ứ Ngõ vào Port n i ti p ố ế Ngõ ra Port n i ti p ố ế Ngõ vào ng t ngoài 0 Ngõ vào ng t ngoài 1 Ngõ vào bên ngoài c a b đ nh th i 1 Ngõ vào bên ngoài c a b đ nh th i 0 Đi u khi n ghi b nh d li u ngoài ộ Đi u khi n đ c b nh d li u ngoài ọ ộ ớ ữ ệ ớ ữ ệ ể ể ề ề Chân Tên P3.0 RxD P3.1 TxD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD
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. ộ
RST
Hình 7: M ch reset tác đ ng b ng tay và t đ ng reset khi kh i đ ng máy ạ ằ ộ ự ộ ở ộ
14 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
- 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ủ
t có đ a ch 8Eh. Khi bit này đ c thanh ghi ch c năng đ c bi ứ ặ ệ ị ỉ ượ set, ALE ch tích ỉ
i, chân này s c c trong th i gan th c hi n l nh MOVX ho c MOVC. Ng ệ ệ ự ự ặ ờ c l ượ ạ ẽ
đ 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 đ th c thi ch ch s không có tác d ng n u b vi đi u khi n đang ế ỉ ẽ ụ ề ể ộ ở ế ộ ự ươ ng
trình ngoài.
ề ể ấ - PSEN (29) : PSEN (Program Store Enable) là xung đi u khi n truy xu t
ng trình ngoài. Khi AT89C52 đang th c thi ch ng trình t b nh b nh ch ớ ộ ươ ự ươ ừ ộ ớ
ch ng trình ngoài, c kích ho t hai l n m i chu kỳ máy, nh ng hai ươ ượ ư ạ ầ ỗ
PSEN đ
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ấ
ng trình ngoài (b t đ u t đ a ch t b nh ch ộ ớ ươ ắ ầ ừ ị ỉ ừ 0000H đ n FFFFH). ế
ng trình ngoài, ng c l¹i ấ ộ ớ ươ ỵ
EA = 0 cho phép truy xu t b nh ch
EA =1 sẽ
th c thi ch ng trình bên trong chip ự ươ
c l p trình, Tuy nhiên, l u ý r ng n u bit khoá 1 (lock-bit 1) đ ế ư ằ ượ ậ
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). ọ
15 - XTAL1 và XTAL2 ậ ỹ ộ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
ủ 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 clock ệ ả ộ ướ c khi đ n m ch t o xung ạ ế ạ
bên trong, tuy nhiên các chi ti t k thu t v th i gian m c th p và m c cao, ế ỹ ậ ề ờ ứ ứ ấ
đi n áp c c ti u và c c đ i c n ph i đ c xem xét. ự ạ ầ ự ể ả ượ ệ
3.1.2 Các ch đ đ c bi ế ộ ặ t ệ
3.1.2.1Ch đ ngh ế ộ ỉ
đi vào tr ng thái ng trong khi t t c các 1. Trong ch ế đ ộ ngh , CPU t ỉ ự ủ ạ ấ ả
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 ặ ệ ẫ ồ ạ ổ ờ ế ộ ế
c k t thúc b i m t ng t b t kỳ nào đ đ ngh có th đ ỉ ộ ể ượ ắ ấ ế ở ộ ượ ặ c phép ho c
b ng cách ằ reset c ng.ứ
2. Ta c n l u ý r ng khi ch đ ngh đ c k t thúc b i m t ầ ư ế ộ ỉ ượ ằ ộ reset ế ở
chip vi đi u khi n s ti p t c bình th ng vi c th c thi ch c ng, ứ ẽ ế ụ ề ể ườ ự ệ ươ 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. ể ề ề ề ẵ
16 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
3. ch đ ngh , ph n c ng trên chip c m truy xu t RAM n i nh ng cho Ở ế ộ ầ ứ ỉ ư ấ ẫ ộ
phép truy xu t các chân c a các port. Đ tránh kh năng có m t thao tác ủ ấ ể ả ộ
ghi không mong mu n đ n m t chân ế ố ộ ằ port khi ch đ ngh k t thúc b ng ế ộ ỉ ế
reset, l nh ti p theo yêu c u ch đ ngh không nên là l nh ghi đ n chân ế ộ ế ệ ế ệ ầ ỉ
port ho c đ n b nh ngoài. ặ ế ộ ớ
3.1.2.2 Ch đ ngu n gi m ế ộ ả ồ
ầ - Trong ch đ này, m ch dao đ ng ng ng ho t đ ng và l nh yêu c u ạ ộ ế ộ ừ ệ ạ ộ
ch đ ngu n gi m là l nh sau cùng đ c th c thi. RAM trên chip và các thanh ế ộ ệ ả ồ ượ ự
ghi ch c năng đ c bi t v n duy trì các giá tr c a chúng cho đ n khi ch đ ứ ặ ệ ẫ ị ủ ế ộ ế
ngu n gi m k t thúc. Ch có m t cách ra kh i ch đ ngu n gi m, đó là reset ế ộ ế ả ả ồ ộ ỏ ồ ỉ
i các thanh ghi ch c năng đ c bi t nh ng không c ng.ứ Vi c ệ reset s xác đ nh l ẽ ị ạ ứ ặ ệ ư
reset m c tích làm thay đ i RAM trên ổ chip. Vi c ệ reset không nên x y ra (chân ả ở ứ
c khi Vcc đ c khôi ph c l i m c đi n áp bình th c c) tr ự ướ ượ ụ ạ ứ ệ ườ 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: ả ồ ượ ả
B ộ nhớ AL PSE PORT Chế PORT 1 PORT 2 PORT 3 Ch ngươ E N O độ trình
Bên trong 1 1 D li u Nghỉ ữ ệ D li u ữ ệ D li u ữ ệ D li u ữ ệ
Bên ngoài 1 1 Th n i Ngh ỉ ả ổ D li u ữ ệ D li u ữ ệ D li u ữ ệ
Bên trong 0 0 D li u Ngu nồ ữ ệ 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 ữ ệ gi mả
3.1.3 Các bít khoá b nh ch ng trình ộ ớ ươ
- Trên chip có ba bit khoá, các bít này có th không cho phép l p trình ho c ặ ể ậ
cho phép l p trình, các bit này cho ta thêm m t s đ c tr ng n a c a AT89C51 ậ ộ ố ặ ữ ủ ư
17 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
nh sau.Khi bit khoá 1 LB1 đ c l p trình, m c logic chân ư ượ ậ ứ ở c l y ượ ấ
EA đ
m u và đ c ch t trong khi chip không có ẫ ượ ố reset. N u vi c c p ngu n cho ệ ấ ế ồ
c kh i đ ng b ng m t giá tr ng u nhiên và giá công d ng ụ reset, m ch ch t đ ố ượ ạ ở ộ ằ ẫ ộ ị
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 chân này. ượ ứ ệ ả ợ ơ ở ố ủ EA ph i phù h p v i m c logic hi n hành
Các bit khóa ch ng trình ươ Lo i b o v ạ ả ệ
LB1 LB2 LB3 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ìm n p
b nh n i, l nh t ệ ừ ộ ượ ấ c l y m u và đ ẫ ượ c ớ ộ EA đ
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
- T p l nh
ậ ệ Mcs-51 có 255 l nh g m 139 l nh 1 byte, 92 l nh 2 byte và 24 l nh 3 byte.
ệ
ệ
ệ
ệ
ồ
3.1.4 .Tóm t ắ ậ ệ t t p l nh c a AT89c51 ủ
3.1.4. 1Các ch đ đ nh đ a ch : ỉ ế ộ ị ị
ị Đ a ch thanh ghi , Đ a ch tr c ti p , Đ a ch gián ti p , Đ a ch t c th i , Đ a ị ỉ ự ỉ ứ ế ế ờ ị ị ỉ ỉ ị
ch t ng đ i , Đ a ch tuy t đ i , Đ a ch dài ỉ ươ ệ ố ố ị ỉ ị ỉ
3.1.4.2 Các nhóm l nh c a Mcs-C51: ủ ệ
ố ọ : Nhóm l nh s h c ệ
ADD A,soure ; c ng toán h ng vào A ộ ạ
SUBB A,soure ; tr b t A b i toán h ng ngu n ồ ừ ớ ạ ở
INC A ; tăng giá tr A lên 1 ị
DEC A ; gi m A xu ng 1 ả ố
MUL AB ; nhân A v i Bớ
18 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
DIV AB ; chia A b i Bở
DA ; hi u đính ệ
Nhóm l nh logic. ệ
ANL A,soure ; l nh nhân logic ệ
ORL A,soure ; l nh c ng logic ệ ộ
XRL A,soure ; l nh xor logic ệ
RL A ;quay trái
RR A ; quay ph iả
CLR A ; xóa A
Nhóm l nh di chuy n d li u: ể ữ ệ ệ
MOV A,soure ; di chuy n toán h ng ngu n đ n đích. ể ế ạ ồ
MOVC A,@A+DPTR ; di chuy n t b nh ch ng trình. ể ừ ộ ớ ươ
MOVX A,@Ri ; di chuy n t ể ừ ộ b nh d li u ớ ữ ệ
PUSH direct ; c t vào stack ấ
POP direct ;l y ra stack ấ
XCH A,soure ; trao đ i các byte. ổ
XCHD A,@Ri ; trao đ i các digit th p. ấ ổ
Nhóm l nh r nhánh: ẽ ệ
ACALL addr ; g i ch ng trình con ọ ươ
RET ;quay ch ng trình con ươ
RETI ; quay v t ch ề ừ ươ ng trình ph c v ng t ụ ụ ắ
JMP addr ; l nh nh y ả ệ
CJNE A,direct,rel ; so sánh và nh yả
3.2. Tìm hi u IC th i gian th c DS1307 ờ ự ể
3.2.1 Gi i thi u chung v DS1307 ớ ề ệ
-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 ờ
19 - SRAM :56bytes ậ ỹ
B môn K thu t máy tính ộ 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
-Đ a ch và d li u đ ng bus 2 chi u ữ ệ ượ ị ỉ c truy n n i ti p qua 2 đ ố ệ ề ườ ề
- DS1307 có môt m ch c m bi n đi n áp dùng đ dò các đi n áp l i và t ế ệ ể ệ ạ ả ỗ ự
đ ng đóng ng t v i ngu n pin cung c p 3v ộ ắ ớ ấ ồ
+ DS1307 có 7 byte d li u n m t i 0x06, 1 byte ữ ệ ằ ừ ị đ a ch 0x00 t ỉ ớ
đi u khi n, và 56 byte l u tr ( dành cho ng i s d ng ) ư ữ ể ể ườ ủ ụ
+ Khi x lý d li u t DS1307, h đã t chuy n cho ta v d ng s ữ ệ ừ ử ọ ự ề ạ ể ố
BCD, ví d nh ta đ c đ oc d li u t đ a ch 0x04 ( t ong ng v i Day- ngày ữ ệ ừ ị ụ ư ọ ự ư ứ ớ ỉ
trong tháng) và t i 0x05 ( thang ) là 0x15, 0x11 nh th có nghĩa là lúc đó là ạ ư ế
ngày 15-11 ch ko ph i là ngày 21 tháng 17 ả ứ
+ L u ý đ n vai trò c a chân SQW/OUT. Đây là chân cho xung ra ủ ư ế
c a DS1307 có 4 ch đ 1Hz, 4.096HZ, 8.192Hz, 32.768Hz... các ch đ này ủ ế ộ ế ộ
đu c quy đ nh b i các bít c a thanh ghi Control Register ( đ a ch 0x07 ) ủ ở ợ ỉ ị ị
+ Đ a ch c a DS1307là 0xD0 ỉ ủ ị
- C ch ho t đ ng :DS1307 ho t đ ng v i vai trò slave trên đ ng bus ơ ế ạ ộ ạ ộ ớ ườ
n i ti p.Vi c truy c p đ ệ ố ế ậ ượ c thi hành v i ch th start và m t mã thi ị ộ ớ ỉ ế ị ấ t b nh t
c cung c p b i đ a ch các thanh ghi.ti p theo đó các thanh ghi s đ đ nh đ ị ượ ở ị ẽ ượ c ế ấ ỉ
truy c p liên t cđ n khi ch th stop đ ụ ế ậ ỉ ị ươ c th c thi ự
3.2.2 C ch ho t đ ng và ch c năng c a DS1307 ơ ế ạ ộ ủ ứ
- Vcc: n i v i ngu n ố ớ ồ
- X1,X2: n i v i th ch anh 32,768 kHz ạ ố ớ
- Vbat: đ u vào pin 3V ầ
- GND: đ t ấ
- SDA: chu i data ỗ
- SCL: dãy xung clock
- SQW/OUT: xung vuông/đ u ra driver ầ
20 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
Hình 9: S đ 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 đ ng bus 2 chi u. Nó cung c p thông tin v gi ,phút,giây ế ườ ề ờ ề ấ
,th ,ngày ,tháng, năm.Ngày cu i tháng s t đ ng đ c đi u ch nh v i các tháng ẽ ự ộ ứ ố ượ ề ớ ỉ
nh h n 31 ngày,bao g m c vi c t ả ệ ự ộ ỏ ơ ạ đ ng nh y năm. Đ ng h có th ho t ồ ể ả ồ ồ
đ ng ộ ở ạ ế d ng 24h ho c 12h v i ch th AM/PM. DS1307 có m t m ch c m bi n ặ ạ ả ớ ộ ỉ ị
i và t đi n áp dùng đ dò các đi n áp l ể ệ ệ ỗ ự ộ đ 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 ậ
21 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
đ n khi ch th STOP đ ỉ ế ị ượ c th c thi. ự
S đ kh i c a DS1307: ố ủ ơ ồ
Hình 10:Mô t : ả ho t đ ng c a các chân ủ ạ ộ
• Vcc,GND: ngu n m t chi u đ c cung c p t i các chân này. Vcc là đ u vào ề ượ ộ ồ ấ ớ ầ
5V. Khi 5V đ c cung c p thì thi t b có th truy c p hoàn ch nh và d li u có ượ ấ ế ị ữ ệ ể ậ ỉ
th đ c và vi t. ể ọ ế
Khi pin 3 V đ i thi c n i t ượ ố ớ ế ị ọ t b này và Vcc nh h n 1,25Vbat thì quá trình đ c ỏ ơ
ế ự ị ả c th c thi,tuy nhiên ch c năng timekeeping không b nh
t không đ ượ ậ ỹ
và vi ứ 22 B môn K thu t máy tính ộ 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
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) ấ ườ ề ồ
c gi • Vbat: Đ u vào pin cho b t kỳ m t chu n pin 3V . Đi n áp pin ph i đ ộ ả ượ ệ ầ ấ ẩ ữ
trong kho ng t 2,5 đ n 3V đ đ m b o cho s ho t đ ng c a thi ả ừ ự ạ ộ ể ả ủ ế ả t b . ế ị
• SCL(serial clock input): SCL đ ượ ử ụ ể ữ ệ c s d ng đ đ ng b s chuy n d li u ể ồ ộ ự
trên đ ng dây n i ti p. ườ ố ế
• SDA(serial data input/out): là chân vào ra cho 2 đ ng dây n i ti p. Chân SDA ườ ố ế
thi t k ế ế
theo ki u c c máng h , đòi h i ph i có m t đi n tr kéo trong khi ho t đ ng. ể ự ạ ộ ệ ả ở ỏ ộ ở
• SQW/OUT(square wave/output driver)- khi đ c kích ho t thì bit SQWE đ ượ ạ ượ c
thi t l p 1 chân SQW/OUT phát đi 1 trong 4 t n s (1Hz,4kHz,8kHz,32kHz). ế ậ ầ ố
Chân này cũng đ c thi ượ ế ế ầ t k theo ki u c c máng h vì v y nó cũng c n ể ự ậ ở
có m t đi n tr kéo trong. Chân này s ho t đ ng khi c Vcc và Vbat ạ ộ ẽ ệ ả ở ộ
đ c c p. ượ ấ
• X1,X2: đ ượ ố ớ ạ c n i v i m t th ch anh t n s 32,768kHz.Là m t m ch t o ầ ố ạ ạ ộ ộ
dao đ ng ngoài , đ ho t đ ng n đ nh thì ph i n i thêm 2 t 33pF ạ ộ ả ố ể ộ ổ ị ụ
ớ ấ • Cũng có DS1307 v i b t o dao đ ng trong t n s 32,768kHz, v i c u ộ ớ ộ ạ ầ ố
23 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
hình này thì chân X1 s đ ẽ ượ ố c n i vào tín hi u dao đ ng trong còn chân X2 ộ ệ
thì đ hể ở
3.2.3 S đ đ a ch RAM và RTC ơ ồ ị ỉ
• Thông tin v th i gian và ngày tháng đ c l y ra b ng cách đ c các ề ờ ượ ấ ằ ọ
byte thanh ghi thích h p. th i gian và ngày tháng đ c thi t l p cũng ợ ờ ượ ế ậ
thông qua các byte thanh ghi này b ng cách vi t vào đó nh ng giá tr thích ằ ế ữ ị
i d ng mã BCD(binary coded h p. n i dung c a các thanh ghi d ủ ộ ợ ướ ạ
decreaseimal). Bit 7 c a thanh ghi seconds là bit clock halt(CH),khi bit này ủ
đ c thi t l p 1 thì dao đ ng disable,khi nó đ ượ ế ậ ộ ượ ộ c xoá v 0 thì dao đ ng ề
đ c enable. ượ
Chú ý l: enable dao đ ng trong su t quá trình c u hình thi t l p (CH=0). ấ ộ ố ế ậ
c mô t nh sau: Thanh ghi .th i gian th c đ ờ ự ượ ả ư
24 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
• DS1307 có th ch y ch đ 24h cũng nh 12h. Bit th 6 c a thanh ể ạ ở ế ộ ứ ủ ư
ghi hours là bit ch n ch đ 24h ho c 12h. khi bit này m c cao thì ch ế ộ ặ ọ ở ứ ế
c ch n. ch đ 12h thì bit 5 là bit AM/PM v i m c cao là là đ 12h đ ộ ượ ọ ở ế ộ ứ ớ
PM. ch đ 24h thì bit 5 là bit ch 20h(t ở ế ộ ỉ ừ 20h đ n 23h). ế
3.3 Gi i thi u LCD ớ ệ
-LCD c gi i thi u ây 14 chânn (hình d i). Ch c n ng các chân đượ ớ ệ ở đ ướ ứ ă
cđượ
cho trong b ng d i: ả ướ
25 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
3.3.1 Ch c năng các chân c a Module LCD 16x2 ứ ủ
Chân Ký I/O Ch c năng M cứ ứ
ồ ồ
ỉ ộ ươ ng ph n ả
số 1 2 3 4 hi uệ Vss Vdd Vee RS logic - - - 0/1 - - I I Ngu n cung c p(GND) ấ Ngu n cung c p(+5V) ấ Đi n áp đ đi u ch nh đ t ể ề L a ch n thanh ghi ệ ự ọ
0= thanh ghi l nhệ
5 R/W 0/1 I 1=thanh ghi d li u ữ ệ 0=ghi vào LCD module
LCD module
ấ
6 7 8 9 10 11 12 13 14 15 16 E DB1 DB2 DB3 DB4 DB5 DB6 DB7 DB8 Vcc GND 1,1=>0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 - - I I/O I/O I/O I/O I/O I/O I/O I/O - - 1=đ c t ọ ừ Tín hi u cho phép ệ Data bus line 0(LSB) Data bus line1 Data bus line2 Data bus line3 Data bus line4 Data bus line5 Data bus line6 Data bus line7(MSB) Ngu n cung c p ồ mass
Các chân đi u khi n vi c đ c và ghi LCD bao g m RS, R/W và EN. ệ ọ ể ề ồ
RS (chân s 3): Chân l a ch n thanh ghi (Select Register), chân này cho phép ự ố ọ
ề l a ch n 1 trong 2 thanh ghi IR ho c DR đ làm vi c. Vì c 2 thanh ghi này đ u ự ể ệ ả ặ ọ
đ c k t n i v i các chân Data c a LCD nên c n 1 bit đ l a ch n gi a chúng. ượ ế ố ớ ể ự ữ ủ ầ ọ
N u RS=0, thanh ghi IR đ c ch n và n u RS=1 thanh ghi DR đ ế ượ ế ọ ượ ọ c ch n.
Chúng ta đ u bi ề ế ế ế t thanh ghi IR là thanh ghi ch a mã l nh cho LCD, vì th n u ứ ệ
mu n g i 1 mã l nh đ n LCD thì chân RS ph i đ i, khi ả ượ ế ệ ở ố c reset v 0. Ng ề c l ượ ạ
mu n ghi mã ASCII c a ký t c n hi n th lên LCD thì chúng ta s set RS=1 đ ủ ố ự ầ ể ẽ ị ể
ch n thanh ghi DR. Ho t đ ng c a chân RS đ c mô t trong hình 5. ạ ộ ủ ọ ượ ả
26 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
Hình 11: Ho t đ ng c a chân RS . ạ ộ ủ
R/W (chân s 4): Chân l a ch n gi a vi c đ c và ghi. N u R/W=0 thì d ệ ọ ữ ự ế ố ọ ữ
li u s đ c ghi t b đi u khi n ngoài (vi đi u khi n AVR ch ng h n) vào ệ ẽ ượ ừ ộ ề ề ể ể ẳ ạ
LCD. N u R/W=1 thì d li u s đ c đ c t LCD ra ngoài. Tuy nhiên, ch có ữ ệ ẽ ượ ọ ừ ế ỉ
LCD ra, đó là đ c tr ng thái duy nh t 1 tr ấ ườ ng h p mà d li u có th đ c t ữ ệ ể ọ ừ ợ ạ ọ
LCD đ bi ể ế ộ t LCD có đang b n hay không (c Busy Flag - BF). Do LCD là m t ờ ậ
thi t b ho t đ ng t ế ị ạ ộ ươ ng đ i ch m (so v i vi đi u khi n), vì th m t c BF ề ế ộ ờ ể ậ ố ớ
đ c dùng đ báo LCD đang b n, n u BF=1 thì chúng ta ph i ch cho LCD x ượ ể ế ậ ả ờ ử
i, đ n khi nào BF=0 m t thao tác m i s đ c gán cho lí xong nhi m v hi n t ệ ụ ệ ạ ớ ẽ ượ ế ộ
LCD. Vì th , khi làm vi c v i Text LCD chúng ta nh t thi ệ ớ ế ấ ế ộ t ph i có m t ả
ch ươ ng trình con t m g i là wait_LCD đ ch cho đ n khi LCD r nh. Có 2 cách ể ờ ế ạ ả ọ
t ch ng trình wait_LCD. Cách 1 là đ c bit BF v ki m tra và ch BF=0, đ vi ể ế ươ ề ể ọ ờ
cách này đòi h i l nh đ c t ỏ ệ ọ ừ ầ LCD v b đi u khi n ngoài, do đó chân R/W c n ề ộ ề ể
đ ượ ố ớ ộ ề c n i v i b đi u khi n ngoài. Cách 2 là vi ể ế ả t m t hàm delay m t kho ng ộ ộ
th i gian c đ nh nào đó (t ố ị ờ ố ự ơ t nh t là trên 1ms). u đi m c a cách 2 là s đ n Ư ể ủ ấ
gi n vì không c n đ c LCD, do đó chân R/W không c n s d ng và luôn đ ầ ử ụ ầ ả ọ ượ c
c đi m c a cách 2 là kho ng th i gian delay c n i v i GND. Tuy nhiên, nh ố ớ ượ ủ ể ả ờ ố
đ nh n u quá l n s làm ch m quá trình thao tác LCD, n u quá nh s gây ra l ị ớ ẽ ỏ ẽ ế ế ậ ỗ i
hi n th . Trong bài này tôi h ể ị ướ ể ử ụ ng d n b n cách t ng quát là cách 1, đ s d ng ẫ ạ ổ
ng trình wait_LCD (s trình bày cách 2 b n ch c n m t thay đ i nh trong ch ộ ỉ ầ ạ ổ ỏ ươ ẽ
chi ti t sau) và k t n i chân R/W c a LCD xu ng GND. ế ế ố ủ ố
EN (chân s 5): Chân cho phép LCD ho t đ ng (Enable), chân này c n đ ạ ộ ầ ượ c ố
LCD ể ọ ể ể ừ
27 ậ
k t n i v i b đi u khi n đ cho phép thao tác LCD. Đ đ c và ghi data t ế ố ớ ộ ề B môn K thu t máy tính ỹ ộ 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
chúng ta c n t o m t “xung c nh xu ng” trên chân EN, nói theo cách khác, ố ầ ạ ạ ộ
mu n ghi d li u vào LCD tr ữ ệ ố ướ ế ầ ế c h t c n đ m b o r ng chân EN=0, ti p đ n ả ằ ế ả
xu t d li u đ n các chân D0:7, sau đó set chân EN lên 1 và cu i cùng là xóa EN ấ ữ ệ ế ố
v 0 đ t o 1 xung c nh xu ng. ề ể ạ ạ ố
-Đ hi n th ch cái và con s , mã ASCII c a các ch cái t ố ể ể ị ữ ữ ủ ừ A đ n Z, a ế
đ n z và các ế
con s t 0 – 9 đ i các chân D0 – D7 khi RS = 1. ố ư c g i t ượ ứ ớ
-Các mã l nh đ i LCD đ xóa màn hình ho c đ a con tr v ệ c g i t ượ ử ớ ặ ư ỏ ề ể
đ u d ng…( ầ
đ c li t kê trên b ng trên) thông các chân D0 – D7. ượ ệ ả
-Có th s d ng RS = 0 đ ki m tra bit c b n xem LCD đã s n sàng ế ử ụ ể ể ờ ậ ẵ
nh n thông tin ậ
ch a. Khi R/W = 1 v RS = 0: N u D7 = 1 ( c b n b ng 1) c nghĩa LCD đang ờ ậ ư ế ằ
b nậ
các công vi c bên trong và s không nh n thông tin, n u D7 = 0 s n sàng nh n ậ ậ ế ệ ẽ ẵ
thông tin m i. Trong m i tr c khi ghi b t kì ọ ườ ớ ng h p c n ki m tra c b n tr ể ợ ầ ờ ậ ướ ấ
d ữ
li u nào lên LCD. ệ
Các thanh ghi
-Thanh ghi IR: M i l nh đ c nhà s n xu t LCD đánh đ a ch rõ ràng. ỗ ệ ượ ả ấ ị ỉ
ch ỉ vi c cung c p đ a ch l nh b ng cách n p vào thanh ghi IR. ằ ấ ị ỉ ệ ệ ạ
Ví d : ụ
L nh “hi n th màn hình và con tr ” có mã l nh là 00001110 ệ ệ ể ỏ ị
- Thanh ghi DR : Thanh ghi DR dùng đ ch a d li u 8 bit đ ghi vào vùng ể ứ ữ ệ ể
RAM DDRAM ho c CGRAM ( ch đ ghi) ho c dùng đ ch a d li u t ặ ở ế ộ ặ ể ứ ữ ệ ừ 2
vùng RAM này g i ra cho MPU ( ch đ đ c). ử ở ế ộ ọ
28 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
-C báo b n BF: (Busy Flag)Khi đang th c thi các ho t đ ng bên trong, ạ ộ ự ậ ờ
LCD b qua m i giao ti p v i bên ngoài và b t c BF( thông qua chân DB7 khi có ế ớ ậ ờ ọ ỏ
thi t l p RS=0, R/W=1) lên đ cho bi t nó đang “b n”. ế ậ ể ế ậ
-B đ m đ a ch AC : (Address Counter) Khi m t đ a ch l nh đ ộ ế ị ỉ ộ ị ỉ ệ ượ ạ c n p
vào thanh ghi IR, thông tin đ c n i tr c ti p cho 2 vùng RAM (vi c ch n l a vùng ượ ố ự ế ọ ự ệ
RAM t ng tác đã đ c bao hàm trong mã l nh). ươ ượ ệ
Sau khi ghi vào (đ c t ) RAM, b đ m AC t ọ ừ ộ ế ự ộ đ ng tăng lên (gi m đi) 1 đ n v . ả ơ ị Bộ
nh LCD Vùng RAM hi n th DDRAM : (Display Data RAM) ớ ể ị
3.3.2 các bit vi t trong mã l nh t t ế ắ ệ
Tên bit I/D ể 0=không d ch chuy n ị 1=d ch chuy n v trí con tr ể ị ỏ Mô tả ị
S =1 d ch chuy n hi n th v trí con tr ỏ ị ể =0 không d ch chuy n ị ể ể ị ị
ị
ị ị ể
ậ ậ
D C B hi n thể 0=t ắ 0=t ắ ấ 0=con tr không nh p t hi n th ể t con tr ỏ ỏ =1 b t hi n th =1 b t con tr ỏ =1 con tr nh p nháy ấ ỏ
ỏ ị ể ể
ị ị
S/C R/L DL N F BF nháy 0=di chuy n con tr ể 0= d ch trái ị 0=ch đ 4bit d li u ữ ệ ế ộ 0=1 dòng 0= font 5x7 0= không b nậ =1 d ch chuy n hi n th =1 d ch ph i ả =1 ch đ 8bit d li u ữ ệ ế ộ 1= 2 dòng 1= font 5x10 1= đang b nậ
3.3.3 Mã Hex LCD
29 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
*Module này không chi m kh i Digital, đ ch n module này ta ch c n click ể ọ ỉ ầ ố ế
ch n trong m c Misc Digital ụ ọ
Module LCD đ i Port 2. c n i t ượ ố ớ
void LCD_Start(void); void LCD_Init(void); void LCD_Position(BYTE bRow,
BYTE bCol); void LCD_PrString(CHAR * sRamString);
void LCD_PrCString(const char * sRomString);
void LCD_PrHexByte(BYTE bValue); void LCD_PrHexInt(INT iValue);
Các hàm API:
30 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
CH
ƯƠ
NG III : THI T K M CH Ế
Ế Ạ
1. S đ nguyên lý ơ ồ
-sơ đồ nguyên lý c thụ ể như sau:
KHOI HIEN THI
DE TAI : THIET KE MACH CHUONG BAO LOP HOC
+5VDC
S S V
D D V
E E V
S R
W R
E
0 D
1 D
2 D
3 D
4 D
5 D
6 D
7 D
LS1 SPEAKER
KHOI TAO DAO DONG
SPEAKER
1
2
3
4
5
6
7
8
9
0 1
1 1
2 1
3 1
4 1
+220V
+12V
U1
19
XTAL1
+5VDC
% 9 4
18
XTAL2
RL1 12V
D1 DIODE
9
39 38 37 36 35 34 33 32
RST
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
29 30 31
Q1 BC547
PSEN ALE EA
21 22 23 24 25 26 27 28
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
R1
R1(2) V=0.0199005
10
1 2 3 4 5 6 7 8
10 11 12 13 14 15 16 17
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
80C51
1
2 3 4 5 6 7 8
GIAO TIEP PHIM BAM
Nhom SV :
Chu ANh Nguyen
U2
1
X1
Tran Duc Hoang
6 5
SCL SDA
7
B1
SOUT
Y E K _ C N
I
Nguyen Thi Nhung
I
3
2
Y E K _ C E D
Y E K _ E M T
VBAT
X2
DS1307
12V
ạ - Khi đã đ m b o c p ngu n cho các m ch n đ nh , m ch s ho t ẽ ả ả ấ ạ ạ ồ ổ ị
đông nh sau: ư
ể Ban đ u khi kh i đ ng nó s th c hi n vi c đ c d liêu treeb DS1307 và hi n ọ ữ ẽ ự ở ộ ệ ệ ầ
th ngày gi i lên LCD. ị hi n t ờ ệ ạ
K ti p n u có ng t g i đ n t c tác đ ng vào phím KEY_TIME đ đi u ch nh ộ ắ ọ ế ứ ế ế ể ề ế ỉ
th i gian (Tăng-INC_KEY button, Gi m-DEC_KEY button) cho RTC , khi đó vi ả ờ
ứ đi u khi n s đi u khi n vi c tăng hay gi m time (ngày , tháng , năm , th , ẽ ề ể ể ề ệ ả
gi , phút ), theo ý mu n c a ng i s d ng, b ng cách nh n phím INC_KEY ờ ủ ố ườ ử ụ ằ ấ
31 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
ho c phím DEC_KEY. Set xong thì LCD s tr v màn hình lúc tr ẽ ở ề ặ ướ ể c và hi n
th th i gian theo time đa cài đ t và ho t đ ng. ạ ộ ị ờ ặ
- Trong quá trình time hi n t c hi n th trên LCD mà ta th y thì vi i đ ệ ạ ượ ể ấ ị
đi u khi n luôn th c hi n ki m tra (l p l i vi c ki m tra ) time hi n t i xem ặ ạ ự ể ể ể ề ệ ạ ệ ể
xem có trùng v i m c th i gian vào ti t h c hay k t thúc ti t h c hay không ? ớ ố ờ ế ọ ế ế ọ
N u có , thì nh y t i ch ả ớ ế ươ ng trình báo chuông và đ chuông báo , th i gian ổ ờ
i l p trình thi chuông dài hay ng n có th thay đ i trên code, là do ng ể ắ ổ ườ ậ ế ậ t l p,
thi ế ậ ệ t l p m c th i gian theo ý mu n. T c là, c th a mãn đi u ki n time hi n ứ ỏ ứ ề ệ ố ờ ố
t i b ng v i time h n tr c s có chuông reo. ạ ằ ẹ ớ ướ ẽ
- Sau khi đã thi t k s đ kh i c a t ng kh i chúng ta b t đ u đi thi ế ế ơ ồ ố ủ ừ ắ ầ ố ế t
k s đ nguyên lý cho t ng kh i nh sau: ế ơ ồ ư ừ ố
2. Khối nguồn
- Nguồn cung cấp cho toàn mạch là +5v dc.Do đó mạch nguồn chỉ cần sử
D 2
U 4
J 1
S 2
-
+
1
3
V C C
V I N
D V O U T
N
G
c o n g t a c
1 2 3
D 1
2
d i o d e c a u
L M 7 8 0 5
C 1 1 0 0 u F
c o n n e c t o r
L E D p o w e r
R 2 2 2 0
dụng vi mạch ổn áp 7805 với dòng 0.5 A. Mạch được thiết kế như sau
- Đ i V i role ta s d ng ngu n nuôi riêng 12 V. Có th đi u ch theo ể ề ử ụ ế ố ớ ồ
nhi u cách khác nhau. ề
- Đ i v chuông ta s d ng ngu n 220 m c riêng r ố ớ ử ụ ắ ồ ẽ
*, Chi chú ý ngu n nuôi cho m ch đi u khi n c n gi ể ầ ề ạ ồ ữ ự ổ ậ s n đ nh vì v y ị
ta s d ng n áp LM7805 cho nó. ử ụ ổ
3. Kh i hi n th LCD ố ể ị
- LCD 16x2 và giao ti p v i vi đi u khi n : ế ề ể ớ
32 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
c n i v i bi n tr và ngu n 5V đ di u ch nh đ sáng VEE c a LCD đ ủ ượ ố ớ ể ề ế ồ ộ ở ỉ
c a LCD ủ
- Hi n th time 1 ngày c a RTC lên LCD ủ ể ị
+ 3 chân đi u khi n (RS,RW,E ) ề ể
+ Đ ng d li u D0 đ n D7 ữ ệ ườ ế
+ Chân đi u khi n đ sáng t i c a LCD chân VEE ta s d ng 1 bi n tr ể ề ộ ố ủ ử ụ ế ở
U 3 L C D
D
S
E
S
W
0
1
2
3
4
5
6
7
D
S
E
V
V
V
R
R
E
D
D
D
D
D
D
D
D
K
A
0
1
2
3
4
6
5
2
1
3
4
5
6
7
8
9
1
1
1
1
1
1
1
5 v
R 8
R 7 R E S I S T O R V A R
5 v
đ đi u ch nh thích h p ợ ỉ ể ề
33 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
4. Kh i x lý AT89C51 ố ử
- Sử dụng ic số là một bất lợi cho quá trình thiết kế từ việc thiết kế, kết
nối cho tới chọn linh kiện và khắc phục nhiễu.
Một lựa chọn để khắc phục nhược điễm của ic số là dùng bộ vi điều khiển
AT89C51 với dòng điện tiêu thụ thấp và có thể lập trình được
Vi điều khiển sử dụng thạnh anh dao động la 12Mhz. Nút n k t h p v i t ế ợ ớ ụ C ấ
U 1
2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8
3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2
P 2 . 0 / A 8 P 2 . 1 / A 9 P 2 . 2 / A 1 0 P 2 . 3 / A 1 1 P 2 . 4 / A 1 2 P 2 . 5 / A 1 3 P 2 . 6 / A 1 4 P 2 . 7 / A 1 5
P 0 . 0 / A D 0 P 0 . 1 / A D 1 P 0 . 2 / A D 2 P 0 . 3 / A D 3 P 0 . 4 / A D 4 P 0 . 5 / A D 5 P 0 . 6 / A D 6 P 0 . 7 / A D 7
C 1
1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7
1 2 3 4 5 6 7 8
P 3 . 0 / R X D P 3 . 1 / T X D P 3 . 2 / I N T 0 P 3 . 3 / I N T 1 P 3 . 4 / T 0 P 3 . 5 / T 1 P 3 . 6 / W R P 3 . 7 / R D
P 1 . 0 P 1 . 1 P 1 . 2 P 1 . 3 P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7
L
O
3 0 2 9
1 9 1 8
Y 1
X T A L 1 X T A L 2
A L E / P R O G P S E N
C 2 C A P
C R Y S T A L
3 1 9
E A / V P P R S T
C 3
C A P
A T 8 9 C 5 1
1
4
R 1 0
2
3
đ th c hi n reset ể ự ệ
5. Khối thời gian thực
-Ta chọn ic DS 1307 vì đây là ic chạy thời gian thực,có độ chính xác rất
cao,và đặt biệt là dữ liệu thời gian củng không bị mất khi chúng ta bi mất
nguồn hoặc cúp điện.Nên đồng hồ ta chạy vẫn chính xác ngay cả khi mất điện.
Đ c nuôi b ng ngu n nuôi pin 3V ượ ằ ồ
34 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
5 v
R 4
R 5
U 5
D S 1 3 0 7
1
8
X 1
V C C
Y 1
2
6
X 2
S C L
5
S D A
3
V B A T
7
S Q W / O U T
G N D
3 V
B T 1
4
6. khối thao tác
-Sử dụng nút nhấn để tạo tín hiệu vào để điều chỉnh thời gian .Nút nhấn
được k t n i v i module giao ti p đ ti ế ố ố ể ế ế ự t ki m chân và d n gi n khi th c ơ ệ ả
hi n ,và ệ 1 chân nút nhấn treo xu ng mass đ t ể ạo sự thay đổi tín hiệu khi nhấn ố
d e c _ k e y
g i a m
i n c _ k e y
t a n g
m e n u
m e n u
nút.
7. Khối chấp hành
- Có nhiều phương án để điều khiển cơ cấu chấp hành ,ở đây chúng ta sử
dụng Transistor A1015 để điều khiển relay 12V/10A .Điện trở R =10K để phân
cực và hạn dòng cho Transistor
35 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
- Diode 2N4148 dùng để bảo vệ Transistor khi trong mạch xuất hiện áp
LS1 SPEAKER
ngược từ cuộn dây sinh ra .Relay dùng để điều khiển chuông điện
SPEAKER
+220V
+12V
RL1 12V
D1 DIODE
B t Đ u ắ ầ
ừ
Set phút L y data t ấ RTC Q1 BC547
R1(2)
Hi n th lên LCD ị ể
Set giờ Yes
No ơ ồ ậ
Tác Đ ng Phím ộ 8. S đ thu t toán Bám
Set ngay,tháng,năm,thứ
No
Tăng ô nh lên 1
ớ
No ể Up =? Ki m tra time =time đ chuông ổ Yes
yes
Đ t gt cho ặ RTC
Đ Chuông ổ
Down= ?
No
Yes
ả
yes 36 ỹ ộ ậ
Đ t gt cho ặ RTC
Gi m gt ô nh ớ 1
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
Hình 12: S đ thu t toán ơ ồ ậ
Ch
ng IV :Thi công m ch
ươ
ạ
1. S đ m ch in ơ ồ ạ
37 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
2. S đ b trí linh ki n ơ ồ ố ệ
Ch
ng V : Thi t k ph n m m
ươ
ế ế ầ
ề
38 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
1. Các ph n m m dùng trong đ án ồ ề ầ
• Lap_trinh_Pic_CCS PCWH v4.023
• Keil 4
• Proterus 7.7 SP2
• ORCAD 10.5
2. Ch ng trình cho vi đi u khi n ươ ề ể
#include "ports.h"
#include "lcd.h"
#include "rtc.h"
/*===================================================*/
/*= DE TAI : Thiet ke he thong chuong bao lop hoc =*/
/*= GVHD : Thay Nguyen Van Huy =*/
/*= Nhóm Thuc Hien : =*/
/*= 1. Chu Anh Nguyen =*/
/*= 2. Tran Duc Hoang =*/
/*= 3. Nguyen Thi Nhung =*/
/*=-------------------------------------------------=*/
/*===================================================*/
/*=======Khai bao bien ========*/
bit flag=0,aon=0,aoff=0;
void main()
{
alarm_port=0;
LCD_INI(); //khoi tao cho LCD
rtc_check();//kiêm tra RTC
disp_intro();//hien thi time len LCD
39 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ệ
ễ
ố
ENABLE_INT//cho phep ngat
wrt_cmd(0x1);//xoa man hinh LCD
wrt_cmd(0x1);
start_rtc();//dieu kien START cho RTC
send_adr(0xd0);//dia chi ghi cho RTC
send_adr(0x00);//gui dia chi bat dau
start_rtc();
send_adr(0xd1);//gui dia chi doc RTC
recv_data();//nhan du lieu tu vi dieu khien
while(1)
{
start_rtc();
send_adr(0xd0);
send_adr(0x00);
start_rtc();
send_adr(0xd1);
recv_data();
disp_rtc();
if(_testbit_(flag)) //kiem tra co ngat
{
DISABLE_INT //cam ngat
rtc_set(); //goi chuong trinh set cho rtc
ENABLE_INT //cho phep ngat
flag=0; //xoa co ngat
}
aon=1;//dieu kien de luon so sanh time hen voi time hien tai
if(aon)
check_alarm(); // kiem tra
if(aoff) //bao chuong
ring_alarm();
40 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
****chuong trinh phuc vu ngat ngoai 0 ****
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void set_flag() interrupt 0 //chuong trinh ngat cho rtc_set
{
flag=1;
}
/*========== THE END ================*/
C. K T LU N Ậ Ế
1. K t lu n ế ậ
. Chúng Em đã c g ng hoàn thành đ tài đúng th i gian quy đ nh. ố ắ ề ờ ị
Trong đ tài , em đã th c hi n đ c nh ng công vi c sau: ệ ượ ự ề ữ ệ
- Gi ớ i thi u và phân tích s đ kh i ố ơ ồ ệ
- Gi i thi u h vi đi u khi n MCS-51 và IC DS 1307 ớ ể ệ ề ọ
- Thi t k và thi công m ch ế ế ạ
M c dù đã có nhi u c g ng trong quá trình th c hi n đ án nh ng không ề ố ắ ư ự ệ ặ ồ
đ t đ ạ ượ ế c k t qu nh mong mu n . vì v y v i ki n th c v a h c em xin c ậ ứ ừ ọ ả ư ế ớ ố ố
g n tìm nguyên nhân và cách kh c ph c. ắ ụ ắ
ệ
2. Tài li u tham kh o ả • C u trúc-l p trình –Ghép n i và ng d ng vi đi u khi n_TS ụ ứ ề ể ố ấ
ậ Nguy n M nh Giang ạ ễ
• Giáo trình 8051_DKS
• Giáo trình h vi đi u khi n 8051_T ng Văn On ể ề ọ ố
• Vi đi u khi n v i l p trình C_Ngô Diên T p ớ ậ ề ể ậ
Trang web tham kh o :ả
http://www.keil.com/forum/8186/ http://vagam.dieukhien.net/ http://vidieukhien.net/
41 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013
ĐAMH H Th ng Nhúng GVHD Nguy n Văn Huy
ễ
ệ
ố
http://www.8051projects.net/forum-t7082-0.html
42 ộ ậ ỹ
B môn K thu t máy tính 3/15/2013