ƯỜ Ạ Ọ Ậ Ỹ Ệ 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 : Hoàng Ng c Tân

ễ ệ Nguy n Đăng Tu

ứ ọ Lê Đ c Tr ng

L pớ                        :   43S

ướ ẩ Giáo viên h ng d n ẫ  : Th.S Tăng C m Nhung

Thái Nguyên – 2011

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

............................................................................................................................................................................................................................

ậ ướ ủ * Nh n xét c a giáo viên h ẫ ng d n:

Thái Nguyên, Ngày...tháng 6 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:

2

Thái Nguyên, Ngày...tháng 6 năm 2011.

Giáo Viên ch mấ

ọ (Ký ghi rõ h  tên)

ụ ụ M c l c

ƯƠ ệ ố ả

5       NG 1: Kh o sát và phân tích h  th ng ......................................                                           19 ..................................................... :

CH   2.2.2.2.Quy trình Bottom-Up Quy trình Bottom-Up trong thực tế thường áp dụng trong các bài

toán chưa lựa chọn hay chưa tìm ra được giải pháp công nghệ. Mấu chốt của quy trình tập trung chủ yêu và quá trình thử nghiệm với hệ thống và tín hiệu thực, từ đó chọn ra giải pháp công nghệ và linh kiện phù hợp nhất cho bài toán. Sơ 19 .................. đồ tổng quát của quy trình như hình bên dưới.

3

L i nói đ u

ệ ứ ử ụ ề ể Ngày nay vi c  ng d ng vi đi u khi n, vi x  lý đang ngày càng phát

ể ộ ự ề ậ ậ ỹ tri n r ng rãi và thâm nh p ngày càng nhi u vào các lĩnh v c k  thu t và

ệ ố ứ ụ ộ ờ ố đ i s ng xã h i. Tuy nhiên  ng d ng cho các h  th ng nhúng ngày nay

ỉ ừ ơ ạ ở ề ế ể ố ả không đ n gi n ch  d ng l ấ  đi u khi n đèn nh p nháy, đ m s  ng i ườ   i

ể ề ể ị ủ   vào/ra, hi n th  dòng thông báo trên matrix led hay đi u khi n ON­OFF c a

ứ ạ ơ ở ớ ướ ấ ế ộ đ ng c … mà nó ngày càng tr  nên ph c t p. Và v i xu h ng t t y u này

ệ ế ạ ớ ự ể ạ ạ ườ ẽ ủ cùng v i s  phát tri n m nh m  c a công ngh  ch  t o vi m ch, ng i ta

ứ ữ ể ề ạ ạ ơ ờ ấ đã t o ra nh ng vi đi u khi n có c u trúc m nh h n, đáp  ng th i gian

ự ố ơ ề ể ẩ ơ ướ th c t ớ t h n, chu n hóa h n so v i các vi đi u khi n 8 bit tr c đây.

ớ ự ẽ ủ ể ạ ặ ọ ệ V i s  phát tri n m nh m  c a khoa h c, đ c bi t là ngành đi n t ệ ử ự , s

ệ ử ệ ứ ượ phát minh ra các linh ki n đi n t đã và đang ngày càng đáp  ng đ c yêu

ệ ố Ư ể ệ ử ụ ệ ử ệ ủ ầ ủ c u c a các h  th ng.  u đi m c a vi c s  d ng các linh ki n đi n t làm

ệ ố ạ ạ ấ ơ ơ ộ cho các h  th ng linh ho t và đa d ng h n, giá thành th p h n và đ  chính

xác cao h n.ơ

ầ ượ ọ ậ Sau g n 4 năm h c t p và nghiên c u ứ ở ườ  tr ng, chúng em đã đ c làm

ế ớ ụ ể ớ ọ quen v i các môn h c chuyên ngành. Đ  áp d ng lý thuy t v i th c t ự ế ọ    h c

ượ ồ ọ ớ ỳ k  này chúng em đ ầ   ệ ố c giao đ  án môn h c h  th ng nhúng v i yêu c u

ồ ờ ự ự ồ ể ị ” “xây d ng đ ng h  th i gian th c hi n th  trên LED 7 thanh

ứ ế ế ệ ạ ả   Tuy nhiên do ki n th c chuyên môn còn h n ch , tài li u tham kh o

ớ ạ ề ả ấ ầ có gi i h n nên còn x y ra nhi u sai sót. Chúng em r t mong mong th y và

ủ ạ ổ ồ ượ ơ ể ả các b n góp ý b  sung đ  b n đ  án c a chúng em đ ệ c hoàn thi n h n và

ể ế ơ ọ ậ ế giúp chúng em hi u bi t h n trong quá trình h c t p ti p theo.

ả ơ Nhóm chúng em xin chân thành c m  n!

4

ệ ề ự       Nhóm th c hi n đ  tài:

ọ Hoàng Ng c Tân

ễ ệ Nguy n Đăng Tu

ứ ọ Lê Đ c Tr ng

ệ ố

NG 1: Kh o sát và phân tích h  th ng ệ

ƯƠ CH ớ 1.1. Gi

i thi u chung.

ớ ệ ề ệ ố ờ 1.1.1. Gi ự i thi u v  h  th ng th i gian th c

ệ ố ữ ề ể ầ ờ Trong nh ng năm g n đây, các h  th ng đi u khi n theo th i gian

ề ự ự ữ ộ ớ ự th c là m t trong nh ng lĩnh v c thu hút nhi u s  chú ý trong gi ọ   i khoa h c

ề ề ứ ề ấ ọ ờ nghiên c u v  khoa h c máy tính. Trong đó, v n đ  đi u hành th i gian

ự ấ ặ ệ ứ ụ ọ ộ ề ậ ị th c và v n đ  l p l ch là đ c bi t quan tr ng. M t trong  ng d ng quan

ệ ố ự ủ ọ ờ ượ ứ tr ng c a h  th ng th i gian th c (RTS) đã và đang đ ộ   ụ c  ng d ng r ng

ề ả ấ ự ộ ệ ể rãi hi n nay là các dây truy n s n xu t t ề  đ ng, robot, đi u khi n các thí

ự ộ ế ế ồ ồ ể ự ệ nghi m t đ ng, trong thi ị ờ t k  đ ng h  hi n th  th i gian th c…Th  h ế ệ

ứ ủ ệ ố ẽ ề ụ ế ể ố ng d ng ti p theo c a h  th ng này s  đi u khi n robot gi ng con ng ườ   i,

ể ệ ề ể   ệ ố h  th ng ki m soát thông minh trong các nhà máy công nghi p, đi u khi n

ạ các tr m không gian…

ờ ệ ự ề ệ ố 1.1.2. Khái ni m v  h  th ng th i gian th c

ộ ệ ố ể ể ự ư ờ ộ M t h  th ng th i gian th c (RTC) có th  hi u nh  là m t mô hình

ắ ủ ệ ố ụ ế ả ộ ỉ ử x  lý mà tính đúng đ n c a h  th ng không ch  ph  thu c vào k t qu  tính

ụ ế ả ộ ờ toán logic mà còn ph  thu c vào th i gian do k t qu  này phát sinh ra.

ệ ố ự ế ế ả ờ ạ ằ ờ H  th ng th i gian th c thi t k  nh m cho phép tr  l i l ế   i các y u

ừ ế ị ứ ầ ộ ộ ố t kích thích phát sinh t các thi ờ   t b  ph n c ng trong m t ràng bu c th i

ị Ở ể ể ế ộ gian xác đ nh. đây ta có th  hi u th  nào là m t RTS (real time systems)

ộ ế ệ ờ ể ế ộ ự   ằ b ng cách hi u th  nào là m t ti n trình, m t công ngh  th i gian th c.

ộ ố ữ ệ ỉ ượ ọ Nhìn chung trong nh ng RTS ch  có m t s  công vi c đ c g i là công

5

ứ ộ ự ệ ệ ẩ ấ ờ ộ ả   vi c th i gian th c, các công vi c này có m t m c đ  kh n c p riêng ph i

ấ ế ớ ự ự ả hoàn t ổ ủ ự ệ t. S  thay đ i c a s  ki n trong th  gi ỗ   ấ i th c x y ra r t nhanh, m i

ệ ử ự ệ ệ ế ả ộ ả   ự ti n trình giám sát s  ki n này ph i th c hi n vi c x  lý trong m t kho ng

ả ọ ờ ộ ộ ờ th i gian ràng bu c g i là deadline, kho ng th i gian ràng bu c này đ ượ   c

ắ ầ ở ờ ờ ị ấ ệ xác đ nh b i th i gian b t đ u và th i gian hoàn t ự   t công vi c. Trong th c

ế ố ắ ả ả ấ ế t , các y u t ờ  kích thích này x y ra trong th i gian r t ng n vào kho ng vài

ệ ố ả ạ ế ố ờ ố mili giây, th i gian mà h  th ng tr  l i y u t kích thích đó t ấ t nh t vào

ướ ộ ườ ụ ả ả ả kho ng d i m t giây, th ờ   ng vào kho ng vài ch c mili giây, kho ng th i

ử ế ờ ồ ậ gian này bao g m th i gian ti p nh n kích thích, x  lý thông tin và tr  l ả ờ   i

ộ ế ố ữ ầ kích thích. M t y u t ệ    khác c n quan tâm trong RTS là nh ng công vi c

ự ệ ầ ầ ờ th i gian th c này có tu n hoàn hay không? Công vi c tu n hoàn thì ràng

ừ ệ ấ ộ ờ ỳ ị ị ầ   bu c th i gian  n đ nh trong t ng chu k  xác đ nh, công vi c không tu n

ắ ầ ế ả ộ ớ ờ ệ   hoàn x y ra v i ràng bu c th i gian vào lúc b t đ u và k t thúc công vi c,

ỉ ượ ộ ắ ầ ế ệ ị ràng bu c này ch  đ c xác đ nh vào lúc b t đ u công vi c. Các bi n c ố

ệ ạ ầ ườ ậ ử ự ỹ kích ho t công vi c không tu n hoàn th ắ   ng d a trên k  thu t x  lý ng t

ầ ứ ủ ệ ố c a h  th ng ph n c ng.

ề ấ ạ ườ ượ ấ ừ ố V  c u t o, RTS th ng đ c c u thành t các thành t chính sau:

ồ ờ ự ự ấ ồ ờ ­Đ ng h  th i gian th c: Cung c p thông tin th i gian th c.

ế ố ộ ề ể ắ ả ỳ ­ B  đi u khi n ng t: Qu n lý các bi n c  không theo chu k .

ộ ị ự ể ệ ả ­ B  đ nh hi u: Qu n lý các quá trình th c hi n.

ả ấ ộ ­ B  qu n lý tài nguyên: Cung c p các tài nguyên máy tính.

ộ ề ở ộ ự ể ệ ế ­ B  đi u khi n th c hi n: Kh i đ ng các ti n trình.

ố ể ượ ứ ầ ị Các thành t trên có th  đ ầ   c phân đ nh là thành ph n c ng hay ph n

