Khi vi điều khiển ra đời đã mang lại sư tiện lợi là dễ dàng sử dụng trong điều khiển công nghiệp, việc sử dụng vi điều khiển không đòi hỏi người sử dụng phải hiểu biết về một lượng kiến thức quá nhiều như sử dụng vi xử lí
Trang 1Giảng viên hướng dẫn: Phạm Quốc Thịnh
Nhóm sinh viên thực hiện đề tài:
1.Nguyễn Ngọc Trường
2.Lê Văn Nguyên
3.Nguyễn Thị Minh Hiến
4.Vũ Thị Huệ
5.Đoàn Thị Vẻ
6.Hoàng Văn Thơm
Trang 2Phụ lục:
1. Lời nói đầu
2. Giới thiệu vi điều khiển AT89s52
3. Tác dụng của các linh kiện trong mạch
Trang 3Lời nói đầu:
Như chúng ta đã biết yêu cầu điều khiển càng cao thì hệ thống càng phức tạp và nếu yêu cầu điều khiển có đơn giản ví dụ như điều khiển đóng mở một con led theo một thời gian yêu cầu nào đó thì hệ thống vi xử lí cũng phải có đầu đủ các khối:bộ vi xử lí,bộ nhớ,các IC ngoại vi.
Để kết nối các khối trên tạo thành một hệ thống đòi hỏi người thiết kế phải hiểu biết các khối.hệ thống tạo ra khá phức tạp ,chiếm nhiều không gian mạch in và in ấn.Một lí do nữa là vi
xử lí thường xử lí dữ liệu theo byte hoặc word trong khi đó các đói tượng điều khiển trong công nghiệp thường điều khiển theo bit.
Trang 4Chính vì sự phức tạp này nên các nhà thiết kế tạo đã tích hợp một ít bộ nhớ và một số các thiết bị ngoại vi cùng với vi
xử lí tạo thành một IC gọi là vi điều khiển
Khi vi điều khiển ra đời đã mang lại sư tiện lợi là dễ dàng
sử dụng trong điều khiển công nghiệp, việc sử dụng vi điều khiển không đòi hỏi người sử dụng phải hiểu biết về một
lượng kiến thức quá nhiều như sử dụng vi xử lí
Có rất nhiều hãng chế tạo được vi điều khiển ,hãng sản
xuất là ATMEL Có nhiều họ vi điều khiển mang cácmax số khác nhau,một trong số họ nổi tiếng là họ MCS-51
Trang 5Song song với họ MCS-51 là họ MCS-52 có nhiều timer hơn họ MCS-51 một timer và dung lượng bộ nhớ nội lớn gấp đôi tức 8Kbyte
Ứng dụng của vi điều khiển rất nhiều trong các hệ thống điều khiển công nghiệp,các dây chuyền sản xuất,các bộ
điều khiển lập trình,máy giặt,máy điều hòa nhiệt độ…
Sau đây nhóm chúng em xin trình bày một trong những ứng dụng của vi điều khiển.Đó là lập trình cho vi điều
khiển 89S52 điều khiển chạy các LED đơn xếp thành hình hai trái tim lồng nhau
Trang 6I giới thiệu về IC 89s52:
Trang 71.Sơ lược về IC89s52:
Năm 1980 khi intel tung ra chip 8051, bộ Vi điều khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ
Vi điều khiển được sản xuất sau này.
1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51bao gồm :
Trang 8Tiếp theo sau đó là sự ra đời của chip 8052,8053,8055 với nhiều tính năng được cải tiến
Hiện nay Intel không còn cung cấp các loại Vi điều khiển
họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như
Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas,
Semiconductors được cấp phép làm nhà cung cấp thứ hai cho
các chip của họ MSC-51
Trang 9Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi điều khiển của hãng
Atmel.các mã số chip được thay đổi chút ít khi được Atmel sản xuất Mã số 80 chuyển thành 89, chẳng hạn 80C52 của
Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau
Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là 89C51,89C53,89C55
Trang 10Dung lượng RAM
Dung lượng ROM
Chế độ nạp:
89S51 128 byte 4 Kbyte nối tiếp
89S52 128 byte 8 Kbyte nối tiếp
89S53 128 byte 12 Kbyte nối tiếp
89S55 128 byte 20 Kbyte nối tiếp
Sau khoảng thời gian cải tiến và phát triển, hãng Atmel
tung ra thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp
chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng
Trang 112.Sơ đồ chân:
Trang 12 Nhóm chân nguồn:
– VCC: chân 40, điê ̣n áp cung cấp 5VDC
– GND: chân 20(hay nối Mass)
Nhóm chân dao đô ̣ng: gồm chân 18 và chân 19
(Chân XTAL1 và XTAL2), cho phép ghép nối tha ̣ch anh vào ma ̣ch dao đô ̣ng bên trong vi điều khiển,
được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định
Trang 13.XTAL 1: Ngõ vào đến mạch khuếch đại dao động đảo và ngõ vào đến mạch tạo xung clock bên trong.
.XTAL 2: Ngõ ra từ mạch khuếch đại dao động đảo
• Chân cho ̣n bô ̣ nhớ chương trình: chân 31 (EA/VPP): dùng
để xác định chương trình thực hiện được lấy từ ROM nội
hay ROM ngoại
- Chân 31 nối mass: sử du ̣ng bô ̣ nhớ chương trình bên ngoài
vi điều khiển
-Chân 31 nối VCC: sử du ̣ng bô ̣ nhớ chương trình (4Kb) bên trong vi điều khiển
Trang 14• RST(Chân RESET): Ngõ vào RST ở chân 9 là ngõ vào
Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển
Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này
ở mức 1 tối thiểu 2 chu kì máy
• Chân cho phép bộ nhớ chương trình PSEN:
PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình ngoài Chân này
thường được nối với chân OE (output enable) của ROM
ngoài
Trang 15Khi vi đi u khi n làm vi c v i b nh chề ể ệ ớ ộ ớ ương
trình ngoài, chân này phát ra tín hi u kích ho t ệ ạ ở
m c th p và đứ ấ ược kích ho t 2 l n trong m t chu ạ ầ ộ
kì máy
Khi th c thi m t chự ộ ương trình ROM n i, chân ở ộ
này được duy trì m c logic không tích c c ở ứ ự
(logic 1)
(Không c n k t n i chân này khi không s d ng ầ ế ố ử ụ
đ n).ế
Trang 16• Chân ALE :(chân cho phép ch t đ a ch -chân ố ị ỉ30)
Khi Vi đi u khi n truy xu t b nh t bên ề ể ấ ộ ớ ừ
ngoài, port 0 v a có ch c n ng là bus đ a ch , ừ ứ ă ị ỉ
v a có ch c n ng là bus d li u do đó ph i ừ ứ ă ữ ệ ả
tách các đường d li u và đ a ch Tín hi u ữ ệ ị ỉ ệ ởchân ALE dùng làm tín hi u đi u khi n đ gi i ệ ề ể ể ả
đa h p các đợ ường đ a ch và các đị ỉ ường d li u ữ ệkhi k t n i chúng v i IC ch t ế ố ớ ố
Trang 17•Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần khác của
hệ thống
*Ghi chú : khi không sử dụng có thể bỏ trống chân này
Trang 18•Nhóm chân điều khiển vào/ra:
Port 0:
gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
-Chức năng xuất/nhập :các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt
- Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài
Trang 19Port 1 (P1):
gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường xuất/nhập, không có chức năng khác
Trang 21P3.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 bên ngoài ớ
P1.0 T2 : Ngõ vào c a Timer/Counter th 2 ủ ứ P1.1 T2X : Ngõ N p l i/thu nh n c a ạ ạ ậ ủ
Timer/Counter th 2ứ
Trang 22
II.Tác dụng của các linh kiện trong mạch:
Trang 23
Chức năng: Là vi điều khiển chính của ma ̣ch.
.8 KB EPROM bên trong.
.256 Byte RAM nội.
.4 Port xuất /nhập I/O 8 bít.
.3 bô ̣ đi ̣nh thời 16 bit
.Watch dog timer
.Các đă ̣c điểm khác giống AT89C51
Trang 242.thạch anh 12MHz:
Chức năng: Là nguồn ta ̣o xung nhi ̣p dao đô ̣ng clock ổn
đi ̣nh (12 MHz) cho dao đô ̣ng của 8051 Tha ̣ch anh sẽ đươ ̣c gắn vào chân XTAL1 và XTAL2 (Chân số 18 và 19) của 8051
Trang 253.tụ gốm:
Chức năng: Lo ̣c nhiễu cho dao đô ̣ng tha ̣ch anh
2 tu ̣ gốm 33pF sẽ được nối mô ̣t đầu với chân của tha ̣ch anh, đầu còn la ̣i đấu ra Mass.
Trang 26. 4.tụ hóa 10µF:
Chức năng: Tụ hóa 10μF được gắn đầu âm vào
chân reset, đầu dương lên nguồn Khi cấp điê ̣n cho ma ̣ch, tu ̣ sẽ phóng điê ̣n khiến chân reset
bâ ̣t lên mức cao, khi đó toàn bô ̣ hê ̣ thống sẽ
đươ ̣c na ̣p la ̣i từ đầu Khi đang vâ ̣n hành thì tu ̣ hóa ngăn dòng đi vào chân reset.
Trang 27
Trang 28
6.transistor:
Có công du ̣ng như mô ̣t khóa.
Trang 297.các con LED:
Trang 30
III.SƠ ĐỒ NGUYÊN LÝ:
Trang 31IV.Nguyên lý hoạt động của mạch:
IC điều khiển chính 89S52 điều khiển toàn bô ̣ hoa ̣t đô ̣ng của ma ̣ch, chương trình code được na ̣p vào IC (code
đươ ̣c di ̣ch ra file hex rồi đưa vào IC qua bô ̣ na ̣p nối cổng LPT bằng chương trình na ̣p Aec_isp.exe) Code
lâ ̣p trình cho các port của IC 89S52, điều khiển đèn LED sáng ở mức 1
Trang 32Các cổng sử dụng để lập trình:
Port1 (p1.0 đến p1.5) .port2 (p2.0 đến p2.7) .port3 (p3.0 đến p3.3)
Trang 33 Mỗi chân sử dụng để lập trình cho vi điều khiển xuất
dữ liệu sẽ được nối với cực B của transistor loa ̣i PNP thông qua 1 trở 220Ω để phân cực Transistor ở đây mang nhiê ̣m vụ như 1 khóa Cực E của transistor
A1015(transistor thuận PNP)nối với nguồn +5V, cực
C sẽ qua trở và nối ra LED Khi tín hiê ̣u điều khiển của IC ra mức 1, transistor sẽ được phân cực thuâ ̣n, khóa sẽ đóng cho phép dòng điê ̣n từ cực E đi đến cực
C Khi tín hiê ̣u điều khiển ở mức 0, khóa mở, dòng điê ̣n sẽ bi ̣ cắt,LED tắt
Trang 34Cách nối các LED:
Các LED nối vào cùng một chân của vi điều khiển được nối song song với nhau.
Đầu katot của tất cả các LED được nối đất(nối
mass),trở 220 được sử dụng để hạn dòng vào
LED(LED chịu được dòng tối đa là 10mA).
Trang 35V.Chương trình ASM lập trình cho vi điều khiển:
Trang 50Hình nh mô ph ng ả ỏ