[Type the document title]

ƯỜ Ạ Ọ TR Ộ NG Đ I H C BÁCH KHOA HÀ N I

Ệ Ử Ễ Ệ VI N ĐI N T  VI N THÔNG.

**********

Ậ Ớ

BÁO CÁO BÀI T P L N

ậ Môn Kĩ Thu t Vi X  Lí

Ề Ế Ạ Ằ Ế Ề Ể

Ể Ề   Đ  TÀI: THI T K  M CH ĐI U KHI N THANG MÁY B NG VI ĐI U KHI N AVR

ả ướ Gi ng viên h ng d n ễ ẫ : TS.Nguy n Hoàng Dũng

Thành viên trong nhóm:

1.

2.

ươ 3. Đinh Văn V ng.                20134674

Đi u khi n thang máy b ng ATmega8

1

4.

[Type the document title]

ộ Hà N i. tháng 6/2016.

ủ ả ậ ướ ẫ Nh n xét c a gi ng viên h ng d n

……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………

ộ Hà N i, Ngày    Tháng      Năm 2016

ướ ẫ ả               Gi ng Viên h ng d n

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

ủ ả ấ ậ Nh n xét c a gi ng viên ch m

……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………

ộ Hà N i, Ngày    Tháng      Năm 2016

ả ấ Gi ng Viên ch m

Đi u khi n thang máy b ng ATmega8

2

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

[Type the document title]

ụ ụ M c l c.

Đi u khi n thang máy b ng ATmega8

3

ầ ờ L i nói đ u………………………………………………………..04

[Type the document title]

Ờ Ầ L I NÓI Đ U

ơ ủ ữ ứ ậ ọ

ụ ộ ệ

i c a  ể ổ ậ ệ ử ữ ậ đã t o ra hang lo t nh ng thi

ế ớ ủ ự ể ạ ộ ế ạ ơ ặ ự ế ị ớ ầ ẹ ọ

ả Ngày nay , v i nh ng  ng d ng c a khoa h c kĩ thu t  tiên ti n , th  gi ổ chúng ta đã và đang ngày m t thay đ i , văn minh và hi n đ i h n . s  phát tri n  ạ ủ c a kĩ thu t đi n t t b  v i các đ c đi m n i b t  ư ự nh  s  chính xác cao , t c đ  nhanh và g n nh  góp ph n cho s u ho t đ ng  ủ c a con ng ạ ố ộ ệ c hi u qu  cao. ườ ạ ượ i đ t đ

ọ ắ ự ệ ử ề ự ể ủ ử ề

ự ư

ờ ủ ả ấ ử c nh y v t đ

ể ề ể ề

ở ự ể ượ ổ ế ữ ặ t chúng có th  làm đ

ộ ứ ạ ữ ứ ự ủ ể ọ ụ ớ ủ G n li n s  phát c a khoa h c đi n t  là s  phát tri n c a các vi x  lí, vi đi u  ờ ủ khi n, đó là s  ra đ i c a vi x  lí đa năng nh  Pentium, Celerong … và trong vi  ề ọ ượ ướ ể c đánh d u b i s  ra đ i c a các vi đi u  đi u khi n cũng có b ử ử ư khi n nh  PIC, AVR, FPGA… các vi x  lí và vi đi u khi n này ngày càng đc s   ệ ệ ụ c nh ng vi c vô cũng d ng r ng rãi và ph  bi n , đ c bi   ộ ố ổ ế ph c t p. v i nh ng  ng d ng ph  bi n trong m i lĩnh v c c a cu c s ng.

ọ ử ế ị

ề ể ề ộ ề

ộ ố ắ ự ầ ớ

ố ế ế ạ   Và trong môn h c vi s  lí này nhóm em đã quy t đ nh làm đ  tai “ thi t k  m ch ự ế ể ề t th c và  đi u khi n thang máy dung vi đi u khi n AVR” đó là m t đ  tài thi ụ ụ ự ế ự ệ rât g n gũi v i cu c s ng. nó ph c v  tr c ti p và đ c l c cho vi c xây d ng  ệ ổ ờ các tào nhà cao  c trong th i bu i công nghi p hiên nay.

ặ ư ạ ắ ờ

ấ ố ắ ế ế ế ể ự ấ

ạ ỡ ủ ượ ủ ề ệ ầ ơ M c dù đã r t c  g ng thi t k  và làm m ch nh ng do th i gian ng n và năng  ỏ ự l c còn h n ch  nên không th  tránh kh i sai sót . chúng em r t mong s  góp ý  và giúp đ  c a th y cho đ  tài c a chúng em đ c hoàn thi n  h n.

Đi u khi n thang máy b ng ATmega8

4

Em xin chân thành cám  n!ơ

[Type the document title]

Ề Ệ Ố

Ề   PH N  I: LÍ THUY T CHUNG V  H  TH NG ĐI U

KHI N THANG MÁY.

ươ

Ch

ng 1. Gi

ệ ố i thi u chung h  th ng thang máy.

ớ ệ ề 1.1 Gi i thi u chung v  thang máy.

ể ở ườ Thang máy là thi ế ị ậ ả t b  v n t i dùng đ  ch  ng i và hàng hoá theo

ẳ ứ ươ ộ ng th ng đ ng. Nó là m t lo i hình máy nâng chuy n đ

ế ố ể ượ ử ụ c s  d ng r ng  ư    qu c dân nh  trong ngành khai thác

ỏ ệ ơ

ự ể ậ ệ ả ể

ẹ ở ữ  nh ng n i đó  ư ẩ c s  d ng đ  v n chuy n hàng hoá, s n ph m, đ a công nhân t ứ ự ủ ườ ế ớ   i   i và

ấ ạ ộ ph ấ ủ ề ả rãi trong các ngành s n xu t c a n n kinh t ầ h m m , trong ngành xây d ng, luy n kim, công nghi p nh ...  ượ ử ụ thang máy đ ệ ộ ơ n i làm vi c có đ  cao khác nhau... Nó đã thay th  cho s c l c c a con ng ạ i năng su t cao. đã mang l

ụ ạ ượ ử ụ ộ Trong sinh ho t dân d ng, thang máy đ c s  d ng r ng rãi trong các toà

ơ ườ ế i ti t

ứ ự ờ nhà cao t ng, c  quan, khách s n... Thang máy đã giúp cho con ng ệ ki mđ ạ ầ ượ c th i gian và s c l c...

ừ ướ ớ ỉ ủ ế ượ ử ụ Ở ệ  Vi t Nam t c t tr i nay thang máy ch  ch  y u đ c s  d ng trong

ổ ế

ượ ữ ạ ệ ầ ử ụ ướ ạ c ph  bi n. Nh ng trong giai đo n hi n nay  c phát tri n m nh thì nhu c u s  d ng

c ta đang có nh ng b ự ọ ệ ể ở ư công nghi p đ  tr  hàng và ít đ ể ế ướ ề  n n n kinh t thang máy trong m i lĩnh v c ngày càng tăng lên.

Đi u khi n thang máy b ng ATmega8

5

ơ ồ ố ủ ề ể ạ 1.2. S  đ  kh i c a m ch đi u khi n thang máy.

[Type the document title]

(cid:0) Gi

ả ố ủ ệ ố ơ ồ i thích s  đ  kh i c a h  th ng

­ Kh i đi u khi n: đi u khi n tr ng thái ho t đ ng c a thang, là n i nh n

ạ ộ ủ ề ể ề ể ạ ậ ố ơ

ư ệ ệ tín hi u vào và đ a tín hi u ra cho led 7 thanh.

ố ử ể ệ ề ề ấ ­ Kh i phím b m đi u khi n: cung c p tín hi u cho kh i s  lí trung tâm v

ố ạ ộ ấ ọ ầ ầ ho t đ ng g i t ng và chon t ng

­ Kh i hi n th : hi n th  v  trí và tr ng thái c a bu ng thang . xác nh n khi

ủ ậ ạ ồ ị ị

Đi u khi n thang máy b ng ATmega8

6

ể ố ệ ượ có hi n t ể ị ọ ầ ng g i t ng.

[Type the document title]

ạ ộ ấ ồ ố ồ ề ­ Kh i ngu n: cung c p ngu n 1 chi u cho VDK va led 7 thanh ho t đ ng.

ả ủ ệ ố ạ ộ * Mô t ho t  đ ng c a h  th ng.

ở ầ ở ặ ố ẽ ệ ầ ị ị t ng nào thì yên t ng đó. M t s  s  hi n th  v  trí