ệ ố ử ụ ề ộ ườ m m tùy thu c vào h  th ng và ý nghĩa s  d ng. Thông th ng các RTS

ượ ế ợ ứ ầ ả ố ơ ề ầ ớ đ c k t h p vào ph n c ng có kh  năng t t h n so v i ph n m m có

ứ ươ ứ ượ ệ ố ư ắ ch c năng t ng  ng và tránh đ c chi phí quá đ t cho vi c t i  u hóa

6

ọ ự ư ứ ẻ ề ầ ầ ph n m m. Ngày nay chi phí ph n c ng ngày càng r , ch n l a  u tiên

ầ ứ ộ ướ ph n c ng là m t xu h ng chung.

ạ ệ ố ờ 1.1.3.Các lo i h  th ng th i gian th c ự

ườ ượ ạ ờ Các RTS th ng đ ự ứ   ệ ố c phân thành hai lo i H  th ng th i gian th c c ng

ự ệ ề ố ờ (Hard   reatime   system)   và   H   th ng   th i   gian   th c   m m(Soft   reatime

system ):

ự ứ ệ ố ủ ờ ộ ả   ệ ố H  th ng th i gian th c c ng là h  th ng mà các hành đ ng c a nó ph i

ờ ạ ộ ờ không bao gi ờ ạ ậ    vi ph m các ràng bu c th i gian trong đó có th i h n l p

ả ế ệ ố ắ ượ ậ ắ ờ ạ ậ ị ủ ị l ch, h  th ng ph i ti p nh n và n m b t đ c th i h n l p l ch c a nó t ạ   i

ệ ố ể ọ ờ ỗ ế ặ ậ m i th i đi m. H  th ng có l ờ ạ   ệ i ho c sai sót trong vi c ti p nh n th i h n

ậ ọ ệ ạ ề ậ ấ ả ưở ả ẽ s  gây ra h u qu  nghiêm tr ng, thi t h i v  v t ch t, gây  nh h ấ   ng s u

ờ ố ỏ ườ ế ậ ườ ớ ệ ố ế ứ đ n s c kh e, đ i s ng con ng i, th m chí ch t ng ờ   i. V i h  th ng th i

ự ứ ễ ố ộ ờ ữ ệ gian th c c ng d  li u tr  là không t ụ ề ệ ố t. M t ví d  v  h  th ng th i gian

ự ứ ệ ố ệ ố ư ể ộ th c c ng là h  th ng ki m soát không l u.Trong h  th ng này, m t phân

ố ườ ấ ạ ờ ờ ợ ph i đ ng bay, th i gian c t cánh, th i gian h  cánh không h p lý, không

ả ủ ể ạ ậ đúng lúc có th  gây ra tai n n máy bay mà h u qu  c a nó khó mà l ườ   ng

tr ướ ượ c đ c.

ệ ố ự ề ờ ờ Ng ượ ạ c l ả ề ủ ệ ố   i, h  th ng th i gian th c m m th i gian tr  v  c a h  th ng

ế ố ọ ườ ợ cho các y u t kích thích quan tr ng, tuy nhiên trong tr ộ   ng h p ràng bu c

ả ề ủ ệ ố ứ ạ ờ ị ượ ớ ạ này b  vi ph m, t c là th i gian tr  v  c a h  th ng v t quá gi i h n tr ễ

ế ụ ệ ố ạ ộ ẫ ườ cho phép, h  th ng v n cho phép ti p t c ho t đ ng bình th ng, không

ự ế ạ ạ quan tâm đ n các tác h i do s  vi ph m này gây ra.

ả ườ ệ ế ặ ạ Trong c  hai lo i này, máy tính th ự ng can thi p tr c ti p ho c gián

ế ế ị ậ ư ề ể ể ế ti p đ n các thi ể ự ạ ộ   t b  v t lý đ  ki m soát cũng nh  đi u khi n s  ho t đ ng

ế ị ứ ộ ườ ủ c a thi t b  này. Đ ng trên góc đ  này ng ạ   i ta chia các RTS ra làm hai lo i

sau:

7

ộ ử ể ầ ộ ề ­ Embededed system: B  x  lý đi u khi n là m t ph n trong toàn b ộ

ế ị ượ ả ừ ế ố ứ ừ ườ thi t b , nó đ ấ ọ c s n xu t tr n gói t y u t c ng t nhà máy, ng i ta s ử

ế ề ế ủ ể ề ụ d ng không bi t v  chi ti t c a nó mà thông qua các nút đi u khi n, các

ớ ệ ố ấ ố ượ ế ị ư ả b ng s . V i h  th ng này, ta không th y đ c các thi t b  nh  trong máy

ườ ư tính bình th ề   ng nh  bàn phím, màn hình… mà thay vào đó là các nút đi u

ụ ể ả ặ ả ố ố ư   khi n, các b ng s , các b ng s  hay các màn hình chuyên d ng đ c tr ng

ặ ụ ộ ườ ử ụ ỉ ệ ấ ệ ố cho các h  th ng, máy gi t là m t ví d . Ng i s  d ng ch  vi c b m nút

ươ ặ ệ ố ế ệ ả ộ ọ ch n ch ng trình gi t, xem k t qu  qua h  th ng đèn tín hi u…B  vi x ử

ượ ậ ướ ắ lý trong Embeded system này đã đ c l p trình tr ặ c và g n ch t vào ngay

ừ ể ậ ả ấ ạ ươ t khi s n xu t và không th  l p trình l ữ i nh ng ch ạ   ng trình này ho t

ớ ệ ề ộ ậ ư ự ế ộ đ ng đ c l p, không có s  giao ti p v i h  đi u hành cũng nh  không cho

ườ ử ụ ệ phép ng i s  d ng can thi p vào.

ệ ố ự ữ ủ ứ ệ ạ ồ ­ Lo i th  hai là bao g m nh ng h  th ng có s  can thi p c a máy tính

ườ ể ể thông th ng. Thông qua máy tính ta hoàn toàn có th  ki m soát cũng nh ư

ủ ể ề ạ ọ ộ ế ứ ệ ầ ố ị đi u   khi n   m i   ho t   đ ng   c a   thi ủ t   b   ph n   c ng   c a   h   th ng   này.

ữ ươ ụ ụ ể ề ề ạ ấ Nh ng ch ề   ng trình đi u khi n này có r t nhi u lo i, ph c v  cho nhi u

ể ế ạ ụ ầ ợ m c đích khác nhau và có th  vi t l ớ i cho phù h p v i yêu c u th c t ự ế   .

ạ ệ ố ạ ộ ể ượ ả ầ Hi n nhiên thì lo i h  th ng này ho t đ ng đ ộ ệ ề   c ph i c n m t h  đi u

ể ề ả ả ậ hành(HĐH) đi u khi n máy tính. HĐH này ph i có kh  năng nh n bi ế   t

ượ ế ị ứ ầ ả ấ đ c thi t b  ph n c ng, có kh  năng hoàn t ệ t công vi c trong gi ớ ạ   i h n

ỗ ợ ứ ặ ờ ờ ự   ả th i gian nghiêm ng t. HĐH này ph i là HĐH h  tr  x  lý th i gian th c

Realtime operation system (RTOS)

ệ ố ộ ố ử ụ ự ế ự ả ờ * M t s  hình  nh s  d ng h  th ng th i gian th c dùng trong th c t

8

ế ị ử ụ ự ể ờ Hình 1.1: Thi t b  s  d ng đ  theo dõi th i gian th c trong các ph ươ   ng

ti nệ

ồ ệ ử ể ị ờ ồ Hình 1.2: Đ ng h  đi n t ự  hi n th  th i gian th c

ề ệ ố ổ 1.2. T ng quan v  h  th ng

ử ụ ứ ụ ề ể ể ế ế ộ ồ Đây là  ng d ng s  d ng vi đi u khi n đ  thi ồ ờ   t k  m t đ ng h  th i

ự ể ầ ả ả ớ ị ề gian th c hi n th  trên led 7 thanh, v i yêu c u đ m b o v :

ự ể ả +  Tính th c thi cao, có kh  năng phát tri n.

ề ấ ượ ả ệ ề ộ ả + Đ m b o v  ch t l ỉ ng, đ  chính xác cao, làm vi c lâu dài, b n b .

ế ễ ử ụ ễ ế ệ ễ ệ +  Ti t ki m chi phí, linh ki n d  ki m d  s  d ng và d  dàng thay

ế ự ố ả th  khi x y ra s  c .

ả ưỡ ể ả ậ ữ ờ + Gi m thi u chi phí, th i gian v n hành, b o d ử ng và s a ch a.

ể ử ụ ồ ạ ồ ờ + Có th  s  d ng riêng (đ ng h  v n niên xem gi , ngày tháng năm)

ể ử ụ ệ ố ẹ ắ hay có th  s  d ng chung ( l p vào các h  th ng m ).

9

ề ệ ừ ầ ố ế ế ệ ố T   các  yêu  c u  trên  v  h  th ng  chúng  ta  thi t  k  h  th ng  theo

ướ ệ ố ử ụ ư ủ ể ờ ớ h ự ứ ng s  d ng h  th ng th i gian th c c ng v i các  u đi m c a nó. Sau

ể ộ ớ ệ ơ ượ đây là m t vài đi m gi i thi u s  l c:

ể ể ẻ ễ ử ụ ế ạ ị ­ S  d ng LED 7 đo n đ  hi n th  vì giá thành r , d  tìm ki m.

ử ụ ự ụ ạ ờ ờ   ­ S  d ng IC th i gian th c DS1307. IC này có tác d ng t o ra th i

ự ươ ố ồ ờ gian th c t ng đ i chính xác, bao g m gi ứ , phút, giây, th , ngày, tháng,

năm

ử ụ ề ể ọ ­ S  d ng h  vi đi u khi n MCS­51(Atmel).

ử ụ ị ố ượ ể ­ S  d ng IC ghi d ch ể 74HC138 đ  tăng s  l ề ng chân đi u khi n cho

ể ề vi đi u khi n.

10

ế ế ệ ố

ươ

t k  h  th ng

Ch

ng 2

: Thi

ể ơ ồ ổ 2.1. S  đ  t ng th

Kh i ngu n

ố ể Kh i hi n  thị

T o xung dao  đ ngộ

Khối điều khiển trung tâm

Đi u khi n

Re s e t

ờ T o th i  gian th cự

ủ ệ ố ơ ồ ổ Hình 2.1 : S  đ  t ng quát c a h  th ng

ủ ơ ồ ổ ạ ộ Nguyên lý ho t đ ng c a s  đ  t ng th ố   ể :  Khi cho đi n áp qua kh i ệ

ề ể ồ ươ ể ẽ ề ngu n cho vi đi u khi n, khi đó ch ng trình trong vi đi u khi n s  làm

ờ ộ ạ ệ ồ ộ ớ ầ ố ị vi c, đ ng th i b  t o xung dao đ ng ạ t o xung nh p v i t n s  12MHz

