1. Trang chủ
  2. » Thể loại khác

www.tinhgiac.com thiet ke mo hinh bang led dien tu dung 01 led ma tran da sac

21 78 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 21
Dung lượng 2,86 MB

Nội dung

Trang 1

LỜI MỞ ĐẦU

Ngày nay bộ vi điều khiến (Micro-controller) đã rất phố biến trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển khống chế hoạt động của các thiết bị như TV, máy giặt, đầu đọc laser, điện thoại Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong 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 quan trọng Nhưng bộ vi điều khiến là øì, nó có tắc dụng và hoạt động như thế nào?

Thực ra bộ vi điều khiển (Micro-controller) là một mạch tích hợp trên

một bộ Chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ

thống 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ơ cau nao đó.Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiến Nhưng thông thường người ta thường sử dụng hai ngơn ngữ chính để lập trình là: ngơn ngữ lập trinh C va Assembly

Trong qúa trình học tập và đặc biệt được sự giúp đỡ tận tình của thay

Nguyễn Anh Dũng - Giáng viên bộ môn Vi điều khién - nhóm sinh viên

chúng tơi đã quyết định làm đồ án kết thúc môn vi điều khiến là thiết kế mạch

“Thiết kế mơ hình bảng LED điện tử dùng 01 LED ma trận đa sắc”

Nội dung đồ án gồm 2 phan:

Phân I : cơ sở lý thuyết liên quan đến nội dung đồ án

Phần II : trình tự thiết kế và hoàn chỉnh đồ án

Trang 2

Tuy đã rất cơ găng tìm hiểu,nghiên cứu và hoàn thiện bài tập lớn nhưng có thê vẫn cịn có những sai sót Chúng tơi rất mong nhận được sự góp ý của thầy giáo và các bạn để có thêm những kiến thức vững chắc trong lĩnh vực điện tử đang theo học Chắc chắn những kiến thức đó sẽ giúp chúng tôi rất nhiêu trong việc nghiên cứu học tập và công tác sau này

Xin chan thành cam on !

Gido vién huéng dan: Nguyén Anh Ding Sinh viên thựchiện : Nguyễn Đăng Kỳ

Nguyễn Thanh Tùng Phương Văn Tuấn Lớp điện tử 2 - K9

Trang 3

I CO SO LY THUYET LIEN QUAN NOI DUNG DO AN A IC 89852

1.Giới thiệu về IC 89S52:

IC 89552 là phiên bản 8051 có ROM trên chip ở dạng bộ nhớ Flash Phiên bản này là lý tưởng với những phát triên nhanh vì bộ nhớ Flash có thê xóa trong vài giây Ta gọi IC này là bộ vi điều khiến vì trong chúng chứa ROM, RAM, các công nối tiép va song song 8985 không được sử dụng trong máy tính nhưng được sử dụng rộng rãi trong công nghiệp và trong sản phẩm máy móc tiêu dùng

Cùng với ho 89852 có một số vi điều khiến khác Về cơ bản chúng đều giống nhau, chúng chỉ khác nhau ở vùng nhớ nội bao gồm vùng nhớ mã lệnh, vùng nhớ dữ liệu và một số Timer Sự khác nhau đó được mô tả bằng bảng

dưới đây:

Vi điều khiển Vùng mã lệnh nội | Vùng dữ liệu nội Số Timer

8051 4K ROM 128 bytes 2 8031 OK 128 bytes 2 8751 4K EPROM 128 bytes 2 8052 8K ROM 256 bytes 3 8032 0K 256 bytes 3 8732 4K EPROM 256 bytes 3

Trang 4

Bảng 1 Giới thiệu một số IC họ 8951 2.Cau truc cia IC 89852:

Trung tâm của 89S52 vẫn là vi xử lý trung tam (CPU) Dé kích thích

cho tồn bộ hệ thống hoạt động, 89S52 có bộ tạo dao động nội với thạch anh được ghép từ bên ngoài với tần số khoảng từ vài Mhz đến 24 Mhz Liên kết các phần tử với nhau là hệ thống BUS nội, gồm có BUS dữ liệu, BUS địa chỉ

