BẢN BÁO CÁO BÀI TẬP LỚN Môn: Vi Điều Khiển Chủ đề:Thiết kế bộ đếm sản phẩm bằng hồng ngoại Giáo viên hướng dẫn : Học sinh thực hiện:ĐỒNG VĂN THẮNG NGUYỄN VĂN THỰC ĐÀO TRỌNG HIẾU Hà Nội 0
Trang 1BẢN BÁO CÁO BÀI TẬP LỚN Môn: Vi Điều Khiển
Chủ đề:Thiết kế bộ đếm sản phẩm bằng hồng ngoại Giáo viên hướng dẫn :
Học sinh thực hiện:ĐỒNG VĂN THẮNG
NGUYỄN VĂN THỰC ĐÀO TRỌNG HIẾU
Hà Nội 01/02/2010
Trang 2Bộ đếm sản phẩm gồm có :
-Phần I :Trình bày các cơ sở lý thuyết liên quan tới nội dung đồ án
-PhầnII : Trình bày nội dung trình tự và cơ sở thiết kế
-Phần III:Kết luận
-Phần II: nêu nguyên lý hoạt động của bộ đếm sản phẩm
+ Thiết kế mạch bằng phần mềm altium ,liệt kê linh kiện, hàn linh kiện kiểm tra lỗi
+ Mô phỏng bằng proteus
+ Lập trình bằng phần mềm keil
I PHẦN MỘT
+)Nguyên lý hoạt động của bộ đếm sản phẩm hiển thị bằng LCD :
-Khi có sản phẩm đi qua mắt hồng ngoại gồm một con phát một con thu (quang trở và đèn phát ánh sáng trắng) sẽ tín hiệu đưa về LM 358 để so sánh ,kết quả được xử lý và hiển thị trên lcd Mỗi lần như vậy sẽ được một sản phẩm cho tới khi hiển thị tới 9999 sản phẩm hệ thống sẽ cảnh báo bằng còi ,hoăc tự động trở về vị trí ban đầu
II PHẦN HAI
+)Mạch nguyên lý của bộ đếm sản phẩm gồm có khối nguồn ,khối xủ lý , khối hiển thị
-Khối nguồn;gồm IC B688 có nhiệm vụ kéo cường độ dòng điện cho toàn mạch
+ IC LM 7805 la IC ổn áp
+DIODE chống phân cực ngược chiều dòng điện
+Tụ gốm 104 có nhiệm vụ chống nhiễu cho mạch
+ Tụ hóa có nhiệm vụ phóng điện khi nguồn vào chập trờn
+led co nhiệm vụ báo có nguồn 5v
+Trở công suất
-Khối xủ lý : chíp AT 89S52
+LM 358 có nhiệm vụ so sánh giữa tín hiệu vào là mắt hồng ngoại (quang trở và đèn sáng trắng)
và giá trị tham chiếu VR
+Khối Thạch Anh (12 M) tạo dao động cho chíp
+Khối reset giúp hệ thống trở về vị trí ban đầu khi tác động vào nút ấn
-Khối hiện thị gồm có lcd
Các điện trơ còn lại bảo vệ led
Ngoài ra có trở băng giúp PORT 0 của chíp luôn ở mức 1
Trang 3Mạch PCB
2 1
2
1 2
1
1 2
1 2
1 2
1 2
1 2 3 4
1 2
1 2 3 9 12 18 19 20
40 39 38 37 36 35 34 33 32 31 30 26 22 21
13
27 28
29 25 24 23
16 17 15 14 11
8 7
5 6 4
5 6 7 8
4 3 2 1
3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2 1
2 1
2 1
2 1
2
1 3
1
2
1
1 2
1 2
1 2
1
2 3
1 2 3
1 2
9 7 5
1 2 3 4 6 8
Trang 4T2/P1.0 1 T2 EX/P1.1 2 P1.2 3 P1.3 4 P1.4 5 MOSI/P1.5 6 MISO/P1.6 7 SCK/P1.7 8 RESET 9 RXD/P3.0 10 TXD/P3.1 11 INT0/P3.2 12 INT1/P3.3 13 T0/P3.4 14 T1/P3.5 15 WR/P3.6 16 RD/P3.7 17 XTAL1 18 XTAL2
22
P2.7/A15PSEN 28 29
31
RN1
1 3 2
IC2A
LD2
LD3
R2
220 R310k
R4 10k LD1
R1 1k
VR1
VR2 10K
VCC
GND
C1 10uF
VCC X1
GND
C2 104
VCC
IN 1
IC3 C5
104 C3 1000uF/16V
R6 1K
HD1
R5
1000uF/16V C6 100pF
1
3
PNP1
LD4
DB1
Diode Brideg
VCC
Text
GND
Mạch nguyên lý
-Mô phỏng bằng proteus
Trang 5III Lập trình bằng phần mềm kiel
Code lập trình
#include <REGX52.H>
#include <stdio.h>
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
unsigned char nghin ,tram,chuc,donvi;
char x;
long int a;
void delay(unsigned long int t)
{
unsigned long int i;
for(i=0;i<t;i++);
}
void ghi_lenh (unsigned char lcd_lenh)//ghi lenh ra lcd
{
Trang 6RS=0;
RW=0;
EN=1;
P0=lcd_lenh;
EN=0;
delay(300);
} void ghi_dulieu (unsigned char lcd_dulieu)
RS=1;
RW=0;
EN=1;
P0=lcd_dulieu;
EN=0;
delay(300);
} //dich chuoi
void write_string(char *s)
{
{
ghi_dulieu(*s);
s++;
} }
// khoi tao LCD
{
ghi_lenh (0x02); ghi_lenh (0x38); ghi_lenh (0x06); ghi_lenh (0x0c);
}
Trang 7void ngatngoai(void) interrupt 0 {
a++;
nghin=a/1000;
tram=(a%1000)/100;
chuc=((a%1000)%100)/10;
donvi=((a%1000)%100)%10;
if(a>9999) a=0;
}
void hienthi(void) {
ghi_lenh(0x03);
ghi_lenh(0x80);
ghi_dulieu(nghin + 0x30);
ghi_dulieu(tram + 0x30);
ghi_dulieu(chuc + 0x30);
ghi_dulieu(donvi + 0x30);
} // Ham chinh
void main(void) {
delay(50);
khoitao_lcd();
a=0;
IE=0x81;
IT0=1;
write_string("san pham");
while(1) { hienthi();
} }
Phần III Kết luận
-Bộ đếm sản phẩm bằng hồng ngoại ưu điểm thiết kế đơn giản ,chi phi thấp ,
Nhược điểm : nhiễu do tác động của ngoại cảnh , ko phù hợp với nhiều loại sản phẩm phức tạp
về hình dạng ,không phù hợp với kỹ thuật bây giờ