ữ ệ ủ ạ ộ ế ộ ậ ờ ự   cho VĐK ho t đ ng. Ch  đ  ghi và nh n d  li u c a IC th i gian th c

ệ ề ể ề ượ ậ ư ớ đ a t i vi đi u khi n, các đi u ki n START và STOP đ ạ   c nh n d ng

ắ ầ ề ế ặ ộ ỗ ủ   khi b t đ u ho c k t thúc truy n m t chu i, lúc này các thanh ghi c a

ị ờ ự ậ ờ ờ ứ IC th i gian th c nh n giá tr  th i gian th c ( ự gi , phút, giây, th , ngày,

tháng, năm)

ể ẽ ử ế ể ề ề ồ ờ ộ và g i đ n vi đi u khi n đ ng th i lúc này vi đi u khi n s  gán m t giá

ị ươ ươ ự ồ ử ị ờ ể ố ị tr  t ng đ ng giá tr  th i gian th c r i g i ra kh i hi n th . Lúc này IC

ể ẽ ử ề ể ệ ế ố ố ị ị ghi d ch trong kh i đi u khi n s  g i tín hi u đ n kh i hi n th . Các nút

ấ ụ ề ể ệ ề ố ờ ố ỉ n trong kh i đi u khi n có nhi m v  đi u ch nh th i gian. Kh i Reset

ụ ư ệ ố ề ạ ệ ầ có nhi m v  đ a h  th ng v  tr ng thái ban đ u.

11

2.1.1. ơ ồ ặ ả S  đ  đ c t ố  các kh i

ố 2.1.1.1.   Kh i ngu n ồ

ể ạ ệ ạ ẩ ấ ồ ố   Đây là m ch dùng đ  t o ra ngu n đi n áp chu n +5V c p cho kh i

ử ụ ể ề đi u khi n trung tâm 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

ế ư ể ệ ề ệ ầ ộ ộ th , đ 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.

ầ ầ ạ ổ ổ ầ   IC  n áp 7805: đ u vào > 7V đ u ra 5V, 500 mA. M ch  n áp: c n

ế ề ể ẽ ể ề ồ ổ ị cho vi đi u khi n vì n u ngu n cho vi đi u khi n không  n đ nh thì s  treo

ụ ế ạ ặ ậ VĐK,  không ch y đúng ho c reset liên t c th m chí là ch t chíp.

ố 2.1.1.2. Kh i Reset

ư ề ố ể   ụ Kh i 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. Kh i đi u khi n

ế ượ ự ở ộ ổ ạ ạ ầ ậ nh n bi c s  thay đ i này và kh i đ ng l t đ i tr ng thái ban đ u cho h ệ

th ng.ố

12

ố ề ể 2.1.1.3. Kh i đi u khi n:

ấ ồ G m 4 nút  n:cancel, down, up, menu.

ấ ượ ộ ổ Khi 1 nút  n đ ệ   c tác đ ng làm thay đ i đi n

ể ừ ề ố ớ áp   trên   chân   n i   v i   vi   đi u   khi n   t +5V

ể ề ậ ố xu ng 0V. Lúc này vi đi u khi n nh n bi ế   t

ượ ự ị ầ ổ ổ đ c s  thay đ i và làm thay đ i giá tr  đ u ra:

ế ộ ỉ ể ờ ể ­ Nút menu: Đ  chuy n ch  đ  ch nh th i gian.

ị ầ ề ỉ ­ Nút up: Tăng giá tr  c n đi u ch nh ++1.

ị ầ ề ả ỉ ­ Nút down: Gi m giá tr  c n đi u ch nh –1.

ề ỉ ạ ­ Cancel: thoát tr ng thái đi u ch nh.

ộ ả ủ ị ỉ ớ ầ ầ ị IC 74HC138 là b  gi  mã đ a ch  v i 3 đ u vào ( A,B,C) và 8 đ u ra ph  đ nh

ự ầ ầ (Y0 đ n ế Y7 ). Nó có 3 đ u vào cho phép: 2 đ u vào tích c c th p ( ấ G2A,G2B) và

ộ ầ ấ ả ẽ ở ứ ủ ứ ự ầ m t đ u vào tích c c m c cao (G1). T t c  các đ u ra c a 74HC138 s m c cao

ừ ở ứ ở ứ ầ tr  khi G2A ấ  m c th p và G1 m c cao. Khi các đ u vào G2A,G2B ở ứ ấ    m c th p

ở ứ ẽ ượ ủ ầ ở ầ ế ị và G1 m c cao thì đ u ra c a 74HC138 s  đ c quy t đ nh b i đ u vào .

ố ạ ộ 2.1.1.4. Kh i t o xung dao đ ng:

13

ụ ộ ộ ạ   ạ Đây là 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.

ố ể ị 2.1.1.5. Kh i hi n th :

ể ố ồ ị Kh i hi n th  bao g m các ơ LED 7 thanh đ n (Anode chung) có các

ủ ượ ố ầ đ u vào a,b,c,d,e,f,g c a các LED đ ố ớ   ớ c n i song song v i nhau và n i v i

ừ ụ ể ủ các chân c a VĐK (t ị ạ    chân P0­P3) có tác d ng làm cho LED hi n th  d ng

ầ ố ạ ủ ượ ố ớ ố s  mong mu n. Và đ u còn l i c a 15 LED 7 thanh đ c n i v i 15 chân C

ố ớ ủ ủ ậ ủ c a transistor thu n và chân B c a transistor n i v i các PORT c a VĐK

ừ ủ ượ ố ớ ệ (t P0­>P3), chân E c a transistor đ c n i v i +5V. VĐK làm nhi m v ụ

ề ể ả ờ ừ đi u khi n IC 74HC138 làm cho t ng LED sáng trong kho ng th i gian

ấ ị nh t đ nh.

ố ạ ự ờ 2.1.1.6. Kh i t o th i gian th c:

14

ự ấ ộ ỏ ồ ớ ờ 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 1 pin kho ng 3V vào chân SQW/OUT c a IC DS1307 (sao cho

ủ ấ ố ố ố ủ chân + c a pin n i vàoIC và chân – c a pin n i xu ng đ t). Hai chân 1 và 2

ượ ố ạ ộ ộ ủ (X1,X2) 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.

2.2. L a ch n gi

i pháp

2.2.1. Gi

i pháp công ngh

ự ầ ồ ờ ự ồ ự    : Xây d ng đ ng h  th i gian th c

­ D a vào yêu c u bài toán

ể ị ứ ế ọ và các ki n th c đã h c trong ch ươ   ng hi n th  trên LED 7 thanh

trình.

ử ụ ị ủ ụ ể ợ ấ ớ + S  d ng LED 7 thích h p nh t v i m c đích hi n th  c a RTC khi

ồ ớ ị ờ ữ ể ầ ồ ố ớ dùng làm đ ng h , v i yêu c u hi n th  th i gian v i nh ng dãy s  không

ạ ơ ứ ạ ể ỏ ị đòi h i quá ph c t p. LCD hi n th  linh ho t h n song LED 7 thanh có

ề ư ị ả ư ế ưở ệ ộ ộ nhi u  u th  riêng nh  ít ch u  nh h ủ ng c a nhi ơ   t đ , góc nhìn r ng,đ n

ễ ạ ự ấ ạ ử ụ ẻ ơ ả gi n trong c u t o và s  d ng, r  h n, d  t o s  chú ý.

15

ớ ế ử ụ ự ầ ờ ợ + S  d ng IC th i gian th c DS1307 phù h p v i y u c u bài toán. IC

ự ụ ạ ờ ồ ờ này có tác d ng t o ra th i gian th c chính xác cao, bao g m gi , phút, giây,

ứ th , ngày, tháng, năm .

ử ụ ể ề ậ ờ +  S  d ng vi đi u khi n AT89C52 cho các thao tác truy c p th i gian

ị ờ ự ờ ạ ợ ớ ỏ ể th c, hi n th  gi ỉ  và ch nh gi phù h p v i ph m vi bài toán nh  không

ể ử ụ ứ ạ ư ầ ỉ ầ   ph c t p. Ta cũng có th  s  d ng PIC nh ng do yêu c u bài toán ch  c n

ầ ử ụ ứ ụ ứ ủ   ử ụ s  d ng ch c năng I/O mà không c n s  d ng ch c năng ph  nào khác c a

ệ ầ ề ể ệ ầ ớ vi đi u khi n ngoài nên vi c dùng PIC là lãng phí. V i vi c l n đ u s ử

ẽ ơ ả ơ ượ ề ỏ ụ d ng thì dùng AT89C52 s  đ n gi n h n, tránh đ ơ   c h ng hóc nhi u h n

ớ ử ụ so v i s  d ng PIC.

ử ụ ị ế ố ị 74HC138.  Đây là IC ghi d ch n i ti p song +  S  d ng IC ghi d ch

ượ ứ ố ượ ụ ể ề song. IC đ c  ng d ng đ  tăng s  l ể   ng chân output cho vi đi u khi n.

ươ ố ượ ả ề Có nhi u ph ể ng pháp đ  tăng s  l ư ng chân nh  dùng IC gi i mã, tuy

ị ượ ự ọ ớ nhiên IC ghi d ch 74HC138  đ c l a ch n v i các nguyên nhân sau:

ể ề ể ượ ầ ầ  Đ u vào 3 chân có th  đi u khi n đ c 8 chân đ u ra.

ữ ề ể ổ ơ ị  Cho phép đi u khi n linh ho t và  n đ nh h n: gi a các thanh ạ

ề ộ ị ổ   ố ghi d ch và ngõ ra có m t “ch t”. Đi u này cho phép thay đ i

ạ ữ ệ ạ ổ ị ị linh ho t d  li u trong các thanh ghi d ch và  n đ nh tr ng thái

logic ngõ ra.

ẻ ễ ế  Giá thành r , d  ki m.

ả 2.2.2. Gi i pháp thi ế ế : t k

ế ế ệ ố ấ ượ ấ ọ ủ Thi t k  h  th ng có vai trò r t quan tr ng. Ch t l ầ   ng c a ph n

ộ ấ ụ ề ề ả ế ế ộ ả m m ph  thu c r t nhi u vào b n thi t k . M t b n thi ế ế ố t k  t t còn giúp

ự ễ ệ ệ ạ ơ ườ cho vi c th c hi n các giai đo n khác d  dàng h n, giúp cho ng ự   i th c

ệ ủ ệ ơ hi n hoàn thành chính xác h n công vi c c a mình. Các quy trình thi ế ế  t k

16

ườ ượ ử ụ ặ ế ợ ả ư th ng đ c s  d ng nh : Top­Down, Bottom­Up ho c k t h p c  hai quy

trình trên.

ế ậ 2.2.2.1. Quy trình Top­down: Quy trình này ti p c n bài toán

ướ ừ ạ ế theo h ng xem xét bài toán t các khía c nh chi ti ớ ổ   t và sau đó m i t ng

