ứng dụng pic16f877a điều khiển thiết bị trong nhà

86 858 2
ứng dụng pic16f877a điều khiển thiết bị trong nhà

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI NÓI ĐẦU Với xu hướng xã hội ngày phát triển trình độ người ngày cao nhu cầu người tăng theo Vì áp dụng trình độ khoa hoc kỹ thuật công nghệ vào sinh hoạt đời sống cần thiết.Với đề tài ứng dụng pic16f877A điều khiển thiết bị nhà, chúng em hy vọng ứng dụng vào sống đáp ứng phần nhỏ nhu cầu xã hội Đề tài chúng em không lớn khuyết điểm chưa đạt, nổ lực làm việc chúng em Chúng em cố gắng tìm tòi học hỏi để hoàn thành tốt đề tài , vốn kiến thức hạn chế nên không tránh khỏi sai xót khuyết điểm trình tính toán thi công mô hình Rất mong quí thầy cô bạn thông cảm góp ý thêm để đề tài ngày hoàn thiện áp dụng rộng rải sống ii IC M N Sau th i gian th c hi n án t t nghi p, c s giúp , h tr c a th y cô, b n bè chúng em ã hoàn thành án t t nghi p v i y nhi m v c giao Em xin g i l i c m n chân thành n: -Các Th y , Cô tr ng Cao ng K Thu t Cao Th ng -Th y Võ Xuân Nam, ng i tr c ti p h ng d n chúng em su t trình làm vi c Và c ng xin g i l i cám n b n khoá v vi c trao i tài li u, óng góp ý ki n giúp hoàn thành t t tài iii MỤC LỤC Đề mục Trang bìa Lời nói đầu Lời cảm ơn Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện Nhận xét Hội đồng chấm đồ án tốt nghiệp Mục lục Phụ lục bảng hình ảnh Lời dẫn nhập Chƣơng GIỚI THIỆU ĐỀ TÀI VÀ PHƢƠNG PHÁP NGHIÊN CỨU 1.1 Giới thiệu đề tài 1.2 Ý nghĩa đề tài 1.3 Giới hạn nghiên cứu 1.4 Phương pháp nghiên cứu Chƣơng TỔNG QUÁT VỀ LINH KIỆN TRONG MẠCH 2.1 Giới thiệu pic 16f877A 2.2 Giới thiệu LCD 16x02 2.3 Giới thiệu IC LM 35 2.4 Giới thiệu transitor 2.5 Giới thiệu điện trở 2.6 Giới thiệu tụ 2.7 Giới thiệu diot 2.8 Giới thiệu IC NE555 Chƣơng SƠ ĐỒ 3.1 Sơ đồ khối 3.2 Sơ đồ nguyên lý 3.3 Sơ đồ mạch in 3.5 Sơ đồ bố trí linh kiện 3.6 Lưu đồ giải thuật Chƣơng NGUYÊN LÝ HOẠT ĐỘNG Chƣơng ĐOẠN CODE CHƢƠNG TRÌNH Chƣơng ĐÁNH GIÁ VÀ HƢỚNG PHÁT TRIỂN 6.1 Những phần thực 6.1.1 Ưu điểm: 6.1.2 Khuyết điểm: 6.2 Hướng phát triển TÀI LIỆU THAM KHẢO iv trang i ii iii iv v vi 1 1 2 27 39 40 43 45 47 48 51 51 53 54 55 57 63 65 79 79 79 80 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM Chƣơng GIỚI THIỆU ĐỀ TÀI VÀ PHƢƠNG PHÁP NGHIÊN CỨU 1.1 Giới thiệu đề tài : Đề tài “Ứng dụng Pic16f877A điều khiển thiết bị nhà” bao gồm thành phần chính:  Cảm biến người thay nút nhấn có người vào bắt đầu đọc nhiệt độ quét phím; người hiển thị LCD 16x02 sau “school:CDKTCT”, “street:H_T_K”  Đọc nhiệt độ từ IC LM35DZ qua PIC16f877A , hiển thị nhiệt độ LCD 16x02 điều khiển quạt  Nhận giá trị thông tin vừa nhập từ khối bàn phím qua Pic16f877A ( xử lý tín hiệu có mật mã cài định sẵn hay không ) hiển thị quét phím số lần nhập LCD 16x02 điều khiển (đóng mở cửa, loa, led) 1.2 Ý nghĩa đề tài: Đề tài “Ứng dụng Pic16F877A điều khiển thiết bị nhà” ứng dụng thực tế mà phát triển mạnh mẽ, đa dạng sinh động, ứng dụng rộng rãi không nhà mà có nhà máy sản xuất nhằm giảm bớt tác động người vào thiết bị 1.3 Giới hạn nghiên cứu:  Vi điều khiển Pic16f877A  Phần mềm CCS( ngôn ngữ C) hỗ trợ lập trình biên dịch chương trình vi xử lí  Phần mềm Orcad hổ trợ vẽ mạch nguyên lý  Phần mềm Protues hỗ trợ mô mạch in 1.4 Phƣơng pháp nghiên cứu:  Tìm hiểu vi xử lí Pic16f877A phần cứng tập lệnh  Tìm hiểu hình LCD  Tìm hiểu cảm biến người cảm biến nhiệt độ LM35DZ  Tìm hiểu ngôn ngữ lập trình biên dịch CCS  Tìm hiểu thiết kế mạch công suất điều khiển (loa, đóng mở cửa, quạt led)  Lập trình hoàn thiện đề tài”Ứng dụng Pic16f877A điều khiển thiết bị nhà” Trang:1 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM Chƣơng TỔNG QUÁT VỀ LINH KIỆN TRONG MẠCH 2.1 GIỚI THIỆU VỀ PIC 16F877A 2.1.1 Giới thiệu chung : PIC tên viết tắt Máy tính khả trình thông minh (Programable Intelligent Computer) hãng General Instrument đặt tên, vi điều khiển họ PIC1650 Hãng Microchip tiếp tục phát triển dòng sản phẩm Cho đến nay, sản phẩm vi điều khiển PIC Microchip gần 100 loại, từ họ 10Fxxx đến họ 12Cxxx, 17Cxx, 16Fxx, 16Fxxx, 16FxxxA, 16LFxxxA, 18Fxxx 18LFxxx Hình 2.1: Sơ đồ chân PIC16F877A 2.1.2 Tại PIC mà không họ vi điều khiển khác? Hiện thị trường có nhiều họ vi điều khiển 8051, Motorola 68HC, AVR, ….Ngoài họ 8051 hướng dẫn cách môi trường đại học, thân người viết chọn họ vi điều khiển Pic để mở rộng vốn kiến thức phát triển ứng dụng công cụ nguyên nhân sau:  Họ vi điều khiển tìm mua dễ dàng thị trường Việt Nam  Giá thành không đắt  Có đầy đủ tính vi điều khiển hoạt động độc lập  Là bổ sung tốt kiến thức ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051  Số lượng người sử dụng họ vi điều khiển Pic Hiện Việt Nam giới, họ vi điều khiển sử dụng rộng rãi Điều tạo nhiều thuận lợi trình tìm hiểu phát triển ứng dụng như: số lượng Trang:2 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM tài liệu, số lượng ứng dụng mở phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm dẫn gặp khó khăn…  Sự hỗ trợ nhà sãn xuất trình biên dịch, công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,…  Các tính đa dạng vi điều khiển Pic tính không ngừng phát triển 2.1.3 Phân loại PIC theo ký tự:  Nhóm thứ có ký tự C, họ PIC xxCxxx đưa vào nhóm, gọi OTP (One Time Programable) lập trình lần  Nhóm thứ hai có ký tự F, LF, họ PIC xxFxxx, xxFxxx, gọi Flash, cho phép ghi/xóa nhiều lần bắng mạch điện thông thường 2.1.4 Phân loại PIC theo ký số:  Loại thứ dòng PIC (Base-Line), gồm PIC 12Cxxx, có độ dài lệnh 12 bit  Loại thứ hai dòng Pic 10F, 12F, 16F, gọi dòng phổ thông (MidRange), có độ dài lệnh 14 bit  Loại thứ ba dòng Pic18F (High-End), có độ dài lệnh 16 bit PIC vi điều khiển với kiến trúc RISC, sử dụng microcode đơn giản đặt ROM, chạy lệnh chu kỳ máy (4 chu kỳ dao động) PIC nhờ có EEPROM nên tạo thành điều khiển vào khả trình, có nhiều dòng PIC với hàng loạt mô-đun ngoại vi tích hợp sẵn (như USART, PWM, ADC ), với nhớ chương trình từ 512 Word đến 32K Word Pic16F877A dòng Pic phổ biến nhất, đủ mạnh tính năng, 40 chân, nhớ đủ lớn cho hầu hết ứng dụng thông thuờng 2.1.5 Cấu trúc tổng quát PIC16F877A gồm:  K Flash ROM  368 bytes RAM  256 bytes EEPROM  Port I/O (A, B, C, D, E), ngõ vào/ra với tín hiệu điều khiển độc lập  định thời bit Timer Timer  định thời 16 bit Timer 1, hoạt động chế độ tiết kiệm lượng (Sleep Mode) với nguồn xung clock  CCP, Capture/Compare/PWM - tạm gọi là: Bắt giữ / So sánh / Điều biến xung  biến đổi tương tự – số (ADC) 10 bit, ngõ vào  so sánh tương tự (Comparator)  định thời giám sát (WDT – Watch Dog Timer)  cổng song song (Parallel Port) bit với tín hiệu điều khiển  cổng nối tiếp (Serial Port) Trang:3 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM  15 nguồn ngắt (Interrupt)  Chế độ tiết kiệm lượng (Sleep Mode) TM  Nạp chương trình cổng nối tiếp ICSP (In-Circuit Serial rograming)  Nguồn dao động lập trình tạo công nghệ CMOS  35 tập lệnh có độ dài 14 bit  Tần số hoạt động tối đa 20 MHz * Cấu trúc phần cứng Pic16F877A: Pic vi điều khiển với kiến trúc RISC, chạy lệnh chu kỳ máy (4 chu kỳ dao động) Pic16F877A họ vi điều khiển có 40 chân, chân có chức khác Trong có số chân đa công dụng (đa hợp), chân hoạt động đường xuất/nhập (I/O) độc lập chức đặc biệt dùng để giao tiếp với thiết bị ngoại vi Hình 2.2 Sơ đồ khối PIC16F877A 2.1.6 Các Port x ghi TRISx [ x={A,B,C,D,E} ] 2.1.6.1 Port A ghi TRISA Trang:4 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM Bảng 2.1 Các ghi liên quan đến Port A Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Các ô tô bóng không dùng Port A Port A gồm chân RA0-RA5, việc ghi giá trị vào ghi TRISA quy định chân Port A Input hay Output, = Output, = Input Việc đọc ghi Port A đọc trạng thái chân Port A Việc ghi giá trị vào ghi Port A thay đổi trạng thái chân Port A Riêng chân RA4 tích hợp thêm chức cung cấp xung clock cho Timer (RA4/T0CLKI) Các chân khác Port A đa hợp với chân Analog ADC chân ngõ vào điện so sánh so sánh Comparator Hoạt động chân quy định bit ADCON1 CMCON1 Khi chân Port A sử dụng ngõ vào bit ghi TRISA phải Chi tiết sơ đồ khối chân port A trình bày cụ thể phụ lục 2.1.6.2 Port B ghi TRISB Trang:5 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM Bảng 2.2 Các ghi liên quan đến Port B Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Các ô tô bóng không dùng Port B Port B gồm chân RB0-RB7, việc ghi giá trị vào ghi TRISB quy định chân Port B Input hay Output, = Output, = Input Việc đọc ghi Port B đọc trạng thái chân Port B Việc ghi giá trị vào ghi Port B thay đổi trạng thái chân Port B Ba chân Port B đa hợp với chức In-Circuit Debugger Low Voltage Programing Function RB3/PGM, RB6/PGC, RB7/PGD Việc thay đổi chức ba ghi đề cập phần ghi chức đặc biệt Mỗi chân Port B có transistor kéo lên nguồn V , chức dd hoạt động bit RBPU OPTION xóa, chức tự động tắt chân Port B quy định Input Bốn chân RB4-RB7 có chức ngắt (interrupt) trạng thái chân Port thay đổi (khi chân Port quy định output chức không hoạt động), giá trị chân Port so sánh với giá trị lưu lại trước đó, có trạng thái sai lệch giá trị này, ngắt xảy với cờ ngắt RBIF INTCON bật lên, ngắt làm cho vi điều khiển thoát khỏi trạng thái Sleep Mode Bất hoạt động truy xuất Port B xóa trạng thái sai lệch, kết thúc ngắt cho phép xóa cờ RBIF Chi tiết sơ đồ khối chân port B trình bày cụ thể phụ lục 2.1.6.3 Port C ghi TRISC Bảng 2.3 Các ghi liên quan đến Port C Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Trang:6 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM Port C gồm chân từ RC0-RC7, việc ghi giá trị vào ghi TRISC quy định chân Port C Input hay Output, = Output, = Input Việc đọc ghi Port C đọc trạng thái chân Port C Việc ghi giá trị vào ghi Port C thay đổi trạng thái chân Port C Các chân Port C đa hợp với chức ngoại vi Khi hàm chức ngoại vi cho phép, cần quan tâm chặt chẽ tới giá trị bit ghi TRISC Một số chức ngoại vi ghi giá trị đè lên bit ghi TRISC mặc định chân ngõ vào Do cần phải xem xét kỹ tính hàm ngoại vi để thiết lập giá trị bit ghi TRISC cho xác Chi tiết sơ đồ khối chân port C trình bày cụ thể phụ lục 2.1.6.4 Port D ghi TRISD Bảng 2.4 Các ghi liên quan đến Port D Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Các ô tô bóng không dùng Port D Port D gồm chân từ RD0-RD7 Ngoài việc Port D cấu trúc Port xuất nhập, hoạt động cổng song song phụ tá (Parallel Slave Port) cách đặt bit PSPMODE(TRIS) lên 1, chế độ buffer ngõ vào linh kiện TTL Chi tiết sơ đồ khối chân port D trình bày cụ thể phụ lục 2.1.6.5 Port E ghi TRISE Bảng 2.5 Các ghi liên quan đến Port E Trang:7 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM T8: if (Rb5==0) //số { delay_ms(50); printf(lcd_putc,"*") ; delay_ms(10); kp= 6;ss[j++]=kp; delay_ms(150); } else goto T9; T9: if (Rb6==0) //số { delay_ms(50); printf(lcd_putc,"*") ; delay_ms(10); kp= 9;ss[j++]=kp; delay_ms(150); } else goto T10; T10: if(Rb7==0) { j=0; printf(lcd_putc,"\f"); //xoa man hinh printf(lcd_putc,"moi ban nhap 4so"); delay_ms(10); lcd_gotoxy(1,2); printf(lcd_putc,"PW1:"); delay_ms(10); } else goto T11; } }//kết thúc vòng lặp while với lần nhấn }// kết thúc vòng void quét phím void main() { set_tris_A(0xff); set_tris_B(0xf0); Trang:69 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM set_tris_C(0x00); portc=0x00; set_tris_D(0x00); set_tris_E(0xFF); LCD_Init(); //khoi tao lcd lai: printf(lcd_putc,"\f"); //xoa man hinh printf(lcd_putc,"school:CDKTCT"); delay_us(100); lcd_gotoxy(1,2); printf(lcd_putc,"Street:H_T_K"); delay_ms(300); if(ra2==0) goto loop; else goto lai; loop: while (1) { pw1: j=0; printf(lcd_putc,"\f"); //xoa man hinh printf(lcd_putc,"moi ban nhap 4so"); delay_ms(10); lcd_gotoxy(1,2); printf(lcd_putc,"PW1:"); delay_ms(100); while(1){ quet_phim(); tiep1: if(ra2==0) goto lai; else goto xoa_pw1; xoa_pw1: Portb=0b11111011 ; if(rb7==0) { printf(lcd_putc,"\f"); printf(lcd_putc,"moi ban nhap 4so"); delay_ms(10); lcd_gotoxy(1,2); printf(lcd_putc,"PW1:"); delay_ms(100); j=0; Trang:70 ĐỒ ÁN TỐT NGHIỆP GVHD: VÕ XUÂN NAM goto pw1; } else goto ok_pw1; ok_pw1: portb=0b11111110; if(rb7==0){ //nut nhan ok for(i=0;i

Ngày đăng: 25/08/2017, 18:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan