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

Báo Cáo Lập Trình led trái tim

27 2,9K 16

Đ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 865,74 KB

Nội dung

Với sự ra đời của chip 8051 vào năm 1980 do INTEL sản xuất,nó đã tạo ra bước tiến quoan trọng trong lĩnh vưc vi điều khiển.vói sự ra đó đã giúp cho viêc thiết kế các hệ thống như đo lường,điều khiển tự động,truyền thông ngày càng đơn giản gọn nhẹ và chính xác hơn.ngày nay các chíp thế hệ sau của 8051 ngay càng được tăng cường thêm cá tính năng cũng như rung lượng,đã giúp cho họ vi điều khiển 8051 trở thành 1 trong những bộ vi điều khiển 8bit mạnh và linh hoạt nhất trong những năm gần đây.Đó là việc nghiên cứu và tìm hiểu về vi điều khiển,trong đó đặc biệt là họ vi điều khiển 8051 la điều cần thiết với sinh viên khoa điện tử chúng em nói chung cũng như sinh viên các khoa khác co liên quoan tới môn học.nhưng do thời gian tìm hiểu và kiến thức về môn học còn có nhiều hạn chế,cho nên trong đề tài nghiên cứu về vi điều khiển của chúng em còn gì thiếu sót và hạn chế mong thầy chỉ bảo giúp cho chúng em hiểu sâu hơn về môn học này,chúng em xin chân thành cảm ơn.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG I

- -Báo Cáo Tiểu Luận

Môn : Kỹ Thuật Vi Xử Lý

Đề Tài : Lập trình điều khiển cho led trái tim

Giảng Viên : Phạm Văn Cường

Nhóm 12 (D11VT8): Nguyễn Thị Nga Nguyễn Văn Quyết

Lê Đình Thủy

Trần Tuấn Anh Đậu Xuân Tú

Trang 2

Lời Nói Đầu

Với sự ra đời của chip 8051 vào năm 1980 do INTEL sản xuất,nó đã tạo ra bước tiến quoan trọng trong lĩnh vưc vi điều khiển.vói sự ra đó đã giúp cho viêc thiết kếcác hệ thống như đo lường,điều khiển tự động,truyền thông ngày càng đơn giản gọn nhẹ và chính xác hơn.ngày nay các chíp thế hệ sau của 8051 ngay càng được tăng cường thêm cá tính năng cũng như rung lượng,đã giúp cho họ vi điều khiển

8051 trở thành 1 trong những bộ vi điều khiển 8bit mạnh và linh hoạt nhất trong những năm gần đây

Đó là việc nghiên cứu và tìm hiểu về vi điều khiển,trong đó đặc biệt là họ vi điều khiển 8051 la điều cần thiết với sinh viên khoa điện tử chúng em nói chung cũng như sinh viên các khoa khác co liên quoan tới môn học.nhưng do thời gian tìm hiểu và kiến thức về môn học còn có nhiều hạn chế,cho nên trong đề tài nghiên cứu về vi điều khiển của chúng em còn gì thiếu sót và hạn chế mong thầy chỉ bảo giúp cho chúng em hiểu sâu hơn về môn học này,chúng em xin chân thành cảm ơn

Nội dung báo cáo gồm 3 phần:

I – Cơ sở lý thuyết

II – Nội dung thiết kế

III – MÔ PHỎNG – SẢN PHẨM

Trang 3

Lập trình điều khiển cho led trái tim

I – Cơ sở lý thuyết

1-Giới thiệu chung về bộ vi điều khiển:

Bộ vi điều khiển viết tắt là Micro-contronller, là mạch tích hợp trên một chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ thống Theo các tập lệnhcủa người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo lường thời gian và tiến hành đọc mở một cơ cấu nào đó

Trong các thiết bị điện và điện tử dân dụng, thiết bị tự động hoá… các bộ

vi điều khiển, điều khiển hoạt động của các thiết bị này Trong hệ thống sản xuất

tự động, bộ vi điều khiển được sử dụng trong điều khiển robot, dây chuyền tựđộng… Các hệ thống càng thông minh thì vai trò của vi điều khiển càng quantrọng

2- Giới thiệu tổng quan về họ Vi điều khiển 8051 (AT89C51)

AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chấtlượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable readonly memory)

Các đặc điểm của 8951 được tóm tắt như sau:

- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000chu kỳ

Trang 4

- Tần số hoat động từ 0 Hz đến 24 MHz

- 3 mức khóa bộ nhớ lập trình

- 2 bộ Timer/Counter 16 bit

- 128 Byte RAM nội

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

- Giao tiếp nối tiếp

- 64 KB vùng nhớ mã ngoài

- 64 KB vùng nhớ dữ liệu ngoài

- Xử lý Boolean (hoạt động trên bit đơn)

- 210 vị trí nhớ có thể định vị bit

