intTypePromotion=1

BÁO CÁO BÀI TẬP LỚN MẠCH ĐẾM SẢN PHẨM BẰNG CẢM BIÊN HÔNG NGOẠI HIỂN THỊ LÊN LCD

Chia sẻ: Tran Huan De Huande | Ngày: | Loại File: PDF | Số trang:15

0
277
lượt xem
121
download

BÁO CÁO BÀI TẬP LỚN MẠCH ĐẾM SẢN PHẨM BẰNG CẢM BIÊN HÔNG NGOẠI HIỂN THỊ LÊN LCD

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Linh kiện cần dùng trong mạch Chip atmega16 có đầy đủ tính năng của họ AVR và có các tính năng sau: Bộ nhớ 16K(flash) Đóng vỏ 40 chân , trong đó có 32 chân vào ra dữ liệu chia làm 4 port Các chân này đều có chế độ pull up resistors Giao tiếp SPI giao diện I2C

Chủ đề:
Lưu

Nội dung Text: BÁO CÁO BÀI TẬP LỚN MẠCH ĐẾM SẢN PHẨM BẰNG CẢM BIÊN HÔNG NGOẠI HIỂN THỊ LÊN LCD

  1. BÁO CÁO BÀI T P L N M CH M S N PH M B NG C M BI N H NG NGO I HI N TH LÊN LCD. Thành Viên : TR N KH C HUÂN LÊ HOÀI SƠN TH TH NGÂN I. Linh Ki n C n Dùng Trong M ch 1. Chip atmega16 : Atmega16 có y tính năng c a h AVR và có các tính năng sau : - B nh 16K(flash) - 512 byte(EEPROM) - 1K(SRAM) - óng v 40 chân ,trong ó có 32 chân vào ra d li u chia làm 4 PORT A,B,C,D . Các chân này u có ch pull_up resistors. - Giao ti p SPI - Giao di n I2C - Có 8 kênh ADC 10bit - 1 b so sánh analog - 4 kênh PWM - 2 b timer/counter 8bit,1 b timer/counter 16bit -1 b nh th i Watchdog - 1 b truy n nh n UART l p trình ư c - 3 chân ng t ngoài INT0,INT1,INT2 tương ương v i 3 chân PD2,PD3,PB2: Vì bài này s d ng ng t ngoài m s n ph m nên em s i sâu vào ph n ng t ngoài: Interrupts, thư ng ư c g i là ng t, là m t tín hi u kh n c p g i 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 t i “nh y” n m t nơi khác th c hi n m t nhi m v kh n c p nào ó, nhi m v này g i là trình ph c v ng t – isr m chương trình (interrupt service routine ). Sau khi k t thúc nhi m v trong isr, b s ư c tr v giá tr trư c ó b x lí quay v th c hi n ti p các nhi m v còn
  2. dang d . Như v y, ng t có m c ưu tiên x lí cao nh t, ng t thư ng ư c dùng x lí các s ki n b t ng nhưng không t n quá nhi u th i gian. Các tín hi u d n n ng t có th xu t phát t các thi 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ó 1 button ư c nh n, ng t báo có 1 gói d li u ã ư c nh n…). 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: Thanh ghi i u khi n MCU – MCUCR (MCU Control Register) là thanh ghi xác l p ch ng t cho ng t ngoài: N u không nh n, tr ng thái các chân INT là HIGH do i n tr kéo lên, khi v a nh n 1 button, s có chuy n tr ng thái t HIGH sang LOW, chúng ta g i là c nh xu ng - Falling Edge, khi button ư c nh n và gi , tr ng thái các chân INT ư c xác nh là LOW và cu i cùng khi th các button, tr ng thái chuy n t LOW sang HIGH, g i là c nh lên – Rising Edge. Dư i ây là c u trúc thanh ghi MCUCR ư c trích ra t datasheet c a chip atmega16:
  3. MCUCR là m t thanh ghi 8 bit nhưng i v i ho t ng ng t ngoài, chúng ta ch quan tâm n 4 bit th p c a nó (4 bit cao dùng cho 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, còn l i m c nh MCUCR=0x00 dùng ng t INT2. Dư i ây là b ng chân tr c a hai bit ISC11 và ISC10 cho ng t ngoài INT1 mà ta áp d ng bài này : Trong bài này em s d ng ng t INT1 là ng t c nh xu ng (falling edge) nên giá tr c a thanh ghi MCUCR=00001000(nh phân)=0x80(hex) 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ó 3 bit cao (bit5,bit 6 và bit 7) là ư c s d ng cho i u khi n ng t, c u trúc thanh ghi như bên dư i (trích datasheet atmega16): Trong bài này em s d ng ng t INT1 nên kích ho t ng t INT1 thì ph i set bit 7 lên b ng 1 hay ta có th vi t GICR=10000000(nh phân)=0x80(hex) Thanh ghi c ng t chung – GIFR (General Interrupt Flag Register) Có 3 bit INTF2,INTF1 và INTF0 là các bit tr ng thái (hay bit c - Flag) c a 3 ng t INT2,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 set b ng 1 (tương t cho trư ng h p c a INTF2 và INTF0), có th s d ng các bit này nh n ra các ng t, tuy nhiên i u này là không c n thi t n u cho phép ng t t ng, vì v y thanh ghi này thư ng không ư c quan tâm khi l p trình ng t ngoài.
  4. Các vector ng t và Reset trên chip Atmega16: Mô t các chân : - Vcc và GND 2 chân c p ngu n cho vi i u khi n ho t ng - Reset ây là chân reset c ng ,kh i ng l i m i ho t ng c a h th ng - 2 chân XTAL1 và XTAL2 các chân t o b dao ng ngoài cho vi i u khi n , các chân này ư c n i v i th ch anh (hay s d ng lo i 4M),t g m 22p - Chân vref thư ng n i lên 5v(Vcc),nhưng khi s d ng ADC thì chân này ư c s d ng làm i n th so sánh ,khi ó chân này ph i c p cho nó i n áp c nh - Chân AVCC thư ng ư c n i lên Vcc nhưng khi s d ng ADC thì chân này ư c n i qua m t cu n c m lên Vcc v i m c ích n nh i n áp bi n i.
  5. 1.Sơ chân atmega16 2. B khu ch i thu t toán LM358 : Lm358 b khu ch i thu t toán kép (Dual op-amp), bên trong có 2 con op-amp. M i op- amp có 3 chân, ngõ vào o(- input), ngõ vào không o (+ input), và ngõ ra (output) . Nguyên lý ho t ng : Khi hi u i n th (+ input) cao hơn (- input) thì ngõ ra (output) - m c cao (+Vss), ngư c l i ngõ ra m c th p (-Vss) ng d ng : dùng so sánh i n áp, chuy n i Analog - Digital, c m bi n o lư ng, - khu ch i, vvv 2.Sơ chân LM358
  6. 3. Text LCD 16x2 Text LCD16x2 có 16 chân trong ó 14 chân k t n i v i b i u khi n và 2 chân ngu n cho “ èn LED n n”. Th t các chân thư ng ư c s p x p như sau: 4. C p Led Thu-Phát
  7. Ph n phát : ư c n i như led sáng bình thư ng(ph m vi trong bài demo). a. Nhưng khi mu n phát xa hơn ta ph i dùng sơ kh i sau: • Kh i ch c năng : khi ngư i s d ng b m vào các phím ch c năng phát l nh yêu - c u c a mình ,m i phím ch c năng tương ng v i m t s th p phân M ch mã hóa s chuy n i thành mã nh phân tương ng dư i d ng mã l nh tín hi u - g m các bít 0 va 1. Kh i dao ng có i u ki n là kh i t o dao ng xung ng h ,t n s xung ng h - xác nh th i gian chu n c a m i bít Kh i ch t d li u : mã nh phân ư c ch t ưa vào kh i chuy n i song song ra - n i t i p.
  8. i u ch và phát FM : mã l nh dư i d ng n i ti p s ư c ưa qua m ch i u ch và - phát FM ghép mã l nh vào sóng mang có t n s 38Khz-100Khz, nh sóng mang cao t n tín hi u ư c truy n i xa hơn. b. Ph n thu : n i ngư c so v i LED phát vì c c c a LED thu ngư c v i LED phát : Bi n tr 1k i u ch nh so sánh i n áp gi a hai chân (+input) và (-input) c a opam - Chân (+input) c a opam ư c n i v i bi n tr 1k, chân (-input) ư c n i gi a LED - thu và i n tr 1k,chân out c a opam ư c n i v i chân INT1 c a atmega16 Note : vì opam LM358 s d ng i n áp 5v chu n nên u out c a opam ch có hai m c 0v và 5v nên khi chân out n i v i chân INT1 thì vi i u khi n hi u 0v là m c th p 0 và 5v là m c cao tương dương v i 1.
  9. Nguyên lý ho t ng c a c p LED thu-phát : là khi mã l nh có giá tr là 1 thì LED phát sáng bên LED thu nh n ư c ánh sáng h ng ngo i và giá tr bit tương ương là 1 ,ngư c l i khi mã l nh có giá tr 0 LED phát thì bên LED thu không nh n ư c tín hi u nên xem như bit=0. 5. Còn m t s linh ki n khác như : led báo, 1 t hóa l c dòng i n ,1 t 104pF l c dòng i n ,th ch anh 8M dao ng ngoài ,hai t 33p cho th ch anh ,và m t button reset. II. Nguyên lý ho t ng và sơ kh i ho t ng 1. Nguyên lý ho t ng : LED phát h ng ngo i ư c c p ngu n như m t led bình thư ng nên sáng liên t c. LED thu ư c t i di n v i LED phát kho ng cách 5cm, vì demo nên em không s d ng m ch khu ch i và i u ch FM nên kho ng cách t i a cho thu-phát ch là 10cm. Opam LM358 : chân (-input) n i gi a i n tr 1k và u máp c a LED thu , chân (+input) n i v i bi n tr 1k i u ch nh và chân (out) còn l i n i v i chân ng t ngoài INT1 c a vi i u khi n. Ng t ngoài INT atmega16 : như ã nói ph n tính năng c a atmega16 là khi button nh n tương ương v i m c 0v c a opam thì s tăng 1 ơn v và hi n th lên LCD. Nguyên lý ho t ng như sau : Khi không có v t che( i qua) ánh sáng h ng ngo i t LED phát chi u n LED thu nh n ư c tín hi u làm cho LED thu thông, dòng i n s thông qua LED thu xu ng t (vì i n tr t i chân(-input) c a opam l n) nên Vin- < Vin+ u ra Vout=5V tương ương v i m c 1 c a chân INT1 mà ta ã l p trình nên s không m. Khi có v t che( i qua) LED thu không b t ư c tín hi u(ánh sáng) t LED phát , LED thu s không thông hay s không có dòng i n i qua LED thu mà i tr c ti p i vào chân (-input) c a opam nên Vin- > Vin+ u ra Vout = 0v tương ương v i m c 0 , chân INT1 nh n ư c m c th p 0 s tăng lên 1 ơn v và hi n th lên LCD. 2. Sơ kh i ho t ng :
  10. III. M ch nguyên lý và m ch in Kh i ngu n và c m bi n :
  11. Kh i tính toán và hi n th :
  12. M ch in : IV. Ph n l p trình //Chip type : ATmega16 //Program type : Application //Clock frequency : 16.000000 MHz //Memory model : Small //External RAM size : 0 //Data Stack size : 256 //*****************************************************/ #include #include // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B ;PORTA #endasm #include unsigned char a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,i=0;
  13. char flash *str="GIA TRI DEM:"; interrupt [EXT_INT1] void ext_int1_isr(void) { i++; if(i==10){i=0;n++; if(n==10){n=0;m++; if(m==10){m=0;l++; if(l==10){l=0;h++; if(h==10){h=0;g++; if(g==10){g=0;f++; if(f==10){f=0;e++; if(e==10){e=0;d++; if(d==10){d=0;c++; if(c==10){c=0;b++; if(b==10){b=0;a++;}}}}}}}}}}} } void lcd(char i, char n, char m, char l, char h, char g, char f, char e, char d, char c, char b, char a) { lcd_gotoxy(4,1);//dua tro den hang 1 cot 4 lcd_putchar(a+48);//hien thi so trong ma ascii lên lcd lcd_putchar(b+48); lcd_putchar(c+48); lcd_putchar(d+48); lcd_putchar(e+48); lcd_putchar(f+48); lcd_putchar(g+48); lcd_putchar(h+48); lcd_putchar(l+48); lcd_putchar(m+48); lcd_putchar(n+48); lcd_putchar(i+48); } void main(void) { PORTA=0; DDRA=0xff; // cong A la cong out
  14. PORTD=0xff; // na^ng PORTD len 1 de noi button DDRD=0; GICR|=0x80; // cho phep ngat INT1 MCUCR=0x08; // ngat canh xuong falling edge // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // khoi dong lcd lcd_init(16); lcd_gotoxy(0,0); lcd_clear(); //xoa lcd lcd_putsf("HUAN-NGAN_SON"); delay_ms(200); lcd_clear(); lcd_putsf("DEM SAN PHAM BANG HONG NGOAI"); delay_ms(200); lcd_clear(); lcd_putsf(str);//in ra tu bo nho flash #asm("sei") // cho phep ngat toan cuc while (1) { lcd(i,n,m,l,h,g,f,e,d,c,b,a); }; }
  15. V. Ưu và như c i m c a cách làm *Ưu i m : M ch ơn gi n do hi n th lên LCD và c m bi n h ng ngo i không có ph n ch ng nhi u (thu và phát ánh sáng h ng ngo i m t t n s nào ó ch ng nhi u ).Do ó m ch r ti n và d làm. *Như c i m : - M ch không có giao ti p v i các phím nh n nên không t ư c giá tr c n m ban u (chi m ư c t 0) hoăc giá tr d ng m. - Ch m ư c các s n ph m có kh năng che ươc ánh sáng h ng ngo i. - Không ch ng ư c nh ng ngu n nhi u h ng ngo i. - Không phát xa ư c tín hi u . * Hư ng phát tri n : - Thêm modun nút n cho m ch ho c thi t k ph n m m có th cài t các thông s hi n th lên LCD -Thi t k thêm ph n i u ch có th ch ng nhi u cho c m bi n. - Thêm kh i i u ch và phát FM tín hi u ư c phát xa hơn. * ng d ng : V i các c i ti n v a nêu trên s n ph m hoàn toàn có kh năng em vào ng d ng trong th c t s n xu t.
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2