Vi xử lí
lượt xem 138
download
Trong cuộc sống hàng ngày của chúng ta hiện nay , vi xử lí được ứng dụng rất rộng rãi , nó càng trở nên cần thiết và không thể thiếu trong mỗi gia đình . Đó chính là ứng dụng về Điều Khiển Từ Xa , một ứng dụng rất thú vị và tiện ích trong cuộc sống hàng ngày .
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Vi xử lí
- Trong cuộc sống hàng ngày của chúng ta hiện nay , vi xử lí được ứng dụng rất rộng rãi , nó càng trở nên cần thiết và không thể thiếu trong mỗi gia đình . Đó chính là ứng dụng về Điều Khiển Từ Xa , một ứng dụng rất thú vị và tiện ích trong cuộc sống hàng ngày . Thay vì phải đứng dậy để bật hay tắt những dụng cụ như : quạt , tivi , bóng đèn , …. chúng ta chỉ việc ngồi tại chỗ với chiếc điều khiển từ xa trong tay , ta có thể tắt mở những cụ theo ý muốn . Hệ thống điều khiển từ xa gồm có : 1 con mắt hồng ngoại , 1 điều khiển TV Sony trong đó mỗi nút bấm là một mã riêng để điều khiển mỗi thiết bị , việc giãi mã được lập trình trên vi xử lí 8051 . I) GIẢI QUYẾT VẤN ĐỀ : 1) Giải Mã REMOTE : Trước tiên ta tìm hiểu về mã của Remote TV , ta xem hình vẽ http://i229.photobucket.com/albums/ee44/KOTENKOTINH/hinh1.jpg Trên hình vẽ cho ta thấy : bit đầu tiên là bit LSB ta đặt tên cho nó là bit B0 , bít cuối cùng sẽ là bit B11 . Trong đó từ : B0 – B6 : là 7 bit mã lệnh B7 _ B11: là 5 bit địa chỉ Trong đó , mã lệnh là 16H, mã địa chỉ là 08H . Khi sử dụng mắt hồng ngoại thì tất cả các dạng sóng trên sẽ bị đảo lại như sau : http://i229.photobucket.com/albums/ee44/KOTENKOTINH/hinh2.jpg Để thu và giải mã tín hiệu từ Remote TV ta chỉ cần thu 7 bit command (7 bit mã lệnh ) và có thể bỏ qua 5 bit address ( 5 bit dữ liệu ) bởi vì các nút bấm đều phát ra các mã địa chỉ là như nhau chỉ khác nhau về mã lệnh . Để thu được 7 bit mã lệnh ta làm như sau : a) thiết lập thanh ghi A = 01000000 B b) khởi đầu bằng cách chờ tín hiệu xuống c) chờ cho tín hiệu lên
- d) chờ cho tín hiệu xuống e) tạo trễ khoảng 900us f) đo mức tín hiệu : + nếu mức tín hiệu là mức cao thì bit nhận được là bit 0 : thiết lập cờ C = 0 , quay phải có cờ nhớ A , như vậy C sẽ được gởi vào MSB của A , LSB của A sẽ được gởi vào C . Như vậy sau 7 lần quay thì C = 1 và 7 bit trái của A sẽ chứa mã lệnh . khi C = 0 quay lại bước d . + nếu mức tín hiệu là mức thấp thì bit nhận được là bit 1 : thiết lập cờ C = 1, quay phải có cờ nhớ A . Khi C = 0 quay lại bước c . Nếu C = 1, giá trị trong thanh ghi A = D6D5D4D3D2D1D00 , sau khi quay phải A thu được A = 0D6D5D4D3D2D1D0 . 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à 8051 giải mã được). 2 ) Lưu Đồ Giải Thuật : http://i229.photobucket.com/albums/ee44/KOTENKOTINH/hinh3 1.jpg II) SƠ ĐỒ NGUYÊN LÍ: http://i229.photobucket.com/albums/ee44/KOTENKOTINH/hinh4 1.jpg 1) Cấu Tạo : + Thiết bị phát là Remote TV , với mỗi nút bấm phát ra một mã hồng ngoại khác nhau . + Thiết bị thu sử dụng mắt hồng ngoại 3 chân , được dùng rộng rãi trong TV http://i229.photobucket.com/albums/ee44/KOTENKOTINH/hinh5.jpg
- + Mắt nhận hồng ngoại nhận tín hiệu từ điều khiển từ xa phát ra từ giải điều chế và đua tín hiệu đảo ra chân OUT . Tín hiệu từ chân OUT được đưa đến chân P3.3 của vi xử lí để giải mã , mã lệnh 7 bit được hiển thị trên cổng P1.Tín hiệu điều khiển được đưa ra cổng P2 . Khi bấm phím 1 đưa tín hiệu điều khiển ra chân P2.0, bấm phím 2 ra chân P2.1…..bấm phím 8 ra chân P2.7. 2) Nguyên Lí Hoạt Động : Dòng DC khoảng 5v7v đưa qua 7805 để ổn định áp 5v cung cấp cho vxli 8051 . chân OUT của mắt nhận hồng ngoại đưa vào chân P3.3, tín hiệu tới chân P3.3 được lập trình và giải mã . Mã lệnh hiện thị trên cổng P1 , tín hiệu điều khiển đưa ra chân P2. Trong mạch chỉ sử dụng 3 chân P2.0 , P2.1 , P2.2 để điều khiển 3 thiết bị thông qua 3 rơle (5v) có tác dụng đóng mở cho dòng điện xoay chiều 220v đi qua các thiết bị điện .Khi P2.0 , P2.1 , P2.2 ở mức cao (+5v) thì không có dòng qua Rơle , Rơle đóng . Khi P2.0 , P2.1 , P2.2 ở mức thấp (0v) thì có dòng qua Rơle , Rơle mở nên có dòng 220v qua các thiết bị điện , các thiết bị hoạt động . Đối với gia đình có nhiều thiết bị điện thí ta tiếp tục nối các chân còn lại của port 2 qua Rơle , như vậy ta có thể dùng cho thiết bị tuỳ thích III)CODE CHƯƠNG TRÌNH : ORG 00 MOV P1,#0 MOV P2,#00000111B LCALL LONG_DELAY ; cho tín hiệu đầu tiên nhận được nhận được ko bị sai MAIN: SETB P3.3 ; P3.3 làm đầu vào nhận tín hiệu
- MOV A,#01000000B ; sau 7 lần quay phải A thì C=1 để kiểm tra RP1: JB P3.3, RP1 ; chờ cho tín hiệu đi xuống RP2: JNB P3.3, RP2 ; chờ cho tín hiệu đi lên RP3: JB P3.3, RP3 ; chờ cho tín hiệu đi xuống LCALL DELAY ; tạo trễ 900 us MOV C,P3.3 ; Ghi tín hiệu thu được vào C để đo JC BIT0 ; nếu tín hiệu là bit cao thì bit nhận được là bit 0 SETB C ; tín hiệu mức thấp , bit nhận dược là bit 1 RRC A ; ghi từng bit mã lệnh vào trong A JC END_SIGNAL ; nếu C =1 thì nhận đủ 7 bit mã lệnh , kết thúc ; nhận ; kết thúc quá trình nhận tín hiệu SJMP RP2 ; nếu C=0 thì quay lại nhãn RP2 BIT0: CLR C ; tín hiệu mức cao bit nhận được là bit 0 RRC A JC END_SIGNAL ; nếu C =1 thì nhận đủ 7 bit mã lệnh , kết thúc ; kết thúc quá trình nhận tín hiệu SJMP RP3 ; nếu C=0 thì quay lại nhãn RP3 BIT0: END_SIGNAL: ; kết thúc quá trình nhận tín hiệu LCALL LONG_DELAY ; tạo trễ để chống nhiễu ; 7 bit trái của A đang chứa mã lệnh , bit LSB = 0 RR A ; 7 bit phải của A đang chứa mã lệnh, bit MSB = 0 MOV P1, A ; hiển thị mã lệnh ra cổng P1 KEY_1: CJNE A,#00000000B,KEY_2 ; bấm phím 1 ;KEY = 1 CPL P2.0 ; đảo bit sau đó
- SJMP MAIN ; quay lại từ đầu ; KEY_2: CJNE A,#1,KEY_3 ; bấm phím 2 ; ;KEY = 2 CPL P2.1 SJMP MAIN ; KEY_3: CJNE A,#2,KEY_4 ; bấm phím 3 ; ;KEY = 3 CPL P2.2 SJMP MAIN ; KEY_4: CJNE A,#3,KEY_5 ; bấm phím 4 ; ;KEY = 4 CPL P2.3 SJMP MAIN ; KEY_5: CJNE A,#4,KEY_6 ; bấm phím 5 ; ;KEY = 2 CPL P2.4 LJMP MAIN ; KEY_6: CJNE A,#5,KEY_7 ; bấm phím 6
- ; ;KEY = 6 CPL P2.5 LJMP MAIN ; KEY_7: CJNE A,#6,KEY_8 ; bấm phím 7 ; ;KEY = 7 CPL P2.6 LJMP MAIN ; KEY_8: CJNE A,#7,OTHER_KEY ; bấm phím 8 ; ;KEY = 8 CPL P2.7 LJMP MAIN ; OTHER_KEY: ; bấm các phím khác thì không làm gì LJMP MAIN ; ; tạo trễ ; DELAY: ; tạo trễ 900 ms MOV R5,#165 ; Thời gian tạo trễ 165 x 5 x 1.085 ms = 900 ms AGAIN: NOP NOP NOP DJNZ R5,AGAIN RET
- ; LONG_DELAY: ; tạo trễ dài để chống nhiễu MOV R5,#50 REPEAT: MOV R6,#255 HERE: DJNZ R6,HERE DJNZ R5,REPEAT RET END
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn lắp ráp các bộ mạch vi xử lí
77 p | 917 | 614
-
Chương 4: Thiết kế giao tiếp ngoại vi Giáo trình vi xử lý
41 p | 929 | 538
-
Chương 1: GIỚI THIỆU VỀ CÁC HỌ VI XỬ LÝ VÀ THÔNG DỤNG
25 p | 742 | 257
-
Giải bài tập môn Vi xử lý
31 p | 1097 | 175
-
Kĩ thuật vi xử lý-chương 1 - Tổng quan về vi điều khiển
28 p | 294 | 128
-
BÀI GIẢNG: VI XỬ LÝ
60 p | 313 | 114
-
HƯỚNG DẪN THỰC HÀNH MÔ PHỎNG VI XỬ LÝ DÙNG EMU 8086
12 p | 496 | 113
-
Hướng dẫn cách lắp ráp các loại mạch nạp vi xử lý
77 p | 247 | 101
-
Trắc nghiệm vi xử lí- vi đều khiển- Đề 1
25 p | 317 | 91
-
Bài giảng Vi xử lý - ĐH Công nghiệp TP. HCM
198 p | 267 | 84
-
Trắc nghiệm vi xử lí- vi đều khiển- Đề 2
60 p | 257 | 72
-
Vi xử lý và vi điều khiển
0 p | 201 | 37
-
thiết kế mạch điều khiển mô hình cánh tay máy 5 bậc tự do dùng vi xử lý 8085, chương 9
5 p | 142 | 31
-
Vi xử lý máy vi tính - Chương 2
5 p | 134 | 28
-
thiết kế mạch điều khiển mô hình cánh tay máy 5 bậc tự do dùng vi xử lý 8085, chương 6
6 p | 121 | 24
-
Chương 1: GIỚI THIỆU LỊCH SỬ PHÁT TRIỂN VI XỬ LÍ
12 p | 143 | 22
-
Kỹ thuật vi điều khiển - Nguyễn Anh Đức
30 p | 90 | 10
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn