Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
1,57 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH MỤC LỤC Điều khiển led đoạn PIC 16f877a a) Nguyên lý IC ULN2003A kit thực hành: b) Mạch nguyên lý: .7 c) Chương trình test led xuất số ‘1 4’ lên led đoạn phương pháp quét led d) Tiếp theo chương trình nâng cao với led đoạn, nhấn SW0 xuất số đếm từ 1-9999 led cuối Sử dụng pic 16f877a điều khiển hiển thị led ma trận 8x8 .11 a) Cấu trúc led ma trận 1088BS: .11 b) Sơ đồ mạch nguyên lý pic 16f877a kết nối với led ma trận 8x8 12 c) Sau hiểu rõ nguyên lí kết nối ta tiến hành lập trình hiển thị led, bật on switch s4 để on tất led ma trận, để led sáng nên tắt Switch S2 .14 Sử dụng PIC 16f877a điều khiển động bước .19 a) Sơ đồ mạch nguyên lý pic 16f877a kết nối với động bước 19 b) Lập trình điều khiển động bước chạy đơn giản 20 Ma trận phím 4x4 với PIC 16f877a 22 a) Sơ đồ nguyên lí kết nối pic 16f877a với ma trận phím 4x4 22 b) Một chương trình đơn giản cho pic 16f877a sử dụng nguyên lí quét phím ma trận .22 Sử dụng PIC 16f877a điều khiển hiển thị lên lCD 16x2 25 a) Sơ đồ nguyên lí kết nối LCD 16X2 với piC 16f877a .25 b) Viết chương trình hiển thị LCD, ví dụ chương trình dùng để hiển thị chữ thời gian on display LCD 25 Sử dụng PIC 16f877a điều khiển bật tắt Buzzy 30 a) Sơ đồ kết nối còi báo với pic 16f877a 30 b) Chương trình điều khiển BUZZY pic 16f877a 30 Phần mở rộng 32 1|Page Mô tả thiết bị có kit thực hành PIC 16f877a Bộ kit bao gồm: - Vỏ hộp đựng kit - Kit thực tập PICKIT2-16f877a(HL-k18) - Cáp nạp sử dụng cổng COM - Cáp RS232 - Động bước 5v - Động DC 5v - Màn hình LCD 16x2 Figure Kit VDK PIC 16f877a 2|Page Các ứng dụng thường gặp thực hành với kit PIC 16f877a - PIC 16f877a điều khiển led đoạn - PIC 16f877a điều khiển led ma trận - Sử dụng PIC 16f877a điều khiển động bước - Ma trận phím 4x4 với PIC 16f877a - Sử dụng PIC 16f877a điều khiển hiển thị lên lCD 16x2 - Sử dụng PIC 16f877a điều khiển bật tắt Buzzy Figure PIC 16f877a 3|Page Sơ đồ nguyên lí cấu trúc kết nối PIC 16f877a với số thiết bị kit thực hành: Figure Mạch nguyên lí b) Điều khiển led đoạn PIC 16f877a a) Nguyên lý IC ULN2003A kit thực hành: Sơ lược ULN2003a vi mạch đệm, chất cấu tạo mảng darlington chịu dòng điện lớn điện áp cao, có chứa cặp transistor NPN ghép darlington gực góp hở với cực phát chung Mỗi kênh ULN2003a có diode chặn sử dụng trường hợp tải có tính cảm ứng ULN2003a có 4|Page khả điều khiển kênh riêng biệt , kết nối trực tiếp với vi điều khiển 5v Bên cạnh đó, kênh chịu dòng điện lên tới 500Ma b) Mạch nguyên lý: 5|Page - Với led đoạn kathot chung, đầu ULN2003a với vai trị cổng đảo cần kích mức chân điều khiển c) Chương trình test led xuất số ‘1 4’ lên led đoạn phương pháp quét led #include #include #fuses nowdt,hs,put,noprotect #use delay(crystal=4000000) const unsigned char maled[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x 5e,0x79,0x71,0x40}; void main() { trisd=0; trisc=0; trise=0; while(TRUE) { portd=maled[1]; rc0=1; delay_us(50); rc0=0; portd=maled[2]; re2=1; delay_us(50); re2=0; portd=maled[3]; re1=1; 6|Page delay_us(50); re1=0; portd=maled[4]; re0=1; delay_us(50); re0=0; } } d) Tiếp theo chương trình nâng cao với led đoạn, nhấn SW0 xuất số đếm từ 1-9999 led cuối #include #include #fuses nowdt,hs,put,noprotect #use delay(crystal=4000000) const unsigned char maled[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x 5e,0x79,0x71,0x40}; int dem,chuc,donvi,tram,ngan; int16 d; void main(void) { set_tris_d(0); set_tris_a(0); set_tris_a(1); tram=ngan= 0; while(true) { ra2=0; ra3=0; ra5=0; 7|Page lapphim: ra1=1; rc1=0; if(rb0==0) { lap1: if(rb0==1) goto ct; else goto lap1; } delay_ms(1); ct: if(++d>400) { d=0; if(++dem>99) { tram++; dem=0; } if(tram>9) { tram= 0; ngan++; } if(ngan>9) ngan=0; } 8|Page output_d(maled[ngan]); ra5=1; delay_us(500); // ra5=0; output_d(maled[tram]); ra3=1; // ra3=0; chuc=dem/10; donvi=dem%10; output_d(maled[chuc]); ra2=1; delay_us(500); ra2=0; output_d(maled[donvi]); ra1=1; delay_us(500); ra1=0; goto ct; } } c) Sử dụng pic 16f877a điều khiển hiển thị led ma trận 8x8 e) Cấu trúc led ma trận 1088BS: 9|Page 17 | P a g e Kết nối chân 1,2,3,4 động bước với chân RC0,RE2,RE1,RE0 i) Lập trình điều khiển động bước chạy đơn giản Nhấn nút SW0 động chạy, nhấn lại SW0 động dừng #include #include #use delay(crystal=4000000) #fuses nowdt,hs,put,noprotect //re0,re1,re2,rc0 void main() { set_tris_e(0x00); trisa=0x00; trisb=0x0f; while(TRUE) { lapphim: ra1=1; if(rb0==0) { 18 | P a g e lap1: if(rb0==1) goto ct; else goto lap1; } delay_ms(1); goto lapphim; ct: output_low(PIN_e0); output_high(PIN_e1); output_low(PIN_e2); output_high(PIN_c0); delay_us(3500); output_high(PIN_e0); output_low(PIN_e1); output_low(PIN_e2); output_high(PIN_c0); delay_us(3500); output_high(PIN_e0); output_low(PIN_e1); output_high(PIN_e2); output_low(PIN_c0); delay_us(3500); output_low(PIN_e0); output_high(PIN_e1); output_high(PIN_e2); output_low(PIN_c0); delay_us(3500); lap: ra1=1; if(rb0==0) { lap2: if(rb0==1) goto lapphim; 19 | P a g e else goto lap2; delay_us(500); } goto ct; } } e) Ma trận phím 4x4 với PIC 16f877a j) Sơ đồ nguyên lí kết nối pic 16f877a với ma trận phím 4x4 Để điều khiển nút bàn phím 4x4 chân khác phải bật off Switch S3 k) Một chương trình đơn giản cho pic 16f877a sử dụng nguyên lí quét phím ma trận Nhấn nút SW0 còi kêu luân phiên 0.25 giây #include 20 | P a g e #include #use delay(crystal=4000000) #fuses nowdt,hs,put,noprotect int32 i; void main() { trisa=0x00; trisc=0x00; trisb=0x0f; while(TRUE) { ra2=0; ra3=0; ra5=0; lapphim: ra1=1; rc1=0; if(rb0==0) { lap1: if(rb0==1) goto ct; else goto lap1; } delay_ms(1); goto lapphim; ct: rc1=1; for(i=1; i