ố ở ộ 1. Khi kh i đ ng cabin  ầ ủ c a cabin (t ng s  bao nhiêu).

ố ọ ề ể ệ ố

ạ ể ố ệ ố

ọ ướ ẽ ư ế

ấ ứ ộ ụ ụ ọ

ệ ề ể ể ố ể ứ ạ ộ   i chuy n sang ki m tra y/c lên. H  th ng c  ho t đ ng ẽ ụ ụ c s  đc  c, y/c nào g i sau s  đc ph c v  sau. B t c  m t y/c g i nào cũng  i và khi th c hi n xong y/c nào thì xóa y/c  y đi. N u có

ớ ạ ệ ố ư ở ấ ế c trình bày ứ ự ư ượ  nh  đ

2. H  th ng luôn ki m tra các y/c g i thang theo chi u lên và chi u xu ng.  Ki m tra các y/c lên mà không có thì chuy n sang ki m tra các y/c xu ng, y/c  ể xu ng mà không có thì l ệ ố ụ liên t c nh  th . Khi có y/c thì h  th ng s  ph c v  y/c, y/c nào g i tr ụ ụ ướ ọ ẽ ph c v  tr ượ ệ ố ự c h  th ng nh  l đ ề ẽ ử ọ nhi u y/c g i thì h  th ng s  x  lý  u tiên theo th  t ầ ướ ph n d i.

ộ ọ ậ ự ệ

ọ ề ụ ụ ừ ị ẽ  v  trí cabin tr  lên s  đc ph c v  trên đ

ở ở ố ồ  trong cabin), các y/c g i lên t

ế ầ ố ở ỏ

ọ ẽ ượ ớ ạ ể ụ ạ 3. Khi cabin đã nh n m t y/c g i lên và đang th c hi n y/c này (cabin đang ch y  ườ   ở ng theo chi u lên) thì các y/c g i lên t ọ ầ ủ ở ủ đi c a nó (y/c là g m có y/cg i thang c a khách   ngoài cabin và y/c ch n t ng  ẽ ị ỏ ừ ị ọ ế ủ đ n c a khách   v  trí cabin tr  xu ng s  b  b   ọ qua. Các y/c g i xu ng cũng s  b  b  qua n u t ng trên nó còn có y/c ( b  qua  ượ đây là không đ ẽ ị ỏ ạ c ph c ngay mà tr ng thái g i s  đ c nh  l i đ

ụ ụ ph c v  sau).

ộ ậ ị ẽ ể ủ ề ể ạ ặ ố

ị ừ ị 5. B  ph n hi n th  s  hi n th  v  trí c a cabin, chi u ch y ( là lên ho c xu ng)  ạ và cabin đangch y hay đang d ng.

ươ

ủ ệ ố

Ch

ng 2: Yêu c u ch c năng c a h  th ng.

ứ ầ 2.1. Yêu c u ch c năng:

ự ệ ầ ạ ố ­ M ch th c hi n đúng yêu c u mong mu n

ị ố ầ ể ­ Hi n th  s  t ng  lên LED 7 thanh

ể ề ạ ộ ử ụ ể ấ S  d ng nút b m đ  đi u khi n ho t đ ng thang máy.

Đi u khi n thang máy b ng ATmega8

7

ứ ầ 2.2 Yêu c u phi ch c năng.

[Type the document title]

ử ụ ề ể S  d ng vi đi u khi n AVR atmega8

ế ế ạ ỏ ơ Thi t k  m ch nh  h n 1dm2

ự ề ầ ờ ệ Th i gian th c hi n đ  tài 13 tu n

ụ M c tiêu thi ế ế t k

ể ề ử ụ ấ ầ ỉ S  d ng nút b m đ  đi u ch nh t ng

ể ể ử ụ ị ạ ể ầ ầ ơ ị ị S  d ng led 7 thanh đ  hi n th  tr ng thái t ng và led đ n hi n th  v  trí t ng.

ự ế ạ ệ K  ho ch th c hi n

ư ậ

ả ể ự ệ ố ạ ệ ố ế ể Sau khi phân tích h  th ng, và kh  năng nhóm phát tri n cũng nh  quá trình v n  ự ệ hành h  th ng. K  ho ch có th  th c hi n theo trình t

ờ Tên quá trình Th i gian ắ ầ B t đ u Hoàn thành

Nghiên c u s  b ứ ơ ộ 1 tu nầ

Phân tích 3 tu nầ

2 tu nầ

ậ L p trình, mô  ph ngỏ

Layout 2 tu nầ

ặ ạ Đ t m ch in 1.5 tu nầ

tu nầ

Đi u khi n thang máy b ng ATmega8

8

ạ Hàn m ch in và  làm báo cáo

[Type the document title]

Ậ PH N II: XÂY D NG THU T TOÁN VÀ THI T K M CHẠ

ươ

ệ ố

Ch

ế ng 3. Phân tích ki n trúc h  th ng

ệ ố ồ ố H  th ng g m 4  kh i chính

ử Vi x  lý trung tâm  avr ATMEGA8

ố ồ Kh i ngu n

ố ơ Kh i led 7 thanh và led đ n

ấ ố Kh i nút b m.

3.1 Vi x  lí trung tâm ATMEGA 8

Đi u khi n thang máy b ng ATmega8

9

[Type the document title]

ộ ố ặ ỹ ậ a) M t s  đ c tính k  thu t

