1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mạch đếm số lượng sản phẩm

25 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

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 Đoàn Vĩnh Nguyên Đồ á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 khơng thể tránh khỏi sai sót, em mong nhận ý kiến đóng góp thầy để em hoà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 Đồn Vĩnh Ngun Đồ á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 .6 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 Đồ á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 Đồ á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 Đồ á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 Đồ á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 - ngồi để 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 Đồ á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 ngồ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 Đồn Vĩnh Ngun Đồ á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.2.1 Thông số kỹ thuật MH-IR01 Hinh 2.5 Cấu tạo cảm biến hồng ngoại - ❖ Thông số kỹ thuật: Module phát vật cản khoảng cách từ - 30cm Góc phát hiện: 35° Khi phát vật cản, tín hiệu đầu OUT mức cao đèn led màu xanh sáng - Có thể điều chỉnh khoảng cách biến trở Chỉnh chiết áp để tăng khoảng cách theo chiều kim đồng hồ, ngược lại để giảm khoảng cách - Cổng OUT điều khiển trực tiếp Rơ le 5V cổng IO MCU Điện áp cung cấp: - 5V DC - - Dòng điện tiêu thụ: 23 mA (3,3V), 43 mA (5V) 2.3 Giới thiệu LCD1602 Màn hình text LCD1602 xanh dương, có khả hiển thị dòng với dòng 16 ký tự, hình có độ bền cao, phổ biến, nhiều code mẫu dễ sử dụng thích hợp cho người học làm dự án Hinh 2.6 Màn hình LCD 11 SVTH: Nguyễn Đồn Vĩnh Ngun Đồ án viễn thông GVHD: Phan Thanh Minh 2.3.1 Thông số kỹ thuật LCD - Điện áp hoạt động 5V Kích thước: 80x35x12.5 mm Chữ đen, xanh dương - Tên chân ghi mặt sau hình LCD hỗ trợ việc kết nối, dây điện - Có đèn led nền, dùng biến trở PWM điều chỉnh độ sáng để sử dụng điện Có thể điều khiển với dây tín hiệu o Ưu điểm: Rẻ tiền, dễ chế tạo, chống nhiễu tốt, mạch xử lý đơn giản o Nhược điểm: Không chịu nhiệt độ cao, bền Nếu vượt ngưỡng bảo vệ có - thể làm hỏng cảm biến ➢ Thường dùng: Đo nhiệt độ không khí, dùng thiết bị đo, bảo vệ mạch điện tử Hinh 2.7 Bảng chức chân LCD 12 SVTH: Nguyễn Đoàn Vĩnh Nguyên Đồ án viễn thông GVHD: Phan Thanh Minh  Trong 16 chân LCD chia làm dạng tín hiệu sau: - Các chân cấp nguồn: Chân số chân nối mass (0V), chân thứ VDD nối với nguồn +5V Chân thứ dùng để chỉnh contrast thường nối với biến trở - Các chân điều khiển: Chân số chân RS dùng để điều khiển lựa chọn ghi Chân R/W dùng để điều khiển trình đọc ghi Chân E - chân cho phép dạng xung chốt Các chân liệu D7÷D0: Chân số đến chân số 14 chân dùng để trao đổi liệu thiết bị điều khiển LCD ❖ Một số tập lệnh LCD: Hinh 2.8 Tập lệnh LCD 13 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 Đồ á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 Đồ á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 Đồn Vĩnh Ngun Đồ á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 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 Ngun Đồ á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 sản phẩm Sai Đúng dem = dem +1 Xuất LCD max dem dem == max Sai Đúng 18 SVTH: Nguyễn Đồn Vĩnh Ngun Đồ á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 Đồ á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 Đồ á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

Ngày đăng: 12/04/2022, 21:02

Xem thêm:

TỪ KHÓA LIÊN QUAN

w