Academia.eduAcademia.edu
TR NG Đ I H C BÁCH KHOA HÀ N I VI N ĐI N ---------------o0o--------------- Đ ÁN I Đ TÀI: Thi t k m ch đo vƠ hi n th nhi t đ Giáo viên h ng d n : Nguy n Anh Tu n Sinh viên th c hi n : Lê Văn Công L p : KT ĐK & TĐH 04 Khóa : K58 MSSV : 20130450 HÀ N I – 6/2016 GV hướng dẫn: Nguyễn Anh Tuấn Nh n xét c a giáo viên h ng d n ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ ĐH Bách khoa Hà N i Page 1 GV hướng dẫn: Nguyễn Anh Tuấn M CL C L I M Đ U ...................................................................................................... 3 PH N I: LÝ THUY T C CH I. II. S ........................................................................... 4 NG 1: GI I THI U M CH ĐO NHI T Đ VÀ HI N TH LCD . 4 Ch c năng c a m ch .................................................................................. 4 Các thƠnh ph n chính c a m ch ............................................................... 4 III. Yêu c u thi t k .......................................................................................... 4 CH NG 2: GI I THI U LINH KI N CH CH T TRONG M CH ........ 4 I. Gi i thi u v LCD TC16C2A: ................................................................. 4 II. Gi i thi u IC ADC0809: ........................................................................... 6 III. IC 7805 : ....................................................................................................... 9 IV. C m bi n LM335: ..................................................................................... 11 CH NG 3: T NG QUAN VI ĐI U KHI N 8051 .................................... 12 I. Gi i thi u ph n c ng họ MCS ậ 51(8051) ........................................... 12 II. Kh o sát đ chơn, ch c năng từng chơn ............................................... 13 III. C u trúc bên trong vi đi u khi n ............................................................ 17 PH N II: TH C HI N Đ TÀI ........................................................................ 26 CH NG 1: TI N TRỊNH TH C HI N .................................................... 26 I. Các giai đo n th c hi n ........................................................................... 26 II. Quá trình thi t k vƠ lắp ráp ................................................................... 26 III. Các khó khăn gặp ph i ............................................................................. 26 CH NG 2: THI T K KH I M CH ........................................................ 26 I. S đ nguyên lý các kh i .......................................................................... 27 II. L p trình cho vi đi u khi n ....................................................................... 29 III. Thi công m ch th t và test ........................................................................ 34 CH I. II. NG III: K T LU N - TÀI LI U THAM KH O ............................ 35 K t lu n ...................................................................................................... 35 TƠi li u tham kh o ..................................................................................... 36 ĐH Bách khoa Hà N i Page 2 GV hướng dẫn: Nguyễn Anh Tuấn L IM Đ U V i s ti n b không ngừng c a khoa học kỹ thu t, đặc bi t lƠ ngƠnh đi n tử đƣ ng d ng r t nhi u trong công nghi p. Trong lĩnh v c đi u khi n, từ khi công ngh ch t o lo i vi m ch l p trình phát tri n đƣ đem đ n các kỹ thu t đi u khi n hi n đ i có nhi u u đi m so v i vi c sử d ng các m ch đi u khi n đ ợc lắp ráp từ các linh ki n r i nh kích th c m ch nh , gọn, giá thƠnh rẻ, đ lƠm vi c tin c y vƠ công su t tiêu th th p ... NgƠy nay lĩnh v c đi u khi n đƣ đ ợc ng d ng r ng rƣi trong các thi t b , s n phẩm ph c v cho nhu c u sinh ho t hằng ngƠy c a con ng i nh máy giặt, đ ng h đi n tử, ti vi ... nhằm giúp cho đ i s ng ngƠy cƠng hi n đ i vƠ ti n lợi h n. Đ tƠi ng d ng vi đi u khi n trong đ i s ng th c t r t phong phú vƠ đa d ng nhằm đáp ng cho cu c s ng ti n nghi c a con ng i.V i m c đích tìm hi u vƠ đáp ng nh ng yêu c u trên em đƣ l a chọn m t đ tƠi có tính ng d ng trong th c t , nh ng không quá xa l đ i v i mọi ng i, đó là “Mạch đo và hiển thị nhiệt đ ”. Đ tƠi đ ợc chia lƠm 2 ph n l n:  Ph n 1: Gi i thi u.  Ph n 2: Th c hi n đ tƠi. Trong m i ph n có nhi u ch ng nh tr i r ng từ h th ng, ph n c ng, ph n m m . Em đƣ c gắng v n d ng nh ng ki n th c đƣ học tr ng cùng v i s tìm tòi học h i đ có th hoƠn thƠnh t t đ án nƠy. Mặc dù em đƣ r t c gắng đ hoƠn thi n đ tƠi nƠy nh ng v n không tránh kh i sai sót, kính mong các th y cô thông c m. Em xin chơn thƠnh c m n. ĐH Bách khoa Hà N i Page 3 GV hướng dẫn: Nguyễn Anh Tuấn PH N I: LÝ THUY T C CH S NG 1: GI I THI U M CH ĐO NHI T Đ VÀ HI N TH LCD I. Chức năng c a m ch “M ch đi u khi n vƠ đo nhi t đ ”có các ch c năng sau:  Đo nhi t đ vƠ hi n th nhi t đ đo đ ợc lên mƠn hình LCD II. Các thƠnh ph n chính c a m ch 1. LCD TC1602A. 2. ADC 0809. 3. C m bi n nhi t LM35. 4. Vi đi u khi n AT 89S52. III. Yêu c u thi t k 1. M ch ph i ho t đ ng đúng ch c năng c a đ tƠi. 2. M ch ho t đ ng ph i có đ n đ nh vƠ chính xác cao. 3. Thi t k gọn nhẹ. 4. Giá thƠnh th p. ----------------o0o---------------- CH NG 2: GI I THI U LINH KI N CH CH T TRONG M CH I. Gi i thi u v LCD TC16C2A:  LCD (Liquid crystal direct) TC16C2 lƠ mƠn hình tinh th l ng g m có: + LCD ĐH Bách khoa Hà N i Page 4 GV hướng dẫn: Nguyễn Anh Tuấn + B Driver ( m ch đi u khi n) MƠn hình LCD vƠ b Driver đƣ đ ợc k t n i sẵn v i nhau b i nhƠ s n xu t, khi sử d ng ch c n giao ti p v i b driver. LCD TC16C2 lƠ lo i mƠn hình hi n th đ ợc 16 kí t ×2 dòng, bao g m t t c các kí t chuẩn ngoƠi ra còn có m t s kí t đặc bi t nh ng không có kí t d u ti ng Vi t. 1. S đ chơn c a LCD: Hình 1.2.1: Hình dáng vƠ s đ chơn LCD 2. Chức năng vƠ nhi m v các chơn: S TT Chân Kí Hi u Chức Năng 1 Vss GND 2 Vdd Vcc 3 Vo Ch nh đ t ng ph n c a mƠn hình L a chọn m c đi u khi n: - m c 1 lƠ mƣ hi n th - m c 0 lƠ l nh đi u khi n 4 RS 5 R/W Báo hi u đọc hoặc ghi 6 E Nh n tín hi u c nh xu ng đ nh n d li u 7 DB0 Trao đ i d li u theo bye(ph ng th c //) 8 DB1 Trao đ i d li u theo bye(ph ng th c //) ĐH Bách khoa Hà N i Page 5 GV hướng dẫn: Nguyễn Anh Tuấn 9 DB2 Trao đ i d li u theo bye(ph ng th c //) 10 DB3 Trao đ i d li u theo bye(ph ng th c //) 11 DB4 Trao đ i d li u theo bye(ph ng th c //) 12 DB5 Trao đ i d li u theo bye(ph ng th c //) 13 DB6 Trao đ i d li u theo bye(ph ng th c //) 14 DB7 Trao đ i d li u theo bye(ph ng th c //) 15 A/Vee C c anod c a đèn n n 16 K C c katod c a đèn n n B ng 1.1: Ch c năng các chơn LCD 3. Giá tr đi n áp: Tên Đi n áp vào Dòng cung c p hi n th i Đi n áp nhi t đ bình th ng Đi n áp LED màn hình c a LCD Kí hi u VDD IDD Đi u ki n Giá tr chuẩn Đ nv Min typ Max VDD=+5V 4.7 5.0 5.3 VDD=+3V 2.7 3.0 5.3 VDD=5V - 1.2 3.0 -200C - - - 00 C 4.2 4.8 5.1 250C 3.8 4.2 4.6 500C 3.6 4.0 4.4 700C - - - 250C - 4.2 4.6 VDD-V0 VF V mA V V B ng 1.2: Giá tr đi n áp c a LCD II. Gi i thi u IC ADC0809: ĐH Bách khoa Hà N i Page 6 GV hướng dẫn: Nguyễn Anh Tuấn IC ADC0809 dùng đ chuy n đ i từ m t tín hi u tuong tu (Analog) sang tín hi u s (Digital) nhằm m c đích thu n lợi trong vi c xử lỦ vƠ đi u khi n vƠ th c t trong đ tƠi nƠy lƠ dùng đ chuy n từ m t m c áp thƠnh m t con s đ đ a v b xử lỦ trung tơm lƠ vi đi u khi n AT89C51 .ADC 0809 có thƠnh ph n thu th p d li u lƠ m t thi t b CMOS nguyên kh i v i b chuy n đ i t ng t ra s 8 bit ,g m 8 logic đi u khi n tích hợp vƠ b vi xử lỦ kênh,nh ng đặc tính c a b chuy n đ i ph i hợp v i tr kháng cao làm n đ nh s so sánh gi a các m c áp .Chia áp đ u vƠo ra 256 m c từ m c 0÷255 ,8 b d n kênh có th tr c ti p truy nh p b t kì 8 tín hi u t ng t nƠo đ ợc gửi t i - ADC 0809 d dƠng k t n i v i các b vi xử lỦ - 8 kênh Analog ngõ vƠo lƠm vi c đ c l p - Đ phơn gi i 8 bit - D i tín hi u ngõ vƠo từ 0 ÷ 5V - Th i gian bi n đ i 100 µs Dòng tiêu th 0,3 mA 1. S đ chơn vƠ chức năng các chơn ADC 0809: Hình 1.2.2 :S đ chơn ADC 0809 ĐH Bách khoa Hà N i Page 7 GV hướng dẫn: Nguyễn Anh Tuấn a) Ch c năng các chơn : + Chơn (1÷5, 26, 27, 28 ) IN0÷IN7:LƠ các tín hi u Analog ngõ vƠo các chơn nƠy có chung mass v i IC + Chơn (22) ALE : Ch t đ a ch chọn kênh + Chơn (6) START: Yêu c u bắt đ u chuy n đ i + Chơn (10) CLOCK :C p xung clock đ nh t c đ chuy n đ i + Chơn (7) EOC :Báo k t thúc quá trình chuy n đ i + Chân (11) VCC + Chân (13) GND + Chơn (9) OE(output enable):cho phép/không cho phép chuy n đ i • Cho phép n i Vcc • Không cho phép n i GND + Chân (12,16) Vref (+) ,Vref (-) : Vmax (+10V),Vmin (-10V) cho tín hi u vƠo + Chân (17÷21,15,8,14) DB0 ÷:Ngõ ra + Chơn ( 25÷23) ADD A,ADD B ,ADD C :T o t hợp chọn kênh L a chọn kênh T hợp chọn kênh Analog ADD C ADD B ADD A IN0 ĐH Bách khoa Hà N i L L L Page 8 GV hướng dẫn: Nguyễn Anh Tuấn IN1 IN2 IN3 IN4 IN5 IN6 IN7 L L L H H H H L H H L L H H H L H L H L H B ng 1.3: T hợp chọn kênh Analog 2. Giá tr đi n áp c a ADC 0809: B ng 1.4: Giá tr đi n áp c a ADC 0809 III. IC 7805 : IC 7805 lƠ IC t o đi n áp chuẩn ngu n d ng có đi n áp ngõ ra lƠ 5V nh ng trong th c t thì dòng ngõ ra c a IC nƠy bi n thiên 5% t c lƠ áp ngõ ra kho ng 4.85V. Dòng qua IC 7805 kho ng 100mA. 1. Hình Dáng VƠ S Đ Chơn: ĐH Bách khoa Hà N i Page 9 GV hướng dẫn: Nguyễn Anh Tuấn Hình 1.2.3: S đ chơn c a IC7805 05 ậ Giá tr đi n áp ra. 1: In (Vào) 2: GND (Mass) 3: OUT (Ra) IOUT = 1A 2. M t S đặc tr ng v đi n: Tham s KỦ hi u Đi u ki n Áp Ra VO 5mA÷1A,P0≤15W VI = 7V÷20V 4.75 5 5.25 Dòng Tĩnh IQ TJ=+25V - 5 8 I0=5mA÷1A - 0.03 0.5 Đ Bi n Thiên Dòng Tĩnh IQ Đi n Áp R i Ngõ Ra VDrop ĐH Bách khoa Hà N i Giá tr đi n áp Đ nv V mA mA VI=7V÷25V - 0.3 1.3 I0=1A - 2 - V Page 10 GV hướng dẫn: Nguyễn Anh Tuấn Dòng Ngắn M ch ISC VI=35V - 230 - mA B ng 1.5: Đặc tr ng v đi n c a IC LM7805 IV. C m bi n LM335: LM35 thu c vƠo họ c m bi n nhi t m ch tích hợp chính xác cao có đi n áp ra t l tuy n tính v i nhi t đ theo thang do Celsius. Họ nƠy cho ra đi n áp 10mV ng v i thay đ i nhi t đ lƠ 1 0C 1. Hình dáng, c u t o c a LM35: Hình 1.2.4: S đ chơn c a IC LM335 Mƣ s n phẩm D i nhi t đ Đ chính xác Ngõ ra LM35A -550C đ n +1500C +1.0 0C 10mV/F LM35 -550C đ n +1500C + 1.5 0C 10mV/F 0 0 0 LM35CA -40 C đ n +110 C + 1.0 C 10mV/F 0 0 0 LM35C -40 C đ n +110 C + 1.5 C 10mV/F LM35D 00C đ n +1000C + 2.0 0C 10mV/F B ng 1.6: Thông s kỹ thu t chính c a c m bi n nhi t họ LM33 ĐH Bách khoa Hà N i Page 11 GV hướng dẫn: Nguyễn Anh Tuấn 2. M t s giá tr c a LM335: Tham s Nhi t đ nh nh t (0C) Nhi t đ l n nh t ( 0C) Đ chính xác (+/-)(0C) Ngu n nh nh t (Volt) Dòng không có tín hi u vƠo (mA) B c m bi n có h s khu ch đ i Tr kháng ngõ ra (ohm) Giá tr -40 100 3.6 5 1.40 10mV/DegK 60 B ng 1.7: B ng tham s c a IC LM335 ----------------o0o---------------- CH NG 3: T NG QUAN VI ĐI U KHI N 8051 I. Gi i thi u ph n cứng h MCS ậ 51(8051) Đặ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 IC89S52 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: Các đặc đi m c a 8051 đ ợc tóm tắt nh sau : o 4 KB EPROM bên trong. o 128 Byte RAM n i. o 4 Port xu t /nh p I/O 8 bit. o Giao ti p n i ti p. ĐH Bách khoa Hà N i Page 12 GV hướng dẫn: Nguyễn Anh Tuấn o 64 KB vùng nh mƣ ngoƠi o 64 KB vùng nh d li u ngo i. o Xử lí Boolean (ho t đ ng trên bit đ n). o 210 v trí nh có th đ nh v bit. o 4 ms cho ho t đ ng nhơn hoặc chia. Hình 1.3.1: S đ kh i 8051 II. Kh o sát đ chơn, chức năng từng chơn 1. S đ chơn 8951: ĐH Bách khoa Hà N i Page 13 GV hướng dẫn: Nguyễn Anh Tuấn Hình 1.3.2: S đ chân IC 8951 2. Chức năng các chơn c a 8051: 8051 có t t c 40 chơn có ch c năng nh các đ ng xu t nh p. Trong đó có 24 chơn có tác d ng kép (có nghĩa 1 chơn có 2 ch c năng), m i đ th ho t đ ng nh đ ng xu t nh p hoặc nh đ ng có ng đi u khi n hoặc lƠ thành ph n c a các bus d li u vƠ bus đ a ch . a .Các Port: Port 0: - Port 0 lƠ port có 2 ch c năng các chơn 32 ậ 39 c a 8951. Trong các thi t k cỡ nh không dùng b nh m r ng nó có ch c năng nh các đ ng IO. Đ i v i các thi t k cỡ l n có b nh m r ng, nó đ ợc k t hợp gi a bus đ a ch vƠ bus d li u. ĐH Bách khoa Hà N i Page 14 GV hướng dẫn: Nguyễn Anh Tuấn Port 1: - Port 1 là port IO trên các chân 1-8. Các chơn đ ợc kỦ hi u P1.0, P1.1, P1.2, ầ có th dùng cho giao ti p v i các thi t b ngoƠi n u c n. Port 1 không có ch c năng khác, vì v y chúng ch đ ợc dùng cho giao ti p v i các thi t b bên ngoƠi. Port 2: - Là 1 port có tác d ng kép trên các chơn 21 - 28 đ ợc dùng nh các đ ng xu t nh p hoặc lƠ byte cao c a bus đ a ch đ i v i các thi t b dùng b nh m r ng. Port 3: - Port 3 lƠ port có tác d ng kép trên các chơn 10 - 17. Các chơn c a port nƠy có nhi u ch c năng, các công d ng chuy n đ i có liên h v i các đặc tính đặc bi t c a 8951 nh b ng sau: Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 Tên RXT TXD INT0\ INT1\ T0 T1 WR\ Chức năng chuy n đ i Ngõ vƠo d li u n i ti p Ngõ xu t d li u n i ti p Ngõ vƠo ngắt c ng th 0 Ngõ vƠo ngắt c ng th 1 Ngõ vƠo c a TIMER/COUNTER th 0 Ngõ vƠo c a TIMER/COUNTER th 1 Tín hi u ghi d li u lên b nh ngoƠi P3.7 RD\ Tín hi u đọc b nh d li u ngoƠi B ng 1.8. Ch c năng c ng P3 b. Các ngõ tín hi u đi u khi n:  Ngõ tín hi u PSEN (Program store enable): ĐH Bách khoa Hà N i Page 15 GV hướng dẫn: Nguyễn Anh Tuấn - PSEN lƠ tín hi u ngõ ra ch ng trình m r ng th chơn 29 có tác d ng cho phép đọc b nh ng đ ợc nói đ n chơn 0E\ (output enable) c a Eprom cho phép đọc các byte mƣ l nh. - PSEN m c th p trong th i gian Microcontroller 89C51 l y l nh. Các mƣ l nh c a ch ng trình đ ợc đọc từ Eprom qua bus d li u vƠ đ ợc ch t vƠo thanh ghi l nh bên trong 89C51 đ gi i mƣ l nh. Khi 89C51 thi hƠnh ch ng trình trong ROM n i PSEN s m c logic 1.  Ngõ tín hi u đi u khi n ALE (Address Latch Enable ) : - Khi 8951 truy xu t b nh bên ngoƠi, port 0 có ch c năng lƠ bus đ a ch vƠ bus d li u do đó ph i tách các đ ALE ng d li u vƠ đ a ch .Tín hi u ra chơn th 30 dùng lƠm tín hi u đi u khi n đ gi i đa hợp các đ ng đ a ch vƠ d li u khi k t n i chúng v i IC ch t. - Tín hi u ra chơn ALE lƠ m t xung trong kho ng th i gian port 0 đóng vai trò lƠ đ a ch th p nên ch t đ a ch hoƠn toƠn t đ ng. - Các xung tín hi u ALE có t c đ bằng 1/6 l n t n s dao đ ng trên chip vƠ có th đ ợc dùng lƠm tín hi u clock cho các ph n khác c a h th ng. Chơn ALE đ ợc dùng lƠm ngõ vƠo xung l p trình cho Eprom trong 89C51.  Ngõ tín hi u EA\ (External Access): - Tín hi u vƠo EA N u chơn 31 th m c, 89C51 thi hƠnh ch th p 8 Kbyte. N u ng đ ợc mắc lên m c1 hoặc m c 0, ng trình từ ROM n i trong kho ng đ a ch m c 0, 89C51 s thi hƠnh ch ng trình từ b nh m r ng. Chơn EA đ ợc l y lƠm chơn c p ngu n 21V khi l p trình cho Eprom trong 89C51.  Ngõ tín hi u RST (Reset): ĐH Bách khoa Hà N i Page 16 GV hướng dẫn: Nguyễn Anh Tuấn - Ngõ vƠo RST chơn 9 lƠ ngõ vƠo Reset c a 89C51. Khi ngõ vƠo tín hi u nƠy đ a lên cao ít nh t lƠ 2 chu kỳ máy, các thanh ghi bên trong đ ợc n p nh ng giá tr thích hợp đ kh i đ ng h th ng. Khi c p đi n m ch t đ ng Reset.  Các ngõ vƠo b dao đ ng X1, X2: B dao đ ng đ ợc tích hợp bên trong 89C51, khi sử d ng 89C51 ng i thi t k ch c n k t n i thêm th ch anh vƠ các t nh hình v trong s đ chơn đƣ nêu trên. T n s th ch anh th ng sử d ng cho 89C51 lƠ 12 Mhz.  Chơn 40 (Vcc) đ ợc n i lên ngu n 5V. III. C u trúc bên trong vi đi u khi n 1. T chức b nh B nh ch ng trình (ROM, EPROM) lƠ b nh ch đọc, có th m r ng t i đa 64Kbyte. Vói họ vi đi u khi n 89xx, b nh ch sẵn trong chip có kích th tích hợp sẵn b nh ch ng trình đ ợc tích hợp c nh nh t là 4kByte. V i các vi đi u khi n không ng trình trên chip, bu c ph i thi t k b nh ch ng trình bên ngoài. Ví d sử d ng EPROM: 2764 (64Kbyte), khi đó chơn PSEN ph i m c tích c c (5V). B nh d li u (RAM) t n t i đ c l p so v i b nh ch ng trình. Họ vi đi u khi n 8051 có b nh d li u tích hợp trên chip nh nh t là 128byte và có th m r ng v i b nh d li u ngoài lên t i 64kByte. V i nh ng vi đi u khi n không tích hợp ROM trên chip thì v n có RAM trên chip là 128byte. Khi sử d ng RAM ngoƠi, CPU đọc và ghi d li u nh tín hi u trên các chân RD và WR. Khi sử d ng c b nh ch ng trình vƠ b nh d li u bên ngoài thì bu c ph i k t hợp chân RD và PSEN b i c ng logic AND đ phân bi t tín hi u truy xu t d li u trên ROM hay RAM ngoài. ĐH Bách khoa Hà N i Page 17 GV hướng dẫn: Nguyễn Anh Tuấn B nh ch ng trình: Hình 1.3.3 C u trúc b nh ch ng trình Hình 1.3.4 Đ a ch các ngắt trên b nh ch Hình 1.1.2 mô t c u trúc b nh ch bắt đ u th c hi n ch ng trình mặc đ nh trên b nh ch ng trình ng trình. Sau khi kh i đ ng, CPU v trí 0000H. Hình 1.1.3 mô t đ a ch ngắt ng trình. M i khi x y ra ngắt, con tr c a CPU s nh y đ n đúng đ a ch ngắt t ng ng và th c thi ch ng trình t i đó. Ví d ngắt ngoài 0 s có đ a ch là 0003H, khi x y ra ngắt ngoài 0 thì con tr ch trình s nh y đ n đúng đ a ch 0003H đ th c thi ch ch ng ng trình t i đó. N u trong ng trình ng d ng không xử d ng đ n ngắt ngoƠi 0 thì đ a ch 0003H v n có th dùng cho m c đích khác (sử d ng cho b nh ch l p trình bằng ngôn ng Assembly, ph n đ u ch ĐH Bách khoa Hà N i ng trình). B i v y khi ng trình bao gi cũng ph i Page 18 GV hướng dẫn: Nguyễn Anh Tuấn cho ch ng trình nh y đ n đ a ch cao h n đ a ch ch a các ngắt và mã l nh vi t cho các ngắt thì ph i vi t đúng đ a ch c a các ngắt t ng ng. B nh d li u: Hình 1.3.5 C u trúc b nh d li u Hình 1.1.4 mô t c u trúc b nh d li u trong và b nh d li u ngoài c a họ vi đi u khi n 8051. CPU s dùng đ n các chân RD và WR khi truy c p đ n b nh d li u ngoài. Hình 1.1.5 mô t c u trúc b nh d li u trong chip, đ ợc chia thành 3 kh i là 128 byte th p, 128 byte cao vƠ 128 byte đặc bi t. Hình 1.3.6 C u trúc b nh trong ĐH Bách khoa Hà N i Page 19 GV hướng dẫn: Nguyễn Anh Tuấn Hình 1.1.6 mô t c u trúc 128 byte th p c a b nh d li u c a họ vi đi u khi n 8051. 32 byte đ u tiên (00H-1FH) đ ợc sử d ng cho 4 b 8 thanh ghi R0R7. Hai bit c a thanh ghi đặc bi t PSW s l a chọn 1 trong 4 b thanh ghi mà vi đi u khi n s dùng trong khi th c thi ch ng trình. Hình 1.3.7 C u trúc 128 byte th p c a b nh d li u trong 8051 ch a 210 v trí bit đ ợc đ nh đ a ch trong đó 128 bit ch a trong các byte đ a ch từ 20H đ n 2FH (16 byte x 8 bit = 128 bit) và ph n còn l i ch a trong các thanh ghi đặc bi t. Ngoài ra 8051 còn có các port xu t/nh p có th đ nh đ a ch từng bit, đi u nƠy lƠm đ n gi n vi c giao ti p bằng ph n m m v i các thi t b xu t/nh p đ n bit. Vùng RAM đa m c đích có 80 byte đặt d đ a ch từ 30H đ n 7FH, bên i vùng này từ đ a ch 00H đ n 2FH là vùng nh có th đ ợc sử d ng t ng t . B t kỳ v trí nh nƠo trong vùng RAM đa m c đích đ u có th đ ợc truy xu t t do bằng cách sử d ng các ki u đ nh đ a ch tr c ti p hoặc gián ti p. B t kỳ v trí nh nào trong vùng RAM đa m c đích đ u có th đ ợc truy xu t t do bằng cách sử d ng các ki u đ nh đ a ch tr c ti p hoặc gián ti p. Cũng nh các thanh ghi từ R0 đ n R7, ta có 21 thanh ghi ch c năng đặc bi t SFR chi m ph n trên c a Ram n i từ đ a ch 80H đ n FFH. C n l u Ủ lƠ ĐH Bách khoa Hà N i Page 20 GV hướng dẫn: Nguyễn Anh Tuấn không ph i t t c 128 đ a ch từ 80H đ n FFH đ u đ ợc đ nh nghĩa mƠ ch có 21 đ a ch đ ợc đ nh nghĩa. Hình 1.3.8. 128 byte cao c a b nh d li u. 3. Các thanh ghi đặc bi t 8051 có 21 thanh ghi ch c năng đặc bi t SFR chi m ph n trên c a Ram n i từ đ a ch 80H đ n FFH. C n l u Ủ lƠ không ph i t t c 128 đ a ch từ 80H đ n FFH đ u đ ợc đ nh nghĩa mƠ ch có 21 đ a ch đ ợc đ nh nghĩa. Hình 1.2.1 mô t các thanh ghi đặc bi t trong vùng nh d li u 80H đ n FFH. Hình 1.3.9. Các thanh ghi đặc bi t ĐH Bách khoa Hà N i Page 21 GV hướng dẫn: Nguyễn Anh Tuấn Thanh ghi chính Thanh ghi tính toán chính c a vi đi u khi n 8051 ACC (Accumulator). LƠ thanh ghi đặc bi t c a 8051 dùng đ th c hi n các phép toán c a CPU, th ng kí hi u là A. Thanh ghi ph Thanh ghi tính toán ph c a vi đi u khi n 8051 là B. Thanh ghi B đa ch F0H đ ợc dùng chung v i thanh ch a A trong các phép toán nhân, chia. L nh MUL AB nhân 2 s 8 bit không d u ch a trong A và B và ch a k t qu 16 bit vào cặp thanh ghi B, A (thanh ch a A c t byte th p và thanh ghi B c t byte cao). L nh chia DIV AB chia A b i B, th ng s c t trong thanh ch a A vƠ d s c t trong thanh ghi B. Thanh ghi B còn đ ợc xử lỦ nh m t thanh ghi nháp. Các bit đ ợc đ nh đ a ch c a thanh ghi B có đ a ch từ F0H đ n F7H. Thanh ghi tr ng thái ch Thanh ghi tr ng thái ch thái ch ng trình (PSW) ng trình PSW lƠ thanh ghi mô t toàn b tr ng ng trình đang ho t đ ng c a h th ng. Hình 1.2.2 và 1.2.2 s mô t thanh ghi này. Hình 1.3.10. Thanh ghi tr ng thái ch ĐH Bách khoa Hà N i ng trình PSW Page 22 GV hướng dẫn: Nguyễn Anh Tuấn Hình 1.3.11 Chi ti t các bit trong thanh ghi PSW Thanh ghi ngăn x p (Stack Pointer) Con tr stack SP (stack pointer) là 1 thanh ghi 8 bit ch a đ a ch c a d li u hi n đang đ a ch 81H. SP đ nh c a stack. Các l nh liên quan đ n satck bao g m l nh c t d li u vào stack và l nh l y d li u ra kh i stack. Vi c c t vƠo stack lƠm tăng SP tr c khi ghi d li u và vi c l y d li u ra kh i stack s gi m SP. Vùng stack c a 8051 đ ợc gi trong RAM n i vƠ đ ợc gi i h n đ n các đ a ch truy xu t đ ợc b i ki u đ nh đ a ch gián ti p. Các l nh PUSH và POP s c t d li u vào stack và l y d li u từ stack, các l nh gọi ch ng trình con (ACALL, LCALL) và l nh tr v (RET, RETI) cũng c t và ph c h i n i dung c a b đ m ch ng trình PC (Program counter) Con tr d li u DPTR ĐH Bách khoa Hà N i Page 23 GV hướng dẫn: Nguyễn Anh Tuấn Con tr d li u DPTR (data pointer) đ ợc dùng đ truy xu t b nh ch ng trình ngoƠi hoặc b nh d li u ngoƠi. DPTR lƠ m t thanh ghi 16 bit có đ a ch lƠ 82H (DPL, byte th p) vƠ 83H (DPH, byte cao). Thanh ghi các c ng P0-P3 Các port xu t/nh p c a 8051 bao g m Port 0 t i đ a ch 80H, Port 1 t i đ a ch 90H, Port 2 t i đ a ch A0H và Port 3 t i đ a ch B0H. T t c các port đ u đ ợc đ nh đ a ch từng bit nhằm cung c p các kh năng giao ti p m nh. Thanh ghi b đ m truy n thông n i ti p (Serial Data Buffer) B đ m truy n thông đ ợc chia thành hai b đ m, b đ m truy n d li u và b đ m nh n d li u. Khi d li u đ ợc chuy n vào thanh ghi SBUF, d li u s đ ợc chuy n vào b đ m truy n d li u và s đ ợc l u gi đó cho đ n khi quá trình truy n d li u qua truy n thông n i ti p k t thúc. Khi th c hi n vi c chuy n d li u từ SBUF ra ngoài, d li u s đ ợc l y từ b đ m nh n d li u c a truy n thông n i ti p. Thanh ghi c a b đ nh th i/b đ m 8051 có 2 b đ m/đ nh th i (counter/timer) 16 bit đ đ nh các kho ng th i gian hoặc đ đ m các s ki n. Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các thanh ghi c a b đ m th i gian. B đ nh th i 0 có đ a ch 8AH (TL0, byte th p) và 8CH (TH0, byte cao). B đ nh th i 1 có đ a ch 8BH (TL1, byte th p) và 8DH (TH1, byte cao). Ho t đ ng c a b đ nh th i đ ợc thi t l p b i thanh ghi ch đ đ nh th i TMOD (Timer Mode Register) đ a ch 88H. Ch có TCON đ ợc đ nh đ a ch từng bit. Các thanh ghi đi u khi n ĐH Bách khoa Hà N i Page 24 GV hướng dẫn: Nguyễn Anh Tuấn Các thanh ghi đi u khi n đặc bi t nh IP, IE, TMOD, TCON, SCON vƠ PCON là các thanh ghi đi u khi n và ghi nh n tr ng thái c a h th ng ngắt, b đ m/đ nh th i, truy n thông n i ti p 4. Các lo i ngắt trong 8051 - Trong th c t thì ch có 5 lo i ngắt nh ng có thêm m t lo i n a cũng hi u ng m lƠ ngắt đó lƠ tín hi u RESET. D i đơy lƠ 6 tín hi u ngắt: + RESET: Khi chơn RESET đ ợc kích ho t từ 8051, b đ m ch trình nh y v đ a ch 0000H. Đơy lƠ đ a ch bắt đ u c a ch ng ng trình. + 2 ngắt dƠnh cho các b đ nh th i: 1 cho Timer0 và 1 cho Timer1. Đ a ch t ng ng c a các ngắt nƠy lƠ 000BH và 001BH. + 2 ngắt dƠnh cho các ngắt ph n c ng bên ngoƠi: chân 12 (P3.2) và 13 (P3.3) c a port P3 lƠ các ngắt ph n c ng bên ngoƠi INT0 và INT1 t Đ a ch t ng ng. ng ng c a các ngắt ngoƠi nƠy lƠ 0003H và 0013H. + Truy n thông n i ti p: có 1 ngắt chung cho c nh n vƠ truy n d li u n i ti p. Đ a ch c a ngắt nƠy trong b ng vector ngắt lƠ 0023H. Đ u tiên c a ngắt trong 8051 - Th hi n tín hi u nƠo đ ợc u tiên th c hiên tr c n u có nhi u tín hi u ngắt đ ng th i 1. Reset 2. Ngắt ngoƠi 0 C ngắt: IE0 3. Ngắt timer 0 TF0 4. Ngắt ngoƠi 1 IE1 5. Ngắt timer 1 TF1 6. Ngắt truy n thông RI/TI ----------------o0o---------------- ĐH Bách khoa Hà N i Page 25 GV hướng dẫn: Nguyễn Anh Tuấn PH N II: TH C HI N Đ TÀI CH NG 1: TI N TRỊNH TH C HI N I. Các giai đo n th c hi n Tìm hi u tra c u các linh ki n liên quan đ n m ch. Tìm hi u th tr linh ki n đi n tử đ có ph ng ng án thi t k hợp. Ti n hƠnh thi t k m ch vƠ v m ch trên ph n m m. Tìm đi m còn thi u sót sau đó ti n hƠnh lắp ráp linh Ki n. L p trình th c nghi m đ có ch ng trình t t nh t đ ng th i vi t báo cáo II. Quá trình thi t k vƠ lắp ráp  Th c hi n v m ch trên ph n m m Altium.  Tính toán ch s linh ki n c n thi t đ lắp ráp m ch.  Thi công m ch in đ lƠm test.  Th c hi n m ch hoƠn ch nh. III. Các khó khăn gặp ph i Trong quá trình thi t k thi công luôn gặp khó khăn v đi u ki n th c hi n, đó lƠ tìm hi u linh ki n c n thi t vƠ nghiên c u thi t k nh ng đ ng th i cũng ph i bi t đ ợc th tr ng n c ta có lo i linh ki n đó hay không. K đ n lƠ các v n đ v tƠi chính sau đó lƠ các thi t b thí nghi m c n thi t đ ki m tra. ----------------o0o---------------- CH ĐH Bách khoa Hà N i NG 2: THI T K KH I M CH Page 26 GV hướng dẫn: Nguyễn Anh Tuấn I. S đ nguyên lý các kh i 1. Kh i ngu n Đ i v i các m ch dùng vi xử lỦ , các IC TLL, ICs đòi h i c n ph i có ngu n cung c p n đ nh 5V (dao đ ng từ 4.75V đ n 5.25V) n u đi n áp không nằm trong gi i đó mƠ xu ng m c gi i h n thì ICS không ho t đ ng (Reset) còn trên m c gi i h n thì h ng ICs. Do v y trong các m ch thi t k dùng ICs ng i ta ph i có m t ngu n cung c p n đ nh đ nuôi các ICs đó vƠ đi n áp nƠy không đ ợc lên xu ng theo đi n áp ngu n. V y vi c c n c p cho nó ngu n 5V n đ nh đ cho chip ho t đ ng bình th đơy lƠ ng vƠ LED sáng đ u.  H Hình 2.2.1. S đ nguyên lý kh i ngu n ng phát tri n c a m ch: V i m ch nƠy có th dùng nhi u cho các dòng c a 78. N u nh mu n n đ nh đi n áp 6V,8V, 12V... Ch c n chọn 78 thích hợp v i đi n áp các b n mu n n áp nh 78006, 78008, 7812... Nguyên lỦ cũng gi ng nh m ch n đ nh trên vƠ ch khác lƠ các IC 78xx t ng ng v i đi n áp ra c n. 2. Kh i m ch đo vƠ hi n th nhi t đ ĐH Bách khoa Hà N i Page 27 GV hướng dẫn: Nguyễn Anh Tuấn Hình 2.2.2. S đ m ch l c Công thức tính toán: ADC 8bit: Vin = (Vref*ADC)/256 Trong đó: Vref lƠ đi n áp tham chi u (Đ n v : V) ADC lƠ giá tr sau chuy n đ i. Do đ phơn gi i c a ADC0808 lƠ 8bit lên s có 256 m c đi n áp so v i Vref. T c n u ta c p vƠo Vref lƠ 5V vƠ tín hi u input vƠo lƠ 2.5V chẳng h n thì giá tr ADC = 256⁄2 = 128 (do Vin = 1⁄2 Vref) từ đó suy ra Vref = 2.56V thì đ ADC=25 thì đi n áp đ u vƠo input ph i lƠ 250mV => C tăng/gi m 10mV lƠ ADC tăng/gi m 1 giá tr . MƠ c m bi n nhi t đ LM35 l i có ngõ ra c 10mV lƠ thay đ i 1 đ C nh v y suy ra ADC=25 thì LM35 đang 25 đ C. V i cách nƠy ta không c n ph i tính toán giá tr nhi t đ sau khi chuy n đ i mƠ có th xu t luôn giá tr ADC đó ra mƠn hình LCD. ĐH Bách khoa Hà N i Page 28 GV hướng dẫn: Nguyễn Anh Tuấn Sai s c a LM35 + T i 0 đ C thì đi n áp c a LM35 lƠ 10mV + T i 150 đ C thì đi n áp c a LM35 là 1.5V ==> Gi i đi n áp ADC bi n đ i lƠ 1.5 - 0.01 = 1.49 (V) + ADC 8 bit nên b c thay đ i c a ADC lƠ : n = 2.44mV V y sai s c a h th ng đo lƠ : Y = 0.00244/1.49 = 0.164 % II. L p trình cho vi đi u khi n /* Do nhiet do dung LM35, ADC0809 IC 89S52 */ #include <REGX51.H> #define VREF 5 //VREF=5V //Khai bao chan giao tiep ADC0808 #define ADC0808_DATA P3 //PORT #define ADC0808_A P2_0 //PIN #define ADC0808_B P2_1 #define ADC0808_C P2_2 #define ADC0808_ALE P2_3 #define ADC0808_START P2_4 #define ADC0808_EOC P2_5 #define ADC0808_OE P2_6 #define ADC0808_CLK P2_7 //Khai bao chan giao tiep LCD16x2 4bit #define LCD_RS P0_0 #define LCD_RW P0_1 #define LCD_EN P0_2 ĐH Bách khoa Hà N i Page 29 GV hướng dẫn: Nguyễn Anh Tuấn #define LCD_D4 P0_4 #define LCD_D5 P0_5 #define LCD_D6 P0_6 #define LCD_D7 P0_7 /*****************ADC0808*********************/ //Ham doc ADC0808 theo kenh unsigned char ADC0808_Read(unsigned char channel){ unsigned char kq; ADC0808_A = channel & 0x01; ADC0808_B = channel & 0x02; ADC0808_C = channel & 0x04; ADC0808_ALE = 1; ADC0808_START = 1; ADC0808_ALE = 0; ADC0808_START = 0; while(ADC0808_EOC); while(!ADC0808_EOC); ADC0808_OE = 1; kq = ADC0808_DATA; ADC0808_OE = 0; return kq; } /*****************Ham delay*********************/ void delay_us(unsigned int t){ unsigned int i; for(i=0;i<t;i++); } void delay_ms(unsigned int t){ ĐH Bách khoa Hà N i Page 30 GV hướng dẫn: Nguyễn Anh Tuấn unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<125;j++); } /**************Ctr giao tiep LCD 16x2 4bit**********************/ void LCD_Enable(void){ LCD_EN =1; delay_us(3); LCD_EN=0; delay_us(50); } //Ham Gui 4 Bit Du Lieu Ra LCD void LCD_Send4Bit(unsigned char Data){ LCD_D4=Data & 0x01; LCD_D5=(Data>>1)&1; LCD_D6=(Data>>2)&1; LCD_D7=(Data>>3)&1; } // Ham Gui 1 Lenh Cho LCD void LCD_SendCommand(unsigned char command){ LCD_Send4Bit(command >>4);/* Gui 4 bit cao */ LCD_Enable(); LCD_Send4Bit(command); /* Gui 4 bit thap*/ LCD_Enable(); } void LCD_Clear(){// Ham Xoa Man Hinh LCD LCD_SendCommand(0x01); delay_us(10); ĐH Bách khoa Hà N i Page 31 GV hướng dẫn: Nguyễn Anh Tuấn } // Ham Khoi Tao LCD void LCD_Init(){ LCD_Send4Bit(0x00); delay_ms(20); LCD_RS=0; LCD_RW=0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8 LCD_SendCommand( 0x0c); // cho phep hien thi man hinh LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh LCD_SendCommand(0x01); // xoa toan bo khung hinh } void LCD_Gotoxy(unsigned char x, unsigned char y){ unsigned char address; if(!y)address=(0x80+x); else address=(0xc0+x); delay_us(1000); LCD_SendCommand(address); delay_us(50); ĐH Bách khoa Hà N i Page 32 GV hướng dẫn: Nguyễn Anh Tuấn } void LCD_PutChar(unsigned char Data){//Ham Gui 1 Ki Tu LCD_RS=1; LCD_SendCommand(Data); LCD_RS=0 ; } void LCD_Puts(char *s){//Ham gui 1 chuoi ky tu while (*s){ LCD_PutChar(*s); s++; } } /**************Show Temp*********************** unsigned char Temp(unsigned char adc){//Tinh nhiet do tu adc8bit return ((VREF*adc)/2.56f); //Tinh nhiet do } */ void TempShow(unsigned char z){ //Chuyen doi hien thi LCD_Puts("Nhiet do: "); LCD_PutChar((z/100)+48);//Tram LCD_PutChar((z%100/10)+48);//Chuc LCD_PutChar((z%10)+48);//Don vi LCD_Puts("'C"); } /******************Ctr ngat timer 0**************************/ void INT_Timer0()interrupt 1 { //ctr phuc vu ngat tao xung clock cho ADC0808 ADC0808_CLK=~ADC0808_CLK; //Dao bit } ĐH Bách khoa Hà N i Page 33 GV hướng dẫn: Nguyễn Anh Tuấn /******************Ctr chinh**************************/ unsigned char temp; void main(){ //Tao xung clock cho ADC0808 dung ngat timer TMOD=0x02; //Timer0 8bit tu nap lai TH0=TL0=236;//Tao ngat 20us TR0=1;//Khoi dong timer0 ET0=1;//Ngat timer0 EA=1;//Cho phep ngat cuc bo //init LCD_Init();//Khoi tao LCD delay_ms(200); LCD_Puts("Do nhiet do...");//Gui chuoi len LCD delay_ms(500); LCD_Clear();//Xoa man hinh LCD_Gotoxy(0,1); LCD_Puts("Le Van Cong"); while(1){ LCD_Gotoxy(0,0); temp=ADC0808_Read(0); //Doc ADC0 //temp=Temp(temp); //Tinh nhiet do TempShow(temp); //Hien thi nhiet do delay_ms(500);//0.5s doc mot lan } }//THE END III. Thi công m ch th t và test ĐH Bách khoa Hà N i Page 34 GV hướng dẫn: Nguyễn Anh Tuấn M ch ch y n đ nh hi n th nhi t đ rõ ràng, tuy nhiên ch y lâu IC 7805 b nóng t a nhi t. Hình 2.2.3..Mô hình m ch th t. ----------------o0o---------------- CH NG III: K T LU N - TÀI LI U THAM KH O I. K t lu n Sau nhi u ngƠy c gắng lƠm vi c khẩn tr tình c a giáo viên h ng v i s h ng d n nhi t ng d n lƠ th y Nguy n Anh Tu n. Đ tƠi: “Đo nhiệt đ hiển thị LCD” đƣ hoƠn thƠnh đúng th i gian qui đ nh vƠ có các đặc đi m sau: 1. u đi m:  Đo giá tr nhi t đ ĐH Bách khoa Hà N i Page 35 GV hướng dẫn: Nguyễn Anh Tuấn  Hi n th lên mƠn hình LCD 2. Nh c đi m:  Đ chính xác ch a cao  Ch a t n d ng h t kh năng c a IC. V i t p đ án nƠy đƣ giúp cho em b c đ u lƠm quen v i đ tƠi khoa học vƠ em đƣ th t s tích lũy m t s ki n th c c b n v vi đi u khi n, thi t k m ch vƠ kỹ thu t l p trình. Mặc dù th i gian h n hẹp, tƠi li u tham kh o quá ít, vƠ có nhi u v n đ n y sinh trong quá trình thi t k ph n c ng, nh ng em đƣ c gắng h t s c mình cũng nh s t n tơm giúp đỡ c a giáo viên h ng d n nên đƣ đ t đ ợc nh ng yêu c u đặt ra. Qua quá trình th c hi n đ tƠi, em đƣ t đánh giá đ ợc ph n nƠo còn h n ch vƠ ít nhi u b sung các ki n th c còn h n hẹp trong th i gian học t i tr ng. Em xin chơn thƠnh c m n s giúp đỡ t n tình, quỦ báu c a giáo viên h ng d n, các giáo viên trong khoa vƠ toƠn th các b n đƣ t o nhi u đi u ki n giúp em hoƠn thƠnh t t nhi m v đ ợc giao đúng th i gian qui đ nh. II. Tài li u tham kh o 1. Tác gi : T ng Văn Ôn ậ HoƠng Đ c H i : Họ Vi Đi u Khi n 8951 NXB KHKT. 2. Lê Phi Y n ậL u Phú ậNguy n Nh Anh ậKỹ Thu t Đi n Tử - NXB KHKT. 3. H Trung Mỹ ậ ĐH Bách khoa Hà N i ng D ng IC n Áp. Page 36 GV hướng dẫn: Nguyễn Anh Tuấn 4. https://www.google.com.vn/ 5. http://sangtaoclub.net/bai-viet/192-bai-13-do-nhiet-do-dung-lm35-kethop-ic-adc0808-voi-8051.html 6. http://codientu.org/threads/5207 ĐH Bách khoa Hà N i Page 37