Giáo trình Lập trình C cho họ vi điều khiển 8051 - Ứng dụng ngôn ngữ C cho họ vi điều khiển 8051 lập trình điều khiển

I. ĐIỀU KHIỂN LED ĐƠN VÀ LED 7 ĐOẠN. 1. Điều khiển Led đơn. a. Ứng 1 led đơn đểphát xung với tần số10hz tại chân P1^0. #include sbit led=P1^0; //gán led là bit P1^0. void delay() //chương trình con delay { TMOD=0x01; //khai báo timer 0 chế độ16 bit. TH0=0xC350; //nạp giá trịcho thanh ghi 50000 phập phân TL0=0xC350; TR0=1; //cho phép timer 0 hoạt động while(!TF0); //kiểm tra cờtràn TF0 ởmức không TF0=0; //xóa cờtràn TR0=0; //không cho phép timer 0 hoạt động }

pdf37 trang | Chia sẻ: maiphuongtt | Lượt xem: 2000 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giáo trình Lập trình C cho họ vi điều khiển 8051 - Ứng dụng ngôn ngữ C cho họ vi điều khiển 8051 lập trình điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 1 of 37 CHƯƠNG 4: ỨNG DỤNG NGÔN NGỮ C CHO HỌ VI ĐIỀU KHIỂN 8051 LẬP TRÌNH ĐIỀU KHIỂN I. ĐIỀU KHIỂN LED ĐƠN VÀ LED 7 ĐOẠN. 1. Điều khiển Led đơn. a. Ứng 1 led đơn để phát xung với tần số 10hz tại chân P1^0. #include sbit led=P1^0; //gán led là bit P1^0. void delay() //chương trình con delay { TMOD=0x01; //khai báo timer 0 chế độ 16 bit. TH0=0xC350; //nạp giá trị cho thanh ghi 50000 phập phân TL0=0xC350; TR0=1; //cho phép timer 0 hoạt động while(!TF0); //kiểm tra cờ tràn TF0 ở mức không TF0=0; //xóa cờ tràn TR0=0; //không cho phép timer 0 hoạt động } main() //chương trình chính { while(1) //vòng lập vô tận { led=1; //led lên mức 1 delay(); //trì hoãn 50ms led=0; //led xuống mức 0 delay(); //trì hoãn 50ms } } ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 2 of 37 Chương trình đã được thực hiện và mô phỏng Bài tập mở rộng về nhà. - Xuất tín hiệu phát xung 1Hz trên chân P3.0 - Xuất tín hiệu phát xung 100Hz trên port 1 - Xuất tín hiệu phát xung 1KHz trên 4 port ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 3 of 37 b. Điều khiển 8 led đơn sáng tắt từ phải qua trái ở port 1. #include void delay_1(s) { unsigned int f,t; for(f=0;f<s;f++) for(t=0;t<20;t++) { TMOD=0x01; TH0=0xC350; TL0=0xC350; TR0=1; while(!TF0); TF0=0; TR0=0; } } main() { while(1) { unsigned int y; P1=0x01; //cho bit đầu tiên của port 1 sáng delay_1(1); //delay 1s for(y=0;y<8;y++) //vòng lặp for với điều kiện 8 lần { P1=P1<<1; //dịch trái port 1 đi 1 bit delay_1(1); } } } ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 4 of 37 c. Điều khiển 16 led đơn tắt dần từ phải qua trái ở port 1 và 2. #include void delay_1(s) { unsigned int f,t; for(f=0;f<s;f++) for(t=0;t<20;t++) { TMOD=0x01; TH0=0xC350; TL0=0xC350; TR0=1; while(!TF0); TF0=0; TR0=0; } } main() { while(1) { unsigned int y,w; P1=0xff; //cho P1 sáng P2=0xff; delay_1(1); for(y=0;y<8;y++) { P1=P1<<1; //làm vòng lặp biến y, P1 xoay đủ 8 bit delay_1(1); } ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 5 of 37 for(w=0;w<8;w++) { P2=P2<<1; //làm vòng lặp biến w, P2 xoay đủ 8 bit delay_1(1); } } } d. Bài tập. - 8 Led sáng tắt từ trái qua phải với port 3 - 8 Led sáng tắt từ phải qua trái với port 1 - 16 Led sáng tắt từ trái qua phải với port 0, port 1 - 32 Led sáng tắt từ phải qua trái với 4 port. - Led sáng dần từ trái qua phải với port 3 - 8 Led sáng dần từ phải qua trái với port 0 - 16 Led sáng dần từ trái qua phải với port 0, port 1 - 32 Led sáng dần từ trái qua phải với 4 port - Led sáng dần từ trái qua phải và tắt dần từ trái qua phải với port 3 - 8 Led sáng dần từ phải qua trái và tắt dần từ trái qua phải với port 0 - 16 Led sáng dần từ trái qua phải và tắt dần từ phải qua trái với port 0, port 1 - 32 Led sáng dần từ trái qua phải và tắt dần từ phải qua trái với 4 port 2. Điều khiển Led 7 đoạn. Mã của Led 7 đoạn loại cathode chung Các đoạn của Led 7 đoạn H G F E D C B A Số Mã hex 0 0 1 1 1 1 1 1 0 3FH 0 0 0 0 0 1 1 0 1 06H 0 1 0 1 1 0 1 1 2 5BH 0 1 0 0 1 1 1 1 3 4FH 0 1 1 0 0 1 1 0 4 66H 0 1 1 0 1 1 0 1 5 6DH 0 1 1 1 1 1 0 1 6 7DH 0 0 0 0 0 1 1 1 7 07H 0 1 1 1 1 1 1 1 8 7FH 0 1 1 0 1 1 1 1 9 6FH Mã của Led 7 đoạn loại Anode chung ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 6 of 37 Các đoạn của Led 7 đoạn H G F E D C B A Số Mã hex 1 1 0 0 0 0 0 0 0 C0H 1 1 1 1 1 0 0 1 1 F9H 1 0 1 0 0 1 0 0 2 A4H 1 0 1 1 0 0 0 0 3 B0H 1 0 0 1 1 0 0 1 4 99H 1 0 0 1 0 0 1 0 5 92H 1 0 0 0 0 0 1 0 6 82H 1 1 1 1 1 0 0 0 7 F8H 1 0 0 0 0 0 0 0 8 80H 1 0 0 1 0 0 0 0 9 90H a. Chương trình điều khiển 1 Led 7 đoạn đếm từ 0 đến 9 với port 1 #include #define data_led7 P1 #define Aled1 P3_0 void delay_1(s) { unsigned int f,t; for(f=0;f<s;f++) for(t=0;t<20;t++) { TMOD=0x01; TH0=0xC350; TL0=0xC350; TR0=1; while(!TF0); TF0=0; TR0=0; } } void main() { unsigned char code maled7[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 7 of 37 int D; P1 = 0xff; P3 = 0xff; D = 0; while(1) { data_led7 = maled7[D]; delay_1(1); D++; if (D == 10) D = 0; } } Bài tập mở rộng về nhà. - Điều khiển 1 Led 7 đoạn đếm từ 0 đến 9 với port 3 - Điều khiển 1 Led 7 đoạn đếm chẵn 0,2,4,6,8 với port 3 - Điều khiển 1 Led 7 đoạn đếm lẻ 1,3,5,7,9 với port 3 - Điều khiển 1 Led 7 đoạn đếm từ 0 đến 9 sau đó đếm lẻ sau đó đếm chẵn, chương trình đếm bắt đầu bằng nút Start với port 3 b. Chương trình điều khiển 2 Led 7 đoạn đếm từ 0 đến 99 với port 0,1 #include #define data_led7 P1 #define Aled1 P0_0 #define Aled2 P0_1 unsigned char led1,led2; bit flag; int count; void delay_1ms(){ TH1=0xFB; TL1=0x00; ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 8 of 37 TR1=1; while(1){ if(TF1==1) break; } TR1=0; TF1=0; } void delay(unsigned char t) { int i; for(i=0;i<t;i++) delay_1ms(); } void delay_us(int x) { int i; for (i=0;i<x;i++) {} } void convert_bcd( int x) { int temp2; temp2 = x; led2 = temp2 / 10; led1 = temp2 % 10; } //-----------HIEN THI LED-------------- void display() { ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 9 of 37 unsigned char code maled7[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; data_led7 = maled7[led1]; Aled1 = 0; delay_us(50); flag = 1; Aled1 = 1; data_led7 = maled7[led2]; Aled2 = 0; delay_us(50); Aled2 = 1; } void main() { unsigned char dem; P1 = 0xff; P0 = 0xff; count = 0; convert_bcd(count); while(1) { convert_bcd(dem); display(); if (flag == 1) {flag = 0;count++;} if (count == 10) {dem++;count = 0;} } } Bài tập mở rộng về nhà. - Điều khiển 2 Led 7 đoạn đếm từ 0 đến 80 với port 0,1 - Điều khiển 2 Led 7 đoạn đếm chẵn 0,2,4,6,8…90 với port 0,1 - Điều khiển 2 Led 7 đoạn đếm lẻ 1,3,5,7,9….95 với port 0,1 ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 10 of 37 c. Chương trình điều khiển 4 Led 7 đoạn đếm từ 0 đến 9999 với port 0,1 #include #define data_led7 P1 #define Aled1 P0_0 #define Aled2 P0_1 #define Aled3 P0_2 #define Aled4 P0_3 unsigned char led1,led2,led3,led4; bit flag; int count; void delay_1ms(){ TH1=0xFB; TL1=0x00; TR1=1; while(1){ if(TF1==1) break; } TR1=0; TF1=0; } void delay(unsigned char t) { int i; for(i=0;i<t;i++) delay_1ms(); } void delay_us(int x) { ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 11 of 37 int i; for (i=0;i<x;i++) {} } void convert_bcd( int x) { int temp2; temp2 = x; led4 = temp2 / 1000; temp2 = temp2 % 1000; led3 = temp2 / 100; temp2 = temp2 % 100; led2 = temp2 / 10; led1 = temp2 % 10; } //-----------HIEN THI LED-------------- void display() { unsigned char code maled7[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; data_led7 = maled7[led1]; Aled1 = 0; delay_us(50); flag = 1; Aled1 = 1; data_led7 = maled7[led2]; Aled2 = 0; delay_us(50); Aled2 = 1; data_led7 = maled7[led3]; Aled3 = 0; delay_us(50); Aled3 = 1; data_led7 = maled7[led4]; Aled4 = 0; delay_us(50); Aled4 = 1; } void main() { unsigned char dem; ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 12 of 37 P1 = 0xff; P0 = 0xff; count = 0; convert_bcd(count); while(1) { convert_bcd(dem); display(); if (flag == 1) {flag = 0;count++;} if (count == 10) {dem++;count = 0;} } } Bài tập mở rộng về nhà. - Điều khiển 4 Led 7 đoạn đếm từ 0 đến 9000 với port 0,1 - Điều khiển 4 Led 7 đoạn đếm chẵn 0,2,4,6,8…9000 với port 0,1 - Điều khiển 4 Led 7 đoạn đếm lẻ 1,3,5,7,9….9500 với port 0,1 II. ĐIỀU KHIỂN HỆ THỐNG KHÍ NÉN THỦY LỰC. 1. MÁY DẬP LỖ CHUYÊN DÙNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Đầu tiên cơ cấu đưa phôi vào. Khi ta mở công tắc và nhấn nút thì Piston A đẩy phôi tới. Tiếp tục Piston B đi vào làm công việc kẹp chặt phôi. Sau đó Piston A lùi về, đồng thời Piston C đi xuống làm công việc dập lỗ, Piston C rút lên. Cuối cùng Piston B lùi về và thực hiện xong một chu kỳ. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 13 of 37 CHƯƠNG TRÌNH ĐIỀU KHIỂN HỆ THỐNG TRÊN BẰNG VI ĐIỀU KHIỂN (tín hiệu tác động ngõ vào tác động mức 0 và ngõ ra tác động mức 0, giả sử van 5/2, 2 cuộn coil) Phân tích: có 7 ngõ vào gồm 1 nút nhấn Start, 6 công tắc hành trình lần lượt S1 đến S6 của 3 xinh lanh. Có 6 ngõ ra lần lượt A1, A2, B1, B2, C1, C2 của 3 xinh lanh nói lên trạng thái đóng và mở của xinh. CHƯƠNG TRÌNH. #include sbit start=P0^0; sbit S1=P0^1; sbit S2=P0^2; sbit S3=P0^3; sbit S4=P0^4; sbit S5=P0^5; sbit S6=P0^6; sbit A1=P1^0; sbit A2=P1^1; sbit B1=P1^2; sbit B2=P1^3; ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 14 of 37 sbit C1=P1^4; sbit C2=P1^5; main() { while(1) { P1=0xff; P0=0xff; while(start); A1=0; while(S2); B1=0; A1=1; while(S4); A2=0; C1=0; B1=1; while(S6); while(S1); A2=1; C1=1; C2=0; while(S5); B2=0; C2=1; while(S3); B2=1; } } ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 15 of 37 2. HỆ THỐNG ĐÓNG BAO BÌ YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ NHƯ HÌNH SAU: BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 16 of 37 3. MÁY DẬP TỰ ĐỘNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ Máy dập sẽ dập chi tiết. Trình tự dập sẽ được thực hiện như sau: Piston A đi ra đẩy chi tiết từ phễu cấp phôi vào vị trí gá đặt chi tiết và thực hiện kẹp chặt. Piston B đi ra đi ra tiến hành dập chi tiết. Khi lực dập đã đủ thì Piston B quay về. Sau đó Piston A quay về để tháo chi tiết. Sau khi chi tiết được tháo ra, Piston C đi ra tiến hành đẩy chi tiết vào máng chứa và quay về. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 17 of 37 4. MÁY MÀI PHẲNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Máy mài sẽ thực hiện các chưyển động sau: Khi khởi động. Pitton A mang chi tiết mài được kẹp chặt trên bàn từ từ tiến đến vị trí mài. sau đó Piston B thực hiện tiến hành mài chi tiết, với hành trình tiến và lùi. Sau khi thực hiện một chu kỳ mài, Piston C đi ra để tạo vị trí mài mới. Sau đó Piston B thực hiện tiến hành mài chi tiết với tiến và lùi của chu kỳ thứ 2. Piston C đi về, hoàn tất qúa trình mài. Piston A mang chi tiết được mài đi về để chuẩn bị gá chi tiết mới. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 18 of 37 5. HỆ THỐNG LẮP RÁP TỰ ĐỘNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Hệ thống sẽ lắp các chi tiết hình trụ tròn vào các lỗ tương ứng trên một chi tiết khác. Trình tự thực hiện như sau: 1. Pistong A đi ra đẩy một chi tiết hình khối vào vị trí lắp ráp đồng thời kẹp chặt cho đến khi đủ áp suất 2. Pistong B đi ra, đẩy một chi tiết trụ lắp vào lỗ của mặt thứ nhất. 3. Pistong C đi ra, đẩy một chi tiết trụ lắp vào lỗ của mặt thứ hai. 4. Pistong A và B đồng thời quay về làm chi tiết rơi xuống băng tải và đi ra ngoài. 5. Pistong B quay về, kết thúc một chu kỳ làm việc. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 19 of 37 6. KHOAN VÀ DOA TỰ ĐỘNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Trình tự hoạt động như sau: 1. Chi tiết được gá và gẹp chặt trên êtô. 2. Pistong A đi xuống tiến hành khoan. 3. Sau khi khoan xong Pistong A ở cuối hành trình 3s rồi rút lên thì Pistong B đi ra đẩy êtô va chạm vào cử hành trình B2. 4. Pistong C đi ra tiến hành doa và lui về. 5. Sau khi Pistong C lui về hết hành trình thì Pistong B cũng bắt đầu tiến hành lui về, kết thúc một chu trình làm việc. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 20 of 37 7. MÁY MÀI PHẲNG BẰNG SIMPLEX YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Piston A dưới tác dụng của khí nén làm cho bàn máy di chuyển đi tới. Sau đó Piston B di chuyển bàn máy qua lại. Sau một chu kỳ, Piston A lui về, Piston B di chuyển bàn máy qua lại chu kỳ thứ hai. Sau chu kỳ thứ 2 qui trình kết thúc. II. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 21 of 37 8. HỆ THỐNG VẬN CHUYỂN SẢN PHẨM YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ NHƯ HÌNH SAU: BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 22 of 37 9. MÁY MÀI LỖ YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Trình tự mài sẽ được thực hiện như sau: 1. Pistông A đi ra để tạo bề mặt dùng định vị chi tiết. 2. Pistông B đi ra thực hiện kẹp chi tiết. 3. Khi pistong B đủ áp suất thì pistông C đi ra hết hành trình rồi quay về ½ hành trình, sau đó lại đi ra hết hành trình, cứ như thế đến 18 lần để thực hiện mài lỗ. Cuối cùng quay về kết thúc qúa trình mài. 4. Pistong A và B đồng thời cùng lui về. 5. Pistông B đi ra đẩy chi tiết sau khi gia công về phía thùng chứa, rồi quay về. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 23 of 37 10. MÁY GẤP TÔN BẰNG KHÍ NÉN YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Đầu tiên cơ cấu đưa phôi vào. Khi ta bật công tắc và nhấn nút thì pittông B đi vào làm công việc kẹp chặt phôi. Sau đó pittong B đi vào uốn cong phôi làn đầu với góc 90 độ. Sau đó pittong B lùi về và pittong C đi vào thực hiện uốn cong phôi làn hai với hình dáng với cữ chặn, sau đó pittong C lùi về. Khi pittong C lùi về thì pittong A cũng lùi về và phôi được lấy ra tiếp tục một hành trình làm việc mới. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: 7 A 1 2 3 4 5 6 0 1 0 1 0 1 B C Nuùt khôûi ñoäng ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 24 of 37 11. MÔ HÌNH CẤP PHÔI TỰ ĐỘNG TRÊN MÁY TIỆN YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Khi đóng cầu dao điện và khí nén. Piston A đi ra đẩy máng cấp phôi về phía mâm cặp, ở cuối hành trình Piston gặp cảm biến B2 (tạo ra xung), thì Piston B đi ra để đẩy phôi vào mâm cặp, đồng thời cảm biến B4 thì Piston C rút về để kẹp chi tiết. cuối hành trình Piston C cảm biến B5, thì cả hai Piston A và B lùi về (cảm biến B1 và B3). Sau đó Piston D đi ra gài chế độ gia công tự động để gia công chi tiết. Sau khi gia công xong thì piston D đi về, chi tiết được tháo ra để tiếp tục hành trình mới. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: A 0 1 0 1 0 1 B C D 0 1 7 1 2 3 4 5 6 8 ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 25 of 37 12. HỆ THỐNG XỬ LÝ BỀ MẶT SẲN PHẨM YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ NHƯ HÌNH SAU Khi nhấn nút start động cơ băng tải quay mang sản phẩm trên băng tải khi sản phẩm đụng công tắc hành trình động cơ quay băng tải ngừng Xilanh B đưa sản phẩm xuống bồn hoá chất ngâm trong vòng 10S Xilanh B đưa sản phẩm lên sau đó xilanh C đưa sản phẩm sang vị trí bồn rửa nước tiếp đo Xilanh B đem sản phẩm xuống rửa nước trong vòng 3s và đi lên cuối cùng Xilanh D đẩy chi tiết ra băng tải. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: Xilanh A Xilanh C Xilanh D Xilanh B Sản Phẩm Bồn hoá chất ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 26 of 37 13. HỆ THỐNG NẮN TRÒN NIỀNG XE YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ NHƯ HÌNH SAU Nguyên lý hoạt động của mạch trên: Khi nhấn start SOL1 điều khiển xilanh giữa đi về đẩy dàn khuôn trong ra. Khi xilanh giữa đi về chạm phải công tác hành trình, tiếp điểm thường hở của công tác hành trình đóng lại cấp điện cho TIMER hoạt động. Khi TIMER có điện, tiếp điểm thường đóng của TIMER sẽ cấp điện cho SOL2 điều khiển 4 xy lanh ngoài đi vào ép niềng xe. Sau khoảng thời gian đã đặt cho TIMER, các tiếp điểm của TIMER sẽ đổi trạng thái ngắt điện R2 đồng thời đóng điện cấp cho R3, do tính chất của van đảo chiều khi đó SOL2 sẽ bị mất điện và điều khiển 4 xy lanh ngoài đi về. Khi R3 có điện, SOL1 sẽ mất điện và đi về làm tiếp điểm của công tác hành trình trở về trạng thái thường hở ban đầu. Lúc này cả phần mạch trên và phần mạch dưới cùng hở ra, muốn mạch hoạt động trở lại thì cần phải tác động lại START. ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 27 of 37 14. MÁY ÉP NHỰA YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Máy ép nhựa sẽ ép những khối nhựa hình cầu thành những cái đĩa. Trình tự ép sẽ được thực hiện như sau: Khối nhựa được cho bằng tay vào khuôn. Pistong A đi ra ép khối nhựa cho đến khi đủ áp suất (áp suất p = 5 bar), sau khi ép xong thì quay về. Pistong B đi ra, trên đầu xylanh có gắn Pistong C, đưa Pistong C đến vị trí lấy sản phẩm; Pistong C đi ra, lấy dĩa bằng phương pháp hút chân không và quay về. Sau đó Pistong B quay về mang dĩa đến vị trí đựng sản phẩm. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 28 of 37 15. HỆ THỐNG GIA CÔNG CẮT GỌT TỰ ĐỘNG YÊU CẦU CỦA QUI TRÌNH CÔNG NGHỆ: Hệ thống tự động gia công lỗ bằng phương pháp khoan – khóet và lã lỗ. Quy trình được thực hiện như sau: 1. Pistông A và C có nhiệm vụ cản chuyển động của phôi cũng như của chi tiết đã gia công. 2. Pistông B và D có nhiệm vụ đưa phôi cũng như chi tiết đã gia công vào và ra khỏi hệ thống. 3. Pistông E có nhiệm vụ quay tròn bàn máy chứa chi tiết. 4. Pistông F và G đưa hai đầu khoan 1 và 2 ra khoan chi tiết và quay về. 5. Pistông H và I đưa hai đầu khoét 1 và 2 ra khoét chi tiết và quay về. 6. Pistông J và K đưa hai đầu lã lỗ 1 và 2 đi ra lã miện lỗ và quay về. BIỂU DIỄN BIỂU ĐỒ TRẠNG THÁI QUI TRÌNH: ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 29 of 37 III. ĐIỀU KHIỂN LED MA TRẬN Giao tiếp Led ma trận Sơ đồ nguyên lý: Q13A H2 M5 VCC D5 VCC Q10A D1 X3 R9 12 Q12A H6 X4 M4 D7 D1 VCC Q15A H1 GND R8 12 H7 H2 GND D6 M7 X4 D2 R3 R 12 Q11A H5 X5 M5 U4 ULN2804 10 9 1 2 3 4 5 6 7 8 18 17 16 15 14 13 12 11 COM GND IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 M3 D2 D8 GND VCC_12V J4 COLUMN DO 1 2 3 4 5 6 7 8 H8 H3 J2 COLUMN XANH 1 2 3 4 5 6 7 8 D7 R4 12 D3 X5 Q14A M1 M1 X6 X1 VCC M6 R6 12 X1 H4 H4 U1 MATRAN 8X8 24 21 18 15 1 4 7 10 23 20 17 14 2 5 8 11 22 19 16 13 3 6 9 12 X1 X2 X3 X4 X5 X6 X7 X8