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
}
37 trang |
Chia sẻ: maiphuongtt | Lượt xem: 2103 | Lượt tải: 1
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