Tải bản đầy đủ (.doc) (15 trang)

Nghiên cứu, ứng dụng vi điều khiển 89s52 vào điều khiển LED 3d (5x5x5)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.37 MB, 15 trang )

Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA VẬT LÝ

BÁO CÁO SINH VIÊN
NGHIÊN CỨU KHOA HỌC NĂM 2012

NGHIÊN CỨU, ỨNG DỤNG VI ĐIỀU KHIỂN 89S52
VÀO ĐIỀU KHIỂN LED 3D (5X5X5)

Sinh viên

: Đới Việt Dũng

Lớp

: K58 A

Người hướng dẫn

: ThS. Nguyễn Trọng Dũng

Hà Nội 2012
1
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)

Lời mở đầu


Ngày nay với sự phát triển như vũ bão về khoa học công nghệ thông tin. Việc sử dụng
ngôn ngữ lập trình C và vi điều khiển 89S52 là điều cấp thiết, quan trọng trong sự phát triển
công nghiệp hóa và hiện đại đất nước hiện nay. Chính điều đó chúng tôi quyết định chọn đề
tài “Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển led 3D với mong muốn đóng
góp một phần vào việc đưa ứng dụng vào thực tiễn
-Mục đích của nghiên cứu khoa học là:
+ Nghiên cứu cấu trúc, nguyên lý hoạt động của vi điều khiển 89S52.
+ Nắm vững quy trình thiết kế mạch nguyên lý, mạch in, lắp ráp led3d, ngôn ngữ
lập trình C.
-Đối tượng nghiên cứu: Vi điều khiển 89S52, ngôn ngữ lập trình C và phương pháp lắp ráp
led 3d.
-Phương pháp nghiên cứu: Bằng phương pháp thực nghiệm.
-Ý nghĩa khoa học và thực tiễn của đề tài: Là đề tài nghiên cứu khoa học cơ bản, đóng góp
vào việc tìm hiểu cách thiết kế bảng quảng cáo đèn led 3d.

2
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
Phần 1. Tổng quan
1.1. LED đơn
1.1.1. Khái niệm.
- Led đơn (Light Emitting Diode): Là các diốt có khả năng phát ra ánh sáng hay tia hồng
ngoại, tử ngoại. Cũng giống như điốt, Led được cấu tạo từ một khối bán dẫn loại p ghép với
một khối bán dẫn loại n.
- Led 3d là hệ thống led đơn được mắc theo cấu trúc ma trận 5x5x5
1.1.2. Hình ảnh.

Led đơn


Led 3d (5x5x5)

1.2. Phần cứng của 89S52
Vi điều khiển 8051 được Intel cho ra đời vào năm 1980 thuộc vi điều khiển đầu tiên của họ
MCS-51. Hiện tại rất nhiều nhà sản xuất như Siemens, Advanced Micro Devices, Fusisu và
Philips tập trung phát triển các sản phẩm trên cơ sở 8051.
Atmel là hãng đã cho ra đời các chip 89C51, 52, 55 và sau đó cải tiến thêm, hãng cho ra
đời 89S51, 52, 89S8252…
Cấu hình 89S52:
+ 8KB bộ nhớ chương trình.
3
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
+ Dao động bên ngoài với thạch anh <24MHz. Thông thường, VĐK 89S52 chạy với thạch
anh 12MHz.
+ 256 Byte Ram nội.
+ 4 Port xuất nhập.
+ 3 Timer/ Counter 16 bit Timer 0,1,2. Timer 2 có các chức năng Capture/Compare.
+ 8 nguồn ngắt.
+ Nạp chương trình song song hoặc nạp nối tiếp qua đường SPI.
1.2.1. Sơ đồ chân, cấu trúc cơ bản

Cấu trúc 89S52

Sơ đồ chân 89S52

1.2.2.Tác dụng các cổng 89S52

+ P0,1,2,3 có chức năng cơ bản xuất/nhập.
+ Riêng P0, P2 còn có chức năng kết nối bộ nhớ mở rộng, sẽ được khảo sát trong phần
mở rộng bộ nhớ.
+ P1: Chân T2 và T2EX dùng cho timer/ counter 2. Hai chức năng này sẽ khảo sát trong
phần Timer. Chân SS\, MOSI, MISO, SCK truyền dữ liệu theo chuẫn SPI đồng thời có chức
năng kết nối với mạch nạp chương trình
+ P3: Tích hợp các chức năng đặc biệt
+ Chân ALE, PSEN, WR\, RD\ dùng để kết nối bộ nhớ mở rộng.

