ĐẠ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 <at89c51xd2.h> 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 } }
37
Embed
CH ƯƠ NG 4: ỨNG D ỤNG NGÔN NG Ữ C CHO H Ọ VI ĐIỀU KHI …
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ĐẠ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 <at89c51xd2.h>
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 <at89c51xd2.h>
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 <at89c51xd2.h>
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
ĐẠ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 <at89c51xd2.h>
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:
A0
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
109
12345678
1817161514131211
COMGND
IN1IN2IN3IN4IN5IN6IN7IN8
OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8
M3
D2
D8
GND
VCC_12V
J4
COLUMN DO
12345678
H8
H3
J2
COLUMN XANH
12345678
D7
R4
12
D3
X5
Q14A
M1
M1
X6
X1
VCC
M6
R6
12
X1
H4
H4
U1
MATRAN 8X8
2421181514710
2320171425811
22191613369
12
X1X2X3X4X5X6X7X8
D1D2D3D4D5D6D7D8
H1H2H3H4H5H6H7H8
D8
D3
M8
X6
D4
M4
J3
ROW
12345678
Q16A
U3
ULN2804
109
12345678
1817161514131211
COMGND
IN1IN2IN3IN4IN5IN6IN7IN8
OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8
M7
M2
H3X7
H8
X2
H5
GND
D4
D5
X7
X8
X2
Q17A
D468
U2
ULN2804
109
12345678
1817161514131211
COMGND
IN1IN2IN3IN4IN5IN6IN7IN8
OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8
R7
12
VCC
R5
12
R2
1K
12
M8
M3M6
H7
X3
H6
M2
H1
J5
12VDC
12
X8
D6
Các hàng và được đưa qua IC đệm 2803. Led ma trận có hai màu xanh và đỏ.
Có 8 đường điều khiển hàng, 8 đường điều khiển cột màu xanh và 8 đường điều khiển
cột màu đỏ. Tổng cộng có 24 đường được kết nối với vi điều khiển.
Với phần cứng đã thiết ở trên sử dụng led ma trận 8x8 có 2 màu xanh và đỏ, để
điều khiển led ma trận sáng ta tiến hành gửi dữ liệu ra cột và mã quét ra hàng. Trong 4
port của vi điều khiển ta sử dụng 1 port để quét hàng và 2 port để điều khiển màu xanh
và đỏ.
ĐẠ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 30 of 37
Mã các ký tự của Led ma trận.
7 6 X 5 X X 4 X X 3 X X 2 X X X X X 1 X X 0 X X E0 DB BB DB E0Mẫu chữ A:
7 6 X X X X 5 X X 4 X X 3 X X X X 2 X X 1 X X 0 X X X X 80 B6 B6 B6 C9 Mẫu chữ B:
7 6 X X X 5 X X 4 X 3 X 2 X 1 X X 0 X X X C1 BE BE BE DDMẫu chữ C:
7 6 X X X X 5 X X 4 X X 3 X X 2 X X 1 X X 0 X X X X 80 BE BE BE C1 Mẫu chữ D:
7 6 X X X X X 5 X 4 X 3 X X X X 2 X 1 X 0 X X X X X 80 B6 B6 B6 BE Mẫu chữ E:
7 6 X X X X X 5 X 4 X 3 X X X X 2 X 1 X 0 X 80 B7 B7 B7 BF Mẫu chữ F:
7 6 X X X 5 X X 4 X 3 X X X X 2 X X 1 X X 0 X X X C1 BE B6 B6 D1 Mẫu chữ G:
7 6 X X 5 X X 4 X X 3 X X X X X 2 X X 1 X X 0 X X 80 F7 F7 F7 80 Mẫu chữ H:
7 6 X X X X X 5 X 4 X 3 X 2 X 1 X 0 X X X X X BE BE 80 BE BE Mẫu chữ I:
ĐẠ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 31 of 37
7 6 X X 5 X X 4 X X 3 X X 2 X X 1 X X 0 X X 80 E7 DB BD FE Mẫu chữ K:
7 6 X 5 X 4 X 3 X 2 X 1 X X 0 X X X X 80 FE FE FE FD Mẫu chữ L:
7 6 X X 5 X X X X 4 X X X 3 X X 2 X X 1 X X 0 X X 80 DF EF DF 80 Mẫu chữ M:
7 6 X X 5 X X X 4 X X X 3 X X X 2 X X 1 X X 0 X X 80 DF EF F7 80 Mẫu chữ N:
7 6 X X X 5 X X 4 X X 3 X X 2 X X 1 X X 0 X X X C1 BE BE BE C1 Mẫu chữ O:
7 6 X X X X 5 X X 4 X X 3 X X X X 2 X 1 X 0 X 80 B7 B7 B7 CF Mẫu chữ P:
7 6 X X X 5 X X 4 X X 3 X X 2 X X X 1 X X X 0 X X X X C1 BE BA BC C0Mẫu chữ Q:
7 6 X X X X 5 X X 4 X X 3 X X X X 2 X X 1 X X 0 X X 80 B7 B3 B5 CE Mẫu chữ R:
7 6 X X X 5 X X 4 X 3 X X X 2 X 1 X X 0 X X X CD B6 B6 B6 D9 Mẫu chữ S:
ĐẠ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 32 of 37
7 6 X X X X X 5 X 4 X 3 X 2 X 1 X 0 X BF BF 80 BF BF Mẫu chữ T:
7 6 X X 5 X X 4 X X 3 X X 2 X X 1 X X 0 X X X 81 FE FE FE 81 Mẫu chữ U:
7 6 X X 5 X X 4 X X 3 X X 2 X X 1 X X 0 X 83 FD FE FD 83 Mẫu chữ V:
7 6 X X 5 X X 4 X 3 X 2 X 1 X X 0 X X BE DD E3 DD BE Mẫu chữ X:
7 6 X X 5 X X 4 X X 3 X X X 2 X 1 X 0 X 8F F7 F0 F7 8F Mẫu chữ Y:
ĐẠ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 33 of 37
Chương trình hiển thị ký tự A trên led ma trận #include <at89x52.h> #define Hang P0 #define Cot P1 void delay() { TMOD=0x01; TH0=0xFB; TL0=0x00; TR0=1; while(1){ if(TF0==1) break; } TR0=0; TF0=0; } main() { while(1) { Hang=0xE0; Cot=0x02; delay(); Hang=0xDB; Cot=0x04; delay(); Hang=0xBB; Cot=0x08; delay(); Hang=0xDB; Cot=0x10; delay(); Hang=0xE0; Cot=0x20; delay(); } } Bài tập ứng dụng về nhà
- Chương trình chớp tắt ký tự A trên Led ma trận
- Chương trình chớp tắt ký tự A hiển thị hai màu xanh và đỏ trên Led ma trận
- Chương trình chạy chuỗi ABCD từ trái sang phải trên Led ma 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
Chân Ký hiệu I/O Mô tả 1 GND - Đất 2 VCC - Nguồn 5V 3 VR - Nguồn điều khiển tương phản
4 RS I RS=0 chọn thanh ghi lệnh
RS=1 chọn thanh ghi dữ liệu
5 R/W I RW=1 đọc dữ liệu RW=0 ghi dữ liệu
6 EN I Cho phép hoạt động 7 DB0 I/O Bus dữ liệu 8 bit 8 DB1 I/O Bus dữ liệu 8 bit 9 DB2 I/O Bus dữ liệu 8 bit
10 DB3 I/O Bus dữ liệu 8 bit 11 DB4 I/O Bus dữ liệu 8 bit 12 DB5 I/O Bus dữ liệu 8 bit
ĐẠ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 35 of 37
13 DB6 I/O Bus dữ liệu 8 bit 14 DB7 I/O Bus dữ liệu 8 bit 15 A - Nguồn 5V 16 K - Đất
Mã lệnh LCD:
Mã (Hex) Lệnh thanh ghi LCD 1 Xóa màn hình hiển thị 2 Trở về đầu dòng 4 Dịch con trỏ sang trái 6 Dịch con trỏ sang phải 5 Dịch hiển thị sang phải 7 Dịch hiển thị sang trái 8 Tắt con trỏ, tắt hiển thị A Tắt hiển thị, bật con trỏ C Bật hiển thị, tắt con trỏ E Bật hiển thị, nhấp nháy con trỏ F Tắt con trỏ, nhấp nháy con trỏ 10 Dịch vị trí con trỏ sang trái 14 Dịch vị trí con trỏ sang phải 18 Dịch toàn bộ hiển thị sang trái 1C Dịch toàn bộ hiển thị sang phải 80 Đưa con trỏ về đầu dòng thứ nhất C0 Đưa con trỏ về đầu dòng thứ hai 38 Hai dòng ma trận 5x7
Bài tập ứng dụng.
Viết chương trình cho Vi Điều Khiển điều khiển LCD hiển thị dòng chữ thứ nhất “A, B, C, D” và dòng chữ thứ hai “BAI TAP UNG DUNG LCD”.