ườ ượ ụ quát lên. Quy trình Top­Down th ng đ c áp d ng cho các bài toán đã có

ả ệ ả ề ầ ứ ư ầ ả gi ề i pháp công ngh  c  v  ph n m m cũng nh  ph n c ng. Các gi i pháp

ượ ể ướ ở ứ ụ ượ này đã đ c phát tri n tr c đó các  ng d ng khác, và đã đ ể   c ki m

ị đ nh.

ự ế ẽ ấ ố ủ ấ ả ấ Trong th c t chúng ta s  th y, b n ch t hay m u ch t c a quy trình

ể ể ề ấ ị ị ượ là v n đ  tìm hi u và xác đ nh bài toán, làm sao đ  xác đ nh đ c chính xác

ệ ố ủ ấ ầ ầ ằ ộ ả ạ   và đ y đ  nh t các yêu c u cũng các r ng bu c mà h  th ng ph i đ t

đ c.ượ

ơ ồ ế ố ở ướ S  đ  kh i quy trình k  top­down hình d i

17

ầ ề ề ệ ố ộ Phân tích v n đấ (Analyze the problem) ệ Các yêu c u và đi u ki n  ằ r ng bu c cho h  th ng  m iớ

ệ ằ ề

ụ ể ầ ượ ộ Các yêu c u và các đi u ki n r ng  bu c đã đ ị c xác đ nh c  th

ế ế

ồ ồ

ơ ồ

Thi t k  nguyên lý (High level design)

S  đ  kh i và các bi u đ  lu ng d  li u ữ ệ

ế ế ỹ Thi ậ t k  k  thu t

(Engineering design) ấ

ể ữ ệ Các c u trúc d  li u ế Các giao ti p vào ra Bi u đ  quan h  gi a các

ố ệ ữ ồ ứ kh i ch c năng

ệ ố Xây d ng h  th ng (Implementation)

ầ ứ Ph n c ng

ề ầ Ph n m m

ể Ki m tra (Test) ầ ạ Đ t yêu c u Không Đ t ạ yêu c uầ

ơ ồ ố Hình 2.2: S  đ  kh i quy trình Top­Down

18

2.2.2.2. Quy trình Bottom­Up :

ụ Quy trình Bottom­Up trong th c t ự ế ườ  th ng áp d ng trong các bài toán

ư ự ư ọ ượ ả ệ ấ ch a l a ch n hay ch a tìm ra đ c gi ố   i pháp công ngh . M u ch t

ủ ử ệ ậ ớ ệ ố   ủ c a quy trình t p trung ch  yêu và quá trình th  nghi m v i h  th ng

ự ừ ả ệ ệ và tín hi u th c, t ọ  đó ch n ra gi ệ i pháp công ngh  và linh ki n phù

ơ ồ ổ ủ ư ấ ợ h p nh t cho bài toán. S  đ  t ng quát c a quy trình nh  hình bên

d i.ướ

ắ ầ ừ ưở ơ ẻ Quy trình Bottom­Up b t đ u t các ý t ng đ n l ự   , sau đó xây d ng

ế ế ỹ ư ậ ượ luôn thi ấ t k  k  thu t. Nh  ta th y quy trình hoàn toàn ng ớ c so v i Top­

ườ ư ắ ụ Down. Quy trình này th ng áp d ng có các bài toán ch a n m ch c v  l ắ ề ờ   i

ả ườ ế ế ớ ỉ ưở ề ộ ấ ề ố gi i, ng i thi t k  m i ch  có ý t ng v  m t v n đ  nào đó và mu n tìm

ả ặ ả ố ấ ể ả ế ấ ệ ề ộ m t gi i pháp ho c gi i pháp t t nh t đ  gi i quy t v n đ . Vi c gi ả   i

ế ưở ể ộ ộ ả ề ặ ẩ ỉ quy t các ý t ể ng có th  m t ho c nhi u đ  có m t s n ph m hoàn ch nh.

Ở ể ầ ằ ị quy trình này ta c n chú ý có 2 khâu test nh m ki m đ nh chính xác l ạ   i

ế ế ỹ ậ ế ế ướ ự ộ ọ các thi t k  k  thu t và thi t k  nguyên lý tr c khi l a ch n m t gi ả   i

ố ứ ấ pháp t i  u nh t.

ừ ệ ệ ế ế ử ệ ố ướ Chính t vi c thí nghi m và thi t k  th  h  th ng tr ớ   c, sau đó m i

ớ ằ ể ể ặ ớ ộ ọ có th  phân tích nguyên lý đ  ch n các đ c tính m i, r ng bu c m i cho

ộ ệ ố ớ ế ế ỹ ậ ớ m t h  th ng m i. V i quy trình này khâu thi t k  k  thu t và Test sau khi

ệ ố ự ệ ớ ọ ự   ấ xây d ng h  th ng là quan tr ng nh t. Vì v i Top­Down vi c xây d ng

ầ ủ ộ ả ẩ ườ ườ m t s n ph m là theo nhu c u c a ng i dùng và môi tr ặ ệ ố ng đ t h  th ng.

ể ườ ớ ư ể ế ế Còn v i Bottom­Up có th  ng i ta còn ch a tìm ra cách đ  thi ả   t k  ra s n

ặ ả ị ườ ư ề ẩ ẩ ả ph m đó, ho c s n ph m đó ch a h  có trên th  tr ng, khi đó c  ng ườ   i

ườ ế ế ư ề ể ầ dùng và ng i thi ả   t k  ch a th  có thông tin gì v  các yêu c u cho s n

ậ ủ ả ặ ẩ ậ ẩ ỹ ph m hay các đ t tính k  thu t c a s n ph m, vì v y khâu thi ế ế ỹ  t k  k

19

ỹ ư ự ậ ả ặ ằ thu t và Test sau th c thi các k  s  ph i tìm ra các đ t tính đó, nh m xác

ầ Đ t yêu c u

Phân tích v n đấ (Analyze)

ể Ki m tra (Test)

Không Đ t ạ yêu c uầ

ề ộ

ầ Các yêu c u và  ệ ằ đi u ki n r ng  ệ ố bu c cho h  th ng

ơ ồ ố S  đ  kh i và các  ữ ồ ồ ể bi u đ  lu ng d   li uệ

ế ế

t k  nguyên lý Thi (High level design)

ầ Đ t yêu c u

Đ t yêu c u

ầ Đ t yêu c u

Không  ạ Đ t yêu  c uầ

ể Ki m tra (Test)

ể Ki m tra (Test)

Không  ạ Đ t yêu  c uầ

ể Ki m tra (Test)

ầ ứ Ph n c ng ề ầ Ph n m m

ầ ứ Ph n c ng ề ầ Ph n m m

Không  ạ Đ t yêu  c uầ

ệ ố Xây d ng h  th ng (Implementation)

ệ ố Xây d ng h  th ng (Implementation)

Ph n ầ c ngứ Ph n ầ ệ ố Xây d ng h  th ng m mề (Implementation)

ồ ố

ữ ệ Các c u trúc d  li u ế Các giao ti p vào ra ệ ữ Bi u đ  quan h  gi a  ứ các kh i ch c năng

ế ế ỹ

Thi

ậ t k  k  thu t (Engineering design)

ế ế ỹ

Thi

ậ t k  k  thu t (Engineering design)

ế ế ỹ

Thi

ậ t k  k  thu t (Engineering design)

Ý t

ngưở

Ý t

ngưở

Ý t

ngưở

ượ ệ ế ủ ả ư ạ ẩ ớ ị đ nh đ ư c các  u vi t cũng nh  các h n ch  c a s n ph m m i.

ơ ồ ố Hình 2.3: S  đ  kh i quy trình Bottom­Up

ự ế ề ươ ượ ế ợ Trong th c t có nhi u ch ng trình đ ả c k t h p c  hai quy trình

ế ế ươ ụ ậ ượ thi t k  Top­Down và Bottom­Up, ph ng pháp này t n d ng đ ư   c các  u

ạ ỏ ộ ố ủ ả ế ể ể ươ đi m và lo i b  m t s  khuy t đi m c a c  2 ph ng pháp trên.

20

ữ ậ ị ở ế ợ ữ Qua nh ng phân tích và nh n đ nh ầ   ớ  trên k t h p v i nh ng yêu c u

ế ế ự ể ọ ế ế ủ ề c a đ  tài thi t k  chúng em l a ch n quy trình top­Down đ  thi t k  cho

ề đ  tài này.

Timer

ươ

RTC

Ch ề

ng trình  ể đi u khi n chính

Ch

ươ ề

ả Gi i mã  ươ ng trình

ch

trình  ng  ể đi u khi n

chính

ươ ng  Ch trình quét  phím

Transister

LED

Button

2.2.3. ơ ồ S  đ  Call graph:

ơ ồ Hình 2.4: S  đ  Call graph

ầ ớ ạ ệ ố 2.2.4. Các yêu c u và gi i h n cho h  th ng

2.2.4.1. Các yêu c uầ  :

ể ể ị ờ ệ ạ ­ Giao di n rõ ràng đ  hi n th  th i gian đang ch y.

ể ạ ị ươ ­ Hi n th  toàn màn hình khi ch y ch ng trình.

ề ờ ­ Tính chính xác cao v  th i gian.

ấ ữ ệ ử ụ ấ ộ ộ ệ           ­ Không m t d  li u khi m t đi n đ t ng t (do s  d ng ngu n d  tr ồ ự ữ

3V trong DS1307)

ớ ạ 2.2.4.2. Gi i h n cho h  th ng ệ ố  :

ể ể ị ờ ­ Dùng led 7 thanh đ  hi n th  th i gian.

ỉ ể ị ờ ứ ­ Ch  hi n th   gi , phút, giây, th , ngày, tháng, năm.

21

ướ ỏ ọ ưở ử ụ ­ Kích th c nh  g n cho ng i s  d ng.

ề ờ ỉ ­ Có phím đi u ch nh th i gian.

ọ ổ ự ề 2.3. L a ch n t ng quan v  linh ki n ệ

ệ ề Linh ki n trong đ  tài g m ồ  :

ự ờ * IC th i gian th c DS1307

* VĐK AT89C52

ạ * LED 7 đo n Anode chung

ả * IC gi i mã 74HC138

ụ ệ * T  đi n (capacitor)

ệ ở * Đi n tr (resistors)

ấ * Nút  n(button)

2.3.1. ự ờ IC th i gian th c DS1307

ớ ề ệ 2.3.1.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: 56bytes

ữ ệ ượ ị ỉ ề ườ ề + Đ 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:

22

ữ ệ ằ ừ ị ớ + DS1307 có 7 byte d  li u n m t ỉ  đ a ch  0x00 t i 0x06, 1 byte

ữ ư ể ể ườ ủ ụ đ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 đ c d  li u t đ a ch  0x04 (t ong  ng v i ngày

ạ trong tháng) và t i 0x05 (tháng) là 0x15, 0x11.