và BUS điều khiển 89S52 có 8K ROM, 256 bytes RAM và một số thanh ghi

bộ nhớ Nó giao tiếp với bên ngoài qua 3 công song song và một cơng nối

tiếp có thể thu, phát dữ liệu nối tiếp với tốc độ lập trình được Hai bộ định

thời 16 bit cla 89852 cịn có 2 ngắt ngồi cho phép nó đáp ứng và xử lý điều kiện bên ngoài theo cách ngắt quãng, rất hiệu quả trong các ứng dụng điều khiển Thông qua các chân điều khiển và các cổng song song 89S52 có thê mở rộng bộ nhớ ngoài lên đến 64Kbs dữ liệu

Sau đây là sơ đồ khói vi điều khiển:

Trang 5

"= - INT! * —— INTO *

spina Timer 2 (8032/8052) ow= =} = TIRX* ' Timer | jot ccm a TT ~~ Ỳ ¬

‘ Timer 0 1 l28bytes a! \ Timer 2 - - T2

' sites ain ` RAM k ROM (8032/8052) |

i

Y L (8032/8052) | 5 OK ~ 8031/8032! Timer 1 TI"

14K - 80!

Interrupt Other 128 bytes 1 = = oe : :

control registers RAM 1 : Timer 0 To*

— Gate Sử ta i Ltt i ys

Oscillator Bus contro! r> 1/0 pons a

TL pH m-| | >az J LJ b4 b4 RST 3 PSEN v / — c— PO P2 PI TXD° RXD” tT _L Address/data nara

—_ _= “Aliemate pin assignments for PI and P3

Hình 1 Sơ đồ khối Vi điều khiến họ 89S52

3 Sơ lược về các chân IC 89S52:

IC 89852 có 40 chân Có đến 32 chân làm nhiệm vụ xuất nhập, truyền dữ liệu Các chân phục vụ ngắt, các chân Timer, trong đó 24 chân làm 2

nhiệm vụ khác nhau Mỗi chân có thể là đường xuất nhập, đường điều khiến

hoặc là một phân của địa chỉ hay đữ liệu Thiết kế thường có bộ nhớ ngồi

hay các thiết bị ngoại vi sử dụng những Port để xuất nhập dữ liệu Tám đường trong mỗi Port được sử dụng như một dơn vị giao tiếp song song như máy in,

Trang 6

bộ biến đôi tương tự số Hoặc mỗi đường cũng có thê hoạt động độc lập trong giao tiếp với các thiết bị đơn bit khác như: transistor, LED, switch

Sau đây là hình dạng sơ đồ của IC 89S52:

U1 +9 _ÈXTALi P0.0/ADO = PO.1/AD1 - PO.2/AD2 |-=" -9_—ÌxTAL2 P0.3/AD3 => P0.4/AD4 => P0.5/AD5 —2 n P0.6/AD6 —— ——| RST P0.7/AD7 |—^ P2.0/A8 — P2.1/A9 Se : P2.2/A10 CC <=—lPsm P23/A11 —“ | ALE P24/A12 | ce P2.5/A13 FS P2.6/A14 Po P2.7/A15 — P1.0/T2 P3.0/RXD —— —2—] P1.1/T2EX P3.1/TXD |—— — P12 P3.2/INT0 |—T< ——| P12 P3.3/NT1 | = P1.4 P3.4/T0 <5 S| P15 P3.5/T1 | T5 = P1.6 P3.6AVR T7 | p17 P3.7RD Wo AT89C52 Hình 2 Hình dạng sơ đồ IC 89S52

Trang 7

4 Chức năng các chân IC §9S52:

Sau đây là phần giới thiệu chức năng các chân, các Port tương ứng, chân PSEN, chan ALE, chan REST

a Port 0

Port 0 là công song song dung cho 2 mục đích, nó là các chân từ 32 Trong những thiết kế nhỏ nó được dùng trong các cơng xuất nhập bình

