Báo cáo điều khiển quạt bằng remote hồng ngoại
MỤC LỤC Trang Trang phụ bìa Mục lục DANH MỤC CÁC BẢNG Bảng 1.1 : Chức port Bảng 1.2 : Bảng ghi có chức đặc biệt Bảng 1.3 : Bộ nhớ chương trình khóa bit Bảng 1.4 : Chế độ lập trình flash 15 Bảng 1.5 : Đặc tính làm việc DC 16 11 11 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 : Sơ đồ khối AT 89C2051 Hình 1.2 : Sơ đồ chân 89C2051 Hình 1.3 : Bộ giao động kết nối 10 Hình 1.4 : Nhận xung clock 10 Hình 2.1 : Quang Phổ ánh sáng tự nhiên Hình 2.2 : Mạch phát với tần số sóng mang 18 Hình 2.3 : Hình vẽ mơ tả việc đóng mở tạo dao động 18 Hình 2.4 : Mã hóa theo độ rộng xung 19 Hình 2.5 : Mã hóa theo khoảng cách 19 17 10 Hình 2.6 : Mã hóa theo phương 20 11 Hình 2.7 : Kiểu mã hóa sony 20 12 Hình 2.8 : Tín hiệu remote sony 21 13 Hình 2.9 : Cấu tạo bên tia hồng ngoại 22 14 Hình 2.10 : Hình dùng triac điều khiển cơng suất xoay chiều 23 15 Hình 3.1 : Sơ đồ khối phát 16 Hình 3.2 : Sơ đồ khối thu 26 27 LỜI NÓI ĐẦU PHẦN I : CƠ SỎ LÝ THUYẾT CHƯƠNG I: KHẢO SÁT VI ĐIỀU KHIỂN 89C2051 Trang 7 1.1KHÁI QUÁT VỀ IC 89C2051 1.1.1 Giới thiệu chung 1.1.2 Một số đặc tính 1.1.3 Mơ tả 1.2 Cấu hình 1.2.1 Sơ đồ khối 1.2.2 Sơ đồ chân 2.1.3 Thanh ghi có chức đặc biệt 10 2.1.4 Bộ nhớ chương trình khóa bit 11 2.1.5 Chế độ nghỉ 12 2.1.6 Chế độ power-down 12 2.1.7 Lập trình flash 12 CHƯƠNG II:KHẢO SÁT TIA HỒNG NGOẠI VÀ CÁC LINH KIỆN KHÁC 17 2.1 KHẢO SÁT ÁNH SÁNG HỒNG NGOẠI 17 2.1.1Tia hồng ngoại 17` 2.1.2 Ứng dụng tia hồng ngoại điện tử 18 2.1.3 Các cách mã hóa tín hiệu điều khiển từ xa: 19 2.1.3.1 Tín hiệu mã hóa theo phương pháp độ xung 19 2.1.3.2.Tín hiệu mã hóa theo khoảng cách 19 2.1.3.3 Tín hiệu mã hóa dựa theo phương 19 2.1.3.4 Giao thức SIRC hãng Sony 19 2.2 KHẢO SÁT CÁC LINH KIỆN KHÁC 2.2.1.Mắt thu hồng ngoại 2.2.1.2 Cấu tạo 22 22 22 2.2.1.2 Nguyên lý hoạt động 2.2.2 Triac MAC 97 23 23 CHƯƠNG III: SƠ ĐỒ KHỐI VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG 3.1 BỘ PHÁT 26 3.1.1Sơ đồ khối phát Trang 26 3.1.2 Khối phát lệnh điều khiển 3.1.3 Khối mã hóa 26 26 3.1.4 Khối dao động sóng mang 27 3.1.5 Khối điều chế 27 3.1.6 Khối khuếch đại 27 3.2 BỘ THU 27 3.2.1 Sơ đồ khối thu 27 3.2.2 Khối khuếch đại 27 3.2.3 Khối tách sóng mang 27 3.2.4 Khối giải mã 28 3.2.5 Khối chốt 28 3.2.6 Khối chấp hành 28 PHẦN II: THI CÔNG MẠCH 29 Sơ đồ nguyên lý mạch 29 Nguyên lí hoạt động 29 Lưu đồ thuật toán 32 Trang PHẦN I: CƠ SỞ LÝ THUYẾT CHƯƠNG I: KHẢO SÁT VI ĐIỀU KHIỂN 89C2051 1.1Khái quát IC 89C2051: 1.1.1 Giới thiệu chung: Nếu bạn không muốn dùng chíp 89C2051-40 chân vừa to lại vừa đắt tiền bạn dùng chíp 89C2051-20 chân vừa nhỏ gọn vừa tiết kiệm tiền bạc mà đầy đủ tính chíp 89C51 Chíp 89C2051 nhỏ gọn nên sử dụng nhiều ứng dụng nhỏ Nếu bạn muốn vừa học VI XỬ LÝ đồng thời muốn khám phá qua ứng dụng cụ thể, qua dự án thực tế để phát triển 89C2051, 89C4051…với ngơn ngữ lập trình Assembly mạch nạp 89C2051 câu trả lời 1.1.2 Một số đặc tính: - Đây vi điều khiển hãng atmel, đầy đủ tính chip 89C51 - Chip có 20 chân 15 đường xuất nhập - Điện áp làm việc : 2,7 V → 6V (Thường dùng mức 5V) - Tần số làm việc: Tần số dao động thạch anh từ tới 24Mhz - ROM : 2Kbyte Flash ROM - RAM: 128 bytes Trang - Hai định 16-bit - Lập trình kênh UART _ Có nguồn ngắt _ Có mức khóa nhớ chương trình - Có cổng nối tiếp - Hai so sánh Analog tích hợp sẵn chip _ Trực tiếp tiếp điều khiển LED ngõ 1.1.3 Mô tả: AT89C2051 sử dụng điện áp thấp, hiệu suất cao CMOS 8-bit với 2K byte Flash, xóa lập trình lại (PEROM) Chíp sản xuất cách sử dụng Atmel công nghệ nonvolatile mật độ cao, nhớ tương thích với tiêu chuẩn cơng nghiệp MCS-51 Bằng cách kết hợp linh hoạt bit CPU với Flash khối chíp, IC AT89C2051 vi điều khiển cung cấp cách linh hoạt hiệu cao cho nhiều điều khiển ứng dụng thực tế AT89C2051 cung cấp tính tiêu chuẩn: 2K byte Flash, 128 byte RAM, 15 đường xuất nhập, hai định thời 16, véc tơ ngắt hai mức, cổng nối tiếp, hệ thống tương tự so sánh xác, đồng hồ mạch chíp Ngồi ra, AT89C2051 thiết kế với logic tĩnh cho hoạt động xuống tới không tần số hỗ trợ hai phần mềm tiết kiệm lượng Các chế độ nghỉ dừng CPU cho phép RAM,bộ định thời, cổng nối tiếp hệ thống ngắt tiếp tục hoạt động Chế độ Powerdown cất giữ nội dung nhớ RAM, đóng băng giao động vơ hiệu hóa tất chức khác chíp khởi động lại phần cứng 1.2 Cấu hình: 1.2.1 Sơ đồ khối : Trang Hình 1.1: Sơ đồ khối 89C2051 1.2.2 Sơ đồ chân : Hình 1.2: Sơ đồ chân 89C2051 - PORT 1: Từ chân 12 → 19: Xuất nhập liệu, từ P1.2 → P1.7 dùng để kéo lên bên P1.0 P1.1 tương ứng tích cực mức logic cao thấp cho hai đầu vào AIN0 AIN1 tương ứng so sánh xác chíp Port 1, khhuyếch đại đệm đầu hạ xuống 20mA điều khiển LED hiển thị trực tiếp Chỉ cần 1s để chuyển chân Port sử dụng Trang đầu vào Khi chân P1.2 → P1.7 sử dụng đầu vào, chúng nguồn dòng I ll kéo lên bên Port1cũng nhận mã liệu từ chương trình FLASH thực - PORT 3: Chân số 2, , 6, 7, 8, 9, 11, chân có điện trở kéo lên P3.6 nối cố định đường xuất nhập so sánh chip truy cập Chỉ cần 1s để chuyển chân Port lên mức cao kéo lên bên sử dụng đầu vào, chúng nguồn dòng I ll kéo lên bên Port phục vụ cho chức nhiều tính đặc biệt 89C2051 sau: Port Pin Chức thay P3.0 RXD ( chân phát liệu port nối tiếp) P3.1 TXD ( chân nhận liệu port nối tiếp P3.2 INT0 (ngắt 0) P3.3 INT1 (ngắt 1) P3.4 T0 (timer ngõ vào bên ngoài) P3.5 T1 ( timer ngõ vào bên ngoài) Bảng 1.1: Chức port Port nhận tín hiệu điều khiển từ Flash thực - Vcc : Chân số 20: điện áp vào khoảng 2,7V → 6V( thường dùng mức 5V) - GND : Chân số 10: chân nối mass - RST : Xác lập lại trạng thái ban đầu : RST=0: Chíp hoạt động bình thường RST=1: Chíp thiết lặp lại trạng thái ban đầu - XTAL1: Ngõ vào mạch tạo xung clock chip ngõ vào khuếch đại đảo chiều - XTAL2: Ngõ từ khuếch đại đảo chiều XYAL1, XTAL2 ngõ vào ngõ tương ứng khuyếch đại đảo chiều, định hình sử dụng giao động chíp Tinh thể thạch anh hay cộng hưởng gốm sử dụng Hoặc nhân xung từ bên ngồi Trang Trang Hình1.3: Bộ giao động kết nối Hình 1.4: Nhận xung clock *Chú ý : thạch anh: C1, C2 = 30pF ±10pF, Cộng hưởng gốm: C1, C2 = 40pF ± 10pF 1.2.3 Thanh ghi có chức đặc biệt : Bên sơ đồ chip có vùng nhớ đặc biệt gọi ghi có chức đặc biệt( SFR- special function register) Các vùng địa ghi đưa vào bảng Lưu ý rằng: tất địa sử dụng, địa trống khơng thực chíp Địa đọc truy xuất trở liệu ngẫu nhiên, địa ghi truy xuất chế độ khơng có hiệu lực xác định 0F8H 0F0H 0E8H 0E0H 0D8H 0D0H 0C8H 0C0H 0B8H 0B0H 0A8H 0FFH B 00000000 0F7H 0EFH 0E7H ACC 00000000 0DFH 0D7H PSW 00000000 0CFH 0C7H 0BFH IP XXX00000 P3 11111111 IE 0XX00000 0B7H 0AFH 0A0H 98H 90H 88H 80H 0A7H SCON SBUF 00000000 XXXXXXXX P 111111111 TCON 00000000 TMOD 00000000 SP 00011111 9FH 97H TLO 00000000 DPL 00000000 TL1 00000000 THO 00000000 TH1 00000000 DPH 00000000 8FH PCON 0XXX0000 Bảng 1.2: Bảng ghi có chức đặc biệt 1.2.4 Bộ nhớ chương trình khóa bit: Trên chíp có hai khóa bit hoạt động khơng cần lập trình (U), lập trình (P) để bổ sung thêm nhiều tính liệt kê bảng Chương trình khóa bit LB1 LB2 Trang Loại bảo vệ 87H U U Khơng cần lập trình P U P P Tính cho phép lập trình flash bị vơ hiệu hóa Tương tự chế độ Bảng 1.3 : Bộ nhớ chương trình khóa bit 1.2.5 Chế độ nghỉ : Ở chế độ nghỉ, CPU đặt chế độ ngủ tất phận ngoại vi hoạt động Chế độ gọi phần mềm Nội dung ghi RAM tất giá trị ghi đặc biệt không đổi chế độ Chế độ nghỉ bị dừng lại có kích hoạt hay thay đổi đó, reset phần cứng Các P1.0 P1.1 nên thiết lập mức "L" bên ngồi-up khơng sử dụng, thiết lập mức "H" bên pull-up sử dụng Cần lưu ý “nghỉ ”là kết thúc phần cứng Tài liệu thực chương trình từ đâu lại tắt, lên tới hai chu kỳ máy trước nguyên tắc điều khiển bên thiết lập lại Trên chíp phần cứng định quyền truy cập vào nhớ RAM trường hợp này, truy cập vào port định Để loại trừ khả xảy cách bất ngờ viết cho port chế độ nghỉ lặp lại, ta không nên viết tới Port hay nhớ 1.2.6 Chế độ power-down : Ở chế độ power-down, dao động ngừng, chương trình gọi powerdown lệnh cuối thực Trên chíp nội dung RAM tất giá trị ghi đặc biệt không đổi chế độ chế độ kết thúc Chế độ power-down thoát reset lại phần cứng Thiết lập lại giá trị SFR ( ghi có chức đặc biệt) RAM giữ nguyên Chú ý: Không nên reset lại trước VCC phục hồi lại hoạt động bình thường phải giữ mức tích cực đủ dài, phép giao động khởi động lại làm việc ổn định Lưu ý: Ở hai chế độ nghỉ chế độ power-donw, P1.0 P1.1 nên set mức "0" không sử dụng điện trở bên để kéo lên, set mức "1" sử dụng điện trở bên ngồi để kéo lên Trang 10 phải có sóng mang với tần số khoảng 36KHz Bộ thu IC chân(VCC-GND OUTPUT) có nhiệm vụ nhận tín hiệu hồng ngoại yếu ớt từ đk phát ra, khuyêch đại tín hiệu, tách sóng mang để lọc bít Mỗi lần phát, đk phát chuỗi bít IC nhận nhận số lượng thứ tự bit Trong chuỗi bit người ta phân làm phần: - phần địa để phân biệt thiết bị khác - phần phần lệnh (lúc rõ lệnh phát ta ấn nút đk) Cuối dựa vào lệnh nhận Ta việc sử dụng thơi Ví dụ ấn nút số đktx nhận số 1, Ấn số ta nhận đc số 3.Lưu đồ thuật tốn chương trình ngắt BEGIN Trang 29 Gọi chương trình trễ 2500mS F Chờ hết bit start T F T Kiểm tra bit p3_2=0 nhận bit 0, ta phải chờ cho P3_2 "0" đọc bit tiếp theo nhận bit 1, ta phải chờ cho P3_2 "1" chờ tiếp cho P3_2 "0" đọc bit Kiểm tra rev_ IR đủ bit command END 4.Chương trình //***************************** // for Sony remote only Trang 30 //***************************** #include //#include #define pow P3_1 // in #define speed P3_0 // in #define timer P3_3 // in #define nature P3_4 // in // - Bang cac gia tri -// #define power_IR 212 // Hang so #define speed_IR 142 // Hang so #define timer_IR 210 // Hang so #define nature_IR 244 // Hang so // // #define speed3 P1_0 //out control speed (triac) #define speed2 P1_1 //out control speed (triac) #define speed1 P1_2 //out control speed (triac) #define timer1 P1_4 //timer out led #define timer2 P1_5 //timer out led #define timer3 P1_6 //timer out led #define timer4 P1_7 //timer out led #define alarm P1_3 //loa chip out Trang 31 unsigned char tocdo,hengio,kt_hengio,power; unsigned char tick,wind,anti_vib,enable_IR; unsigned int tick1,tick2,current_time,wind_time,time_off; unsigned char rev_IR,save_rev; void chip() //tao am 2KHz { unsigned int i,m; for(m=0;m