ủ ư ế + L u ý đ n vai trò c a chân SQW/OUT. Đây là chân cho xung ra

ế ộ ủ c a DS1307 có 4 ch  đ  1Hz, 4.096HZ, 8.192Hz, 32.768Hz…các ch  đ ế ộ

ủ ợ ở ị ị ỉ này đu c quy đ nh b i các bít c a thanh ghi Control Register (đ a ch  0x07 ).

ỉ ủ ị + Đ a ch  c a DS1307 là 0xD0.

ơ ế ạ ộ ứ ủ 2.3.1.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

23

ấ ộ ỏ ồ ờ ự ớ •  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 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:

ả ạ ộ 2.3.1.3. 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

24

ữ ệ ể ọ ế ế ị 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 ­ 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 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 .

ơ ồ ị ỉ   a) S  đ  đ a ch  RAM và RTC:

Secends 00h

25

Minutes Hours Day Date Month Year Control Ram 58x8 07h 08h

3Fh

ề ờ ượ ấ ằ ọ •  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 h p. N i

ủ ướ ạ dung c a các thanh ghi d i d ng mã BCD(binary coded 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.

BIT

BIT7

0

00H

CH

10 SECENDS

SECENDS

00­59

10MINUTES

MINUTES

00­59

X

12

10HR

10H

01­12

X

HOURS

A/P

R

00­23

24

X

X

X

X

X

DAY

1­7

ự ượ ả ư ờ Thanh ghi th i gian th c đ c mô t nh  sau:

26

01­28/29

X

X

10 DATE

DAY

01­30

01­31

10

X

X

X

MONTH

01­12

MONTH

10YEAR

YEAR

00­59

R

07H

OUT X

X

SOWE

X

X RS1

S0

ể ạ ở ế ộ ứ ủ ư •  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  đ

ượ ọ ở ế ộ ứ ớ 12h đ c ch n. ch  đ  12h thì bit 5 là bit AM/PM v i m c cao là là PM.

ở ế ộ ỉ ừ ch  đ  24h thì bit 5 là bit ch  20h (t ế  20h đ n 23h).

ỉ ị ượ ự ậ ữ ệ  •  Trong quá trình truy c p d  li u, khi ch  th  START đ c th c thi thì

ượ ề ớ ứ ộ ờ ờ dòng th i gian đ c truy n t ẽ i m t thanh ghi th  2, thông tin th i gian s

ế ụ ồ ẫ ứ ấ ồ đ ượ ọ ừ c đ c t ạ    thanh ghi th  c p này, trong khi đó đ ng h  v n ti p t c ch y.

ể ề ạ ộ ủ ề ể ể ộ Trong DS1307 có m t thanh ghi đi u khi n đ  đi u khi n ho t đ ng c a

Bit 7 OUT

Bit6 X

Bit5 X

Bit4 SQWE

Bit3 X

Bit2 X

Bit1 RS1

Bit0 RS0

chân SQW/OUT :

ủ ứ ề ể • OUT(output control): bit này đi u khi n m c ra c a chân SQW/OUT khi

ứ ế ầ ở đ u   ra   xung   vuông   là   disable.   N u   SQWE   =   0   thì   m c   logic chân

ế ẽ ế SQW/OUT s  là 1 n u OUT=1 và OUT = 0 n u OUT = 0 .

ượ ế ậ ẽ ầ •  SQWE(square wave enable): bit này đ c thi ủ   t l p 1 s  enable đ u ra c a

ầ ố ủ ầ ụ ộ ộ ị ủ   ộ ạ b  t o dao đ ng. T n s  c a đ u ra sóng vuông ph  thu c vào giá tr  c a

RS1 và RS0.

27

ầ ố ầ

RS1 0 0 1 1 RS0 0 1 0 1 T n s  đ u ra SQW 1 Hz 4.096 kHz 8.192kHz 32.768 kHz

ỗ ợ ữ ệ ứ ề ề        DS1307 h  tr  bus 2 dây 2 chi u và giao th c truy n d  li u. thi ế ị  t b

ượ ọ ế ị ậ ọ ộ ử ữ ệ g i d  li u lên bus đ ộ c g i là b  phát và thi t b  nh n g i là b  thu. thi ế   t

ể ọ ế ị ậ ự ề ị ề b  đi u khi n quá trình này g i là master. Thi ể ủ   t b  nh n s  đi u khi n c a

ậ ự ề ể ủ ọ ế ị master g i là slave. Các bus nh n s  đi u khi n c a master, là thi t b  phát

ể ự ậ ạ ỗ ẽ ề ra chu i xung clock(SCL), master s  đi u khi n s  truy c p bus, t o ra các

ị ỉ ch  th  START và STOP.

ậ ữ ệ ự ỗ ề b) S  truy n nh n d  li u trên chu i bus 2 dây :

ề ữ ệ ẽ ượ ạ ộ ỳ Tu  thu c vào bit R/ w mà 2 lo i truy n d  li u s  đ ự c th c thi:

ề ữ ệ ừ ề ẽ ề •  Truy n d  li u t ậ  master truy n và slave nh n: Master s  truy n byte

ữ ệ ẽ ử ỉ ủ ế ị ầ đ u tiên là đ a ch  c a slave. Ti p sau đó là các byte d  li u. Slave s  g i

ạ ậ ượ ỗ l i bit thông báo đã nh n đ c (bit acknowledge) sau m i byte ữ ệ   d  li u

ậ ượ ữ ệ ẽ ề ừ ấ nh n đ c. d  li u s  truy n t ị  bit có giá tr  nh t (MSB).

ề ữ ệ ừ ỉ ủ ậ ầ ị •  Truy n d  li u t slave và master nh n: byte đ u tiên (đ a ch  c a

ượ ề ớ ẽ ử ạ ở slave) đ c truy n t i slave b i master. Sau đó slave s  g i l i master bit

ữ ệ ớ ẽ ử ế acknowledge. Ti p theo đó slave s  g i các byte d  li u t i master. Master

ậ ượ ỗ ừ ố ẽ ử s  g i cho slave các bit acknowledge sau m i byte nh n đ c tr  byte cu i

ậ ượ ẽ ố ượ cùng, sau khi nh n đ c byte cu i cùng thì bit acknowledge s  không đ c

g i . ử

ấ ả ỗ ỉ ị Master phát ra t t c  các chu i xung clock và các ch  th  START và

ề ẽ ế ự ặ ớ ị ỉ ị ỉ STOP. s  truy n s  k t thúc v i ch  th  STOP ho c ch  th  quay vòng

ỗ ữ ệ ự ề ế ỉ ị START. Khi ch  th  START quay vòng thì s  truy n chu i d  li u ti p theo

28

ượ ư ượ ự ẫ ả ữ ệ ề đ c th c thi và các bus v n ch a đ c gi i phóng. D  li u truy n luôn

ằ ắ ầ b t đ u b ng bit MSB.

ể ạ ộ ở c) DS1307 có th  ho t đ ng ế ộ    2 ch  đ  sau:

ế ộ ỗ ữ ệ ậ •  Ch  đ  slave nh n( ch  đ ỗ   ế ộ  DS1307 ghi): Chu i d  li u và chu i

ẽ ượ ậ ỗ ượ xung clock s  đ c nh n thông qua SDA và SCL. Sau m i byte đ ậ   c nh n

ẽ ượ ề ề thì 1 bit acknowledge s  đ ệ c truy n. các đi u ki n START và STOP s ẽ

ượ ắ ầ ế ề ậ ạ ậ ộ ỗ đ ạ   c nh n d ng khi b t đ u và k t thúc m t truy n 1 chu i. Nh n d ng

ỉ ượ ầ ứ ỉ ủ ự ệ ấ ậ ở ị ị đ a ch  đ c th c hi n b i ph n c ng sau khi ch p nh n đ a ch  c a slave

ề ầ ậ ị ượ ề ỉ và bit chi u. Byte đ a ch  là byte đ u tiên nh n đ ệ   c sau khi đi u ki n

ượ ừ ứ ị ỉ ị START   đ c phát ra t ỉ ủ    master. Byte  đ a ch  có ch a 7 bit  đ a ch  c a

ế ề DS1307, là 1101000, ti p theo đó là bit chi u (R/ w) cho phép ghi khi nó

ậ ả ỉ ế ị ẽ ằ b ng 0. Sau khi nh n và gi ị i mã byte đ a ch  thì thi ệ   t b  s  phát đi 1 tín hi u

ườ ậ ạ ượ ỉ ị acknowledge lên đ ng SDA. Sau khi DS1307 nh n d ng đ c đ a ch  và

ẽ ử ộ ị ỉ ớ ộ bit ghi thì master s  g i m t đ a ch  thanh ghi t ạ i DS1307, t o ra m t con

ỏ ữ ệ ừ ẽ ề tr thanh   ghi   trên   DS1307   và   master   s   truy n   t ng   byte   d   li u   cho

ậ ỗ ượ ẽ ề DS1307 sau m i bit acknowledge nh n đ ề   c. Sau đó master s  truy n đi u

Slave

R/

Word Address

Data (n)

Data (n+1)

Data (n+X)

Address

W

(n)

1101000

0

A XXXXXXXX

A XXXXXXXX A XXXXXXXX A XXXXXXXX A P

S S­START

A­ACKNOWLEDGE

DATA TRANSFERRED(X+1 BYTE + ACKNOWLADGE)

P­STOP

R/W­READ/WRITE OR DIRECTION BIT

ADDRESS = D0h

ệ ệ ki n STOP khi vi c ghi hoàn thành.

ế ộ ế ộ ầ ọ ậ   •  Ch  đ  slave phát ( ch  đ  DS1307 đ c): byte đ u tiên slave nh n

ự ế ộ ế ộ ư đ ượ ươ c t ng t nh  ch  đ  slave ghi. Tuy nhiên trong ch  đ  này thì bit

ạ ề ề ỉ ỗ ữ ệ ượ ề chi u l i ch  chi u truy n ng ượ ạ c  l i. Chu i d  li u  đ c  phát  đi trên

29

ề ở ỗ ệ   SDA b i DS 1307 trong khi chu i xung clock vào chân SCL. Các đi u ki n

ượ ắ ầ ề ế ạ ậ ặ START và STOP đ ộ   c nh n d ng khi b t đ u ho c k t thúc truy n m t

ậ ỗ ỉ ượ ề ầ ị chu i.   Byte   đ a   ch   nh n   đ ệ   c   đ u   tiên   khi   master   phát   đi   đi u   ki n

ỉ ứ ỉ ủ ề ị ị ọ   START. Byte đ a ch  ch a 7 bit đ a ch  c a slave và 1 bit chi u cho phép đ c

ậ ả ỉ ế ị ẽ ậ là   1.   Sau   khi   nh n   và   gi ị i   mã   byte   đ a   ch   thì   thi t   b   s   nh n   1   bit

ườ ắ ầ acknowledge trên đ ng SDA. Sau đó DS1307 b t đ u g i d  li u t ử ữ ệ ớ ị   i đ a

