Điều khiển thiết bị ac bằng hồng ngoại giám sát hiển thị lcd định thời gian off

LỜI MỞ ĐẦU 6

Chương 1 : Tổng Quan 7

1.1 Giới thiệu 7

1.2 Cách thức tìm hiểu và lựa chọn giải pháp thiết kế 7

Chương 2 : Vi Điều Khiển AMELT 89C51 8

2.1 Cấu trúc bên trong của Vi điều khiển 89C51 8

2.2 Sơ đồ chân và chức năng chân Vi điều khiển AMELT 89C51 10

2.3 Tổ chức bộ nhớ Vi điều khiển AMELT 89C51 12

2.3.1 Bộ nhớ nội Vi điều khiển AMELT 89C51 12

2.3.2 Bộ nhớ ngoài Vi điều khiển AMELT 89C51 16

2.4 Các chức năng của Vi điều Khiển AMELT 89C51 17

2.4.1 Input/ Output 17

2.4.2 Timer 17

2.4.3 Ngắt 19

2.4.4 Truyền thông nối tiếp 21

2.5 Tập lệnh của Vi điều khiển AMELT 89C51 23

Chương 3 : Báo cáo quá trình thực hiện đồ án 26

3.1 Cách thực hiện đồ án 26

3.2 Các khối trên board 26

3.2.1 Khối phát hồng ngoại từ xa 26

3.2.2 Khối thu thu hồng ngoại 30

3.2.3 Khối công suất sử dụng TRIAC 32

3.2.4 Khối kiểm tra thiết bị AC 220 32

3.2.5 Khối phím nhấn điều khiển không sử dụng khối phát hồng ngoại từ xa 33

3.2.6 Khối nguồn 33

3.2.7 Khối hiển thị LCD 34

3.2.8 Khối Vi Điều Khiển 89C51 35

3.2.9 Thi Công 36

3.3 Lưu đồ giải thuật 38

3.4 Chương trình 41

Chương 4 : Kết Luận 53

4.1 Kết quả thu được 53

4.2 Các ưu điểm của sản phẩm 53

4.3 Các khuyết điểm của sản phẩm 53

4.4 Hướng phát triển của đề tài trong tương lai 53

 

 

 

 

 

 