ộ ộ

(cid:0) ATMega8 là m t con Vi Đi u Khi n thu c dòng Mega AVR c a  ủ ổ ộ ư hãng ATMEL. Dòng Vi Đi u Khi n này có tính năng n i tr  nh :

ể ể ề ề

(cid:0) 32 thanh ghi đa d ngụ

(cid:0) ố ộ ố ế ạ ớ T c đ  t i đa lên đ n 16MIPS v i th ch anh 16MHz

(cid:0) Có 8KB b  nh  Flash l p trình ISP ớ

o 512 byte  EFPROM.

o 1k  SRAM.

Đi u khi n thang máy b ng ATmega8

10

ậ ộ

[Type the document title]

o Chu k  ghi/ xóa 10000 l n cho b  nh  flash ROM và 100000 l n

ầ ầ ớ ộ

ỳ ộ ớ cho b  nh  EFPROM.

(cid:0) Tính năng ngo i viạ

o 2 b  timer/counter 8 bít, 1 b  so sánh.

ộ ộ

o 1 b  timer/counter 16 bit.

o Bô đ m th i gian th c v i đao đ ng riêng.

o 3 kênh PWM.

ự ớ ế ờ ộ

o 6 kênh ADC 10 bits cho ki u v  PDIP, 8 kênh ADC 10 bits cho

ể ỏ

ể ỏ ki u v  TQFP.

ố ế ứ ế ắ ớ   o Giao ti p n i ti p TWI, 2 chân ng t ngoài INT0 và INT1  ng v i

2 chân PD2 và PD3.

o L p trình n i ti p USART, giao ti p n i ti p SPI master/slave.

ố ế ố ế ế ậ

o B  so sánh analog on­chip.

(cid:0) I/O

o 23 ngõ vào/ra kh  trình.

o Được đóng gói trong 28 chân ki u v  PDIP.

ể ỏ

o Đi n áp ho t đ ng 2,7V­5,5V(ATmega8L)và 4,5­

ạ ộ 5,4V(ATmega8).

o T n s  ho t đ ng 0­8MHz(ATmega8L) và 0­16MHz(ATmega8)

ầ ố ạ ộ

đ ng.ộ

(cid:0) Ng t ngoài: ắ

ộ ố ứ ậ ớ ử ụ ủ b. M t s  ch c năng c a ATmega8 s  d ng trong bài t p l n.

ườ ệ ọ ở ượ  g i là ng t, là m t tín hi u kh n c p g i

Đi u khi n thang máy b ng ATmega8

11

ẩ ấ ạ ộ c ộ ử ng đ ầ ộ ứ ừ ạ ắ ắ Interrupts, th ệ   ộ ử ế đ n b  x  lí, yêu c u b  x  lí t m ng ng t c kh c các ho t đ ng hi n

[Type the document title]

ệ ụ ẩ ấ

ế ụ ả ệ ộ ơ ọ ộ ệ ụ ụ ắ

ư ậ

ế ị ướ ượ c tr  v  giá tr  tr ở ệ ượ ấ ộ ế ề ự ứ ộ ư ự ệ ấ