- 4μs cho hoạt động nhân hoặc chias cho hoạt động nhân hoặc chia

a – Sơ đồ khối và sơ đồ chân của AT89C51

OTHER REGISTER

128 byte RAM

128 byte RAM 8032\8052 ROM

0K:

8031\8032 4K:8951 8K:8052

TEMER1

Trang 5

Hình 1 – Sơ đồ khối của AT89C51

Hình 2 – Sơ đồ chân của AT89C51

b – Chức năng các chân của AT89C51

P0 P1 P2 P3 Address\Data TXD RXD

Trang 6

+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, port

0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sửdụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus

Hình 3 – Port 0

+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit và

byte Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2chân P1.0 và P1.1 được dùng cho bộ Timer 2

Trang 7

Hình 4 – Port 1

+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép Là

đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ

mở rộng

Hình 5 – Port 2

+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức

năng xuất nhập ra còn có một số chức năng đặc biệt sau:

Bit Tên Chức năng chuyển đổi

P3.0 RXD Dữ liệu nhận cho port nối tiếpP3.1 TXD Dữ liệu truyền cho port nối tiếp

P3.4 T0 Ngõ vào của Timer/Counter 0P3.5 T1 Ngõ vào của Timer/Counter 1P3.6 WR Xung ghi bộ nhớ dữ liệu ngoàiP3.7 RD Xung đọc bộ nhớ dữ liệu ngoài

Trang 8

Hình 6 – Port 3

+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta

phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tươngđương 2µs đối với thạch anh 12MHz

+ XTAL 1, XTAL 2: AT89C51 có một bộ dao động trên chip, nó thường được

nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thông thường là12MHz

+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc mức

thấp (GND) Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội.Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng

+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh

ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đường port 0 dùng đểxuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ

+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ

chương trình mở rộng và thường được nối với đến chân /OE (Output Enable) của

Trang 9

một EPROM để cho phép đọc các bytes mã lệnh PSEN sẽ ở mức thấp trong thờigian đọc lệnh Các mã nhị phân của chương trình được đọc từ EPROM qua Bus vàđược chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh Khi thi hànhchương trình trong ROM nội, PSEN sẽ ở mức thụ động (mức cao).

+ Vcc, GND: AT89C51 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V

được cấp qua chân 40 (Vcc) và chân 20 (GND)

3- Tổng quan và tính toán cho LED phát quang

a- Hoạt động và phân cực cho LED

LED phát quang được phát sáng khi chúng ta cấp nguồn cho nó thì nó sẽ phát sáng Có rất nhiều LED phát quang với mầu sắc, kích thước chủng loại khác nhau

Và được ứng dụng trong thắp sáng, trang trí

Bản chất của LED chính là một diode có khả năng phát sáng khi phân cực thuận Khi Led sáng thi điện áp rơi trên LED có giá trị nhỏ nhất là 0.7V và lớn nhất gần 2V tùy từng loại LED Tùy vào từng loại LED mà có giá trị dòng qua LED khác nhau để LED sáng bình thường Thông thường thì nguồn cấp cho LED 3V thì chúng ta

không cần điện trở hạn dòng nhưng đối với nhiều mạch người ta không thể dùng thêm một nguồn nữa nên người ta dùng nguồn cho LED chung với nguồn điều khiển (5V) và lắp thêm con điện trở nối tiếp cho LED Mục đích là để hạn dòng cho

Trang 10

LED không cho dòng qua LED lớn hơn giá trị định mức Nếu mà quá dòng thì LED

sẽ cháy Tính toán điện trở đó như thế nào?

b- Cách tính toán điện trở hạn dòng cho LED

Nếu chúng ta sử dụng nguồn 3V thì không cần phải điện trở mà có thể lắp trực tiếp được nhưng nếu mà cho nguồn lớn hơn 3V thì cần phải có thêm một con điện trở hạn dòng cho LED

Chúng ta áp dụng lý thuyết mạch điện vào tính toán điện trở này như sau:

Trang 11

c- Điều khiển LED với 8501

LED phát quang chúng ta chỉ cần phân cực thuận là nó sẽ sáng.Trong 8501 chỉ điều khiển được mức 1 (5V) và mức 0 (0V) nên do đó LED khi mắc vào chân của

8501 sẽ được điều khiển tắt hoặc mở tùy thuộc vào trạng thái của chân 8501 được điều khiển như thế nào? Có hai cách mắc LED và chân 8501

+ Mắc ở chế độ xả dòng

Với mắc ở chế độ này thì LED sẽ sáng rất tối vì công suất của chân 8501 rất yếu Không đủ cấp dòng cho LED sáng với chế độ định mức Nên phương pháp này sẽ làm LED sáng tối nên không hiểu quả Chân 8501 ở mức 1 thì LED sáng và mức 0 thì tắt

