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

Thiết kế mạch đếm số lượng sản phẩm trong công nghiệp

20 1 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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 581,69 KB

Nội dung

Đồ án Thiết kế mạch đếm số lượng sản phẩm công nghiệp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MẠCH ĐẾM SẢN PHẨM SV Thực Hiện: Phạm Minh Hiếu Nguyễn Trọng Hùng Lê Tuấn Cảnh Nguyễn Hoàng Hà ng Đình Dương Nguyễn Thị Xn Thủy u cầu thực hiện: Thiết kế mạch đếm số lượng sản phẩm công nghiệp Bao gồm: Đầu đếm sản phẩm tương ứng với băng truyền sản phẩm Bộ hiển thị bao gồm 5led để thị số lượng sản phẩm từ đến 99999 Mạch sử dụng vi điều khiển Một bàn phím để nhập số lượng sản phẩm ban đầu thực chức khách hàng yêu cầu Sơ đồ khối mạch + Nguồn Vi điều khiển Bàn phím Khối quét động Khối hiển thị( 5led7 thanh) Sensor Khối giải mã Đầu Vào Điều Khiển Đầu Ra cấu trúc chung Các phần tử thực mạch LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đầu vào: +Bàn phìm : nhập liệu vào cho đếm số lượng sản phẩm thực chức người tiêu dùng yêu cầu: Vd: reset hệ thống hoạt động mà xảy cố, đếm tiến chuyển sang đếm lùi Nguyên lý hoạt động Hình vẽ trình bày bàn phím 16 phím thiết kế nối với Post +sensor: kiểm tra sản phẩm đI qua gửi tín hiệu đến VĐK để xử lí Sơ đồ mạch sensor: ĐIỀU KHIỂN +Vi điều khiển: Nhận dạng tín hiệu vào từ bàn phím sensor để xử lí Gửi tín hiệu khối quét động khối giảI mã để điều khiển hoạt động hệ thống hiển thị led Sơ đồ khối vi điều khiển: CPU RAM ROM I/O Timer Cổng COM nối tiếp Tín hiệu vào VĐK sens A/D Inp ut VĐK outp ut Thiết bị D/A LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Với nhiệm vụ đặt ta dùng VĐK AT89c52 họ 8051 phù hợp Sơ đồ nguyên lý VĐK: +Khối quét động: đếm liên tục để quét led theo yêu cầu VĐK nhằm sử dụng số chân vi điều khiển Linh kiện gồm có: đếm xI hay đếm ngược dung IC74LS193 Bộ giảI mã địa dùng IC74LS154 Với hai linh kiện dùng số led tối đa quét 16 led GiảI thích sơ đồ mạch: - Các chân quét1 quét nối với chân VĐK - Các chân CA1.1 đến CA1.5 chân nối với chân Enable led - Khi hoạt động chân quét cấp xung liên tục theo chu kì định để chân set lên mức tích cực +Khối giảI mã: chuyển từ tín hiệu nhị phân (VĐK) sang tín hiệu mã BCD để thị led Bộ chốt: flip_flop ghép nối thích hợp để có khả nhận liệu lưu lại IC, có tín hiệu cho phép gửi từ VĐK xuất Ta dùng IC họ 74xxxx LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bộ giảI mã BCD dùng IC 74LS47 HIỆN THỊ Hiển thị số sản phẩm đếm, thị liệu người dùng nhập vào SƠ ĐỒ KHỐI TOÀN MẠCH: a) Khối sensor Sơ đồ nguyên lý khối sensor LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ mạch in khối sensor b) Khối bàn phím Sơ đồ nguyên lý khối bàn phím LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ mạch in khối bàn phím II.8.2 Khối xử lý hiển thị: a) Khối Vi điều khiển b) Khối quét động: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com c)Khối giải mã hiển thị: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com d) Khối nguồn: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com e) Sơ đồ mạch in khối VĐK, khối giải mã, khối hiển thị nguồn LẬP TRÌNH CHO VI ĐIỀU KHIỂN: //bat dau chuong trinh //************************** //phan khai bao bien: #include #include /*phan dinh nghia cac hang so*/ #define s1 P1_0 #define quet P2_6 #define chot P2_7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #define cosp #define kosp #define on #define off int xoa=15;lanbam=0;phim=0;hang=0;cot=0; unsigned char d1,d2,d3,d4,a1,a2,a3,a4,a5; int i=0;//bien giai quyet viec dang kiem tra san pham //phan khai bao ham: void khoi_tao(void); void scan_key (void); void quet_key (void); void special_key (void); void hien_phim (void); void hien_thi (void); void KT_sensor (void); void KT_sensor_lui (void); void nap_du_lieu (void); void nap_du_lieu_lui (void); void delays (unsigned char n); void delayms (unsigned char n); // phan tao cac ham void khoi_tao (void) { P1=255; //bao hieu chuong trinh hoat dong //khoi tao cac bien a5=xoa; a4=0; a3=0; a2=0; a1=0; //********** d4=xoa; d3=xoa; d2=xoa; d1=0; //********** //chot=off; quet=off; // quet=off; quet=on; quet=off; //mo khoa den1 // quet=off; quet=on; quet=off; //mo khoa den1 // quet=off; quet=on; quet=off; //mo khoa den1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com } void scan_key (void) { P3=255; //quet hang P3_4=0; P3_5=0; P3_6=0; P3_7=0; // delays(2); phim=P3; if (phim==15) {goto end_scan_key;} switch(phim) { case 14 :hang=0;break; case 13 :hang=4;break; case 11 :hang=8;break; case :hang=12;break; }//end quet hang P3=255; //quet cot P3_0=P3_1=P3_2=P3_3=0; phim=P3; if (phim==240) {goto end_scan_key;} switch(phim) { case 224 :cot=0;break; case 208 :cot=1;break; case 176 :cot=2;break; case 112 :cot=3;break; }//end quet cot phim=hang+cot; end_scan_key: delayms(1); } void quet_key (void) {lanbam=0; while (1) {P3=255; //quet hang P3_4=0; P3_5=0; P3_6=0; P3_7=0; // delays(2); phim=P3; if (phim==15) {goto end_scan;} switch(phim) { case 14 :hang=0;break; // 14D = 0000 1110B // 13D = 0000 1101B // 11D = 0000 1011B // 07D = 0000 0111B //224D = 1110 0000B //208D = 1101 0000B //176D = 1011 0000B //112D = 0111 0000B LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com case 13 :hang=4;break; case 11 :hang=8;break; case :hang=12;break; }//end quet hang P3=255; //quet cot P3_0=P3_1=P3_2=P3_3=0; phim=P3; if (phim==240) {goto end_scan;} switch(phim) { case 224 :cot=0;break; case 208 :cot=1;break; case 176 :cot=2;break; case 112 :cot=3;break; }//end quet cot phim=hang+cot; if (phim==10) {d1=d2=d3=d4=0;goto end_quet;} if (phim==11) {a1=0;a2=xoa;a3=xoa;a4=xoa;goto end_scan;} if (phim==12) {goto end_scan;} if (phim==13) {goto end_scan;} if (phim==14) {goto end_scan;} if (phim==15) {goto end_scan;} lanbam=lanbam+1; delayms(50); switch(lanbam) { case :a1=phim;break; case :a2=a1;a1=phim;break; case :a3=a2;a2=a1;a1=phim;break; case :a4=a3;a3=a2;a2=a1;a1=phim;break; case :a4=a3;a3=a2;a2=a1;a1=phim;lanbam=4;break; } //kiem tra loai cac so o dau; if ((a4==0)||(a4==xoa)) { a4=xoa; if ((a3==0)||(a3==xoa)) { a3=xoa; if ((a2==0)||(a2==xoa)) { a2=xoa; if (a1==xoa) {a1=0;} } } } LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com end_scan: hien_phim(); }//end while(1) end_quet: // phim=15; delays(2); }//end quet_key void hien_phim (void) { //d1=a1; P0=a1;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den1 chot=off; chot=on; chot=off; //mo chot so den1 delayms(2); //********** //d2=a2; P0=a2;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den2 chot=off; chot=on; chot=off; //mo chot so den2 delayms(2); //********** //d3=a3; P0=a3;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den3 chot=off; chot=on; chot=off; //mo chot so den3 delayms(2); //********** //d4=a4; P0=a4;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den4 chot=off; chot=on; chot=off; //mo chot so den4 delayms(2); quet=off; quet=on; quet=off; //quet them lan cho tat toan bo delayms(2); //********** }//end hien_phim; void hien_thi (void) { //d1=a1; P0=d1;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den1 chot=off; chot=on; chot=off; //mo chot so den1 delayms(2); LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com //********** //d2=a2; P0=d2;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den2 chot=off; chot=on; chot=off; //mo chot so den2 delayms(2); //********** //d3=a3; P0=d3;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den3 chot=off; chot=on; chot=off; //mo chot so den3 delayms(2); //********** //d4=a4; P0=d4;//nap so vao den quet=off; quet=on; quet=off; //mo khoa den4 chot=off; chot=on; chot=off; //mo chot so den4 delayms(2); quet=off; quet=on; quet=off; //quet them lan cho tat toan bo delayms(2); //********** }//end hien_thi; void KT_sensor (void) { if ((s1==kosp)||(i==0)) { if (s1==cosp) { d1=d1+1; i=1; nap_du_lieu(); } else { i=0; } } } void KT_sensor_lui (void) { if ((s1==kosp)||(i==0)) { if (s1==cosp) { d1=d1-1; i=1; nap_du_lieu_lui(); } else { i=0; } LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com } } void nap_du_lieu (void) { if (d1==10) //kiem tra den1 tron 10 thi tang den2 {d1=0; if (d2==xoa) {d2=1;} else {d2=d2+1;} if (d2==10) //kiem tra den2 tron 10 thi tang den3 {d2=0; if (d3==xoa) {d3=1;} else {d3=d3+1;} if (d3==10) //kiem tra den3 tron 10 thi tang den4 {d3=0; if (d4==xoa) {d4=1;} else {d4=d4+1;} if (d4==10) //kiem tra den4 tron 10 thi nhay ve { d1=1; d2=xoa; d3=xoa; d4=xoa; } } } } if ((d1==a1)&&(d2==a2)&&(d3==a3)&&(d4==a4)) {d1=0;d2=xoa;d3=xoa;d4=xoa;} }//end nap_du_lieu void nap_du_lieu_lui (void) { if ((d1==0)&&(d2==xoa)) {while (1) {hien_thi(); scan_key(); if (phim==11) {d1=a1;d2=a2;d3=a3;d4=a4;break;} } } //kiem tra den1 va den2=xoa thi dung lai else { if (d1==255) {d1=9; d2=d2-1; if ((d2==0)&&(d3==xoa)) {d2=xoa;} else { LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com if (d2==255) {d2=9; d3=d3-1; if ((d3==0)&&(d4==xoa)) {d3=xoa;} else { if (d3==255) {d3=9; d4=d4-1; if (d4==0) {d4=xoa;} } }//end else d3=0 } d2=0 }//end else }//end if d1=255 }//end else d1=0 }//end nap_du_lieu void delays (unsigned char m)//10->4// { unsigned char i,j,k,n;//vi su dung thach anh 12Mhz nen 1chu ki lenh=12/12=1us for (i=1;i

Ngày đăng: 01/11/2022, 19:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w