ỉ ỏ ế ỏ ch  con tr thanh ghi thông qua con tr ỏ thanh ghi. N u con tr thanh ghi

ượ ế ướ ế ộ ọ ượ ế ậ không đ c vi t vào tr c khi ch  đ  đ c đ c thi ỉ ầ   ị t l p thì đ a ch  đ u

ượ ọ ẽ ỏ ố ỉ ị tiên đ ứ c đ c s  là đ a ch  cu i cùng ch a trong con tr  thanh ghi. DS1307

ậ ượ ế ệ ộ ẽ s  nh n đ ọ   c m t tín hi u Not Acknowledge khi k t thúc quá trình đ c.

Slave

R/

Data (n)

Data (n+1)

Data (n+2)

Data (n+X)

A XXXXXXXX

A XXXXXXXX A XXXXXXXX A XXXXXXXX A P

Address 1101000

W 0

S S­START

A­ACKNOWLEDGE

DATA TRANSFERRED(X+1 BYTE + ACKNOWLADGE)

P­STOP

R/W­READ/WRITE OR DIRECTION BIT

ADDRESS = D0h

ọ ữ ệ ế ộ Đ c d  li u­ch  đ  slave phát.

ữ ệ ủ ự ệ ệ ờ ọ ơ ồ ồ    •  Th i gian th c hi n vi c đ c,ghi d  li u c a DS1307: s  đ  đ ng

b :ộ

30

TYP MAX UNITS

NOTE

SYMBOL MIN fSCL

0

100

kHz

PARAMETER SCL Clock Frequency Bus free Time Bettween a

4.7

STOP and START

tBUF

µs

Condition Hold Time (Repeated)

4.0

tHDSTA

5

µs

4.7 4.0

tLOW tHIGH

µs µs

START Condition LOW Period of SCL Clock HIGH Period of SCL Clock Set­up Time for a Repeated

4.7

tSU:STA

µs

6.7

tHD:DAT tSU:DAT

0 250

ns ns

START Condition Data Hold Time Data Set­up Time Rise   Time   of   Both   SDA

tR

ns

1000

and SCL Singnals Fall Time of Both SDA and

tF

ns

300

SCL Singnals Set­up   Time   for   STOP

tSU:STO

ns

Condition Capactive   Load   for   each

CB

pF

400

8

CIO

pF

10

Bus Line I/O Capacitance Crystal   Specified   Load

pF

12.5

Capacitance

(0oC to 70 oC or ­40 oC to +85 oC; Vcc=4.5V to 5.5V)

31

ề 2.3.2. ể Vi Đi u Khi n AT89C52

ấ ạ ứ 2.3.2.1. C u t o và ch c năng các

ố ủ kh i c a AT89C52.

(cid:0) CPU( CPU centralprocessing unit) bao g m:ồ

Thanh ghi tích lũy A

Thanh ghi tích lũy ph  Bụ

ọ ơ ị Đ n v  logic h c (ALU)

ừ ạ ươ Thanh ghi t tr ng thái ch ng trình

ố B n băng thanh ghi

Con tr  ngăn x p ế ỏ

ớ ươ (cid:0) B  nh  ch ộ ồ ng trình( ROM) g m 8Kbyte Flash.

ớ ữ ệ ộ ồ (cid:0) B  nh  d  li u( RAM) g m 256 byte.

ố ế ứ ề ậ ộ (cid:0) B  UART, có ch c năng truy n nh n n i ti p.

(cid:0) ứ ự ế ệ ờ ộ ị ự ệ . 3 b  Timer/Counter 16 bit th c hi n ch c năng đ nh th i và đ m s  ki n

ắ ớ ề ể ắ ắ ố ồ (cid:0) Kh i đi u khi n ng t v i 2 ngu n ng t ngoài và 4 ngu n ng t trong. ồ

32

ộ ậ ươ (cid:0) B  l p trình ( ghi ch ng trình lên Flash ROM) cho phép ng ườ ử  i s

ể ạ ươ ầ ụ d ng có th  n p các ch ộ ạ   ng trình cho chíp mà không c n các b  n p

chuyên d ng.ụ

ộ (cid:0) B  chia t n s  v i h  s  chia là 12. ầ ố ớ ệ ố

(cid:0) ấ ổ ớ ậ 4 c ng xu t nh p v i 32 chân.

ứ ủ 2.3.2.2. Ch c năng các chân c a AT89C52

 Port 0( P0.0­P0.7)

ứ ậ ấ ồ ợ   Port 0 g m 8 chân, ngoài ch c năng xu t nh p, port 0 còn là bus đa h p

ẽ ượ ử ụ ứ ỉ ị ữ ệ d  li u và đ a ch  ( AD0­AD7), ch c năng này s  đ c s  d ng khi 89c52

ế ớ ế ị ư ế ạ ớ giao ti p v i các thi ạ   t b  ngoài có ki n trúc Bus nh  các vi m ch nh , m ch

PIO…

 Port 1( P1.0­P1.7)

ấ ủ ứ ứ ư ậ ấ Ch c năng duy nh t c a Port 1 là ch c năng xu t nh p cũng nh  các

ể ậ ấ Port khác. Port1 có th  xu t nh p theo bit và theo byte.

 Port 2( P2.0=>P2.7)

ư ứ ổ Port 2 ngoài ch c năng là c ng vào/ra nh  Port 0 và 1 còn là byte cao

ử ụ ộ ớ ị ỉ ủ c a bus đ a ch  khi s  d ng b  nh  ngoài.

 Port 3(P3.0=>P3.7)

ứ ứ ấ ậ ỗ ộ M i chân trên Port 3 ngoài ch c năng xu t nh p còn có m t ch c năng

Bit  P3.0 P3.1

Tên RXD TXD

ứ Ch c năng ữ ệ ố ế D  li u nh n cho Port n i ti p ố ế ữ ệ D  li u truy n cho Port n i ti p

ắ ắ

P3.2 P3.3 P3.4

INT0 INT1 TO

Ng t bên ngoài 0 Ng t ngoài 1 Ngõ vào c a Timer/counter0

ụ ể ư riêng, c  th  nh  sau:

33

ớ ữ ệ ớ ữ ệ

ủ ộ ọ ộ

P3.5 P3.6 P3.7

T1 /WR /RD

Ngõ vào c a Timer/counter1 Xung ghi b  nh  d  li u ngoài. Xung đ c b  nh  d  li u ngoài.

ề ể ọ ươ ở ộ  Chân /PSEN : là chân đi u khi n đ c ch ng trình ớ  b  nh  ngoài.

 Chân ALE.

ầ ố ằ ầ ố ố ị ệ ể ề ỉ ALE là tín hi u đi u khi n ch t đ a ch  có t n s  b ng 1/6 t n s  dao

ủ ể ệ ề ượ ể ộ đ ng c a vi đi u khi n. Tín hi u ALE đ ạ   c dùng đ  cho phép vi m ch

ư ố ch t bên ngoài nh  7473.

 Chân /EA.

ệ ớ ọ ộ ươ ộ Tín hi u /EA cho phép ch n b  nh  ch ớ ng trình là b  nh  trong hay ngoài.

ệ ươ ệ ở ự ộ ự EA=1 thì th c hi n ch ng trình trong RAM n i. EA=0 th c hi n RAM

ngoài.

 RST( reset)

ề ộ ố Ngõ vào reset trên chân s  9. Khi RST=1 thì b  vi đi u khi n s  đ ể ẽ ượ   c

ạ ế ậ ầ ở ộ kh i đ ng l i thi t l p ban đ u.

 XTAL1, XTAL2

ượ ầ ố ạ ố ớ 2 chân này đ c n i song song v i th ch anh t n s  max=33 Mhz. Đ ể

ề ể ộ ộ ạ t o dao đ ng cho b  vi đi u khi n.

ề ể ấ ấ ồ ộ  Vcc, GND : cung c p ngu n nuôi cho b  vi đi u khi n. C p qua chân

20 và 40.

2.3.3. Led 7 đo n.ạ

ơ ả ệ 2.3.3.1. Các khái ni m c  b n :

ế ị ể ạ ộ ủ ạ ế ị Trong các thi t b , đ  báo tr ng thái ho t đ ng c a thi t b   đó cho

ườ ử ụ ố ơ ầ ớ ố ườ ườ ng ỉ i s  d ng v i thông s  ch  là các dãy s  đ n thu n, th ng ng i ta

led 7 đo nạ ". Led 7 đo n đ

ạ ượ ử ụ ố ử ụ s  d ng " c s  d ng khi các dãy s  không đòi

34

ứ ạ ỉ ầ ị ố ủ ệ ạ ạ ẳ ỏ h i quá ph c t p, ch  c n hi n th  s  là đ , ch ng h n led 7 đo n đ ượ   c

ị ệ ộ ồ ồ ườ ằ ể ể dùng đ  hi n th  nhi t đ  phòng, trong các đ ng h  treo t ệ   ng b ng đi n

ử ị ố ượ ể ả ẩ ượ ể ạ ộ t , hi n th  s  l ng s n ph m đ c ki m tra sau m t công đo n nào đó...

ấ ạ ế ạ ạ ồ ơ Led 7 đo n có c u t o bao g m 7 led đ n có d ng thanh x p theo hình và

ỏ ể ệ ấ ấ ộ ơ ở có thêm. M t led đ n hình tròn nh  th  hi n d u ch m tròn góc d ướ   i,

ả ủ ự ơ bên ph i c a led 7 đo n. ặ   ạ 8 led đ n trên led 7 đo n có Anode (c c +) ho c ạ

ự ượ ể ố ộ ượ ư Cathode (c c ­) đ c n i chung v i ớ  nhau vào m t đi m, đ c đ a chân ra

ể ế ố ớ ự ệ ạ ạ ỗ ơ ngoài đ  k t n i v i m ch đi n. 8 c c còn l i trên m i led đ n đ ượ ư   c đ a

ượ ư ể ế ố ớ thành 8 chân riêng, cũng đ c đ a ra ngoài đ  k t n i v i m ch ế   ạ  đi n. N u ệ

ự ạ ầ ượ ố ớ led 7 đo n có Anode(c c +) chung, đ u chung này đ c n i v i +Vcc, các

ạ ể ề ạ ắ ủ ơ chân còn l ể i dùng đ  đi u khi n tr ng thái sáng t t c a các led đ n, led ch ỉ

ệ ở ứ ế ạ ặ sáng khi tín hi u đ t vào các chân này m c 0. N u led 7 đo n có Cathode

ự ầ ượ ố ố (c c ­) chung, đ u chung này đ c n i xu ng Ground (hay Mass), các chân

ạ ể ề ể ạ ắ ủ ỉ còn l i dùng đ  đi u khi n tr ng thái sáng t ơ t c a các led đ n, led ch  sáng

ệ ặ ở ứ khi tín hi u đ t vào các chân này m c 1.

ế ố ầ ứ ạ ơ ả   Vì led 7 đo n ch a bên trong nó các led đ n, do đó khi k t n i c n đ m