thường Ở những thiết kế có sử dụng bộ nhớ ngoài, nó vừa là Bus đữ liệu vừa

là bytes thấp của Bus địa chỉ Nó còn được dùng chứa những bytes mã khi nạp ROM nội

b Port 1

Port 1 dành cho công xuất nhập và chỉ dành cho mục đích này mà thơi Nó dùng để giao tiếp với các thiết bị ngoại vi theo từng bit hoặc bytes Port 1

chiếm các chân từ 1 đến 8 c Port 2

Port 2 (chan 21+ 28) la Port có 2 chưc năng Ngồi mục đích dành cho xuất nhập thông thường nó cịn dùng làm bytes cao cho các địa chỉ bộ nhớ ngoài

d PSEN (cho phép nạp chương trình)

89852 có 4 chân tín hiệu điều khiến PSENT là tín hiệu điều khiến

được xuất ra ở chân 29 Tín hiệu điều khiến này cho phép lập trình ở bộ nhớ ngồi và thường được nối với các chân OE của EPROM để đọc mã lệnh từ bộ

nhớ ngoài vào thanh ghi đệm của 89S52 Nó xuống mức thấp nhất trong khi

đọc lệnh Mã lệnh đọc từ EPROM, qua Bus dữ liệu, được chốt vào thanh ghi của 89552 Khi thi hành chương trình từ ROM nội PSEN được giữ ở mức cao (trạng thái không tác động)

e EA (truy xuất vùng nhớ ngoài)

Trang 8

EA là một tín hiệu vào có thê ở mức cao hay thấp Nếu ở mức cao

89852 thi hanh chương trình ở ROM nội, 4K/8K chương trình Nếu ở mức

thấp, chương trình chỉ được thi hành ở bộ nhớ ngoài Đối với 80431/ 8231 EA phải được giữ ở mức thấp vì chúng khơng có ROM nội EA cũng chính là chân nhận điện áp mức cao dé nạp EPROM nội

f ALE ( cho phép chốt địa chỉ)

ALE là tín hiệu được xuất ra ở chân 20, rất quen thuộc với những ai đã

tung lam viéc voi vi xt ly 8085, 8086 cua Intel 89852 ding ALE dé phân

kênh cho từng Bus địa chỉ và Bus dữ liệu Khi Port 0 được dùng làm Bus dữ liệu và bytes thấp của Bus địa chỉ - ALE là tín hiệu dùng để chốt địa chỉ vào thanh ghi chốt bên ngoài trong nửa đầu của một chu kỳ máy Sau dé Port 0

sẵn sàng để truy xuất đữ liệu trong nửa chu kỳ còn lại

Xung ALE có tần số bằng 1/6 lần tần số bộ dao động nội và có thể

dùng như một xung clock cho mục đích nào đó khi hệ thống khơng làm việc

Nếu tần số của 89S52 là 12MHz thì tần số xung ALE là 2MHz Một xung

ALE bị mắt khi có một lệnh MOVX được thi hành

g Ngõ vào dao động nội

Ngõ vào đao động nội được mô tả như dưới hình hai, có một thạch anh

được nối vào chân 19 (XTALI) và 18 (XTAL2) Có thể mắc thêm tụ dé én

định dao động Thạch anh 12MHz thường dùng cho ho IC MCs-51, tri IC

80C31BH co thê dùng thạch anh lên đến 16MHz Tuy nhiên, không nhất thiết

phải dùng thạch anh mà ta có thể dùng mạch dao động TTL tạo xung Clock đưa vào chân XTALI và lẫy đảo của nó đưa vào XTAL2

h RST (RESET)

Ngõ vào chân RST (chân 19) là chân master reset của 89552 Khi nó ở mức cao nhất (trong khoảng ít nhất 2 chu kỳ máy ) các thanh ghi nội được nạp với giá trị tương ứng theo thứ tự khởi động hệ thống

Trang 9

¡ Nguồn cung cap

