Apr 28, 2009

Cách viết báo cáo khoa học cho các tập san khoa học quốc tế

cac ban xem o day nhe: http://vietsciences.free.fr/khaocuu/nguyenvantuan/cachvietbaocaokhoahoc.htm Đọc tiếp →
-->đọc tiếp...

Apr 22, 2009

ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG NHÀ

ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG NHÀ

MAI VĂN HOÀNG
MSSV: 0503427
LỚP:ĐHĐT1
Với sự ra đời của vi điều khiển - vi xử lí năm 1971, đã thúc đẩy sự phát triển và ứng dụng của kĩ thuật số trong cuộc sống. Hầu hết các ứng dụng ngày nay đều có sử dụng đến vi xử lí như máy vi tính, điện thoại, ti vi, VCR…Và một ứng dụng rất thú vị của vi xử lí là điều khiển các thiết bị từ xa. Thay vì phải đứng dậy bật tắt các thiết bị trong nhà như quạt, bóng điện… chúng ta có thể ngồi một chỗ điều khiển bật tắt các thiết bị đó.
Vì trong phòng khoảng cách ngắn nên có thể sử dụng hồng ngoại làm tín hiệu điều khiển. Sử dụng remote của TV làm bộ phát, dùng led thu hồng ngoại để thu tín hiệu (led thu IR 3 chân màu đen), và dùng chip vi điều khiển để giải mã tín hiệu (AT89C51).
Mã lệnh điều khiển TV SONY
Phím Mã lệnh
1 0H
2 1H
3 2H
4 3H
5 4H
6 5H
7 6H
8 7H
9 8H
10 9H
PROGRAM + 10H
PROGRAM - 11H
VOLUME + 12H
VOLUME - 13H
MUTING 14H
POWER 15H
DISPLAY 3AH
Ở đây chỉ dùng 8 mã lệnh để đóng mở 8 relay ( phím 1-8). Khi bấm các phím trên remote TV thì led thu IR sẽ thu tín hiệu qua VDK 89c51 sẽ giải mã đưa vào thanh ghi A và xuất hiển thị mã này ra port 1, đồng thời mã này sẽ so sánh với các mã lệnh của các phím xuất ra port 0 để đóng mở các relay tương ứng.
A: Thu phát và giải mã tín hiệu
-Phát tín hiệu:
Dùng remote của TV sony hoặc bộ phát hồng ngoại.
Tín hiệu từ remote Sony có dạng:
-Phần đầu tiên của tín hiệu có độ dài 3T bằng 1800ms gọi là header hay satart bit. Các bit còn lại được mã hóa như sau:
500ms im lặng + 700ms hồng ngoại = bit 0
500ms im lặng +1300ms hồng ngoại = bit 1


Bit start đặt là bit B0, bit cuối là B11. Với 7 bit đầu là bit lệnh, 5 bit cuối là bit địa chỉ. Vì các tín hiệu đều lấy từ cùng renote nên ta chỉ cần giải mã 7 bit lệnh đầu tiên.
-Thu tín hiệu
Dùng led thu hồng ngoại để thu tín hiệu. Tín hiệu qua led thu sẽ bị đảo như sau:
bit 0=500ms mức cao+700ms mức thấp
bit 1=500ms mức cao+1300ms mức thấp
-Giải mã tín hiệu:
Để thu được 7 bit lệnh ta cần nạp cho thanh ghi A giá trị 00000010B để sau 7 lần quay trái có cờ nhớ C thì giá trị thanh ghi A chính là mã lệnh điều khiển của phím bấm remote.
Thuật toán giải mã:
1.Nạp thanh ghi A giá trị 02H
2.Chờ tín hiệu đi xuống( bit start)
3.Chờ tín hiệu đi lên(khởi đầu của 1 bit)
4.Chờ tín hiệu đi xuống
5.Chờ khoảng 700ms 6.Đo tín hiệu: + nếu ở mức cao bit nhận được là bit 0, đặt C=0 quay phải A có cờ C, quay lại bước 4.
+ nếu ở mức thấp bit nhận được là bit 1, đặt C=1 quay phải A có cờ C, quay lại bước 3.
7.Nếu C=1, giá trị trong thanh ghi A= D6D5D4D3D2D1D00, quay phải A thu được A=0 D6D5D4D3D2D1D0 ­
-Xuất nội dung thanh ghi A ra port 1 hiển thị bằng các led( đây chính là mã lệnh từ remote mà VDK giải mã được).
Lưu đồ giải mã tín hiệu:
B: Phần điều khiển bật tắt thiết bị
-So sánh nội dung trong thanh ghi A với mã lệnh của các phím
Thuật toán như sau:
IF A=0H(PHIM 1)
P0.0=0
ELSEIF A=1H(PHIM 2)
P0.1=0
ELSEIF A=2H(PHIM 3)
P0.2=0
ELSEIF A=3H(PHIM 4)
P0.3=0
ELSEIF A=4H(PHIM 5)
P0.4=0
ELSEIF A=5H(PHIM 6)
P0.5=0
ELSEIF A=6H(PHIM 7)
P0.6=0
ELSEIF A=7H(PHIM 8)
P0.7 =0
Lưu đồ :
Lưu đồ của chưong trình:

SƠ ĐÒ NGUYÊN LÝ:

ĐOẠN MÃ CHƯƠNG TRÌNH:

$MOD51
ORG 00H
MOV P0,#0FFH; Tắt tất cả các relay
MOV P1,#0;
MAIN:
;GIẢI MÃ TÍN HIỆU
MOV A,#40H
SETB P3.3
JB P3.3,$ ; Chờ tín hiệu mức thấp, bit START
LAP1: JNB P3.3,LAP1 ; CHỜ TÍN HIỆU MỨC CAO, KHỞI ĐẦU CỦA BIT
LAP2: JB P3.3,LAP2 ; CHỜ TÍN HIỆU MỨC THẤP
LCALL DELAY1MS
JNB P3.3,LAP3 ; NHẢY TỚI LAP3 NẾU TÍN HIỆU MỨC THẤP
CLR C ; ĐẶT C=0
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ C
JNC LAP2 ; NHẢY TỚI NHÃN LAP2 NẾU C=0
SJMP KETTHUC ;NHẢY TỚI NHÃN KETTHHUC NẾU C=1
LAP3: SETB C ; ĐẶT C=1 NẾU TÍN HIỆU MỨC THẤP
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ
JNC LAP1 ; NHẢY ĐẾN NHÃN LAP1 NẾU C=0
KETTHUC:
RR A ; QUAY PHẢI A THU ĐƯỢC MÃ CỦA TÍN HIỆU
MOV P1,A ;XUẤT MÃ RA PORT 1 HIỂN THỊ BẰNG LED
; PHẦN ĐIỀU KHIỂN TÍN HIỆU
PHIM1: CJNE A,#0H,PHIM2 ;SO SÁNH MÃ LỆNH PHÍM VỚI MÃ T H
CPL P0.0 ; ĐẢO BIT ĐÓNG MỞ RELAY
SJMP MAIN; QUAY VỀ CHƯƠNG TRINH CHÍNH THU TÍN HIỆU TIẾP
PHIM2: CJNE A,#1H,PHIM3 ;
CPL P0.1
SJMP MAIN
PHIM3: CJNE A,#2H,PHIM4
CPL P0.2
SJMP MAIN
PHIM4: CJNE A,#3H,PHIM5
CPL P0.3
SJMP MAIN
PHIM5: CJNE A,#4H,PHIM6
CPL P0.4

PHIM6: CJNE A,#5H,PHIM7
CPL P0.5
SJMP MAIN
PHIM7: CJNE A,#6H,PHIM8
CPL P0.6
SJMP MAIN
PHIM8: CJNE A,#7H,PHIMKHAC
CPL P0.7
SJMP MAIN
PHIMKHAC:
NOP
SJMP MAIN
; TẠO TRỄ 1MS
DELAY1MS:
MOV R0,#10
HERE:
MOV R1,#50
DJNZ R1,$
DJNZ R0,HERE
RET
END









king2504
Hiện đã có 1 ý kiến thảo luận về bài viết này. Mời bạn cùng trao đổi!
Về đầu trang
In bài viết
Gửi qua email
Thảo luận về bài viết

king2504


lưu đồ giải thuật điều khiển tín hiệu ở trên bị nhầm, nó chỉ có mở mà không đóng
lưu đồ đúng:

Cac ban xem chi tiet o day: http://www.mediafire.com/?enzn0mwtjy2
Nguon: http://www.ant7.com
Đọc tiếp →
-->đọc tiếp...