thiết kế bộ đếm sản phẩm sử dụng cảm biến hồng ngoại, sản phẩm hiển thị trên lcd - Pdf 13

ĐỀ TÀI
THIẾT KẾ BỘ ĐẾM SẢN PHẨM SỬ DỤNG CẢM
BIẾN HỒNG NGOẠI, SẢN PHẨM HIỂN THỊ TRÊN
LCD.
File đính kèm 010.rar
1
Phụ lục
Lời nói đầu :
Phần một: Cơ sở lý thuyết.
I: Giới thiệu về bộ vi điều khiển 8051(89S52):
1: Đặc điểm của IC vi điều khiển.
2: Cấu trúc bên trong của 8051(89S52).
3: Các Port của 89S52.
a: Port 0 (P0.0-P0.7)
b: Port 1 (P1.0-P1.7)
c: Port 2 (P2.0-P2.7)
d: Port 3 (P3.0-P3.7)
4: Nghiên cứu tổng thể về vi điều khiển.
4.1: Hoạt động định thời:
4.2: Cổng nối tiếp:
4.2: Ngắt và xử lý ngắt:
II: Giới thiệu về LM358:
1: Cấu tạo của LM358:
2: Hoạt động của LM358:
III: Bộ cảm biến hồng ngoại:
1: Cấu tạo:
2: Hoạt động:
Phần hai :Nội dung thiết kế sản phẩm.
1: Sơ đồ nguyên lý:
2: Nguyên lý hoạt động:
3: Thuật toán chương trình:

Với đề tài : Mạch đếm sản phẩm hiện thị LCD sử dụng cảm biến hồng
ngoại chúng em hy vọng sẽ đạt kết quả tốt. Có thể trong quá trình thiết kế
và ứng dụng có nhiều vấn đề có thể chưa được như mong muốn, chúng
em mong được sự nhận xét chỉ bảo của các thầy để chúng em có thể hoàn
thành tốt hơn những đồ án về sau.
Chúng em xin chân thành cảm ơn!!!
Giáo viên hướng dẫn : Nguyễn Anh Dũng
Sinh viên thực hiên : Đặng Văn Hoan
Nguyễn Văn Hiếu
Phạm Sỹ Thìn
3
PHẦN MỘT
CƠ SỞ LÝ THUYẾT
I: Giới thiệu sơ lược về bộ vi điều khiển 8051(89S52):
1: IC vi điều khiển thuộc họ MCS51 có các đặc điểm sau:
4 kbyte ROM
128 byte RAM
4 port I/O 8 bit
2 bộ định thời
1 cổng nối tiếp
6 nguồn ngắt
Nhưng thực tế hiện nay ta hay sử dụng 8052 (89S52) cũng là một thành
viên họ 8051 . 8052 có tất cả các đặc tính của 8051 ngoài ra còn có thêm
4 kbyte ROM, 128 byte RAM và một bộ định thời nữa.
Hình1 : Vi điều khiển 8051
2: Cấu trúc bên trong IC8051:
Phần chính của vi điều khiển 8051 là bộ vi xử lý trung tâm ( CPU: central
processing unit).
4
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn

Hình 4: Cấu trúc của các chân trên Port 1 và Port3.
6
c :Port2 (P2.0-P2.7):
Port 2 là một Port công 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 cua Bus địa chỉ với các thiết kế dùng
bộ nhớ mở rộng
Hình 5 : Cấu trúc các chân trên Port 2
d :Port3 (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
riêng, cụ thể như sau :
Port Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu phát cho Port nối tiếp
P3.2 INT0\ Ngắt 0 bên ngoài
P3.3 INT1\ Ngắt 1 bên ngoài
P3.4 T0 Ngõ vào của Timer/Counter 0
P3.5 T1 Ngõ vào của Timer/Counter 1
P3.6 WR\ Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD\ Xung đọc bộ nhớ dữ liệu ngoài
4 : Nghiên cứu tổng thể về vi điều khiển :
Nhìn tổng thể chúng ta có thể tìn hiểu về vi điều khiển trong 3 mảng vấn
đề chính là: Các bộ định thời Timer, Port nối tiếp và Ngắt.
4.1: Hoạt động định thời :
Các thanh ghi:
Timer 0 và Timer 1 : Thanh ghi chế độ định thời (TMOD)
Thanh ghi điều khiển Timer ( TCON)
7
Các thanh ghi chứa giá trị của các bộ định thời.
Timer 2 : Thanh ghi T2CON.
Thanh ghi T2MOD

Ngắt do bộ Timer 2.
Ngắt do Port nối tiêp.
Các ngắt ngoài sảy ra khi có mức thấp hoặc sườn xuống trên chân INT0
hoặc INT1 của vi điều khiển. Đây là chức năng chuyển đổi của các bit
Port 3 (P3.2 và P3.3).
8
Ngắt cổng nối tiếp xảy ra khi cờ phát (TI) hoặc cờ ngắt thu (RI) được đặt
lên mức1. Ngắt phát xảy ra khi một ký tự đã nhận xong và đang đợi trong
SBUF để được đọc.
Các ngắt cổng nối tiếp khác với các ngắt Timer. Cờ gây ra ngắt cổng nối
tiếp không bị xáo bằng phấn cứng khi CPU chuyển tới ngắt, do có hai
nguồn ngắt cổng nối tiếp TI và RI. Nguồn ngắt phải được xác định trong
ISR và cờ tạo ngắt sẽ được xoá bằng phần mềm. Các ngắt Timer cờ ngắt
được xoá bằng phần cứng khi CPU hướng tới ISR.
II : Giới thiệu về LM358 :
1 : Cấu tạo của LM358 :
Hình 5 : Cấu tạo và hình dạng thực tế của LM358
9
Cấu trúc mạch điện thực tế của LM358 :
Hình 6 : Cấu tạo mạch điện LM358
2 : Hoạt động của LM358 :
IC LM358 thực hiện nhiệm vụ so sánh tín hiệu vào để đưa ra tín hiệu
chuẩn, nguồn cấp cho IC là : 3V-32V. Mỗi khi có sự thay đổi về điện áp
tại chân 3 tín hiệu đầu vào của LM358 thì nó thực hiện so sánh điện áp
với điện áp chuẩn chân 8 để tạo ra sự biến đổi tín hiệu đẩu ra tại chân 1.
III : Bộ cảm biến hồng ngoại:
1 : Cấu tạo : Gồm có phần phát và phần thu.
Phần phát gồm 1 con LED hồng ngoại.
Phần thu gồm 1 con Transistor.


C 1
3 0 p F
L C D L M O 1 6 0 2
L C D
L M O 1 6 0 2
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
1 3
1 4
1 5
1 6
V S S
V D D
V E E
R S
R W
E
D 0
D 1
D 2

6
7
8
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
P S E N
A L E
V C C
G N D
E A
X 1
X 2
R S T
P 0 . 0 / A D 0
P 0 . 1 / A D 1
P 0 . 2 / A D 2

3 0 p F
V C C
9 V
1
2
Y 1
1 2 M H z
R 3
1 0 k
V R 1
2 0 k
C 3
1 0 u F
O N A P7 8 H T 2
1 3
2
V I N V O U T
G N D
C 4
1 0 0 u F
-
+
K D _ T T A
L M 3 5 8
3
2
1
84
R 4 4 7 0
I S O 1

{
TMOD = 0x01; //Timer 0 che do 1
TH0 = -1000/256; // Chu ky xung 2000us
TH0 = -1000%256;
TR0 = 1;
while (!TF0);
TR0 = 0;
TF0 = 0;
}
void ktra_coban(){
unsigned char x;
P2 = 0xff; //11111111: P2 muc cao LCD dang
hoat dong;
RS_LCD = 0; // Chon thanh ghi lenh
RW_LCD = 1; // Doc tu LCD
do {
E_LCD = 1; // Cho phep
delay_short();
E_LCD = 0; // Cam
x=P2;
x=x&0x80; //1000000: Xoa 7 bit thap cua P2;
}
while(x!=0x80);
}
void ghi_lenh(unsigned char command){
ktra_coban();
14
delay();
P2 = command;
RS_LCD = 0; //Chon thanh ghi lenh

void ghi_nhanh_chuoi(char *str){
while(*str){
ghi_nhanh(*str);
str++;
}
}
void move(unsigned char y,unsigned char x){ //Ham di chuyen con
tro tren man hinh LCD
15
ghi_lenh(dong[y]+x); // y la dong, x
la cot
}
void setting(){ //khoi tao LCD
ghi_lenh(0x01);
ghi_lenh(0x38);
// ghi_lenh(0x0f);
ghi_lenh(0x0e);
// ghi_lenh(0x1c); //Dich con tro, dich chuyen con tro
sang phai
// ghi_lenh(0x0c); //Bat hien thi ,tat con tro
}
void write_number(unsigned long number){ //Ham tao mot day so
dem;
int j;
unsigned char array[10]; //Day 10 phan tu tren mot dong;
for(j=0 ; j<10 ; j++) //Thuc hien tinh tu phai qua;
{
array[j] = number%10; //chia lay du roi thuc hien dua
vao mang
number /= 10; // number = number/10;

ghi_nhanh_chuoi(" SO SAN PHAM LA");
IE = 0x81; //10000001 : Cho phep ngat ngoai Timer0;
IT0 = 1; //Uu tien ngat tu ngoai Timer0;
while(1){
move(2,3); // Di chuyen den vi tri 3 dong 2;
write_number(d-1);
}
}
void sp() interrupt 0 //Ngat ngoai Timer0
{
d++;
}
5: Thuyết trình phần mềm:
Khi có sản phẩm đi qua bộ cảm biến hồng ngoại khi đó chân ngắt INT0
của IC 89S52 chuyển mức cao xuống mức thấp tức là sảy ra hiện tượng
ngắt cho chân INT0. Chương trình sẽ thực hiện lệnh ngắt :
Void ngat() interrupt 0 (Ngắt ngoài Timer0) cho quá trính đếm sản phẩm.
17
PHẦN BA
MẠCH DEMO, KẾT LUẬN ƯU NHƯỢC ĐIỂM CỦA SẢN
PHẨM
1: Mạch demo:
2: Ưu điểm:
Cho phép tăng năng suất lao động.
Đảm bảo độ chính sác.
Cho phép đếm với tần số cao.
Khi phần phát và thu xa nhau ta co thể ứng dụng vào thực tế để đếm
những sản phẩm lớn.
Tổn hao công suất bé, do đó mach có thể dung pin, biến áp…
Giá thành rẻ.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status