89852 sử dụng nguồn cung cấp Vcc=5V được cấp vào chân 40,GND được nồi vào chân 20

Bit Tên Chức năng

P3.0 RXD Nhận dữ liệu

P3.1 TXD Phát dữ liệu

P3.2 INT0 Ngắt ngoài 0

P3.3 INT1 Ngat ngoai 1

P3.4 T0 Ngõ vào T1mer/couter 0

P3.5 T1 Ngõ vào Timer/ couter Ì

P3.6 W/R Đọc dữ liệu từ bộ nhớ ngoài

P3.7 RD Đọc đữ liệu vào bộ nhớ ngoài

P1.0 T2 Ngo vao cua Timer/ couter

P1.1 T2EX

Bảng 2 Giới thiệu một số chân IC họ 8951 5 Các thanh ghỉ có chức năng đặc biệt

Các thanh ghi nội của 89S52 chiếm một phần của vùng nhớ nội, vì vậy

mỗi thanh ghi đều có một địa chỉ Các thanh ghi chức năng (FSRs) trong vùng nhớ cao từ 80H đến FFH Lưu ý có một số bytes trong vùng này không được định nghĩa Chỉ có 21 địa chỉ thanh ghi chức năng được định nghĩa (26 địa chỉ

đối với 8052/8032)

Trang 10

Các thanh ghỉ chương trình Thanh ghi B

Ss

Ff

Con tré ngan sap xép

a

©

Con trỏ dữ liệu Cac thanh ghi Port

Cac thanh ghi bo dinh thoi

-

©

Các thanh ghi công nối tiếp Các thanh ghi ngắt

Thanh ghi PCON

4

bule «

6 Bộ nhớ ngồi

Mở rộng bộ nhớ là một khả năng quan trọng đói với vi điều khiên nhằm tránh gặp bề tắc trong vấn đề thiết kế Họ MCs-51 có thê mở rộng 64Kbs va bộ nhớ mã lệnh 64Kbs dữ liệu Các IC giao tiếp ngoại vi cũng có thê thêm vào để tăng năng xuất nhập

Các chân cho phép giao tiếp với bộ nhớ ngoài RD, WR, PSEN, OE B Ma tran LED 8x8

Ma tran LED 8x8 1 linh kién hién thi duoc dung rat rộng rãi trong thực tế.Có hai loại ma trận LED 8x8 là ma tran LED don sac va ma tran LED da sắc

Mot ma tran LED 8x8 don sac bao gồm 64 LED được bố trí thành 8 hàng x 8 cột, trong đó các anốt cửa 8 LED trong cùng một hàng được nối với nhau để tạo thành một đường dây hàng và các katốt cửa 8 LED trong cùng một cột được nối với nhau để tạo thành một đường dây cột Như vậy một ma trận LED 8x8 đơn sắc có tám đường dây hàng và tám đường dây cột, muốn 1

Trang 11

LED trong ma trận sáng ta cần cấp nguồn cho LED và đường dây hàng và đường dây cột tương ứng với LED đó

Một ma trận LED 8x8 đa sắc bao gồm 64 điểm sáng được bố trí thanh 8 hang x 8 cột trong đó mỗi điểm sáng có thể gom 1 LED mau xanh lục + 1 LED màu đỏ hoặc ILED màu xanh lục + 1 LED màu xanh lơ + 1 LED màu đỏ hoặc 1 LED màu xanh lục + 1 LED màu xanh lơ + 2 LED màu đỏ

Với loại LED ma trận mà mỗi điểm sáng gồm 1 LED màu xanh lục + 1

LED màu đỏ thì điểm sang hiển thị màu xanh nễu LED đỏ tắt, màu đỏ nếu LED mau xanh tắt, màu vàng nếu cả 2 LED sáng và tắt nếu cá 2 LED cùng tắt trong cùng 1 hàng, các Katot của các LED màu xanh được nối với nhau đê tạo thành 1 đường dây hàng thứ nhất và các Katot của các LED màu đỏ được

nối với nhau để tạo thành 1 đường dây hàng thứ 2 Các Anot của 16 LED