ả ề ụ ắ ố ng đ ề ự ạ ể i đ  “nh y” đ n m t n i khác th c hi n m t nhi m v  kh n c p  t nào đó, nhi m v  này g i là trình ph c v  ng t – isr (interrupt service  ệ ẽ ươ ụ ng trình s   routine ). Sau khi k t thúc nhi m v  trong isr, b  đ m ch ế ể ộ ử ệ đ c đó đ  b  x  lí quay v  th c hi n ti p các  ử ắ nhi m v  còn dang d . Nh  v y, ng t có m c đ   u tiên x  lí cao  ờ ư ể ử ườ c dùng đ  x  lí các s  ki n b t ng  nh ng  nh t, ng t th ờ không t n quá nhi u th i gian.

ắ ế ệ ế ị ừ ấ các thi

ắ Các tín hi u d n đ n ng t có th  xu t phát t ắ

ẫ ộ ế ế ệ ằ

ữ ệ ượ ượ ắ ấ ể t b  bên trong  ở ữ chip (ng t báo b  đ m timer/counter tràn, ng t báo quá trình g i d   ắ li u b ng RS232 k t thúc…) hay  do các tác nhân bên ngoài (ng t báo  ậ c nh n…). c nh n, ng t báo có 1 gói d  li u đã đ có 1 button đ

ọ ổ ứ ườ Hình minh h a cách t ắ  ch c ng t thông th ng trong các chip AVR:

ế ắ Có 3 thanh ghi liên quan đ n ng t ngoài đó là MCUCR, GICR và

GIFR:

ề (MCU Control Register)

Đi u khi n thang máy b ng ATmega8

12

ể  Thanh ghi đi u khi n MCU – MCUCR ậ ế ộ ắ ắ là thanh ghi xác l p ch  đ  ng t cho ng t ngoài:

[Type the document title]

ế ấ ạ N u không nh n, tr ng thái các chân INT là HIGH do đi n tr  kéo

ấ ể ẽ ừ ừ ạ ở ệ  HIGH sang

ượ ạ

ữ ạ ị ố , tr ng thái các chân INT đ

ạ ọ ấ   c nh n  Falling Edge, khi button đ ố c xác đ nh là LOW và cu i cùng khi    LOW sang HIGH, g i là c nh lên

lên, khi v a nh n 1 button, s  có chuy n tr ng thái t ọ LOW, chúng ta g i là c nh xu ng ­ ượ và gi ể ừ ạ ả th  các button, tr ng thái chuy n t – Rising Edge.

ượ ừ ướ D i đây là c u trúc thanh ghi MCUCR đ c trích ra t datasheet

ấ ủ c a chip atmega8.

ư ố ớ ắ

ế ộ ỉ

ả t bên d

ứ ủ ế ả ướ ể i đ   t ch c năng c a các bit trên, đây là b ng “chân tr ” c a 2 bit ISC11,

Đi u khi n thang máy b ng ATmega8

13

ươ ả ị ạ ộ       MCUCR là m t thanh ghi 8 bit nh ng đ i v i ho t đ ng ng t  ấ ủ  nó (4 bit cao dùng cho  ngoài, chúng ta ch  quan tâm đ n 4 bit th p c a ố Power manager và Sleep Mode). B n bit th p là các bit Interrupt Sense  Control (ISC) trong đó 2 bit ISC11:ISC10 dùng cho INT1 và 2 bit  ắ ISC01:ISC00 dùng cho INT0. Hãy nhìn vào b ng tóm t ị ủ bi ISC10. B ng chân tr  cho các bit ISC01, ISC00 hoàn toàn t ng t ự .

[Type the document title]

 Thanh ghi đi u khi n ng t chung – GICR (General Interrupt

ể ề ắ

Control Register).

GICR cũng là 1 thanh ghi 8 bit nh ng ch  có 2 bit cao (bit 6 và

ỉ ắ ấ

ượ ử ụ ướ ư ư ể ề c s  d ng cho đi u khi n ng t, c u trúc thanh ghi  i (trích datasheet). bit 7) là đ nh  bên d

ạ ộ ươ ằ ạ ắ ắ Bit 7 – INT1 g i là bit cho phép ng t 1(Interrupt Enable), set  ng

ể ề ắ bit này b ng 1 nghĩa b n cho phép ng t INT1 ho t đ ng, t ự t , bit INT0 đi u khi n ng t INT0.

 Thanh ghi c  ng t chung – GIFR (General Interrupt Flag

ờ ắ

Register).