ể ả ệ ả ỗ ơ ả b o dòng ế    qua m i led đ n trong kho ng 10mA­20mA đ  b o v  led. N u

Ω ồ ể ạ ệ ằ ở ướ ế ố ớ k t n i v i ngu n 5V có th  h n dòng b ng đi n tr  330  tr c các chân

ể ề ệ ậ nh n tín hi u đi u khi n.

ơ ồ ị 2.3.3.2. S  đ  v  trí các led :

Ω ệ ệ ở ở ượ Các đi n tr  330  là các đi n tr  bên ngoài đ c k t n i đ  gi ế ố ể ớ ạ   i h n

ạ ượ ố ớ ệ ế ồ dòng đi n qua led n u led 7 đo n đ c n i v i ngu n 5V.

35

ơ ồ ả ọ Hình 2.5: s  đ  chân 7 SEG­COM­ANODE và hình  nh minh h a

ế ố ớ ể ề 2.3.3.3. K t n i v i Vi đi u khi n:

ể ủ ệ ề ậ ạ ườ Ngõ nh n tín hi u đi u khi n c a led 7 đo n có 8 đ ậ ng, vì v y có th ể

ể ề ủ ề ể ể ạ ư ậ   dùng 1 Port nào đó c a Vi đi u khi n đ  đi u khi n led 7 đo n. Nh  v y

ộ ữ ệ ậ ạ ừ ể ề ể ề ể led 7 đo n nh n m t d  li u 8 bit t ạ    Vi đi u khi n đ  đi u khi n ho t

ắ ủ ừ ữ ệ ơ ượ ề ấ ộ đ ng sáng t t c a t ng led đ n trong nó, d  li u đ ể   c xu t ra đi u khi n

ạ ườ ượ ể ể ạ ọ ị led 7 đo n th ng đ c g i là "mã hi n th  led 7 đo n". Có hai ki u mã

ự ể ạ ạ ị hi n th  led 7 đo n: mã dành cho led 7 đo n có Anode(c c +) chung và mã

ể ệ ự ạ ạ ẳ ị ố   dành cho led 7 đo n có Cathode (c c ­) chung. Ch ng h n, đ  hi n th  s  1

ở ị ế ử ụ ạ ầ c n làm cho các led v  trí b và c sáng, n u s  d ng led 7 đo n có Anode

ả ặ ứ ệ chung thì ph i đ t vào hai chân b và c đi n áp là 0V(m c 0) các chân còn l ạ   i

ượ ứ ệ ặ ạ đ ế ử ụ c đ t đi n áp là 5V(m c 1), n u s  d ng led 7 đo n có Cathode chung

ứ ệ ượ ạ ứ thì đi n áp(hay m c logic) hoàn toàn ng ả ặ i, t c là ph i đ t vào chân b c l

ứ ệ ượ ế ố ớ ủ ấ và c đi n áp là 5V(m c 1). ầ ứ Ph n c ng đ c k t n i v i 1 Port b t kì c a Vi

ệ ể ề ậ ử ứ ề ệ ầ ượ ể đi u khi n, đ  thu n ti n cho vi c x  lí v  sau ph n c ng nên đ ế   c k t

ố ớ ư ố ớ ầ ượ ố n i nh  sau: Px.0 n i v i chân a, Px.1 n i v i chân b, l n l t theo th  t ứ ự

ố ớ ế cho đ n Px.7 n i v i chân h.

36

ả ủ 2.3.3.4. B ng mã c a Led Anode chung

dp Mã Hex

Số

a

b

c

d

e

f

g

0

0

0

0

0

0

0

1

1

03h

1

1

0

0

1

1

1

1

1

9Fh

2

0

0

1

0

0

1

0

1

25h

3

0

0

0

0

1

1

0

1

0Dh

4

1

0

0

1

1

0

0

1

99h

5

0

1

0

0

1

0

0

1

49h

6

0

1

0

0

0

0

0

1

41h

7

0

0

0

1

1

1

1

1

1Fh

8

0

0

0

0

0

0

0

1

01h

9

0

0

0

0

1

0

0

1

09h

ả a. B ng mã cho Led Anode chung (a là MSB, dp là LSB):

37

dp

g

Mã Hex

S

f

e

d

c

b

a

0

1

0

0

0

0

0

0

1

C0h

1

1

1

1

1

0

0

1

1

F9h

2

1

1

0

0

1

0

0

0

A4h

3

1

1

1

0

0

0

0

0

B0h

4

1

0

1

1

0

0

1

0

99h

5

1

0

1

0

0

1

0

0

92h

6

1

0

0

0

0

1

0

0

82h

7

1

1

1

1

0

0

0

1

F8h

8

1

0

0

0

0

0

0

0

80h

9

1

0

1

0

0

0

0

0

90h

ả b. B ng mã cho Led Anode chung (a là LSB, dp là MSB):

ả 2.3.4. IC gi i mã 74HC138:

ơ ồ ủ ­ S  đ  chân c a 74HC138:

38

ộ ả ỉ ớ ầ ầ ị IC 74HC138 là b  gi  mã đ a ch  v i 3 đ u vào ( A0,A1,A2) và 8 đ u ra ph ủ

ầ ị đ nh (Y0 đ n ế Y7 ). Nó có 3 đ u vào cho phép:

ự ầ 2 đ u vào tích c c th p ( ộ ầ   ấ 1E,2E) và m t đ u

ấ ả ứ ự ầ vào tích c c m c cao (E3). T t c  các đ u ra

ẽ ở ứ ừ ủ c a 74HC138 s m c cao tr  khi E1 ở ứ    m c

ấ ở ứ ầ th p và E3 m c cao. Khi các đ u vào 1E,

ở ứ ở ứ ầ 2E ấ  m c th p và E 3 m c cao thì đ u ra

ẽ ượ ở ầ ế ị ủ c a 74HC138 s  đ c quy t đ nh b i đ u vào .

ấ ứ H : M c cao. ứ L : M c th p. X : Không làm vi c.ệ

ứ ủ ả Hình2.6: B ng ch c năng c a 74HC138

ể ặ ­ Đ c đi m:

ầ ố + S  drive đ u ra: 10 LSTTL Loads

ệ ầ ớ + Các giao di n đ u ra t i CMOS, NMOS and TTL

39

ệ ả ạ ộ + D i đi n áp ho t đ ng : 2.0 to 6.0 V

ệ ấ + Dòng đi n vào th p: 1.0 µA

ạ ừ ạ ả + Kh  năng lo i tr  t p âm cao trong CMOS Devices

ầ ớ ợ ượ ở ị ữ + Phù h p v i nh ng yêu c u đã đ ẩ   c đ nh nghĩa b i JEDEC theo chu n

7A

ư ặ + Đ c  tr ng ESD : HBM >2000 V; machine Model > 200 V

ộ ứ ạ ủ ổ ươ ươ + Đ  ph c t p c a chip: 100 FETs or 29 c ng t ng đ ng

ế ị ự ụ ễ ữ + Nh ng thi t b  s  d ng mi n phí

ế ậ K t lu n

ử ụ ụ ộ ệ ố ề ờ   RTC s  d ng IC chuyên d ng cho ta đ  chính xác tuy t đ i v  th i

ự ư ự ế ệ ệ ầ ắ ố gian th c mà không c n lo l ng đ n vi c có sai s  nh  khi th c hi n RTC

ư ể ựợ ộ ủ ự ự ờ ằ b ng Timer. Đây là  u đi m v t tr i c a RTC th i gian th c và d a trên

ể ộ ử ụ ứ ụ ể ơ đó, ta có th  phát tri n r ng rãi h n các  ng d ng cho phép s  d ng đ ượ   c

trong th c t ự ế .

ị ướ ể ả Đ nh h ng phát tri n cho các phiên b n sau này:

ế ợ ế ệ ộ ể ệ ộ ớ ả ­ K t h p v i c m bi n nhi t đ  đ  đo nhi ờ t đ  ngoài tr i

ổ ươ ậ ơ ể ỹ ị ­ Thay đ i ph ẹ ng pháp hi n th  sao cho đ p và có m  thu t h n (s ử

ụ ậ d ng ma tr n LED).

ự ươ ể ị ­ D a vào ngày tháng năm d ng l ch đ  tính toán ngày tháng năm âm

ể ị ị l ch và hi n th .

ứ ẹ ị ­ Trang b  thêm ch c năng h n gi ờ .

ử ụ ẻ ơ ề ể ả ạ ẩ ­ H  giá thành s n ph m (s  d ng vi đi u khi n PIC r  h n).

40

ế ộ ể ằ ị ạ ơ   Tuy r ng LCD cho phép các ch  đ  hi n th  linh ho t h n

ư ượ ự ả ấ ả ẩ ớ nh ng không đ ọ c l a ch n là gi i pháp nâng c p s n ph m v i các

lí do:

­ Giá thành cao.

ớ ị ế ạ ầ ợ ướ ẩ ả ­ T m nhìn h n ch , không phù h p v i đ nh h ng s n ph m là

ồ ệ ử ộ ồ ườ m t đ ng h  đi n t ể  dùng đ  treo t ặ ể ng ho c đ  bàn.

ươ

ệ ố

Ch

ự ng 3: Xây d ng h  th ng

ệ ố ự 3.1. Xây d ng h  th ng

ơ ồ ạ ổ 3.1.1. S  đ  m ch t ng quát

3.1.2.S  đ  m ch in ơ ồ ạ

41

42

3.1.3. ư ồ ậ L u đ  thu t toán:

ư ồ ủ ươ 3.1.3.1. ậ L u đ  thu t toán c a ch ng trình chính

Begin

ệ ừ ọ ữ Ghi và đ c d    DS1307 li u t

ươ ng trình

ọ G i ch quét nút nh nấ

ị Hi n thể

End

43