trong cùng 1 cột được nối với nhau để tạo thành 1 đường dây cột Như vậy 1 LED trong ma trận sáng ta cần cấp nguồn cho LED vào đường dây hàng và đường dây cột tương ứng với LED đó

Trang 12

II TRÌNH TỰ THIẾT KẾ VÀ HOÀN CHỈNH ĐỎ ÁN

1 Lập trình

lập trình cho IC 89S52 bằng ngôn ngữ C và viết trên phần mềm KeilC Version 3

Sau đây là tồn bộ chương trình viét bang C dugc nap vao IC #include<reg52.h>

#include<stdio.h> unsigned char

mangcot[8]E{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x§0); unsigned int m,n,z,k;

unsigned char congtac; void delay(unsigned int t)

{ unsigned int 1; for(i=0;i<=t;i++); } void xoa(void) { P0=0x00; }

void chaychul (void)

{

unsigned char mangchu1[83]={OxFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x07,0xEB,0xED,0xEB,0x07,0xFF, //chu A 0x01,0x6D,0x6D,0x6D,0x93,0xFF, //chuB 0x83,0x7D,0x7D,0x7D,0xBB,OxFF, //chu C 0x01,0x7D,0x7D,0x7D,0x83,0xFF, //chu D 0x01,0x6D,0x6D,0x6D,0x6D,0xFF, //chuE 0x01,0xED,0xED,0xED,0xED,0xFF, //chu F 0x83,0x7D,0x7D,0x5D,0x9B,OxFF, //chu G 0x01,0xEF,0xEF,0xEF,0x01,0xFF, //chuH 0x7D,0x01,0x7D,0xFF, //chu I 0xBF,0x7D,0x81,0xFD,0xFF, //chu J 0x01,0xEF,0xD7,0xBB,0x7D,0xFF, //chu K 0x01,0x7F,0x7F,0x7F,0xFF, //chu L 0x01,0xFB,0xF7,0xFB,0x01,0xFF, //chuM OxFF,OxFF};

Trang 13

z=0; while(z<=73) { for(m=1;m<=12;m++) { for(n=z;n<=7+z;n++) { P0=mangcot[n-z]; if(congtac==1) { P2=mangchul [n]; P1=0xFFE; } else if(congtac==2) { P1=mangchul[n]; P2=0xFF; } else if(congtac==3) { P1=P2=mangchul [n]; j delay(200); xoa(); ++zZ; } } void chaychu2(void) {

unsigned char mangchu2[86]={0x01,0xFB,0xF7,0xFB,0x01,0xFF, 0x01,0xF7,0xEF,0xDF,0x01,0xFF, //chuN 0x83,0x7D,0x7D,0x7D,0x83,0xFF, //chu O 0x01,0xED,0xED,0xED,0xF3,0xFF, //chu P 0x83,0x7D,0x5D,0xBD,0x43,0xFF, //chu Q 0x01,0xED,0xCD,0xAD,0x73,0xFF, //chu R 0xB3,0x6D,0x6D,0x6D,0x9B,OxFF, //chuS 0xFD,0xFD,0x01,0xFD,0xFD,OxFF, //chu T 0x81,0x7F,0x7F,0x7F,0x81,0xFF, //chuU

Trang 14

0xC1,0xBF,0x7F,0xBF,0xC1,0xFF, //chu V 0x81,0x7F,0x8F,0x7F,0x81,0xFF, //chu W 0x39,0xD7,0xEF,0xD7,0x39,0xFF, //chu X 0xF9,0xF7,0x0F,0xF7,0xF9,0xFEF, //chu Y 0x3D,0x5D,0x6D,0x75,0x79,OxFF, /chu Z OxFF,OxFF}; z=0; while(z<=78) { for(m=1;m<=12;m++) { for(n=z;n<=7+z;n++) { P0=mangcot[n-z]; if(congtac==1) { P2=mangchu2[n]; PI=0xFFE; } else if(congtac==2) { P1=mangchu2[n]; P2=0xFF; } else if(congtac==3) { P1=P2=mangchu2[n]; 7 delay(200); xoa(); } } TTZ; } } void chayso(void) {

unsigned char mangso[73 |={0x3D,0x5D,0x6D,0x75,0x79,0xFF,

0x83,0x7D,0x7D,0x7D,0x83,0xFF,

Trường ĐHCN Hà Nội - 14 -

//so 0

Trang 17

} delay(200); xoaQ; ++Z; } } void main(void) { congtac=1; IE=0x85; ITO=1; IT1=1; k=1; while(1) { if(k==1) { chaychulQ; chaychu2(); chayso(); } if(k==2) { chaychuQ; } } }

void ngatngoai0(void) interrupt 0

{ if (congtac<3) congtac++; else congtac=1; }

void ngatngoail (void) interrupt 2

{

if (k<2)

k++ ;

Trang 18

else

k=1;

j

2 Mô phỏng

Sau khi lập trình xong để kiêm tra xem chương trình của mình chạy đã chính xác chưa chúng tôi tiến hành mô phỏng mạch điện trên phan mém Proteus version 7.5 SP3

PHI»2.nn POD PO 2602 PIen3 EH.tan+ PIXns PEH#&De PHL7ADT P2008 B2.103 B2 2.11 P2311 F212 P2513 B2B1+ B217/A15

Hình 8 mạch điện mơ phông

3 Test mạch trên bo đồng và vẽ sơ đồ nguyên lý

Sau khi đã kiểm tra thấy lập trình và mơ phỏng chính xác chúng tôi tiễn

hành mua linh kiện về cắm trên bo đồng để kiểm tra trên thực tế mạch có

chạy chính xác giỗng mơ phỏng hay khơng vì trong mơ phỏng chúng ta ln có mọi yếu tố là lý tưởng nhưng trên thực tế có rất nhiều yếu tố tạo nên sai số

cho một mạch điện Ngoài ra mạch điện còn kèm theo một mạch phát xung

Trang 19

555 nhằm tạo ra 3 dai tần khác nhau theo yêu cầu đề bài giúp mọi người có thê trực tiếp kiêm tra mạch mà không cần thiết bị tạo tần số ngoài Khi cắm trên bo chúng ta sẽ nhìn thay mach dién chay giống như mạch điện hoàn chỉnh Khi nhận thấy mọi thứ đều tốt chúng tôi tiến hành vẽ mạch nguyên lý

trên Orcad 9.2 ö 9 x Nee ee ew wora oe x8 món £ wora oe o4a00408408686 m8 nm Z o 6 8© 89 © @ nm RR @ rx RESISTOR SIP 9

erdeteen cone OER siacicci coi siaieleieieialei faanooan GA AAQ GA

t+ = xe n aN

Sb Pageress

Beer resiisiz| | wep aoyveen? BBR BEBBSE

Hình 9 Sơ đồ nguyên lý mạch điện

Trang 20

4 Vẽ mạch in và tiến hành làm mạch

Sau khi vẽ xong mạch nguyên lý, chuyên sang vẽ luôn mạch in trên phần mềm Orcad 9.2 cv ;TH - ¥H tHN3 WửđM WA Od MACHH UdId = om = +~ m =r = = ta oa = = = r1 HAUT - Hình 10 Mạch in của mạch điện

Trang 21

MỤC LỤC

8.) eee ceccecccccceceneeceececsensenteeeeeceeeenteannees Trang 1

I Cơ sở lý thuyết liên quan nội dung đồ án - - - - Trang 3

A IC 89552 Trang 3

B Ma tran LED 8x8 Trang 10

I Trình tự thiết kế và hoàn chỉnh đồ án - - Trang 12

1 Lập trình Trang 12

2 Mô phỏng Trang 18

3 Test mạch trên bo đồng và vẽ sơ đồ nguyên lý Trang 18

4 Vẽ mạch in và tiễn hành làm mạch Trang 20

Ngày đăng: 02/12/2017, 18:03

w