ờ ạ

ắ ủ ự ệ ợ

đ ng set b ng 1

ự ắ ằ ể ử ụ ợ ủ ng t

cho tr ể ề ắ

ế ế ườ ậ ắ ượ

Đi u khi n thang máy b ng ATmega8

14

ướ ượ Có 2 bit INTF1 và INTF0 là các bit tr ng thái (hay bit c  ­  ế Flag) c a 2 ng t INT1 và INT0. N u có 1 s  ki n ng t phù h p  ả ượ ự ộ x y ra trên chân INT1, bit INTF1 đ c t ườ ươ ng h p c a INTF0), chúng ta có th  s  d ng  (t ầ ậ các bit này đ  nh n ra các ng t, tuy nhiên đi u này là không c n  ắ ự ộ  đ ng, vì v y thanh ghi này  t n u chúng ta cho phép ng t t thi ậ c quan tâm khi l p trình ng t ngoài. C u trúc  th ng không đ c trình bày trong hình ngay bên d thanh ghi GIFR đ ấ i.

[Type the document title]

(cid:0) Giao ti p TWI­I ế

2C.

ề ề ự ẩ ồ ộ

TWI (Two­Wire Serial Intereafce) là m t module truy n thông  ố ế n i ti p đ ng b  trên các chip AVR d a trên chu n truy n thông  I2C.

ượ ậ ở ồ

ể c v n hành b i 5 thanh ghi bao g m thanh  ề  nh p TWBR, thanh ghi đi u khi n TWCR , thanh ghi

ữ ệ ạ ỉ ị

TWI trên AVR đ ố ộ ữ ị ghi t c đ  gi tr ng thái TWSR, thanh ghi đ a ch  TWAR và thanh ghi d  li u  TWDR.

ố ộ ữ ị ườ ủ ­ TWBR (TWI Bit Rate Register): là 1 thanh ghi 8 bit quy  ị đ nh t c đ  phát xung gi ng SCL c a chip Master. nh p trên đ

ố ộ ứ T c đ  phát xung gi ữ ị ượ  nh p đ c tính theo công th c:

ầ ố ạ ộ ủ

ị ủ

ị ằ ạ

ượ ọ Trong đó CPU Clock frequency là t n s  ho t đ ng chính c a  AVR, TWBR là giá tr  thanh thi TWBR và TWPS là giá tr  c a 2 bits  TWPS1 và TWPS0 n m trong thanh thi tr ng thái TWSR. Hai bits  này đ c g i là bit prescaler.

ạ ộ ủ ể ­ TWCR (TWI Control Register): là thanh ghi 8 bit đi u ề khi n ho t đ ng c a TWI.

ộ ề ầ

ượ ế

Đi u khi n thang máy b ng ATmega8

15

ể ượ ầ            M t đi u c n chú ý là các bit trong thanh ghi TWCR không c n ạ c set cùng lúc, tùy vào t ng giai đo n trong quá trình giao ti p  đ ẻ      . TWI các bit có th  đ ừ c set riêng l

[Type the document title]

ủ ứ ạ ­ TWSR (TWI Status Register): là 1 thanh ghi 8 bit trong đó  có 5 bit ch a code tr ng thái c a TWI ọ   và 2 bit ch n prescaler.

ữ ệ ề ẽ ượ ư

ữ ệ ữ ệ ậ ứ ở c l u trong  ẽ ượ c

ườ ­ TWDR (TWI Data Register): là thanh ghi d  li u chính c a  ậ TWI. Trong quá trình nh n, d  li u nh n v  s  đ TWDR. Trong quá trình g i, d  li u ch a trong TWDR s  đ ể chuy n ra đ ng SDA.

ượ ủ ấ c trình bày trong hình

­ TWAR (TWI Address Register): là thanh ghi ch a device  address c a chip Slave. C u trúc thanh ghi đ i.ướ      d

Đi u khi n thang máy b ng ATmega8

16

ể ố ị 3.2 . Kh i LED hi n th .

[Type the document title]

ố ộ ẫ ứ

ơ ộ ế ộ ứ ỗ ố

ứ  tr ng, kênh N ch a đi n t ệ ử ấ ố ề ừ ế ố A­n t( kênh P) đ n K­t t (kênh N), khi đi n t

ạ ấ ệ ử ,   l p  ướ c sóng phát ra có màu  ẫ ộ

LED đ n là m t đi­ t, nó ch a m t chíp bán d n có pha các t p ch t  ể ạ đ  t o ra m t ti p giáp P­N, kênh P ch a l ệ dòng đi n truy n t ỗ ố ầ ứ ạ đ y ch  tr ng nó sinh ra b c x  ánh sáng, các b ấ ạ khác nhau tùy thu c vào t p ch t trong chíp bán d n ấ ạ ế ạ ạ ồ ơ Led 7 đo n có c u t o bao g m 7 led đ n có d ng thanh x p theo

ỏ ể ệ ấ ấ ơ ở

và có thêm m t led đ n hình tròn nh  th  hi n d u ch m tròn  ướ ạ hình  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 +) đ 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 đ a thành 8 chân riêng, cũng đ i trên m i led đ n đ còn l c đ a ra  ượ ố ớ ệ ạ ể ế ố ớ c n i v i +Vcc, các  ngoài đ  k t n i v i m ch đi n. Đ u chung này đ ắ ủ ể ể ề t c a các led đ n, led  i dùng đ  đi u khi n tr ng thái sáng t chân còn l ặ ch  sáng khi tín hi u đ t vào các chân này  ứ m c 0. ơ ế ố ầ ệ ạ

