1. Trang chủ
  2. » Luận Văn - Báo Cáo

MẠCH điều KHIỂN THIẾT bị BẰNG REMOTE DÙNG 89s52 (có code và layout)

43 50 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TỔNG QUAN ĐỀ TÀI1.1 Giới thiệu chung Điều khiển từ xa là hệ thống điều khiển các thiết bị từ khoảng cách xa.. Ví dụ như điềukhiển bằng sóng vô tuyến, Bluetooth, Wifi, tia hồng ngoại,… Cấ

Trang 1

MẠCH ĐIỀU KHIỂN THIẾT BỊ BẰNG

REMOTE

Trang 2

MỤC LỤC

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 5

1.1 Giới thiệu chung 5

1.2 Nguyên lý hoạt động 6

CHƯƠNG 2 TÌM HIỂU CÁC LINH KIỆN 6

2.1 Các linh kiện sử dụng 6

2.1.1 Điện trở 6

2.1.2 Tụ điện 7

2.1.3 EPP 24C04 7

2.1.4 Thạch anh 8

2.1.5 Mắt thu IR 8

2.1.6 Nút nhấn 8

2.1.7 Vi điều khiển 8051 9

2.1.8 Remote 9

2.2 Vi điều khiển 805 9

2.2.1 Giới thiệu chung 9

2.2.2 Sơ đồ chân và chức năng từng chân của vi điều khiển 8051 11

2.2.2.1 Sơ đồ chân 11

2.2.2.2 Chức năng từng chân vi điều khiển 8051 11

2.2.3 EEPROM 24C04 13

2.2.3.1 Sơ đồ chân 13

2.2.3.2 Nguyên lý 13

2.2.4 Mắt thu IR 14

Trang 3

2.2.4.1 Sơ đồ chân 14

2.2.4.2 Chức năng 14

CHƯƠNG 3 THIẾT KẾ MẠCH 15

3.1 Sơ đồ khối 15

3.2 Sơ đồ nguyên lý mạch chính 17

3.2.1 Mạch nguyên lý 17

3.2.2 Sơ đồ layout 19

3.2.3 Sơ đồ layout 3D 20

3.2.4 Mạch in 22

3.2.5 Mạch thực tế 22

3.3 Module 4 kênh 23

3.3.1 Sơ đồ nguyên lý 23

3.3.2 Mạch in 24

CHƯƠNG 4 THỰC THI TRÊN PHẦN MỀM 25

4.1 Lưu đồ giải thuật 25

4.2 Code chương trình 26

CHƯƠNG 5 TỔNG KẾT 44

5.1 Quá trình thực hiện 44

5.1.1 Quá trình thiết kế 44

5.1.2 Quá trình thi công mạch 44

5.1.3 Quá trình viết chương trình 44

5.2 Ưu điểm, nhược điểm 44

5.2.1 Ưu điểm 44

Trang 4

5.2.2 Nhược điểm 44

5.3 Hướng phát triển đề tài 45

TÀI LIỆU THAM KHẢO 45

DANH MỤC HÌNH Ả Hình 1-1: Cấu trúc của hệ thống điều khiển từ xa 5

Hình 2-1: Các loại điện trở 6

Hình 2-2: Các loại tụ điện 7

Hình 2-3: EEPROM 24C04 7

Hình 2-4: Thạch anh 8

Hình 2-5: Mắt thu IR 8

Hình 2-6: Nút nhấn 8

Hình 2-7: Vi điều khiển 8051 9

Hình 2-8: Remote hồng ngoại 9

Hình 2-9: 8051 Internal Block Diagram 10

Hình 2-10: Sơ đồ chân vi điều khiển 8051 11

Hình 2-11: Sơ đồ chân EEPROM 24C04 13

Hình 2-12: Nguyên lý hoạt động 24c04 13

Hình 2-13: Sơ đồ chân mắt thu IR 14

Hình 3-1: Sơ đồ khối 15

Hình 3-2: Sơ đồ nguyên lý 18

Hình 3-3: Sơ đồ layout 19

Hình 3-4: Layout 3D mặt trước 20

Hình 3-5: Layout mặt sau 21

Hình 3-6: Mạch in 22

Hình 3-7: Mạch thực tế 23

Hình 3-8: Sơ đồ nguyên lý module 4 kênh 23

Hình 3-9: Mạch in module 4 kênh 24

Hình 4-1: Lưu đồ giải thuật 25

Trang 5

BẢNG BIỂU

Y

Bảng 1: Bảng chức năng Port3 13

