Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
596,9 KB
Nội dung
TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ VIỄN THÔNG - - ĐỒ ÁN VIỄN THÔNG MẠCH ĐẾM SẢN PHẨM GVHD : Phan Thanh Minh SVTH : Nguyễn Đoàn Vĩnh Nguyên LỚP : DV18 MSSV : 1851040039 TP HỒ CHÍ MINH, năm 2021 SVTH: Nguyễn Đồn Vĩnh Ngun download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh NHẬN XÉT CỦA GIẢNG VIÊN SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh LỜI MỞ ĐẦU Ngày với phát triển ngành khoa học kỹ thuật, kỹ thuật số đóng vai trị quan trọng lĩnh vực khoa học kỹ thuật, viễn thơng, điện tử, quản lí, cơng nghiệp tự động hóa, cung cấp thơng tin,….Do chung ta phải nắm bắt vận dụng cách có hiệu nằm góp phần vào phát triển khoa học kỹ thuât Xuất phát từ học thực hành, giảng dạy lớp yêu cầu môn Đồ án môn học yêu cầu làm mạch thiên điện tử em nghiên cứu chọn đề tài “Mạch đếm số lượng sản phẩm” cho đồ án Được hướng dẫn thầy Phan Thanh Minh giúp em vạch lộ trình làm việc tìm hiểu nghiên cứu thêm yêu cầu thầy giao giúp em hiểu sâu cách thức hoạt động tìm hiểu rộng nhiều chức mạch để áp dụng vào sống Tuy nhiên ảnh hưởng dịch bệnh đề tài em dừng lại mức độ mơ Trong q trình làm cố gắng song hạn chế kiến thức kinh nghiệm nên em tránh khỏi sai sót, em mong nhận ý kiến đóng góp thầy để em hồn thiện đề tài rút kinh nghiệm cho đồ án sau Em chân thành cảm ơn thầy ! Đồ án em chia làm chương: Chương 1: Tổng quan đề tài Chương 2: Giới thiệu linh kiện sử dụng đề tài Chương 3: Thiết kế thi công mạch đếm số lượng sản phẩm Chương 4: Kết luận SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN LỜI MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài sơ đồ khối mạch đếm số lượng 1.1.1 Giới thiệu đề tài 1.1.2 Sơ đồ khối mạch đếm số lượng CHƯƠNG GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI 2.1 AT89C52 2.1.1 Giới thiệu sơ lược AT89C52 2.1.2 Sơ đồ chân AT89C52 2.2 Modulo thu phát hồng ngoại MH-IR01 10 2.2.1 Thông số kỹ thuật MH-IR01 11 2.3 Giới thiệu LCD1602 11 2.3.1 Thông số kỹ thuật LCD 12 2.4 Một số linh kiện hỗ trợ 14 2.4.1 Bàn phím (3x4) 14 2.4.2 Đế nạp code cho AT89C52 15 2.4.3 Cáp nạp 15 CHƯƠNG THIẾT KẾ VÀ THÔNG CÔNG MẠCH ĐẾM SỐ LƯỢNG SẢN PHẨM 16 3.1 Sơ đồ nguyên lý vẽ phần mềm Proteus 16 3.1.1 Nguyên lý hoạt động mạch đếm số lượng 17 3.2 Lưu đồ thuật toán 18 3.3 Chương trình code viết KeilC 19 CHƯƠNG KẾT LUẬN 25 TÀI LIỆU THAM KHẢO 26 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh DANH MỤC HÌNH ẢNH Hinh 1.1 Sơ đồ khối mạch đếm số lượng Hinh 2.1 Vi xử lý AT89C52 Hinh 2.2 Sơ đồ chân Hinh 2.3 Bảng chức đặc biệt Port Hinh 2.4 Cảm biến hồng ngoại 10 Hinh 2.5 Cấu tạo cảm biến hồng ngoại 11 Hinh 2.6 Màn hình LCD 11 Hinh 2.7 Bảng chức chân LCD 12 Hinh 2.8 Tập lệnh LCD 13 Hinh 2.9 Bàn phím (3x4) 14 Hinh 2.10 Điện trở 14 Hinh 2.11 Đế nạp 15 Hinh 2.12 Cáp nạp 15 Hinh 3.1 Sơ đồ nguyên lý mạch đếm sản phẩm 16 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài sơ đồ khối mạch đếm số lượng 1.1.1 Giới thiệu đề tài Đây mạch đếm số lượng sản phẩm, sử dụng vi điều khiển AT89C52 làm đơn vị xử lý trung tâm Người dùng giao tiếp với mạch thơng qua bàn phím (3x4) hiển thị lên LCD Nó áp dụng hầu hết dây chuyền sản xuất nhà máy, xí nghiệp nhiều lĩnh vực khác 1.1.2 Sơ đồ khối mạch đếm số lượng Hinh 1.1 Sơ đồ khối mạch đếm số lượng ❖ Khối vi xử lý : Xử lý tín hiệu hiển thị lên LCD ❖ Khối cảm biến : Cảm biến vật thể truyền tín hiệu vi xử lý ❖ Khối bàn phím : Người dùng tương tác với mạch thông qua nút nhấn ❖ Khối hiển thị : Hiển thị tín hiệu xử lý, giúp người dùng dễ dàng tương tác sử dụng nút nhấn SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh CHƯƠNG GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI 2.1 AT89C52 2.1.1 Giới thiệu sơ lược AT89C52 Hinh 2.1 Vi xử lý AT89C52 AT89C52 họ IC vi điều khiển hãng Atmel sản xuất Các sản phẩm AT89C52 thích hợp cho ứng dụng điều khiển Việc xử lý byte toán số học cấu trúc liệu nhỏ thực nhiều chế độ truy xuất liệu nhanh RAM nội Nó cung cấp hỗ trợ mở rộng chip dùng cho biến bit kiểu liệu riêng biệt cho phép quản lý kiểm tra bit trực tiếp hệ thống điều khiển AT89C52 có 8Kbyte nhớ FLASH ROM bên để lưu chương trình, Vi điều khiển có khả nạp xóa chương trình điện lên đến 1000 lần Dung lượng RAM 128 byte, AT89C52 có Port xuất/nhập bit, có định thời 16 bit Ngồi AT89C52 cịn có khả giao tiếp liệu nối tiếp, mở rộng khơng gian nhớ chương trình nhớ liệu ngồi lên đến 64Kbyte AT89C52 đóng gói theo kiểu hai hàng chân DIP gồm 40 chân cho chức khác SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh 2.1.2 Sơ đồ chân AT89C52 Hinh 2.2 Sơ đồ chân Chân VCC: Chân số 40 VCC cấp điện áp nguồn cho vi điều khiển Nguồn điện áp cấp 5V ± 0.5 Chân GND: Chân số 20 nối Mass Port (P0): Gồm chân (từ chân 32 đến 39) có chức năng: - Chức xuất/nhập: Các chân dùng để nhận tín hiệu vào từ bên để xử lý, dùng để xuất tín hiệu bên ngồi Chức bus liệu bus địa (AD7-AD0): chân (Port 0) làm nhiệm vụ lấy liệu từ ROM RAM ngoại (nếu có kết nối với nhớ ngồi), đồng thời Port cịn dùng để định địa nhớ Port (P1): Gồm chân (từ chân đến 8), có chức làm đường xuất/nhập, khơng có chức khác Port (P2): Gồm chân (từ chân 21 đến 28) có chức năng: - Chức xuất/nhập SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh Chức bus địa cao (A8-A15): kết nối với nhớ ngồi có dung lượng lớn, cần byte để định địa nhớ, byte thấp P0 đảm nhận, byte cao P2 đảm nhận Port (P3): Gồm chân (từ chân 10 đến 17): - - Chức xuất/nhập Với chân có chức riêng thứ hai bảng sau Hinh 2.3 Bảng chức đặc biệt Port Chân RESET (RST): Chân số ngõ vào reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống thiết lập lại giá trị ban đầu ngõ mức tối thiểu chu kỳ máy Chân XTAL1 XTAL2: Chấn số 18 19 sử dụng để nhận nguồn xung clock từ bên để hoạt động, thường ghép nối với thạch anh tụ để tạo nguồn xung clock ổn định Chân cho phép nhớ chương trình PSEN: PSEN (Program store enable) tín hiệu xuất chân 29 dùng để truy xuất nhớ chương trình ngồi Chân thường nối với chân OE (output enable) ROM Chân ALE : Chân cho phép chốt địa chỉ, chân số 30 Khi vi điều khiển truy xuất nhớ từ bên ngoài, port vừa có chức bus địa chỉ, vừa có chức bus liệu phải tách đường liệu địa Tín hiệu SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh chân ALE dùng làm tín hiệu điều khiển để giải đa hợp đường địa đường liệu kết nối chúng với IC chốt Chân EA: - Chân EA dùng để xác định chương trình thực lấy từ ROM nội hay ROM ngoại Khi EA nối với logic 1(+5V) vi điều khiển thực chương trình lấy từ nhớ nội Cịn với logic (0V) lấy từ nhớ ngoại 2.2 Modulo thu phát hồng ngoại MH-IR01 Module Thu Phát Hồng Ngoại V1 loại cảm biến thông dụng dùng nhiều hệ thống cảm biến phát vật cản hồng ngoại hay cảm biến IR ( IR detector ), đếm số lượng sản phẩm cách dây chuyền sản xuất, cửa tự động,… Ứng dụng: Đếm sản phẩm, phát vật cản, cửa tự động thông minh, chống trộm, đếm số lượng người, Hinh 2.4 Cảm biến hồng ngoại 10 SVTH: Nguyễn Đoàn Vĩnh Nguyên Đồ án viễn thông GVHD: Phan Thanh Minh 2.4 Một số linh kiện hỗ trợ 2.4.1 Bàn phím (3x4) Hinh 2.9 Bàn phím (3x4) ➢ Chức năng: Để người dùng giao tiếp với mạch 2.4.2 Điện trở Hinh 2.10 Điện trở ➢ Chức năng: Hạn chế dòng điện chạy mạch 14 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh 2.4.3 Đế nạp code cho AT89C52 Hinh 2.11 Đế nạp ➢ Chức năng: Dùng nạp code vào AT89C52 2.4.4 Cáp nạp Hinh 2.12 Cáp nạp ➢ Chức năng: Dùng để nạp code từ máy tính cho AT89C52 thơng qua cổng USB 15 SVTH: Nguyễn Đồn Vĩnh Ngun download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh CHƯƠNG THIẾT KẾ VÀ THÔNG CÔNG MẠCH ĐẾM SỐ LƯỢNG SẢN PHẨM 3.1 Sơ đồ nguyên lý vẽ phần mềm Proteus Hinh 3.1 Sơ đồ nguyên lý mạch đếm sản phẩm 16 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh 3.1.1 Nguyên lý hoạt động mạch đếm số lượng Khi mạch hoạt động, người dùng yêu cầu nhập số lượng sản phẩm cần đếm thơng qua bàn phím (3x4) Mạch hỗ trợ tối đa đếm 999 số lượng sản phẩm Người dùng nhập tùy ý số lượng mong muốn nhập đủ ba số VD: 123 nhập hai số VD: 12 số VD: nhấn nút “*” mạch bắt đầu hoạt động Người dùng chỉnh sửa số lượng thông qua hai nút bấm UP( tăng) DOWN(giảm) Khi ấn hai nút bấm làm cho DIODE hoạt động chân P3.3 nối mass làm kích hoạt ngắt ngồi vi điều khiển để tăng giảm số lượng sản phẩm cần đóng gói Khi có sản phẩm chạy ngang cảm biến hồng ngoại LED phát hồng ngoại cảm biến phát tia hồng ngoại vào sản phẩm làm cho tia hồng ngoại bị phản xạ quay LED thu hồng ngoại, dẫn đến ngõ (OUT) cảm biến có mức cao làm kích hoạt Transistor NPN làm cho chân P3.2 nối mass đưa xuống mức thấp làm kích hoạt ngắt ngồi vi điều khiển AT89C52, chương trình thiết lập sẵn vi điều khiển làm tăng biến đếm số lượng sản phẩm, xử lý tín hiệu hiển thị lên hình LCD Người dùng độ nhậy cảm biến tầm quét, góc quét cảm biến cách điều chỉnh biến trở cảm biến Khi mạch đếm đủ số lượng sản phẩm cần đóng gói mà người dùng nhập vào lúc trước, LCD hiển thị dịng thơng báo “HAY DONG GOI” cho người dùng biết mạch tiến hành lại lặp lại trình đếm 17 SVTH: Nguyễn Đồn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh 3.2 Lưu đồ thuật toán Bắt đầu Nhập số lượng A (sản phẩm) cần đếm dem = max = A Cảm biến Sai sản phẩm Đúng dem = dem +1 Xuất LCD max dem dem == max Đúng 18 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh 3.3 Chương trình code viết KeilC #include //Khai bao LCD sbit LCD_RS = P2^2; sbit LCD_EN = P2^3; sbit LCD_D4 = P2^4; sbit LCD_D5 = P2^5; sbit LCD_D6 = P2^6; sbit LCD_D7 = P2^7; sbit UP = P3^6; sbit DOWN = P3^7; unsigned char keypad[4][3]={'1','2','3','4','5','6','7','8','9','*','0','#'}; unsigned char key[3]; unsigned int dem,max=0; // -void Delay_ms(unsigned int t) { unsigned int x,y; for(x=0;x1)&1; LCD_D6=(Data>>2)&1; LCD_D7=(Data>>3)&1; } //Ham gui lenh LCD void LCD_SendCommand(unsigned char command) { LCD_Send4Bit(command >>4); LCD_Enable(); LCD_Send4Bit(command); LCD_Enable(); } / Xoa man hinh void LCD_Clear() { LCD_SendCommand(0x01); Delay_us(10); } / Cau hinh LCD void LCD_Init() { LCD_Send4Bit(0x00); Delay_ms(20); LCD_RS=0; LCD_Send4Bit(0x03); //cai dat chuc nang LCD_Enable(); Delay_ms(5); LCD_Enable(); Delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); //di chuyen tro ve dau man hinh LCD_Enable(); LCD_SendCommand(0x28); // che bit LCD_SendCommand(0x0c); //hien thi va tat tro 20 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh LCD_SendCommand(0x06); //tu di chuyen tro den vi tri ke tiep LCD_SendCommand(0x01); //xoa man hinh } //Xac dinh vi tri ky tu 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); } //Gui ky tu void LCD_PutChar(unsigned char Data) { LCD_RS=1; LCD_SendCommand(Data); LCD_RS=0; Delay_us(3); } //Gui chuoi void LCD_Puts(char *s) { while (*s){ LCD_PutChar(*s); s++; } } //Tach so void HT_So(unsigned int so,int a , int b) { unsigned int t,c,dv; t=so/100; c=(so%100)/10; dv=(so%100)%10; 21 SVTH: Nguyễn Đoàn Vĩnh Nguyên download by : skknchat@gmail.com Đồ án viễn thông GVHD: Phan Thanh Minh LCD_Gotoxy(a,b); if(t>0){LCD_PutChar(t+0x30);} if(t>0&&c==0){LCD_PutChar(c+0x30);} if(c>0){LCD_PutChar(c+0x30);} LCD_PutChar(dv+0x30); } //LCD Start void LCD_Start() { LCD_Clear(); LCD_Gotoxy(0,0); LCD_Puts("SAN PHAM MAX:"); HT_So(max,13,0); LCD_Gotoxy(0,1); LCD_Puts("SO SAN PHAM :"); LCD_Puts("0"); } unsigned char quetphim() { unsigned int c,h; P1=0x0F; Delay_us(2); if(P1!=0x0F) { for(c=0;c