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

báo cáo mạch cảm biến lửa báo còi sử dụng AT89S52

27 299 4

Đ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 27
Dung lượng 1,22 MB

Nội dung

Nó cung cấp những hổ trợ mở rộng trên chip dùng chonhững biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bittrực tiếp trong hệ thống điều khiển... Ngoài ra AT89C

Trang 1

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Giới Thiệu Vi Điều Khiển AT89C52

AT89C52 là họ IC vi điều khiển do hãng Atmel sản xuất Các sảnphẩm AT89C52 thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte vàcác toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất

dữ liệu nhanh trên RAM nội Nó cung cấp những hổ trợ mở rộng trên chip dùng chonhững biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bittrực tiếp trong hệ thống điều khiển

Hình 1.1 Sơ đồ chân AT89C52 AT89C52 có 8Kbyte bộ nhớ FLASH ROM bên trong để lưu chương trình, vìvậy Vi điều khiểncó khả năng nạp xóa chương trình bằng điện lên đến 1000 lần.Dung lượng RAM 128 byte, AT89C52 có 4 Port xuất/nhập 8 bit, có 2 bộ định thời

Trang 2

16 bit Ngoài ra AT89C52 còn có khả năng giao tiếp dữ liệu nối tiếp, có thể mởrộng không gian nhớ chương trình và nhớ dữ liệu ngoài lên đến 64Kbyte.

AT89C52 được đóng gói theo kiểu hai hàng chân DIP gồm 40 chân cho cácchức năng khác nhau như vào

Trên sơ đồ chân trên có các nhóm chân sau:

Nhóm chân nguồn nuôi.

+ nguồn nuôi 5V (chân số 40)

+ nối đất (chân số 20)

Nhóm chân điều khiển.

Nhóm này còn phân biệt các tín hiệu vào, ra

a Nhóm tín hiệu vào điều khiển

+ Xtal1 (chân số 18), Xtal2 (chân số 19): nối tinh thể thạch anh cho mày phátxung nhịp chu trình

+ RST(Reset): (chân số 9): nối chuyển mạch để xóa về trạng thái ban đầu hay khởiđộng lại

+ /EA/CPP: (chân số 31) chọn nhớ ngoài (nối đất) hay chọn nhớ trong (nối nguồnnuôi 5V)

+ T2 hay P1.0: (chân số 1) tín hiệu vào đếm cho Timer2/ Counter2 của 8952

+ T2EX: (chân số 2) tín hiệu vào ngắt ngoài 2 cho 8950

+ /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt ngoài 0 cho 8051

+ /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt ngoài 1 cho 8051

+ T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0

+ T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1

b Nhóm tín hiệu ra điều khiển

+ ALE//PROG: (chân số 30) dùng để đưa tín hiệu chốt dịa chỉ (ALE) khi có nhớngoài hay điều khiển ghi chương trình /PROG

+ /PSEN: (chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chương trìnhROM ngoài

+ /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài

+ /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài

c Nhóm các tín hiệu địa chỉ, dữ liệu

Trang 3

+ cổng vào, ra địa chỉ/ dữ liệu P0 hay P0.0-P0.7: (chân số 39-32) dùng để trao đổitin về dữ liệu D0-D7, hoặc đưa ra các địa chỉ thấp (A0-A7) theo chế độ dồn kênh(kết hợp với tín hiệu chốt địa chỉ ALE).

+ cổng vào ra địa chỉ/ dữ liệu P2 hay P2.0-P2.7: (chân số 21-28) dùng để trao đổitin song song về dữ liệu (D0-D7) hoặc đưa ra địa chỉ cao (A8-A15)

+ cổng vào ra dữ liệu P1 hay P1.0-P1.7: (chân số 1-8) dùng để trao đổi tin songsong dữ liệu (D0-D7)

+ cổng vào, ra P3 hay P3.0-P3.7: (chân số 10-17)

- P3.0: (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD

- P3.1: (chân số 11) đưa ra tín hiệu truyền tin nối tiếp TXD

- /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt 0 của VĐK

- /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt 1 của VĐK

- T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0 cho VĐK8051/8052

- T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1 cho VĐK8051/8052

- /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài

- /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài

- T2 hay P1.0: (chân số 1)tín hiệu vào đếm cho Timer2/ Counter2 cho VĐK8052

- T2EX: (chân số 2) tín hiệu vào gây ngắt 2 của VĐK 8052

Ngoài các tín hiệu chuyên dùng trên, cổng vào/ ra P3 này còndùng để trao đổi tin về dữ liệu D7-D0

Trang 4

Hình 1.2 Sơ đồ kết nối phần cứng AT89C52

32 chân I/O lập trình được

8 nguồn ngắt khác nhau

Trang 5

Kiểu chân : PDIP40

Tổ chức bộ nhớ

Các chip vi điều khiển hiếm khi được sử dụng giống như các CPU trong

các hệ máy tính Thay vào đó chúng được dùng làm thành phần trong các

thiết kế hướng điều khiển, trong đó bộ nhớ có dung lượng giới hạn, không có

ổ đĩa và hệ điều hành Chương trình điều khiển phải thường trú trong ROM

Vì lý do này 89C52 có không gian nhớ riêng cho chương trình và dữ liệu, và

cả hai bộ nhớ chương trình và dữ liệu đặt bên trong chip, tuy nhiên ta có thể

mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip

nhớ bên ngoài với dung lượng tối đa là 64K cho bộ nhớ chương trình và 64K

cho bộ nhớ dữ liệu

Bộ nhớ nội dung trong chip bao gồm ROM và RAM RAM trên chip

bao gồm vùng RAM đa chức năng, vùng RAM với từng bit được định địa chỉ bit, các dãy thanh ghi và thanh ghi chức năng đặc biệt SFR (Special Function

register) Hai đặc tính đáng lưu ý là các thanh ghi và các port xuất/nhập được

định địa chỉ theo kiểu ánh xạ bộ nhớ và được truy xuất như một vị trí nhớ

trong bộ nhớ

Vùng Stack thường trú trong RAM trên chip (RAM nội) thay vì ở trong

RAM ngoài như các bộ vi xử lý

1.2 Các Linh Kiện Khác

1.2.1 Tụ điện

Tụ điện là một linh kiện thụ động cấu tạo của tụ điện là hai bản cực bằng kim loạighép cách nhau một khoảng d ở giữa hai bản tụ là dung dịch hay chất điện môi cáchđiện có điện dung C Đặc điểm của tụ là cho dòng điện xoay chiều đi qua, ngăn cảndòng điện một chiều

Khi tụ nạp điện thì tụ sẽ bắt đầu nạp điện từ điện áp là 0V tăng dần đến điện ápUDC theo hàm số mũ đối với thời gian t

Trang 6

Khi tụ xả điện thì điện áp trên tụ từ trị số VDC sẽ giảm dần đến 0V theo hàm số mũđối với thời gian t.

Trang 7

Hình 1.3 Tụ

1.2.2 Điện trở

Điện trở là linh kiện thụ động có tác dụng cản trở cả dòng và áp Điện trở đựơc sửdụng rất nhiều trong các mạch điện tử Điện trở của dây dẫn có trị số điện trở lớnhay nhỏ tùy thuộc vào vật liệu làm dây, tỉ lệ thuận với chiều dài và tỉ lệ nghịch vớitiết diện dây dẫn

Hình 1.4 Điện trở

1.2.3 Diode

Trang 8

Diode được cấu tạo gồm hai lớp bán dẫn p-n được ghép với nhau Diode thông dụngnhất là 1N4007, có chức năng dùng để đổi điện xoay chiều – thường là điện thế50Hz đến 60Hz sang điện thế 1 chiều Tùy lọai của Diode mà nó có thể chịu đựngđược dòng từ vài trăm mA đến loại công suất cao có thể chịu đựng đến vài trăm A.Diode chỉnh lưu chủ yếu là loại Silic Hai đặc tính kỹ thuật cơ bản của Diode chỉnhlưu là dòng thuận tối đa và dòng ngược tối đa (điện áp đánh thủng) Hai đặc tínhnày sẽ do nhà sản xuất cho biết.

1.2.4 Led thu hồng ngoại

Là một dạng của Diode Thông thường dòng điện đi qua vật dẫn điện sẽ sinh ranăng lượng dưới dạng nhiệt Ở một số chất bán dẫn đặc biệt như (GaAs) khi códòng điện đi qua thì có hiện tượng bức xạ quang (phát ra ánh sáng) Tùy theo chấtbán dẫn mà ánh sáng phát ra có màu khác nhau Led có điện áp phân cực thuận caohơn diode nắn điện nhưng điện áp phân cực ngược cực đại thường không cao

Hình 1.5 led thu hồng ngoại

Trang 9

1.2.5 transistor

C1815 là Transistor BJT gồm ba miền tạo bởi hai tiếp giáp p–n, trong đó miền giữa

là bán dẫn loại p Miền có mật độ tạp chất cao nhất, kí hiệu n+ là miền phát(emitter) Miền có mật độ tạp chất thấp hơn, kí hiệu n, gọi là miền thu (collecter).Miền giữa có mật độ tạp chất rất thấp, kí hiệu p, gọi là miền gốc (base) Ba chânkim loại gắn với ba miền tương ứng với ba cực emitter (E), base (B), collecter (C)của transistor

Transistor C1815 là transistor thuộc loại transistor NPN

C1815 có Uc cực đại = 50V dòng Ic cực đại = 150mA

Hệ số khuếch đại hFE của C1815 trong khoảng 25 đến 100

Thứ tự các chân từ trái qua phải: E C B

Hình 1.6 Transistor C1815

Transistor A1015 là transistor thuộc loại transistor PNP.

A1015 có Uc cực đại = -50V dòng Ic cực đại = -150mA

Hệ số khuếch đại hFE của transistor A1015 trong khoảng 70 đến 400

Thứ tự các chân từ trái qua phải: E C B

Trang 10

Hình 1.7 Transistor A1015

1.2.6 Biến trở tam giác 103

Đặc điểm kỹ thuật:

 6mm / Single-Turn / Carbon Film

 henolic Base / Resin Mold

 Open Frame / PC Board Stand-offs

 Enclosed Cover

Trang 11

Hình 1.8 biến trở 103

1.2.7 Thạch anh

Thạch anh là bộ dao động khá ổn định để tạo ra tần số dao động cho vi điều khiển

Đa số các mạch điều khiển đèn Led đều dùng thạch anh có thể là Thạch anh 12Mhz,24Mhz….mỗi loại sẽ cho ra 1 xung nhịp khác nhau

– Thạch anh sử dụng rất rộng rãi, hầu như ở đâu cũng có và giá thành thì nó cũngrất dẻ, khoảng Vài nghìn 1 con

– Ứng dụng của thạch anh trong điện tử đa phần để tạo ra tần số được ổn định vì tần

số của thạch anh tạo ra rất ít bị ảnh hưởng bởi nhiệt độ hơn là các mạch dao độngRC…

– Trong Vi điều khiển bắt buộc phải có thạch anh (trừ các loại có dao động nội) vìxét chi tiết thì VDK có CPU, timer,… CPU bao gồm các mạch logic và mạch logicmuốn hoạt động cũng cần có xung clock, còn timer thì gồm các dãy FF cũng cầnphải có xung để đếm Tùy loại VDK mà bao nhiêu xung clock thì ứng với 1 chu kìmáy, và với mỗi xung clock VDK sẽ đi làm 1 công việc nhỏ ứng với lệnh đang thựcthi

– Để chạy các câu lệnh trong ic vi điều khiển, Bạn cần tạo ra xung nhịp Tần sốxung nhịp phụ thuộc vào thạch anh gắn trên chân 18, 19 Với thạch anh 12MHz,Bạn sẽ có xung nhịp 1MHz, như vậy chu kỳ lệnh sẽ là 1μs.s

Hình 1.9 Thạch anh

Trang 12

1.3 Nội dung và giới hạn của đề tài

Nội Dung báo cáo gồm 4 chương:

Chương 1: cơ sở lý thuyết

Chương 2: tổng quan về đề tài

Chương 3: thiết kế tổng quát

Chương 4: Kết luận và hướng phát triển

Đề tài này giúp em hiểu rõ hơn về những lý thuyết được học vào thực tế.Đồng thời tìm hiểu thêm những điều chưa được học và nâng cao kỹ năng thực hànhcũng như là những ứng dụng của mạch trong thực tế

Trang 13

CHƯƠNG 2 TỔNG QUAN VỀ ĐỀ TÀI

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

GND 20

Điều Khiển Loa

Điều khiển đèn

Trang 14

Sử dụng 8 chân vi điều khiển AT89C52.

Chân vcc và EA nối nguồn

P1.0 nhận tín hiệu từ khối thu thông qua led thu hồng ngoại

P2.7 (chân 28) đưa tín hiệu ra loa

Chân RST được kết nối với nút nhấn,điện trở và chân GND nối mass

Thạch anh 12MHz được nối với 2 chân xtal1 và xtal2 để ổn định mạch

Chân 3 được nối với chân p2.7 từ vi điều khiển AT89C52 để nhận tín hiệu ra

Trang 15

XTAL1 19

ALE

29

RST 9

Tùy từng mục đích của mạch nguồn mà ta sẽ chọn IC ổn áp Với những mạch nguồn cần cung cấp điện áp cố định thì sẽ sử dụng IC ổn áp cho mức điện ra cố địnhnhư 7805, 78L05 Với những mạch nguồn cần cho ra mức điện áp có thể biến đổi giá trị thì ta sử dụng ic LM317, uA741, LM358 Khi chọn IC ta cần chú ý đến kíchthước và dòng tối đa nó có thể cung cấp cho tải Nếu dòng lớn thì bạn cần phải mắc thêm tản nhiệt cho các IC này

Ở mạch này ta sử dụng Ic LM358

Trang 17

CHƯƠNG 3 THIẾT KẾ TỔNG QUÁT

3.1 Sơ Đồ Nguyên Lý

C3 0.1mF

D11 LED-RED

10K

5 6 7

U1:B

LM358 R2

10k

D1 Led hongngoai

3

Q2 C1815 R1

10k

XTAL2 18

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

GND 20

1 J2

DOMINO2

R7 10k

C2 1nF

K1 KEY-TRON

Hình 3.1 Sơ đồ nguyên lý

Trang 18

3.2 Sơ Đồ Mạch In

Hình 3.2 Sơ đồ mạch in

Trang 19

3.3 Hình Ảnh Thực Tế

Các bước làm mạch:

Trang 20

Mạch hoàng chỉnh:

Trang 21

3.4 Lưu Đồ Thuật Toán

Trang 23

CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1 Kết Luận

Sau khi hoàn thành, bộ điều khiển đáp ứng đuợc những yêu cầu đã đặt ra

Thông qua viêc hoàn thành đồ án em đã rút ra nhiều kinh nghiệm trong học tâp cũng như tinh thần làm việc nhóm và tập thể

Sau thời gian chạy thử một tuần, bộ điều khiển hoạt động khá tốt

Trang 24

TÀI LIỆU THAM KHẢO

Trang 25

PHỤ LỤC MÃ NGUỒN VI ĐIỀU KHIỂN

Trang 26

#define DBYTE ((unsigned char volatile data *) 0)

#define PBYTE ((unsigned char volatile pdata *) 0)

#define XBYTE ((unsigned char volatile xdata *) 0)

#define CWORD ((unsigned int volatile code *) 0)

#define DWORD ((unsigned int volatile data *) 0)

#define PWORD ((unsigned int volatile pdata *) 0)

#define XWORD ((unsigned int volatile xdata *) 0)

#ifdef CX51

#define FVAR(object, addr) (*((object volatile far *) (addr)))

#define FARRAY(object, base) ((object volatile far *) (base))

#define FCVAR(object, addr) (*((object const far *) (addr)))

#define FCARRAY(object, base) ((object const far *) (base))

#else

#define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L)))

#define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L)))

#define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L))

#define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))

#endif

#endif

Ngày đăng: 24/05/2018, 21:01

TỪ KHÓA LIÊN QUAN

w