Đi u khi n thang máy b ng ATmega8

17

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.

[Type the document title]

Ω ế ế ố ớ ể ạ ệ ằ ở ướ c các

ồ ề ể ệ ậ

3.3  kh i phím b m

N u k t n i v i ngu n 5V có th  h n dòng b ng đi n tr  330  tr chân nh n tín hi u đi u khi n. ố ấ

ấ ở ệ ự  đây d a trên ượ c

ư ậ

ệ ử ụ ấ ể ử ư ị ệ

c  chúng ta đang

Vi c s  d ng phím b m  ự s  chênh áp khi  n các phím, đi n áp đ ệ ự ư ề đ a v  chip đ  x  lí . nh  v y vi c d a vào  ể giá tr  đi n áp đ a vào chân chúng ta có th   ế ượ ậ t đ hpanf toàn nh n bi ấ b m phím nào?

ồ ố 3.4  Kh i ngu n

ế ế ạ

ng 4: Xây d ng thu t toán và thi

t k  m ch

ươ Ch ư ồ

4.1  L u đ  thu t toán:

Đi u khi n thang máy b ng ATmega8

18

[Type the document title]

4.2  Thi

ế ế ạ t k  m ch:

a) M ch nguyên lí:

Đi u khi n thang máy b ng ATmega8

19

[Type the document title]

Đi u khi n thang máy b ng ATmega8

20

ạ b) M ch in:

[Type the document title]

c) Li

ệ t kê các linh kiên:

ố ượ Giá trị ng

ồ STT 1 2 3 4 5 6 7 8 9 10 11 Tên linh ki nệ Atmega8 Nút b mấ Led 7 thanh Led đ nơ T  hóaụ T  g mụ ố bjt Tr  ledở ở Tr  nút b m ở Tr  reset ở Tr  led báo ngu n S  l 1 5 1 5 1 5 1 4 4 1 1 100MF 104 LM7805 330 10k 10k 330

Đi u khi n thang máy b ng ATmega8

21

ệ ạ M ch khi hoàn thi n:

[Type the document title]

ỏ ạ 4.3  Code  ch y mô ph ng

Chip type               : ATmega8 Program type            : Application AVR Core Clock frequency: 8.000000 MHz Memory model            : Small External RAM size       : 0 Data Stack size         : 256 *****************************************************/

#include  //#include "var.h"

// Declare your global variables here uint8_t  maled7[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8 8,0x83,0xC6,0xA1,0x86,0x8E};

uint8_t temp,old_temp,cong,tru;

void LED7SEG(uint8_t data); void Check_Key(); void Display_Led(uint8_t Local,uint8_t chon); void Prog_Run();

