You are on page 1of 30

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC CÔNG NGHỆ TP.HCM

BÁO CÁO THỰC HÀNH VI


ĐIỀU KHIỂN

Họ và tên : Nguyễn Thành Lộc

Lớp : 21DOTC3

MSSV : 2182504979

www.hutech.edu.vn
BÁO CÁO THỰC HÀNH VI ĐIỀU KHIỂN

Ấn bản 2018
MỤC LỤC I

MỤC LỤC
MỤC LỤC ................................................................................................................... 1

BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN ................................................................. 2

BÀI 2: TIMER VÀ NGẮT ..............................................................................................25

BÀI 3: ADC VÀ PWM ..................................................................................................27


2 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

BÀI 1: ĐIỀU KHIỂN CÁC THIẾT


BỊ CƠ BẢN

Bài 1.3. Chương trình:

#include <16F877A.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=8M)
void main()
{
while(1)
{
output_c(0x0F);
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 3

output_c(0x00);
delay_ms(1000);
}
}

Bài 1.4. Chương trình: Led sáng dần từ D1 – D8, thời gian delay 300ms, lặp lại vô
hạn lần.
4 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.5. Chương trình:

#include <16F877A.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=8M)
char sangden[9]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
void main ()
{
for (int i=0; i<30; i++)
{
for (int m=0; m<9; m++)
{
output_c(sangden[m]);
delay_ms(300);
}
}
}
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 5

Bài 1.6. Chương trình: Led sáng dần từ D1 – D8, thời gian delay 300ms, lặp lại
30 lần,
sau đó tắt dần từ D1 – D8, lặp lại 257 lần.
6 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

#include <16F877A.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=8M)
char sangden[9]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
char tatden[9]={0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00};
void main ()
{
for (int i=0; i<30; i++)
{
for (int m=0; m<9; m++)
{
output_c(sangden[m]);
delay_ms(300);
}

}
for (int u=0; u<257; u++)
{
for (int n=0; n<9; n++)
{
output_c(tatden[n]);
delay_ms(300);
}
}
}

Bài 1.7. Chương trình:

#include <16F877A.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=8M)
char sangden[9]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 7

void main ()
{
for (int e=0; e<40; e++)
{
for (int i=0; i<30; i++)
{
for (int m=0; m<9; m++)
{
output_c(sangden[m]);
delay_ms(300);
}
}
for (int u=0; u<257; u++)
{
for (int n=0; n<9; n++)
{
output_c(tatden[n]);
delay_ms(300);
}
}
}}
8 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.8. Sơ đồ mạch:

Vẽ lại sơ đồ mạch trong đó D1, D3, D5, D7 tích cực mức 1, 4 Led còn lại tích cực
mức 0. Viết lại chương trình như bài 1.7.

#include <16F877A.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=8M)
char sangden[9]={0xAA,0xAB,0xA9,0xAD,0xA5,0xB5,0x95,0xD5,0x55};
char tatden[9]={0x55,0x54,0x56,0x52,0x5A,0x4A,0x6A,0x2A,0xAA};
11
void main()
{
for (int e=0; e<40; e++)
{
for (int i=0; i<30; i++)
{
for (int m=0; m<9; m++)
{
output_c(sangden[m]);
delay_ms(300);
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 9

for (int u=0; u<257; u++)


{
for (int n=0; n<9; n++)
{
output_c(tatden[n]);
delay_ms(300);
}
}
}}

Bài 1.9. Sơ đồ mạch:

Chương trình:

Bài 1.11. Chương trình: Viết chương trình hiện chữ StOP trên 4Led, thời gian quét
led 3 ms.
10 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.12. Chương trình: Viết chương trình hiện số 12.34 trên 4Led, thời gian quét
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 11
12 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài1.13.Chươngtrình: Viết chương trình hiện chữ StOP trên 4Led, thời gian quét
led 3 ms.
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 13
14 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.14. Chương trình: Viết chương trình hiện chữ StAr trên 4Led trong 5s, thời
gian quét led 3 ms. Sau đó hiện chữ StOP trên 4Led.
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 15
16 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 17

Bài 1.15. Chương trình:

Bài
1.16. Chương trình:
18 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 19

Bài 1.19. Chương trình:

Bài 1.21. Chương trình:


20 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.22. Viết chương trình thực hiện:


- Nhấn SW1: hiển thị chữ “Xin chao cac ban!” trên dòng 01 LCD tại (x,y) = (1,1)
- Nhấn SW2: hiển thị chữ “HUTECH” trên dòng 02 tại (x,y) = (10,2)
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 21

Bài 1.23. Chương trình:


22 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN
BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN 23
24 BÀI 1: ĐIỀU KHIỂN CÁC THIẾT BỊ CƠ BẢN

Bài 1.25. Chương trình:


BÀI 2: TIMER VÀ NGẮT 25

BÀI 2: TIMER VÀ NGẮT

Bài 2.2. Chương trình:


26 BÀI 2: TIMER VÀ NGẮT

Chương trình:

Bài 2.5.
BÀI 3: ADC VÀ PWM 27

BÀI 3: ADC VÀ PWM

Bài 3.2. Chương trình:

Bài 3.3. Chương trình:

Bài 3.5. Chương trình:

Bài 3.6. Chương trình:

You might also like