4
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
+ Chân EA\ có chức năng chọn bộ nhớ chương trình: EA\=GND: Chọn bộ nhớ ngoại,
EA\=VCC chọn bộ nhớ nội.
+ Chân Xtal1 và Xtal2 gắn với thạch anh.
1.3. Phần mềm lập trình C (lập trình cho vi điều khiển)
-Dùng ngôn ngữ lập trình C: Đây là ngôn ngữ lập trình có giao diện hấp dẫn, ngôn ngữ lập
trình đơn giản, mỗi câu lệnh ứng với một chỉ lệnh mà bộ xử lý thực hiện.
- Chương trình được soạn thảo trên Notepad hoặc bất cứ trình soạn thảo có sử dụng bộ kí
tự ASC II và lưu đuôi C.
- Dùng phần mềm dịch tức là chuyển C thành ngôn ngữ máy dạng đuôi .Hex

- Dùng phần mềm dịch tức là chuyển Asembly hoặc KeilC thành ngôn ngữ máy dạng đuôi
.Hex

Phần mềm Asembly

Phần mềm KeilC


-Nạp chương trình vào chíp
5
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)

-Một số lệnh cơ bản
//Các chỉ thị tiền định
#include <lcd.h> //Gọi thư viện có sẵn cách viết khác "*.h"
#define led1 PORTA.0 //dùng định nghĩa các biến
char bien1,bien2; //cac bien can dung
int a,b;
void chuongtrinhcon(unsigned int b) // chuong trinh con
{

}
int ham(void) // chuong trinh con dang ham
{
….
Return(a);
}
void main(void) //chương trình chính
{
int a; // khai bao bien dang so nguyen
chuongtrinhcon();
a = ham();
}
6

Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
Phần 2. Thực nghiệm
2.1. Một số thiết bị dùng trong thực nghiệm.
2.1.1. Một số phần mềm sử dụng
2.1.1.1.Thiết kế mạch nguyên lý.

Phần mềm CircuitMaker

Mạch nguyên lý

7
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)

Mạch in

Mạch điều khiển

2.1.1.2.Tạo bảng led 3d

Lắp ráp led 3d

Bộ led 3d hoàn chỉnh

8

Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
2.1.2. Các linh kiện điện tử.

AT89S52

74HC245N

Điện
trở
công
suất

Led đơn

Thạch anh 12M Hz

Tụ
điện

KA7805

Mạch nạp 89S52

Sơ đồ mạch nạp 89S52

Tip 41C


2.1.3. Quy trình thực hiện

THỰC HIỆN BẢNG ĐIỆN TỬ LED 3D
XÂY DỰNG Ý TƯỞNG

THIẾT KẾ BẢNG
LED 3D

TÌM HIỂU, THIẾT KẾ MẠCH
NGUYÊN LÝ, MẠCH IN

LẬP
TRÌNH

HOÀN THIỆN
SẢN PHẨM
2.1.4. Chương trình
2.1.4.1. Code chương trình
#include<regx52.h>
#include<intrins.h>
9
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
#include<stdlib.h>
sbit hang1=P1^0;
sbit hang2=P1^1;
sbit hang3=P1^2;
sbit hang4=P1^3;

sbit hang5=P1^4;
sbit cot25=P1^5;
int k;
char kt=0;
void delay(int x)
{
int i;
for(i=0;i<=x;i++);
}
void bat_tat(void)
{
int i;
unsigned int x=35000;
for(i=0;i<=50;i++)
{
hang1=hang2=hang3=hang4=hang5=0;
P0=P2=P3=0x00; cot25=0;delay(x);
P0=P2=P3=0xff;cot25=1;delay(x);
x=x-1000;
}
}
void quay(void)
{
char i;
hang2=hang3=hang4=0; hang1=hang5=1;
for(i=0;i<=10;i++)
{
P0=0xff; P2=0xC7; P3=0xff; cot25=1; delay(7000);
P0=0xff; P2=0xee; P3=0xfe; delay(7000);
P0=0x7f; P2=0xef; P3=0xfd; delay(7000);

P0=0xbf; P2=0xef; P3=0xfb; delay(7000);
}
hang1=hang5=0;
for(i=0;i<=10;i++)
{
P0=0xbe;P2=0xef;P3=0xfb;cot25=0;delay(7000);
cot25=1;P0=0xff;P2=0x83;P3=0xff;delay(7000);
P0=0xef;P2=0xee;P3=0xee;delay(7000);
P0=0x7b;P2=0xef;P3=0xbd;delay(7000);
}
hang1=hang5=1;
for(i=0;i<=10;i++)
{
P0=0xff; P2=0xC7; P3=0xff; cot25=1; delay(7000);
P0=0xbf; P2=0xef; P3=0xfb; delay(7000);
10
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
P0=0x7f; P2=0xef; P3=0xfd; delay(7000);
P0=0xff; P2=0xee; P3=0xfe; delay(7000);
}
hang1=hang5=0;
for(i=0;i<=10;i++)
{
cot25=1;P0=0x7b;P2=0xef;P3=0xbd;delay(7000);
P0=0xef;P2=0xee;P3=0xee;delay(7000);
P0=0xff;P2=0x83;P3=0xff;delay(7000);
P0=0xbe;P2=0xef;P3=0xfb;cot25=0;delay(7000);

}
}
quay2(void)
{
char i,j,k;
unsigned char code
mang[10]={0xfe,0xfd,0xfB,0xf7,0xeF,0xeF,0xf7,0xfB,0xfd,0xfe};
for(k=0;k<=1;k++)
{
for(j=0;j<=4;j++)
{
P1=mang[j];
for(i=0;i<=5;i++)
{
P0=0xbe;P2=0xef;P3=0xfb;cot25=0;delay(7000);
cot25=1;P0=0xff;P2=0x83;P3=0xff;delay(7000);
P0=0xef;P2=0xee;P3=0xee;delay(7000);
P0=0x7b;P2=0xef;P3=0xbd;delay(7000);
}
}
for(j=0;j<=4;j++)
{
P1=mang[j+5];
for(i=0;i<=5;i++)
{
cot25=1;P0=0x7b;P2=0xef;P3=0xbd;delay(7000);
P0=0xef;P2=0xee;P3=0xee;delay(7000);
P0=0xff;P2=0x83;P3=0xff;delay(7000);
P0=0xbe;P2=0xef;P3=0xfb;cot25=0;delay(7000);
}

}
}
}
………………………….
………………………….
2.1.2. Kết quả

11
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)

Mô hình led 3d

Sản phẩm hoàn chỉnh led 3d

12
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
Phần 3. Kết luận
Do thời gian làm việc ngắn , cơ sở vật chất còn hạn chế cho nên báo cáo khoa học chỉ dừng
lại ở việc nghiên cứu, thiết kế bảng cáo quảng điện tử led 3d (5x5x5).
I. Một số kết quả đạt được:
-Thiết kế mạch nguyên lý, mạch in.
-Tạo bảng led 3d.
-Nắm vững cấu trúc, nguyên lý hoạt động của vi điều khiển 89S52.
-Hoàn thành bảng quảng cáo led 3d (5x5x5).

II. Vấn đề cần triển khai tiếp
-Làm mạch quảng cáo điện tử cỡ lớn.
-Tạo những hiệu ứng phức tạp hơn.
-Khai thác thêm về led 3d (16x16x16)….

13
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
LỜI CẢM ƠN
Em xin chân thành cảm ơn Ths. Nguyễn Trọng Dũng người thầy đã tận tình hướng dẫn,
chỉ bảo em trong suốt quá trình nghiên cứu và hoàn thiện đề tài nghiên cứu khoa học này
Xin chân trọng cảm ơn tổ Vật lý chất rắn - Điện tử và Khoa Vật lý đã tạo mọi điều kiện
thuận lợi giúp đỡ em hoàn thiện đề tài nghiên cứu khoa học.

14
Đới Việt Dũng


Nghiên cứu, ứng dụng vi điều khiển 89S52 vào điều khiển LED 3D (5x5x5)
TÀI LIỆU THAM KHẢO
1.Phan Quốc Thắng. NXB khoa học và kĩ thuật, 2004. Họ vi điều khiển 8051 - Tống Văn Ôn.
NXB khoa học kĩ thuật, 2002.
2.Giáo trình Vi điều khiển - Phạm Hùng Kim Khánh.
3.Cấu trúc và lập trình họ vi điều khiển 8051 - Nguyễn Tăng Cường,
4.Kỹ thuật vi xử lý – Dương Quốc Hưng. NXB khoa học kĩ thuật 2004.
5.http:// www.alldatasheet.com.
6.Ebook.edu.vn.


15
Đới Việt Dũng



×