void main(void) {

Đi u khi n thang máy b ng ATmega8

22

// Khai Bao PORT B PORTB=0xff; DDRB=0xFC;

[Type the document title]

Đi u khi n thang máy b ng ATmega8

23

// Khai Bao PORT C PORTC=0xff; DDRC=0xFF; // Khai Bao PORT D PORTD=0xff; DDRD=0x3F; // Khai Bao TIMER 0 TCCR0=0x00; TCNT0=0x00; // Khai Bao TIMER 1 TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Khai Bao TIMER 2 ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // Khai Bao Ngat Ngoai MCUCR=0x00; MCUCSR=0x00; // Khai Bao Ngat Timer TIMSK=0x00; // Khai Bao UART

[Type the document title]

UCSRB=0x00; // Khai Bao bo so sanh Analog ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 1000.000 kHz // ADC Voltage Reference: AVCC pin //ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x00;

// Khai Bao SPI SPCR=0x00; // Khai Bao TWI TWCR=0x00;

LED1=0; LED7SEG(maled7[1]); old_temp=temp=1; while (1)       {            Prog_Run();       } }

Đi u khi n thang máy b ng ATmega8

24

void LED7SEG(uint8_t data) {     PORTD_1 = data&0x01;     PORTD_0 = data&0x02;     PORTC_2 = data&0x04;     PORTC_1 = data&0x08;     PORTC_0 = data&0x10;

[Type the document title]

Đi u khi n thang máy b ng ATmega8

25

PORTC_4 = data&0x20;     PORTC_5 = data&0x40;     PORTC_3 = data&0x80; } void Check_Key() {  if(BT1==0)       {delay_ms(200); if(BT1==0)temp=1;}  else if(BT2==0)  {delay_ms(200); if(BT2==0)temp=2;}  else if(BT3==0)  {delay_ms(200); if(BT3==0)temp=3;}  else if(BT4==0)  {delay_ms(200); if(BT4==0)temp=4;} } void Display_Led(uint8_t Local,uint8_t chon) {  if(chon==0)  {       switch(Local)      {         case 1 : {                     LED1=0; LED7SEG(maled7[1]);                  }break;         case 2 : {                     LED1=1; LED2=0; LED7SEG(maled7[2]);                   }break;         case 3 : {                     LED2=1 ;LED3=0; LED7SEG(maled7[3]);                   }break;         case 4 : {                     LED3=1; LED4=0; LED7SEG(maled7[4]);                   }break;      }  }

[Type the document title]

Đi u khi n thang máy b ng ATmega8

26

if(chon==1)  {        switch(Local)      {         case 1 : {                    LED1=0; LED2=1; LED7SEG(maled7[1]);                   }break;         case 2 : {                    LED2=0; LED3=1; LED7SEG(maled7[2]);                   }break;         case 3 : {                    LED3=0; LED4=1; LED7SEG(maled7[3]);                   }break;         case 4 : {                    LED7SEG(maled7[4]);                    }break;      }  } } void Prog_Run() {  Check_Key();  if(old_temp!=temp)   {       if(old_temp

[Type the document title]

}      else      {            Display_Led(old_temp,1);         old_temp­­;         delay_ms(1000);         tru=1;         cong=0;        }  }  else  {       old_temp=temp;   if(cong) Display_Led(old_temp,0);   if(tru) Display_Led(old_temp,1);  } }

ứ ộ

ươ Ch ệ

ướ 5.1 .M c đ  hoàn thành công vi c và h

ế ổ ng V : T ng k t ể ng phát tri n.

1. M c đ  hoàn thành công vi c.

ứ ộ ệ

ề ạ ạ ổ ỏ ị Nhìn chung đã hoàn thành v  m ch mô ph ng và ch y  n đ nh các

ậ ớ ủ khâu c a bài t p l n.

2. H ng phát tri n.

ướ ể

ầ ả ệ ố ể ế ả

ể ạ ở Có th  thêm vào ph n c m bi n nguy hi m và h  th ng c nh báo và  liên l c ngoài..

5.2  .Các ph n m m đã s  d ng trong quá trình làm bài t p.

Đi u khi n thang máy b ng ATmega8

27

ử ụ ề ầ ậ

[Type the document title]

­ Proteus version 8.0

­ Codevison AVR 2.5.3

5.3 . Tài li u tham kh o.

ệ ả

Website:

http://hocavr.com

http://hoiquandientu.com

http://dientuvietnam.com

http://dientu.org

http://machdientu.net

Ebook:Datasheet : Atmeaga8.

*H t*ế

Đi u khi n thang máy b ng ATmega8

28