doc49 trang | Chia sẻ: lethao | Lượt xem: 2268 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Điều khiển thiết bị ac bằng hồng ngoại giám sát hiển thị lcd định thời gian off, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ủa timer 0 P3.5 T1 Ngõ vào của timer 1 P3.6 WR Xung ghi dữ liệu bộ nhớ ngoài P3.7 RD Xung đọc dữ liệu bộ nhớ ngoài TỔ CHỨC BỘ NHỚ IC ATMEL 89C51 2.3.1 BỘ NHỚ NỘI IC ATMEL 89C51 Vi điều khiển 89C51 có bộ nhớ theo cấu trúc Harvard có những vùng cho bộ nhớ riêng biệt, cho chương trình dữ liệu. Chương trình và dữ liệu bên trong, dù vậy ta có thể mở rộng bằng các thành phần bên ngoài lên tối đa 64KB bộ nhớ chương trình và 64KB bộ nhớ dữ liệu. Bộ nhớ trong bao gồm Rom và Ram, Ram chia làm ba vùng Ram : Ram đa dụng, Ram địa chỉ hóa từng bít, Các bank thanh ghi. RAM Bộ nhớ chương trình được chọn qua PSEN FFFFH Bộ nhớ dữ liệu được chọn qua WR và RD FFFFH Vùng các thanh ghi đặt biệt FFH 7FH 30H 20H 1FH 07H 00H 0000H 0000H Vùng Ram đa dụng Vùng Ram địa chỉ hóa từng bit Các BANK thanh ghi Tóm tắt các vùng bộ nhớ của 89C51 Hai đặc tính cần lưu ý là : Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và có thể truy xuất trực tiếp như các địa chỉ bộ nhớ khác. Ngăn xếp bên trong Ram nội nhỏ hơn so với Ram ngoài như trong các bộ vi xử lý khác. Như vậy Ram bên trong 89C51 được chia làm các bank thanh ghi (00H – 1FH), Ram địa chỉ hóa từng bit (20H – 2FH), Ram đa dụng (30H – 7FH), và các thanh ghi chức năng đặc biệt (80H - FFH). Bảng vùng Ram của 89C51 7F RAM đa dụng 30 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F 18 BANK 3 17 10 BANK 2 0F BANK 1 07 01 00 BANK 0 Default Register Bark for R0 – R7 Ram đa dụng là có thể truy xuất tự do bằng cách tác động trực tiếp hoặc gián tiếp có địa chỉ từ 30H đến 7FH. Ví dụ:MOV 5FH,#20H ; ghi dữ liệu 20H trực tiếp vào 5FH MOV R0,#100 ; ghi dữ liệu 100 trực tiếp vào R0 MOV 5EH,R0 ;ghi nội dữ liệu trong R0 vào 5EH (gián tiếp) Ram địa chỉ hóa từng bit : Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này được truy xuất như các byte hoặc các bit phụ thuộc vào lệnh dùng. Các Bark thanh ghi : 32 byte địa chỉ thấp của bộ nhớ làcác bark thanh ghi, 8 thanh ghi từ địa chỉ 00H đến 07H được địa chỉ hóa R0 – R7. Bảng Các thanh ghi đặt biệt Địa chỉ byte Địa chỉ bit FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 - D0 PSW B8 - - - BC BB BA B9 B8 IP B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 A8 AF - - AC AB AA A9 A8 IE A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 99 NOT BIT ADDRESSABLE SBUF 98 9F 9F 9F 9F 9F 9F 9F 9F SCON 90 97 96 95 94 93 92 91 90 P1 8D NOT BIT ADDRESSABLE TH1 8C NOT BIT ADDRESSABLE TH0 8B NOT BIT ADDRESSABLE TL1 8A NOT BIT ADDRESSABLE TL0 89 NOT BIT ADDRESSABLE TMOD 88 8F 8E 8D 8C 8B 8A 89 88 TCON 87 NOT BIT ADDRESSABLE PCON 83 NOT BIT ADDRESSABLE DPH 82 NOT BIT ADDRESSABLE DPL 81 NOT BIT ADDRESSABLE SP 80 87 86 85 84 83 82 81 80 P0 Từ trạng thái chương trình : (PSW_ Program Status Word ) ở địa chỉ D0H gồm các bit trạng thái theo bảng tóm tắt sau: Bit Ký hiệu Địa chỉ Ý nghĩa PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 CY AC F0 RS1 RS0 OV P D7H D6H D5H D4H D3H D2H D1H D0H Cờ nhớ Cờ nhớ phụ Cờ 0 Bit chọn bark thanh ghi Bit chọn bark thanh ghi 00 = BANK 0 (00H – 07H) 01 = BANK 1 (08H – 0FH) 10 = BANK 2 (10H – 17H) 11 = BANK 3 (18H – 1FH) Cờ tràn Dự trữ Cờ parity chẳn Bảng Từ trạng thái chương trình Cờ nhớ (CY) được dùng trong các lệnh toán học : so sánh giữa hai giá trị , phép cộng , phép trừ ... Cờ nhớ phụ được dùng khi công hai số BCD , cờ nhớ phụ được set lên kết quả 4 bit nhỏ trong khoảng 0AH đến 0FH. Cờ 0 (F0) là bit cờ đa dụng dành các ứng dụng cho người dùng. Các bit chọn bark thanh ghi (RS0 và RS1) xác định bark thanh ghi tích cực. Cờ tràn (OV) được set lên khi phép toán cộng hoặc trừ bị tràn.Khi các số có dấu được cộng hoặc trừ bit này cho biết kết quả nằm trong tầm xác định không. Khi phép cộng không dấu bit OV có thể bỏ qua . Các kết quả nhỏ hơn -127 hoặc lớn hơn +127 bit OV được set. Thanh ghi B : ở địa chỉ F0H dùng cùng với thanh ghi tích lũy A trong các phép toán nhân chia. Trong phép nhân kết quả là 16bit thì A(byte thấp ) và B(byte cao), phép chia A chứa phần nguyên B chứa phần dư. Con trỏ ngăn xếp (SP) : ở địa chỉ 81H , chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu từ ngăn xếp ra. Có thể truy xuất bằng địa chỉ gián tiếp , trực tiếp bằng các lệnh PUSH và POP để lưu giữ dữ liệu tạm thời và lấy lại dữ liệu. Con trỏ dữ liệu (DPTR): dùng để truy xuất bộ nhớ ngoài, bộ nhớ nội. Các thanh ghi port I/O : Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa chỉ A0H, Port 3 ở địa chỉ B0H. Tất cả các Port đều được địa chỉ hóa từng bit. Các thanh ghi Timer : có hai bộ timer 16bit được sử dụng trong sự kiên hoặc thời gian. Timer 0 gồm hai thanh ghi 8AH(TL0 : byte thấp) và 8CH (TH0 : byte cao). Timer 1 gồm hai thanh ghi 8BH(TL1 : byte thấp) và 8DH (TH1 : byte cao). Điều khiển Timer bởi thanh ghi TMOD ở địa chỉ 89H và thanh ghi TCON ở địa chỉ 88H. Các thanh ghi port truyền thông nối tiếp :SBUF ở địa chỉ 99H dùng truyền và nhận dữ liệu. SCON ở địa chỉ 98H dùng điều khiển truyền thông nối tiếp. Thanh ghi ngắt : có 5 nguồn ngắt , 2 mức ưu tiên( ngắt ngoài ). Thanh ghi điều khiển quá trình ngắt IE ở địa chỉ 8AH và được địa chỉ hóa từng bit. BỘ NHỚ NGOÀI IC ATMEL 89C51 Bộ nhớ chương trình ngoài là IC ROM được cho phép bởi tín hiệu PSEN. Hình 2.5 mô tả cách giao tiếp EPROM và vi điều khiển : Port 0 EA 89C51 ALE Port 2 PSEN D0 – D7 A0 – A7 EPROM A8 – A15 OE D Q G 74HC373 Hình 2.5 : Giao tiếp giữa IC 89C51 và EPROM Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được cho phép ghi/đọc bằng cách tín hiệu WR và RD (chân P3.6 và P3.7) . Chỉ có một cách truy xuất bộ nhớ dữ liệu ngoài là lệnh MOVX và con trỏ dữ liệu DPTR. Hình 2.6 mô tả cách giao tiếp RAM và vi điều khiển Port 0 EA 89C51 ALE Port 2 RD WR D0 – D7 A0 – A7 RAM A8 – A15 OE WE D Q G 74HC373 Hình 2.6 : Giao tiếp giữa IC 89C51 và RAM CÁC CHỨC NĂNG CỬA IC AMELT 89C51 INPUT/OUTPUT Vi điều khiển 89C51 có 4 port I/O 8 bit dùng truy xuất dữ liệu tác động ra bên ngoài hoặc thu thập dữ liệu từ bên ngoài về. TIMER Vi điều khiển 89C51 có hai Timer 16 bit. Các thanh ghi này có thể hoạt động ở một trong hai trạng thái timer hoặc couter. Mỗi thanh ghi gồm 2 thanh ghi 8 bit ghép lại ( hình 2.7) Hình 2.7 : Thanh ghi Timer 16bit Cấu trúc của bộ Timer trong Vi điều khiển 89C51 ( hình 2.8) Hình 2.8 : Cấu trúc của bộ Timer 89C51 Hoạt động của Timer được điều khiển bởi hai thanh ghi TCON và TMOD. Thanh ghi TCON (Timer Control ): Là thanh ghi 8 bit, có thể truy xuất byte hoặc bit (hình 2.9) Hình 2.9 : Cấu trúc thanh ghi TCON TF1 : báo trạng thái tràn cho Timer 1 TR1 : điều khiển cấp xung cho Timer 1 TF0 : báo trạng thái tràn cho Timer 0 TR0 : điều khiển cấp xung cho Timer 0 IE1 : không liên quan đến hoạt động của Timer , bit này dùng để báo trạng thái ngắt ngoài 1(khi trạng thái logic thay đổi từ 1 xuống 0 tại chân 13 của vi điều khiển ) TI1 : không liên quan đến hoạt động của Timer, bit này cho phép tác động ngắt ngoài 1 bằng cạnh xuống (default IT1 = 0 , tác động ngắt bằng mức thấp) IE0 : không liên quan đến hoạt động của Timer , bit này dùng để báo trạng thái ngắt ngoài 0 (khi trạng thái logic thay đổi từ 1 xuống 0 tại chân 12 của vi điều khiển ) TI0 : không liên quan đến hoạt động của Timer, bit này cho phép tác động ngắt ngoài 0 bằng cạnh xuống (default IT0 = 0 , tác động ngắt bằng mức thấp) Thanh ghi TMOD Là thanh ghi 8 bit ,chỉ có thể truy xuất byte Hình 2.10 : Cấu trúc thanh ghi TMOD GATE, C/T : điều khiển trạng thái hoạt động cho Timer M1,M0 : chọn chế độ hoạt động cho Timer (theo bảng sau ) M1 M0 CHẾ ĐỘ (MODE) MÔ TẢ 0 0 0 Timer 13 bit 0 1 1 Timer 16 bit 1 0 2 Timer 8 bit, auto reload 1 1 3 Timer 8 bit Chế độ 0 : Thanh ghi THx và TLx kết hợp tọa thành Timer 13 bit , Bộ đếm Timer tràn thì cờ TFx sẽ đặt lên logic 1 (hình 2.11) Hình 2.11 : Cấu trúc thanh ghi của Timer chế độ 0. Chế độ 1 : Tương tự chế độ 0 Timer 16 bit (hình 2.11) Hình 2.12 : Cấu trúc thanh ghi của Timer chế độ 1. Chế độ 2: TLx được nạp lại giá trị ban đầu từ THx và bắt đầu đếm lại từ giá trị này khi có xung ỡ ngõ vào, khi tràn thì TFx sẽ đặt lên logic 1 đồng thời kích hoạt bộ khóa để nạp giá trị trong THx vào TLx Hình 2.13 : Timer chế độ 2 Chế độ 3: Trong chế độ này, TH1 và TL1 không được sử dụng thay vào đó là TH0 và TL0 hoạt như hai bộ Timer 8 bit (TL0). Tuy nhiên tín hiệu mở xung cho TH0 không phải là TR0 mà là TR1 Hình 2.14 : Timer chế độ 3. NGẮT Ngắt là hoạt động tạm ngừng chương trình chính để tính hành một chương trình khác. Chương trình giải quyết ngắt được gọi là chương trình phục vụ ngắt (ISR : Interrupt Sevice Reutine). Hoạt động của ngắt được điều khiển bởi thanh ghi IE (Interrupt Enable ) . Là thanh ghi 8 bit, có thể truy xuất byte hoặc bit . Hình 2.15 : Cấu trúc thanh ghi IE Ngắt ngoài 0 : Địa chỉ vector ngắt 0003H Khai báo sử dụng ngắt - SETB EA - SETB EX0 - SETB IT0 (ngắt cạnh ) Sự kiện ngắt Xuất hiện mức thấp (hoặc cạnh xuống ) tại chân INT0 Ngắt Timer 0: Địa chỉ vector ngắt 000BH Khai báo sử dụng ngắt - SETB EA - SETB ET0 Sự kiện ngắt Tràn bộ đếm Timer 0 Ngắt Ngoài 1 : Địa chỉ vector ngắt 0013H Khai báo sử dụng ngắt - SETB EA - SETB EX1 - SETB IT1 (ngắt cạnh ) Sự kiện ngắt Xuất hiện mức thấp (hoặc cạnh xuống ) tại chân INT1 Ngắt Timer 1 : Địa chỉ vector ngắt 001BH Khai báo sử dụng ngắt - SETB EA - SETB ET0 Sự kiện ngắt Tràn bộ đếm Timer 0 Ngắt Truyền thông ( truyền/nhận UART ) nối tiếp : Địa chỉ vector ngắt 0023H Khai báo sử dụng ngắt - SETB EA - SETB ES Sự kiện ngắt Nhận được một byte hoặc truyền xong một byte trong SBUF Tốc độ truyền nhận MODE autoreload (Timer 2 chế độ 2) - TH1 = - 3 ; 9600bps - TH1 = - 6 ; 9600bps - TH1 = - 12 ; 9600bps - TH1 = - 24 ; 9600bps SƠ ĐỒ CHƯƠNG TRÌNH KHI CÓ SỰ KIỆN NGẮT : KHAI BÁO NGẮT Sự kiện ngắt Vector ngắt : Xử lý ngắt RETI TRUYỀN THÔNG NỐI TIẾP Truyền thông nối tiếp là thực hiện chuyển đổi dữ liệu song song thành dữ liệu nối tiếp ở chế độ truyền dữ liệu và dữ liệu nối tiếp thành dữ liệu song song ở chế độ nhận dữ liệu . RXD Truy xuất truyền thông nối tiếp qua hai chân TXD(chân P3.0 ) và RXD (chân P3.1), khi không sử dụng truyền thông nối tiếp hai chân trên làm chức năng I/O TXD SUBF (ghi dữ liệu) Thanh ghi dịch CLK CLK Tốc độ baud Tốc độ baud BUS nội 89C51 SUBF (đọc dữ liệu) SUBF (đọc dữ liệu) Truyền thông nối tiếp hoạt động song song (thu và phát đồng thời) và đệm lúc thu cho phép một ký tự được nhận và được lưu trữ trong khi ký tự thứ hai được nhận. Thanh ghi điều khiển truyền thông nối tiếp là SCON (serial control)ở địa chỉ 98H chứa các bit trạng thái và các bit điều khiển. Bảng tóm tắt thanh ghi SCON và các chế độ của truyền thông nối tiếp: Bit Ký hiệu Địa chỉ Mô tả SCON.7 SM0 9FH Bit chọn chế độ truyền nối tiếp SCON.6 SM1 9EH Bit chọn chế độ truyền nối tiếp SCON.5 SM2 9DH Bit của chế độ truyền thông nối tiếp ở chế độ 2 và 3, RI sẽ không tác động nếu bit thứ 9 nhận là 0 SCON.4 REN 9CH Cho phép truyền và nhận dữ liệu SCON.3 TB8 9BH Truyền thông ở chế độ 2 và 3 ( truyền bit thứ 9) SCON.2 RB8 9AH Truyền thông ở chế độ 2 và 3 ( nhận bit thứ 9) SCON.1 TI 99H Cờ truyền, set lên khi truyền 1 byte SCON.0 RI 98H Cờ nhận, set lên khi nhận 1 byte Bảng khai báo các chế độ trong truyền thông nối tiếp SM0 SM1 Chế độ Mô tả Tốc độ baud 0 0 0 Thanh ghi dịnh Cố định (Fosc/12) 0 1 1 UART 8 bit Thay đồi (đặt bằng timer) 1 0 2 UART 9 bit Cố định (Fosc/12 hoặc Fosc/64) 1 1 3 UART 9 bit Thay đồi (đặt bằng timer) Tần số làm việc của truyền thông nối tiếp gọi là tốc độ baud . Trong chế độ 0 và chế độ 2 tốc độ baud cố định , chế độ 1 và chế độ 3 tốc độ baud thay đổi. Tốc độ baud cho từng chế độ truyền thông nối tiếp . ÷ 12 Dao động trên chip Xung nhịp tốc độ bauud Chế độ 0 Dao động trên chip ÷ 64 ÷ 32 Xung nhịp tốc độ bauud Chế độ 1 SMOD = 0 SMOD = 1 Dao động trên chip ÷ 32 ÷ 16 Xung nhịp tốc độ bauud Chế độ 1 và 3 SMOD = 0 SMOD = 1 Bit 7 của thanh ghi PCON (Power control) la bit SMOD làm tăng tốc độ baud gấp đôi trong chế độ 1, 2 và 3. TẬP LỆNH CỦA IC AMELT 89C51 Các lệnh số học (Arithmetic Instrustion): ADD A, Rn : (A) (A) + (Rn) ADD A, direct : (A) (A) + (direct) ADD A, @ Ri : (A) (A) + ((Ri)) ADD A, # data : (A) (A) + # data ADDC A, Rn : (A) (A) + (C) + (Rn) ADDC A, direct : (A) (A) + (C) + (direct) ADDC A, @ Ri : (A) (A) + (C) + ((Ri)) ADDC A, # data : (A) (A) + (C) + # data SUBB A, Rn : (A) (A) - (C) - (Rn) SUBB A, direct : (A) (A) - (C) - (direct) SUBB A, @ Ri : (A) (A) - (C) - ((Ri)) SUBB A, # data : (A) (A) - (C) - # data INC A : (A) (A) + 1 INC direct : (direct) (direct) + 1 INC Ri : ((Ri)) ((Ri)) + 1 INC Rn : (Rn) (Rn) + 1 INC DPTR : (DPTR) (DPTR) + 1 DEC A : (A) (A) - 1 DEC direct : (direct) (direct) - 1 DEC @Ri : ((Ri)) ((Ri)) - 1 DEC Rn : (Rn) (Rn) - 1 MULL AB : (A) LOW [(A) x (B)] : (B) HIGH [(A) x (B)] DIV AB : (A) Integer Result of [(A)/(B)] : (B) Remainder of [(A)/(B)] DA A :Hiệu chỉnh thanh ghi A thành số BCD Các lệnh logic (Logic Operation): ANL A, Rn : (A) (A) AND (Rn). ANL A, direct : (A) (A) AND (direct). ANL A,@ Ri : (A) (A) AND ((Ri)). ANL A, # data : (A) (A) AND (# data). ANL direct, A : (direct) (direct) AND (A). ANL direct, # data : (direct) (direct) AND # data. ORL A, Rn : (A) (A) OR (Rn). ORL A, direct : (A) (A) OR (direct). ORL A,@ Ri : (A) (A) OR ((Ri)). ORL A, # data : (A) (A) OR # data. ORL direct, A : (direct) (direct) OR (A). ORL direct, # data : (direct) (direct) OR # data. XRL A, Rn : (A) (A) (Rn). XRL A, direct : (A) (A) (direct). XRL A,@ Ri : (A) (A) ((Ri)). XRL A, # data : (A) (A) # data. XRL direct, A : (direct) (direct) (A). XRL direct, # data : (direct) (direct) # data. CLR A : (A) 0 CLR C : (C) 0 CLR Bit : (Bit) 0 RL A : Dịch thanh ghi A qua trái 1 bit RLC A : Dịch thanh ghi A qua trái 1 bit qua cờ nhớ RR A : Dịch thanh ghi A qua phải 1 bit RRC A : Dịch thanh ghi A qua phải1 bit qua cờ nhớ SWAP A : Đổi chổ 4 bit thấp và 4 bit cao của A Các lệnh rẽ nhánh : JC rel : Nhảy đến “rel” nếu Carry C = 1. JNC rel : Nhảy đến “rel” nếu Carry C = 0. JB bit, rel : Nhảy đến “rel” nếu (bit) = 1. JNB bit, rel : Nhảy đến “rel” nếu (bit) = 0. JBC bit, rel : Nhảy đến “rel” nếu bit = 1 và xóa bit. ACALL addr11 : Lệnh gọi tuyệt đối LCALL addr16 : Lệnh gọi dài trong chương trình con RET : Kết thúc chương trình con trở về chương trình chính RETI : Kết thúc thủ tục phục vụ ngắt trở về chương trình hoạt động như RET AJMP Addr11 : Nhảy tuyệt đối không điều kiện LJMP Addr16 : Nhảy dài không điều kiện SJMP rel : Nhảy ngắn không điều kiện JMP @ A + DPTR :Nhảy không điều kiện đến địa chỉ (A) + (DPTR) JZ rel : Nhảy nếu A = 0 JNZ rel : Nhảy nếu A không bằng 0 CJNE A, direct, rel : So sánh và nhảy nếu A khác direct CJNE A, # data, rel : Tương tự lệnh CJNE A, direct, rel. CJNE Rn, # data, rel : Tương tự lệnh CJNE A, direct, rel. CJNE @ Ri, # data, rel : Tương tự lệnh CJNE A, direct, rel. DJNE Rn, rel : Giảm Rn và nhảy nếu khác 0 DJNZ direct, rel : Tương tự lệnh DJNZ Rn,rel Các lệnh dịch chuyển dữ liệu : MOV A,Rn : (A) (Rn) MOV A, direct : (A) (direct) MOV A, @ Ri : (A) ((Ri)) MOV A, # data : (A) # data MOV Rn, A : (Rn) (A) MOV Rn, direct : (Rn) (direct) MOV Rn, # data : (Rn) # data MOV direct, A : (direct) (A) MOV direct, Rn : (direct) (Rn) MOV direct, direct : (direct) (direct) MOV direct, @ Ri : (direct) ((Ri)) MOV direct, # data : (direct) data MOV @ Ri, A : ((Ri)) (A) MOV @ Ri, direct : ((Ri)) (direct) MOV @ Ri, # data : ((Ri)) # data MOV DPTR, # data16 : (DPTR) # data16 MOV A, @ A + DPTR : (A) (A) + (DPTR) MOV @ A + PC : (PC) (PC) + 1 (A) (A) + (PC) MOVX A, @ Ri : (A) ((Ri)) MOVX A, @ DPTR : (A) ((DPTR)) MOVX @ Ri, A : ((Ri)) (A) MOVX @ DPTR, A : ((DPTR)) (A) PUSH direct : cất dữ liệu vào ngăn xếp POP direct : Lấy dữ liệu từ ngăn xếp direct XCH A, Rn : Đổi chổ nội dung A với Rn XCH A, direct : (A) (direct) XCH A, @ Ri : (A) ((Ri)) XCHD A, @ Ri : Đổi chổ 4 bit thấp của (A) với ((Ri)) CHƯƠNG 3: BÁO CÁO QUÁ TRÌNH THỰC HIỆN ĐỒ ÁN 3.1 Cách thức thực hiện đồ án Khi thực hiện đồ án điều khiển thiết bị không dây, có hai cách để thực hiện là: Điều khiển thông qua hồng ngoại. Điều khiển thông qua sóng FM. Trong đề tài này, tôi chọn lựa điều khiển bằng hồng ngoại vì: Điều khiển bằng hồng ngoại chi phí nhẹ hơn so với FM. Điều khiển bằng hồng ngoại nguyên lý thu và bộ phát đơn giản hơn so với FM. Khi thực hiện đồ án đóng ngắt mạch AC cũng có hai lựa chọn là : Rơ-le Triac Trong đồ án này, tôi chọn lựa điều khiển bằng triac vì: Tiết kiệm năng lượng. Tốc độ đáp ứng nhanh. Không gây ra tiếng ồn. Không tạo ra tia lửa điện trong quá trình đóng ngắt Ngoài ra, vấn đề trong đồ án ngoài điều khiển bằng không dây còn có thể điều khiển tay thông qua các công tắc và khối kiểm tra thiết bị AC có hoạt động . 3.2 Các khối trên Board 3.2.1 Khối phát hồng ngoại từ xa Sơ đồ khối của khối phát hồng từ xa, sử dụng IC SC9148 phát tín hiệu điều khiển hồng ngoại là hình 3.1 +Khối phím lệnh điều khiển ( bàn phím ) SC 9148 Khối phát hồng ngoại Led phát hồng ngoại Hình 3.1 Sơ đồ khối phát hồng ngoại IC SC9148 được chế tạo theo công nghệ CMOS sử dụng trong bộ phát truyền tín hiệu điều khiển đi xa bằng hồng ngoại. Tín hiệu phát đi gồm 18 lệnh khác nhau, chia làm hai nhóm lệnh continuous keys và single short keys. Cấu tạo bên trong của SC9148 (hình3.2) Hình 3.2 Cấu trúc bên trong của IC SC9148 Sơ đồ chân của IC SC9148 (hình 3.3) Hình 3.3 Sơ đồ chân của SC9148 Chức năng của các chân SC9148 theo bảng sau Chân Ký hiệu Mô tả Chức năng 1 GND VDC = 2.2V – 5V Cấp nguồn cho IC 16 VDD 2 XT Cung cấp nguổn dao động cho IC 3 Non-XT 4 – 9 K1 – K6 Input Kết nối ma trận bàn phím 10 – 12 T1- T3 Output 13 Code Input 15 Tx out Output Phát tín hiệu hổng ngoại 14 Non- Test Ma trận phím kết nối vào SC9148 (Hình 3.4) Hình 3.4 Ma trận phím kết nối vào SC9148 Khung truyền dữ liệu là một Word gồm 12 bit data C1-C3 code kiểm tra, H-S1-S2 tín hiệu continous signal hoặc single short signal , D1- D6 data code của bàn phím Hình 3.5 Khung truyền dữ liệu Data code của ma trận phím (hình 3.6) Hình 3.6 Data code của ma trận phím Sơ đồ nguyên lý khối phát tín hiệu hồng ngoại (hình 3.7) Hình 3.7 Sơ đồ nguyên lý khối phát hồng ngoại 3.2.2 Khối thu hồng ngoại Sơ đồ khối của khối thu hồng ngoại , sử dụng IC SC9149 thu tín hiệu điều khiển hồng ngoại là hình 3.8 Thu tín hiệu ngoại hồng ngoại Khuyết đại tín hiệu SC 9149 VI ĐIỀU KHIỂN CÔNG SUẤT Hình 3.8 Sơ đồ của khối thu hồng ngoại IC SC9149 được chế tạo theo công nghệ CMOS sử dụng trong bộ thu tín hiệu điều khiển đi xa bằng hồng ngoại. Tín hiệu thu gồm 10 lệnh khác nhau gồm hai nhóm lệnh continuous keys và single short keys được giãi mã thành hai mức logic trên các nhóm chân HPx và SPx. Cấu tạo bên trong của SC 9149 (hình 3.9) Hình 3.9 Cấu tạo bên trong SC 9149 Sơ đồ chân của SC 9149 (hình 3.10) Hình 3.10 Sơ đồ chân SC 9149 Chức năng của các chân SC 9149 theo bảng sau Chân Ký hiệu Mô tả Chức năng 1 GND 0 VDC Cấp nguồn cho IC 16 VDD 5VDC 2 RX in Input Thu tín hiện hồng ngoại 3-7 HP1 – HP5 Output Báo kết quả của các phím nhấn lệnh continuous keys 8 - 12 SP5 – SP1 Output Báo kết quả của các phím nhấn lệnh single short keys 13 – 14 Code Code Input Truyển đổi tín hiệu hồng ngoại 15 OSC Tạo dao động cho IC Ngõ ra của SC 9149 khi có tín hiệu của khối phát theo bảng sau Sơ đồ nguyên lý của khối thu hồng ngoại (hình 3.11) Hình 3.11 Sơ đồ khối thu hồng ngoại sử dụng SC 9149 3.2.3 Khối công suất sử dụng triac Sơ đồ mạch khối công suất (hình 3.12) Hình 3.12 Sơ đồ khối công suất AC sử dụng Triac Nguyên tắc hoạt động : tín hiệu điều khiển 5VDC cấp vào P2.2 làm đèn led của opto-triac MOC3020 sẽ sáng lên làm cho photo-triac bên trong dẫn. Dòng AC sẽ dẫn qua MOC3020 và kích chân G triac BTA12 dẫn điện mở thiết bị. Khi có tín hiệu điều khiển 0VDC cấp vào P2.2 tương tự đóng thiết bị . Đồng thời led dùng báo hiệu thiết bị ON/OFF. 3.2.4 Khối kiểm tra thiết bị AC 220 Sơ đồ mạch khối kiểm tra thiết bị AC 220 (hình 3.13) Hình 3.13 mạch kiểm tra thiết bị AC 220 sử dụng PC817 Nguyên tắc hoạt động : khi tải hoạt động có tín hiệu AC 220 tại vị trí HOITIEP2 qua điện trỏ R34 hạn dòng rồi qua D18 chỉnh lưu qua tụ lọc qua D19 ổn áp tại vị trí 1 của PC817 có tín hiệu 5VDC làm cho led của PC817 sáng kích photo- transistor dẫn làm tại vị trí P2.7 có 0VDC. Ngược lại khi tải không hoạt động tại vị trí P2.7 có 5VDC. 3.2.5 Khối phím nhấn điều khiển không sử dụng khối điều khiển từ xa Trong quá trình sử dụng bộ điều khiển từ xa có sự cố (hết pin, bị hư, ...) người sử dụng vẫn có thể điều khiển thiết bị bình thường thông qua các công phím nhấn . Các công phím nhấn hoạt đông tương tự như các phím trên các phím của bộ điều khiển từ xa. Hình 3.14 Các phím nhấn trong chế độ không sử dụng bộ diều khiển từ xa 3.2.6 Khối nguồn Cung cấp nguồn cho khổi vi điều khiển, khối thu hồng ngoại , khối công suất AC, khối phím nhấn, khối kiểm tra thiết bị AC. Sơ đồ nguyên lý khối nguồn (hình 3.15) Hình 3.15 Khối nguồn tạo ra 5VDC sử dụng 7805 Nhiệm vụ của khối nguồn tạ ra 5VDC để cung cấp cho board. Cho khối nguồn tôi sử dụng IC ổn áp 7805 tạo ra nguồn ổn định cung cấp cho board. 3.2.7 Khối hiển thị LCD Sơ đồ chân khối LCD 2*16 (hình 3.16 ) Hình 3.16 sơ đồ chân khối LCD Nhiệm vụ các chân của khối LCD Chân Tên Nhiệm vụ Ghi chú 1 VSS 0VDC 2 VDC 5VDC 3 VEE Hiệu chỉnh độ tương phản khối LCD 4 RS Cho phép ghi dữ liệu lên khối LCD [1] 5 RW Cho phép đọc dữ liệu từ khối LCD [1] 6 E Cho phép truy xuất dữ liệu trên khối LCD Cạnh xuống 7 - 14 D0- D7 Data 8 bit 15&16 Cấp nguồn cho led nền Sơ đồ nguyên lý khối LCD liên kết với khối vi điều khiển 89C51(hình 3.17) Hình 3.17 Sơ đồ khối LCD 2*16 3.2.8 Khối Vi Điều Khiển 89C51 Sơ đồ khối vi điều khiển kết nối với các thiết bị ngoại vi (hình 3.18) Hình 3.18 Sơ đồ nguyên lý 89C51 liên kết với các thiết bị ngoại vi Các chân từ P1.0 – P1.7 và P2.0- P2.1 làm nhiệm vụ giao tiếp khối hiện thị LCD Các chân từ D0 – D7 làm nhiệm vụ nhận dữ liệu từ khối thu hồng ngoại . Các chân P2.2 – P2.4 làm nhiệm vụ điều khiển khối công suất Các chân P2.5- P2.7 làm nhiệm vụ nhận dữ liệu từ khối kiểm tra thiết bị AC Các chân INT0, INT1, IN1, IN2 giao tiếp phím nhấn trong chế độ không sử dụng bộ điều khiển từ xa. 3.3.9 Thi công Sơ đồ nguyên lý của board (hình 3.19) Hình 3.19 Sơ đồ nguyên lý tất cả các khối liên kết với nhau. Mạch in : Hình 3.20 Sơ đồ mạch lớp TOP Hình 3.21 Sơ đồ mạch lớp BOTTOM 3.3 Lưu đồ giải thuật Bắt đầu Các thiết bị OFF , khởi tạo LCD SW1 | D0 ?? Y N DH CONG NGHIEP DO AN MOT N GVHD TRAN V TRINH NGUYEN NGOC TRUC Y DIEU KHIEN THIET BI ON OFF 123 Y N THUC THI SW1 | D0 ?? SW1 | D0 ?? Sơ đồ tổng quan của quá trình điều khiển thiết bị AC Thông qua SW1 và D0 hiển thị các lời chào lên khối LCD. THUC THI là lưu đồ đi điều khiển và kiểm tra các thiết bị AC. THUC THI SW2 | D1 ?? SW3 | D2 ?? SW4 | D3 ?? ON/OFF 3 ON/OFF 1 ON/OFF 2 N N N Y Y Y TEST TBI P2.5==[0] P2.6==[0] P2.7==[0] Y N N Y Y Hiển thị các thiết bị OFF N Hiển thị thiết bị 3 ON Hiển thị thiết bị 2 ON Hiển thị thiết bị 1 ON X0 X0 X0 X0 X0 D4 ?? SETUPOFF N Thông qua D4 chế độ cài đặt thời gian hoạt động. Ở chế độ cài đặt thời gian thiết bị off. Trong chế độ cài đặt sữ dụng 4 phím còn lại trên khối phát hồng ngoại . SETUPOFF D5 ?? D7 ?? D6 ?? N N N Y Y Y TG_TBI2 + 5P TG_TBI3 + 5P TG_TBI1 + 5P X1 X1 X1 X1 D4 ?? N TIMER RUN Y END TIMER RUN TF==[1] N Y TF=[0],R0-- R0==0?? N Y TG_TBI1==0?? N Y TG_TBI2==0?? N Y TG_TBI3==0?? N Y TG_TBI1-- TBI1 OFF TBI1 OFF TG_TBI1-- TG_TBI1-- TG_TBI2-- END 3.4 Chương Trình điều khiển thiết bị AC ON/OFF bằng Triac thông qua hồng ngoại có giám sát thiết bị hiện thị lên LCD có chế độ định thời gian OFF TIMERUP EQU -50000 ;DECTIMER0 EQU 70H DECTIMER1 EQU 71H STIMER1 EQU 72H TGOFF_TBI1 EQU 73H TGOFF_TBI2 EQU 74H TGOFF_TBI3 EQU 75H ORG 0000H SJMP MAIN ORG 001BH CALL D

Các file đính kèm theo tài liệu này:

  • docBaocao.doc
  • docNHAN XET.doc
  • docTRANG BIA.doc
Tài liệu liên quan