`

ư ồ ươ ấ 3.1.3.2. L u đ  ch ng trình quét nút nh n

44

Star t Set=0, kt =0

kt ++

Đ

S

Quét giờ

kt =1

S

Đ

Quét phút

kt =2

Đ

S

Quét giây

kt =3

Đ

S

Quét thứ

kt =4

Đ

S

Quét ngày

kt =5

Đ

S

Quét tháng

kt =6

Đ

S

Quét năm

kt =7

S

kt =8

EN D

ươ 3.1.4. Ch ng trình demo

#include

45

#include #include #include

//Khai bao cac chan linh kien sbit data_time=P2^4; sbit data_date=P2^5; sbit set=P1^2; sbit up=P1^3; sbit down=P1^4; sbit clear=P1^5; sbit sqw=P1^6;

//cac bien dung trong chuong trinh unsigned char hour, minute, second,day,date,month,year,control; unsigned char  code_led[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x 00}; unsigned char led_buffer[16]; unsigned char kt=0,a=0,d=0,scan_led,counter; bit set0,set1,up1,up0,down0,down1; //****************CAC CHUONG CHINH CON*********** //Quet led 7 doan dung timer 0 void timer0(void) {

EA=0;//cam ngat toan cuc TMOD=0x2;//timer0 che do 8 bit tu dong nap lai TL0=0x6;//Gia tri bat dau dem = 6 (tre 250us) TH0=0x6;//gia tri TH dc nap vao TL (che do 8 bit) ET0=1;//cho phep ngat timer0 EA=1;//cho phep ngat toan cuc TR0=1;//Bat dau chay timer0

} void quet_led(void)interrupt 1 //dia chi vecto ngat timer0

46

{

TR0=0;//dung chay Timer if(++counter==3)//sau 12x250us=3ms thi thay doi hien thi led {

if(scan_led<=7) {

P2=scan_led;//hien thi cac led o hang 1 (gio,phut,giay,thu) P0=code_led[(led_buffer[scan_led])]; data_time=1;//hien thi gio phut giay

}else

{   P2=scan_led­0x8;// hien thi led hang 2 (ngay thang nam) P0=code_led[(led_buffer[scan_led])]; data_date=1;//hien thi ngay thang nam } scan_led++; if(scan_led>=16) //vuot qua 16 led thi tro ve ban dau {

scan_led=0;

} counter=0;

} TR0=1;//Chay TIMER0

}

void delays(int time_delay) {

unsigned int temp; while(time_delay) {

temp=1000; while(temp) {

temp­­;

47

} time_delay­­;

}

}

void writeds(){

rtc_write(0x00, second); rtc_write(0x01, minute); rtc_write(0x02, hour); rtc_write(0x03, day); rtc_write(0x04, date); rtc_write(0x05, month); rtc_write(0x06, year);

}

void readds() {

if(kt==0) {

if(a==1) {

writeds(); a=0;

} second = rtc_read(0x00); minute = rtc_read(0x01); hour = rtc_read(0x02); day = rtc_read(0x03); date = rtc_read(0x04); month = rtc_read(0x05); year = rtc_read(0x06);

}

} void dislay()

48

{

unsigned char temp;

//*******Hien thi gio************* if((temp=(hour&0x30)>>4)==0)//khong h.thi so 0 o hangchuc {

led_buffer[0]=0x0a;

}else  {

led_buffer[0]=temp;//Lay 2 bit cao

//Lay 4 bit thap

//Lay 4 bit thap

} led_buffer[1]=(hour&0x0f); //*******Hien thi phut********** led_buffer[2]=(minute&0x70)>>4; //lay 3 bit cao led_buffer[3]=minute&0x0f; //*******Hien thi giay********* led_buffer[4]=(second&0x70)>>4; led_buffer[5]=second&0x0f; led_buffer[6]=0x0a; led_buffer[7]=(day&0x7); //*******Hien thi ngay********** if((temp=(date&0x70)>>4)==0)//khong hien thi so 0 o hang chuc {

led_buffer[8]=0x0a;

}else  {

led_buffer[8]=temp;

} led_buffer[9]=date&0x0f; //*********Hien thi thang************ if(((month&0x30)>>4)==0)//khong hien thi so 0 o hang chuc {

led_buffer[10]=0x0a;

}else

49

{

led_buffer[10]=(month&0x30)>>4;

}

led_buffer[11]=month&0x0f; //******Hien thi nam*********** led_buffer[12]=2; led_buffer[13]=0; led_buffer[14]=(year&0x70)>>4; led_buffer[15]=year&0x0f;

} void setup_rtc(void)//dat gia tri khoi tao {

second=0x0; minute=0x0; hour=0x0; day=0x4; date=0x8; month=0x6; year=0x11; control=0x10;

rtc_write(0x7, control); rtc_write(0x0, second); rtc_write(0x1, minute); rtc_write(0x2, hour); rtc_write(0x3, day); rtc_write(0x4, date); rtc_write(0x5, month); rtc_write(0x6, year);

} void ktphim() { set0=set1;set1=set; if((set0==1)&&(set1==0))

50

{

if(set==0) {

delays(50); if((set==0)&&(clear==0)) {

delays(50); setup_rtc();

}

}    kt++;    if(kt==8)kt=0;    } if(clear==0)kt=0; switch(kt)  {   case 0:break;   case 1:     {       up0=up1;up1=up; a=1;d=1;       if((up0==1)&&(up1==0))        {          hour++;

if(hour==24)hour=0;

}        down0=down1;down1=down;        if((down0==1)&&(down1==0))         {           hour­­;

if(hour==­1)hour=23;

}      break;    }   case 2:

51

{      up0=up1;up1=up; a=1;d=1;      if((up0==1)&&(up1==0))        {          minute++;

if(minute==60)  minute=0;

}      down0=down1;down1=down;      if((down0==1)&&(down1==0))        {          minute­­;

if(minute==­1)  minute=59;

}       break;     }

case 3:     {      up0=up1;up1=up;a=1;d=1;      if((up0==1)&&(up1==0))       {        second++;

if(second==60)  second=0;

}       down0=down1;down1=down;      if((down0==1)&&(down1==0))       {       second­­;

if(second==­1)   second=0;

}

52

break;     } case 4:     {       up0=up1;up1=up; a=1;d=1;       if((up0==1)&&(up1==0))        {          day++;

if(day==8)day=1;

}        down0=down1;down1=down;        if((down0==1)&&(down1==0))         {           day­­;

if(day==0)    day=7;

}      break;    } case 5:     {

up0=up1;up1=up; a=1;d=1;

if((up0==1)&&(up1==0))        {

date++;

if((month==4)||(month==6)||(month==9)||(month==11)){if(date==31) date=1;}

if((month==1)||(month==3)||(month==5)||(month==7)||

(month==8)|| (month==10)||(month==12)){if(date==32)date=1;}

if((month==2)&&(year%4==0)){if(date==29)date=1;} if((month==2)&&(year%4!=0)){if(date==30)date=1;}

}

53

down0=down1;down1=down;        if((down0==1)&&(down1==0))         {         date­­;

if((month==4)||(month==6)||(month==9)||(month==11)){if(date==0)

date=30;}

if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||

(month==10)||(month==12)){if(date==0)date=31;}

if((month==2)&&(year%4==0)){if(date==0)date=28;} if((month==2)&&(year%4!=0)){if(date==0)date=29;}

}

break;    } case 6:     {       up0=up1;up1=up; a=1;d=1;       if((up0==1)&&(up1==0))        {          month++;

if(month==13)month=1;

}        down0=down1;down1=down;        if((down0==1)&&(down1==0))         {           month­­;

if(month==0)month=12;

}      break;    } case 7:     {       up0=up1;up1=up; a=1;d=1;       if((up0==1)&&(up1==0))        {

54

year++;

if(year==100)year=0;

}        down0=down1;down1=down;        if((down0==1)&&(down1==0))         {           year­­;

if(year==­1)year=99;

}      break;    }    } } void chinhgio(void) {

if(kt==1) {

if(sqw==1) {

led_buffer[0]=hour/10; led_buffer[1]=hour%10;

}else if(sqw==0)

{

led_buffer[0]=10; led_buffer[1]=10;

}

}

if(kt==2) {

if(sqw==1) {

led_buffer[2]=minute/10; led_buffer[3]=minute%10;

55

}else if(sqw==0)

{

led_buffer[2]=10; led_buffer[3]=10;

}

} if(kt==3) {

if(sqw==1) {

led_buffer[4]=second/10; led_buffer[5]=second%10;

}else if(sqw==0)

{

led_buffer[4]=10; led_buffer[5]=10;

}

}

if(kt==4) {

if(sqw==1) {

led_buffer[6]=10; led_buffer[7]=day%10;

}else if(sqw==0)

{

led_buffer[6]=10; led_buffer[7]=10;

}

} if(kt==5) {

if(sqw==1)

56

{

led_buffer[8]=date/10; led_buffer[9]=date%10;

}else if(sqw==0)

{

led_buffer[8]=10; led_buffer[9]=10;

}

} if(kt==6) {

if(sqw==1) {

led_buffer[10]=month/10; led_buffer[11]=month%10;

}else if(sqw==0)

{

led_buffer[10]=10; led_buffer[11]=10;

}

} if(kt==7) {

if(sqw==1) {

led_buffer[12]=2; led_buffer[13]=0; led_buffer[14]=year/10; led_buffer[15]=year%10;

}else if(sqw==0)

{

led_buffer[12]=10; led_buffer[13]=10; led_buffer[14]=10;

57

led_buffer[15]=10;

}

}

} void khoi_chay() {

P0=0x00; delays(100); led_buffer[0]=0xa;delays(5); led_buffer[1]=0xa;delays(5); led_buffer[2]=0xa;delays(5); led_buffer[3]=0xa;delays(5); led_buffer[4]=0xa;delays(5); led_buffer[5]=0xa;delays(5); led_buffer[6]=0xa;delays(5); led_buffer[7]=0xa;delays(5); led_buffer[8]=0xa;delays(5); led_buffer[9]=0xa;delays(5); led_buffer[10]=0xa;delays(5); led_buffer[11]=0xa;delays(5); led_buffer[12]=0xa;delays(5); led_buffer[13]=0xa;delays(5); led_buffer[14]=0xa;delays(5); led_buffer[15]=0xa;delays(5);

}

void main(){

timer0(); khoi_chay(); while(1) {

ktphim(); readds(); if(d==0){

58

dislay();

} if(d==1){

chinhgio(); d=0;

}

}

}

ở ộ ề : M  r ng đ  tài

ỉ ừ ề ạ ở ể ị ờ Trong đ  tài này chúng em ch  d ng l hi n th  gi i , phút, giây,

ướ ứ ể ề ế ế th , ngày, tháng, năm. H ng phát tri n đ  tài này là thi ầ   t k  thêm ph n

ờ ẽ ở ộ ữ ứ ể ế ơ ẹ h n gi ,       báo th c. N u phát tri n h n n a chúng em s  m  r ng thành

ế ế ị ệ ộ ị ề đ  tài thi ả ể t k  có c  hi n th  nhi t đ  và ngày tháng âm l ch.

ệ ả  : Tài li u tham kh o

ệ ố ả ậ ộ ỹ ỹ (cid:0) Bài gi ng H  th ng nhúng – B  môn K  thu t Máy tính, ĐH K  thu t ậ

ệ Công Nghi p Thái Nguyên – 2010

ử ề ể ả ậ ộ ỹ (cid:0) Bài gi ng Vi x  lý­ Vi đi u khi n ­ B  môn K  thu t Máy tính – ĐH

ậ ỹ ệ K  thu t Công Nghi p Thái Nguyên – 2009

ơ ồ ươ ệ ả ấ (cid:0) S   đ   chân   linh   ki n   ­   D ng   Minh   Trí   ­   Nhà   xu t   b n   KH­KT­

09/2005

59

ộ ố ạ (cid:0) M t s  tài li u khác trên m ng: ệ

 http://www.   picat.dieukhien.net

 http://www.datasheet4u.net

 http://www.   dientuvietnam.net

 http://www.   picvietnam.com

60