Trang 6

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI

1.1 Giới thiệu chung

Điều khiển từ xa là hệ thống điều khiển các thiết bị từ khoảng cách xa Ví dụ như điềukhiển bằng sóng vô tuyến, Bluetooth, Wifi, tia hồng ngoại,…

Cấu trúc chung của hệ thống

Hình 1-1: Cấu trúc của hệ thống điều khiển từ xa

 Thiết bị phát: biến đỏi các lệnh điều khiển thành các tin hiệu tương tự để truyền đi

 Đường truyền: đưa tin hiệu từ phát sang thu

 Thiết bị thu: nhận tin hiệu từ đường truyền và qua quá trình chuyển đổi sẽ truyềnđến cơ cấu chấp hành

 Cơ cấu chấp hành: nhận lệnh từ khối xử lý tin hiệu và thực hiện công việc điềukhiển

Ngày nay, điều khiển từ xa bằng tia hồng ngoại có vai trò thống trị trong hầu như tất cảcác thiết bị dân dụng trong gia đình như: tivi, quạt, máy điều hòa, các thiết bị chiếu sáng,

…Đây là loại điều khiển từ xa có vai trò “ thống trị” hầu hết các thiết bị gia đình Mộtchiếc điều khiển IR sẽ gồm các bộ phận cơ bản nằm trong một hộp nối cáp kỹ thuật

số như sau: Các nút bấm ; một bảng mạch tích hợp; các núm tiếp điểm; đi-ốt phátquang (đèn LED) Thật tiện lợi khi chúng ta chỉ việc ngồi tại chỗ để điều khiển tát cả cácthiết bị theo ý muốn của mình

Trang 7

1.2 Nguyên lý hoạt động

Nguyên lý cơ bản của loại điều khiển từ xa này là sử dụng ánh sáng hồng ngoạicủa quang phổ điện từ mà mắt thường không thấy được để chuyển tín hiệu đến thiết bịcần điều khiển Nó đóng vai trò như một bộ phát tín hiệu, sẽ phát ra các xung ánh sánghồng ngoại mang một mã số nhị phân cụ thể Khi ta ấn một nút phía bên ngoài thì sẽ vậnhành một chuỗi các hoạt động khiến các thiết bị cần điều khiển sẽ thực hiện lệnh của nútbấm đó

Trang 8

CHƯƠNG 2 TÌM HIỂU CÁC LINH KIỆN

Trang 9

2.1.3 EPP 24C04

Hình 2-4: EEPROM 24C04

2.1.4 Thạch anh

Hình 2-5: Thạch anh

Trang 11

- Dung lượng RAM 128 byte

- Dung lượng ROM 4 kbyte

- 4 port xuất nhập (I/O port) 8 bit

- 1 bộ định thời 16 bit

- Mạch giao tiếp truyền dữ liệu nối tiếp

- Có thể mở rộng không gian nhớ chương trình ngoài 64 Kbyte

- Ó thể mở rộng không gian nhớ dữ liệu ngoài 64 kbyte

- Bộ xử lý bit ( thao tác riêng trên từng bit)

- 210 bit có thể truy xuất từng bit

Trang 12

Hình 2-10: 8051 Internal Block Diagram

Trang 13

2.2.2 Sơ đồ chân và chức năng từng chân của vi điều khiển 8051

2.2.2.1 Sơ đồ chân

Hình 2-11: Sơ đồ chân vi điều khiển 8051

2.2.2.2 Chức năng từng chân vi điều khiển 8051

- Chân Vcc(40): chân cấp nguồn

- Chân GND(20): chân nối đất

- Port0 (P0): gồm 8 chân từ chân 32 đến 39, có 2 chức năng làxuất nhập Các chân này nhận tin hiệu bân ngoài để xử lýhoặc dùng để xuất tin hiệu ra ngoài

Trang 14

- Port1 (P1): gồm 8 chân từ chân 1 đến 8, chỉ có chức năngxuất nhập.

- Port2 (P2): gồm 8 chân từ chân 21 đến 28, có 2 chức năng làxuất nhập và bus địa chỉ cao

- Port3 (P3): gồm 8 chân từ chân 10 đến 17, có chức năng xuấtnhập và với mỗi chân có 1 chức năng riêng được thể hiện quabảng sau:

Bit Tên Chức năng

P3.0 RxD Ngõ vào nhận dữ liệu nối tiếp

P3.1 TxD Ngõ xuất dữ liệu nối tiếp

P3.2 INT0 Ngõ vào ngắt cứng thứ 0

P3.3 INT1 Ngõ vào ngắt cứng thứ 1

P3.4 T0 Ngõ vào của Timer/Counter thứ 0

P3.5 T1 Ngõ vào của Timer/Counter thứ 1

P3.6 WR Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài.P3.7 RD Ngõ điều khiển đọc dữ liệu từ bộ nhớ ngoài

Bảng 1: Bảng chức năng Port3

- Chân RESET (RST): chân số 9 dùng thiết lập trạng thái đầucho vi điều khiển

- Chân XTAL1 và XTAL2: 2 chân này ở vị trí chân số 18 và

19, được dùng để nhận nguồn xung clock

2.2.3 EEPROM 24C04

2.2.3.1 Sơ đồ chân

Hình 2-12: Sơ đồ chân EEPROM 24C04

Trang 16

- Khối nguồn: cung cấp nguồn cho các khối cồn lại hoạt động

- Khối nhận tín hiệu: chuỗi ánh sáng hồng ngoại nhận từ remote chuyểnthành tín hiệu điện trở như ban đầu rồi khuếch đại lên gửi đến khối giải mã

- Khối tạo dao động: tạo ra tần số xung nhịp cho khối điều khiển làm việc

- Khối xử lý: sau khi đã nhận được chuỗi tín hiệu điện từ khối nhận gửi đến, khối này sẽ giải mã ra bằng cách so sánh với những chuỗi tín hiệu đã được quy định sẵn trong khối, và đưa ra lệnh để điều khiển khối chấp hành

- Khối chấp hành: chỉ có nhiệm vụ là nhận lệnh từ khối giải mã rồi thực thi lệnh đó (đóng hoặc ngắt một thiết bị điện nào đó)

Khối

xử lý

Trang 18

3.2 Sơ đồ nguyên lý mạch chính

3.2.1 Mạch nguyên lý

Trang 19

Hình 3-16: Sơ đồ nguyên lý

Trang 20

3.2.2 Sơ đồ layout

Trang 22

Hình 3-17: Sơ đồ layout

Trang 23

3.2.3 Sơ đồ layout 3D

Hình 3-18: Layout 3D mặt trước

Trang 25

Hình 3-19: Layout mặt sau

Trang 26

3.2.4 Mạch in

Hình 3-20: Mạch in

3.2.5 Mạch thực tế

Hình 3-21: Mạch thực tế

Trang 28

CHƯƠNG 4 THỰC THI TRÊN PHẦN MỀM

4.1 Lưu đồ giải thuật

Hình 4-24: Lưu đồ giải thuật

Trang 29

unsigned int IR_dodai,trangthaiIR;

unsigned long giatri,g;

unsigned char g1,g2,g3,g4;

unsigned char hoclenh;

unsigned char ghi=1,doc=0;

//////////////////////// Cac Ham thiet lap LCD/////////////////////////////////// //void delay_us(unsigned int t) // Ham tre micro giay

Trang 30

de goi i2c start bat dau qua trinh giao tiep, chan SDA phai duoc dua xuong muc 0, trong khi SLC dang o muc 1 sau 1 thoi gian ngan

chan SCL cung duoc dua xuong muc 0 ngay tai thoi diem chan SCL duoc dau xuong muc 0 qua trình truyen du lieu bat dau

*/

void I2C_Start(void)

{

SDA = 1;

SCL = 1; // dua SCL va SDA len muc 1

SDA = 0; // keo SDA xuong 0

delay_ms(1); // delay 1 khoang thoi gian ngan

SCL = 0; // keo SCL xuong 0 ( qua trinh Start ket thuc)

SDA = 1; // dua SDA len muc 1 ( cau lenh nay khong can cung dc)

SDA=0; // cho SDA xuong 0 de chuan bi dua len 1

SCL=1; // dua SCL len muc 1

SDA=1; // SDA duoc dua len muc 1 Qua trinh Stop hoan tat

Trang 31

Nhiem vu : VDK truyen du lieu vao slaver ( o day la DS1307)

Tham bien truyen vao : dat

Tra ve : 0 hoac 1 ( khong nhat thiet phai tra ve, muc dich la lay bit ack de kiem tra qua trinh truyen du lieu da ok chua)

bang cach goi ham va nhap vao 1 byte du lieu can truyen ta se truyen duoc duoc du lieu do vao slaver

*/

bit I2C_Write(unsigned char dat) // khai bao ham truyen du lieu va bien dat {

unsigned char i; // khai bao bien i

bit outbit; // khai bao bit

for (i = 1; i <= 8; i++) //vong lap for lap 8 lan tuong duong 8 bit ( 1 byte)

SCL = 0; // tao 1 xung clock tren chan SCL

de dich gia tri 1 hoac 0 tren chan SDA vao slaver

}

SDA = 1;

SCL = 1; // dua SDA va SCL len muc 1 chuan bi doc bit ack

outbit = SDA; // lay bit ack tu chan SDA

SCL = 0; // cho SCL ve 0

return(outbit); // lay gia tri ve

}

/* giai thich dong 87 -> 94

De co the truyen 1 byte ( vi du 0xBA) vao slaver ta tien hanh tach 1 byte do ra thành 8 bit do do can co vong lap for 8 lan ( moi lan truyen 1 bit)

Dau tien i=1

truyen bit thu nhat : ta co 0xBA = 1 0 1 1 1 0 1 0 Bit dau tien la bit

so 1 ( ben tay trai, truyen tu trai sang phai)

Trang 32

TA có : 0xBA & 0x80 = 10111010 & 10000000 =

10000000

Do ket qua nhan dc la 10000000 khac 0 ma outbit chi nhan 2 gia tri 1 hoac 0 , Cho nen outbit = 1

Nhu vay, ta da truyen dc bit dau tien la 1 vao I2C

Sau do dich 0xBA sang 1 : 0xBA <<1 = 01110100

Vong lap thu 2, i = 2 :

tiep tuc nhu vay nhung lan nay 01110100 & 0x80 se = 0 outbit se = 0

Cu nhu vay 8 lan byte 0xBA se duoc truyen sang slaver /* -end I2C write -*/

dat = dat << 1; // dich byte data sang trái 1 lan

dat = dat | inbit; // muc dich la gán giá tri cua bit inbit vao byte dat

SCL = 0; // cho SLC xuong muc 0 san sang cho lan doc bit tiep thep

}

{

Trang 33

if (ack) SDA = 0; // cac cau lenh nay dung de doc bit ack ( co the k can quan tam)

/* -end I2C read -*/

// -cac ham phuc vu giao tiep

// Ham doc du lieu thoi gian trong ds

unsigned char EEP_docdulieu(unsigned char diachi)

{

unsigned char dat;

I2C_Start(); // bat dau doc

I2C_Write(0xa0); // dau tien gui lenh ghi du lieu(ghi dia EEP)

I2C_Write(diachi); // Dia chi ma ta muon doc ( vi du, muon doc giay thi ta ghi dia chi 0x00)

I2C_Start(); // bat dau doc du lieu

I2C_Write(0xa1); // gui ma lenh doc du lieu tu dia chi(add)

dat = I2C_Read(0); // doc xong thi luu gia tri da doc dc vao dat

I2C_STOP(); // ket thuc qua trinh doc du lieu

I2C_Start(); // bat dau ghi

I2C_Write(0xa0); //0xao la dia chi EEP C24

I2C_Write(add); // gia tri can ghi

I2C_Write(Data); // ghi du lieu vao

I2C_STOP(); // ket thuc qua trinh truyen du lieu

Trang 34

TMOD=0x01; //Timer 0 Mode 1

EX0=1; // ngat theo suon am

IT0 = 1; // cho phep ngat ngoai

ET0 = 1; // cho ngat timer

EA = 1; //cho phep ngat

Tai sao phai tach du lieu ???

Li do nhu sau: De co the luu duoc gia tri remote ma ta da giai ma duoc Ta phai luu gia tri do vao EEPROM TUy nhien,

1 thanh ghi cua EEPROM C24 chi co do dai toi da la 1byte Trong khi gia tri ta giai ma duoc len den 4byte.

Do do phai tach gia tri do ra lam 4 gia tri nho Moi gia tri kick thuoc bang 1byte va duoc luu vao 4 bien g1 g2 g3 g4

Trang 35

Tai sao phai ghep du lieu ???

Li do nhu sau: Do truoc do ta da tach ra roi thi gio duong nhien phai ghep lai hihi

else if(ghi==7)

{

EEP_ghidulieu(0x71,g1); EEP_ghidulieu(0x72,g2); EEP_ghidulieu(0x73,g3); EEP_ghidulieu(0x74,g4);ghi=8;tb7=1;tb8=0;

}

else if(ghi==6)

{

EEP_ghidulieu(0x61,g1); EEP_ghidulieu(0x62,g2); EEP_ghidulieu(0x63,g3); EEP_ghidulieu(0x64,g4);ghi=7;tb6=1;tb7=0;

}

else if(ghi==5)

{

EEP_ghidulieu(0x51,g1); EEP_ghidulieu(0x52,g2); EEP_ghidulieu(0x53,g3); EEP_ghidulieu(0x54,g4);ghi=6;tb5=1;tb6=0;

}

else if(ghi==4)

{

EEP_ghidulieu(0x41,g1); EEP_ghidulieu(0x42,g2); EEP_ghidulieu(0x43,g3); EEP_ghidulieu(0x44,g4);ghi=5;tb4=1;tb5=0;

Trang 36

}

else if(ghi==3)

{

EEP_ghidulieu(0x31,g1); EEP_ghidulieu(0x32,g2); EEP_ghidulieu(0x33,g3); EEP_ghidulieu(0x34,g4);ghi=4;tb3=1;tb4=0;

}

else if(ghi==2)

{

EEP_ghidulieu(0x21,g1); EEP_ghidulieu(0x22,g2); EEP_ghidulieu(0x23,g3); EEP_ghidulieu(0x24,g4); ghi=3;tb2=1;tb3=0; }

{g1=EEP_docdulieu(0x21);g2=EEP_docdulieu(0x22);g3=EEP_docdulieu(0x2 3);g4=EEP_docdulieu(0x24);}

{g1=EEP_docdulieu(0x31);g2=EEP_docdulieu(0x32);g3=EEP_docdulieu(0x3 3);g4=EEP_docdulieu(0x34);}

{g1=EEP_docdulieu(0x41);g2=EEP_docdulieu(0x42);g3=EEP_docdulieu(0x4 3);g4=EEP_docdulieu(0x44);}

{g1=EEP_docdulieu(0x51);g2=EEP_docdulieu(0x52);g3=EEP_docdulieu(0x5 3);g4=EEP_docdulieu(0x54);}

Trang 37

else if(tb==6) {g1=EEP_docdulieu(0x61);g2=EEP_docdulieu(0x62);g3=EEP_docdulieu(0x6 3);g4=EEP_docdulieu(0x64);}

{g1=EEP_docdulieu(0x71);g2=EEP_docdulieu(0x72);g3=EEP_docdulieu(0x7 3);g4=EEP_docdulieu(0x74);}

{g1=EEP_docdulieu(0x81);g2=EEP_docdulieu(0x82);g3=EEP_docdulieu(0x8 3);g4=EEP_docdulieu(0x84);}

TH0 = 0x00; //Reset Timer 0 Value = 0

TL0 = 0x00; //Reset Timer 0 Value = 0

Trang 38

while(i<32)

{

if(IR_pin == 1) //Neu co muc cao

{

TH0 = 0x00; //Reset Timer 0 Value = 0

TL0 = 0x00; //Reset Timer 0 Value = 0

}

}

giatri=0x00000000;

}

Trang 40

IR_dodai=IR_dodai*255+(TL0-0x47); // ghep gia tri cua 2 thanh TH TL

if(hoclenh==1)

{ tach_dulieu();ghi_dulieu();

} else

{

Trang 41

for(doc=1;doc<9;doc++) {

trangthaiIR=0;

} }

}

Trang 42

5.1.2 Quá trình thi công mạch

Linh kiện đơn giản dể mua Do đã có kinh nghiệm khi đã qua thựchành Đồ án 1 nên viêc thi công mạch cũng khá suông sẻ và ít gặpkhó khăn

5.1.3 Quá trình viết chương trình

Gặp chút ít khó khăn khi chưa hiểu rõ IC nhớ EEPROM 24C04, nên việc viết code rất mất nhiều thời gian

5.2 Ưu điểm, nhược điểm

5.2.1 Ưu điểm

Mạch hoạt động ổn địnhCác thao tác trên mạch đơn giản

Trang 43

5.3 Hướng phát triển đề tài

Có thể tích hợp thêm mạch hẹn giờ để tắt thiết bị sau khi bật với thời gian mìnhmong muốn

TÀI LIỆU THAM KHẢO

[1] Sách ứng dụng vi xử lý và vi điều khiển Tác giả: Lê Ngọc Bích & Phạm Quang Duy

[2] ngoai-nguyen-dinh-loi-1646187.html

http://tailieu.vn/doc/thiet-ke-he-thong-dieu-khien-tu-xa-bang-song-hong-[3] http://www.ytuongnhanh.vn/cat2/vi-dieu-khien-80c51-23/

[5] http://codientu.org/

Ngày đăng: 29/07/2020, 14:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w