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 1CHƯƠ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 216 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 4Hì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 5Kiể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 6Khi 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 7Hì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 8Diode đượ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 91.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 10Hì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 11Hì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 121.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 13CHƯƠ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 14Sử 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 15XTAL1 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 17CHƯƠ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 183.2 Sơ Đồ Mạch In
Hình 3.2 Sơ đồ mạch in
Trang 193.3 Hình Ảnh Thực Tế
Các bước làm mạch:
Trang 20Mạch hoàng chỉnh:
Trang 213.4 Lưu Đồ Thuật Toán
Trang 23CHƯƠ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 24TÀI LIỆU THAM KHẢO
Trang 25PHỤ 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