+ Mắc ở chế độ hút dòng

Trang 12

Mắc kiểu này thì LED sáng hết công suất Đây là phương pháp ghép trực tiếp nhưng vi xử lý nó chỉ chịu được một giá trị dòng nhất định qua nó Nếu mà quá nhiều LED ghép nối thế này thì tất cả dòng sẽ qua vi xử lý gây ra quá dòng trên vi

xử lý gây nên cháy chíp và chíp nóng không hoạt động được lâu Phương pháp nàychỉ mang tính lắp ít LED và điều khiển không đồng thời Giải pháp là gắn thêm mộttransitor đệm Đối với mắc kiểu này thì mức 1 thì LED tắt và mức 0 thì LED tắt.Điều khiển LED đơn này cũng rất là đơn giản Nó dựa vào cách ghép nối với vi xử

lý và đưa mức cần thiết ra chân vi xử lý thì LED sẽ sáng và tắt theo ý muốn của chúng ta

II- NỘI DUNG THIẾT KẾ

Mạch trái tim với 32 LED ghép nối với 8501

1- Mạch nguyên lý

Mỗi PORT của 89C52 có độ dài 8 bit, do vậy không thể truy xuất lên từng PORT một lúc được Ta chỉ có thể làm lần lượt với từng Port của 89C52 Nhưng với điều khiển LED, Thời gian thực hiên rất nhanh, và coi như thực hiện gần như cùng một lúc Sau đây mình sẽ điều khiển 32 LED được xếp thành một hình trái tim

Trang 14

Mạch nguyên lý trên là ghép trực tiếp không dùng đệm Theo nguyên tắc vẫn chạyđược nhưng không đảm bảo cho con 8501 hoạt động tốt và không bị quá dòng Nhưng với bài toán này chúng ta có thể ghép trực tiếp với LED thường và điều khiển không đồng thời Mạch vẫn chạy ổn định.

2- Thuật toán điều khiển

Việc điều khiển 32 LED đơn này cũng không khó Ta cứ cho LED này bật rồi LED kiatắt theo hiệu ứng của chúng ta Các thời điểm được tính là rất nhanh Việc chuyển

từ thời điểm này sang thời điểm kia được qua một thời gian trễ nếu cần thiết Ta chỉ cần xuất mức 0 ra chân 8501 là LED sáng và mức 1 ra chân của 8501 là LED tắt

Phần lập trình

#include<reg52.h>

#include<stdio.h>

#include<intrins.h>

unsigned int i,j;

//###### ham delay tôi thoi gian tre 0.5s ######

void delay(unsigned int ms)

Trang 19

unsigned char E[]={0x0e,0x0d,0x0b,0x07}; unsigned chare[]={0x70,0xb0,0xd0,0xe0};

unsigned char F[]={0x06,0x05,0x03}; unsigned char f[]={0x60,0x50,0xc0};unsigned char G[]={0x02,0x01}; unsigned char g[]={0x40,0x80};

Trang 20

for(i=0;i<5;i++){

P0=P1=D[i];delay(300);P2=P3=d[i];delay(300);}

for(i=0;i<4;i++){

P0=P1=E[i];delay(300);P3=P2=e[i];delay(300);}

for(i=0;i<3;i++){

P0=P1=F[i];delay(300);P3=P2=f[i];delay(300);}

for(i=0;i<2;i++){

P0=P1=G[i];

Trang 25

P0=P1=P2=P3=0x00;delay(500);

P0=P1=P2=P3=0xff;delay(500);

P0=P1=P2=P3=0x00;delay(500);

}

}

void main(void){

Trang 26

hieuung6();delay(500);

hieuung7();delay(500);

hieuung8();delay(500);

hieuung9();delay(500);

hieuung10();delay(500);

}

}

Trang 27

III- MÔ PHỎNG – SẢN PHẨM

1- Mạch in

Trang web tham khảo phần cơ sở lý thuyết : hoiquandientu.com

Ngày đăng: 01/10/2014, 18:50

HÌNH ẢNH LIÊN QUAN

Hình 1 – Sơ đồ khối của AT89C51 - Báo Cáo Lập Trình led trái tim
Hình 1 – Sơ đồ khối của AT89C51 (Trang 6)
Hình 4 – Port 1 - Báo Cáo Lập Trình led trái tim
Hình 4 – Port 1 (Trang 7)
Hình 3 – Port 0 - Báo Cáo Lập Trình led trái tim
Hình 3 – Port 0 (Trang 7)
Hình 5 – Port 2 - Báo Cáo Lập Trình led trái tim
Hình 5 – Port 2 (Trang 8)
Hình 6 – Port 3 - Báo Cáo Lập Trình led trái tim
Hình 6 – Port 3 (Trang 9)

TỪ KHÓA LIÊN QUAN

w