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

đồ án xây dựng một bộ mã font để có thể hiển thị được các chữ có dấu bất kì với ba màu xanh, đỏ, vàng

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 (436.98 KB, 25 trang )

Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Đồ án: Xây dựng một
bộ mã font để có thể
hiển thị được các chữ
có dấu bất kì với ba
màu xanh, đỏ, vàng
GVHD: SVTH: Hồng – Hải -
Diên
1
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
MỤC LỤC
Đồ án: Xây dựng một bộ mã font để có thể hiển thị được các chữ có dấu bất kì với ba
màu xanh, đỏ, vàng 1
MỤC LỤC 2
GVHD: SVTH: Hồng – Hải -
Diên
2
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Lời nói đầu.
Hiện nay nước ta đang trong thời kì công nghiệp hóa hiện đại hoa nên
nhu cầu về thông tin cuộc sống hằng ngày cũng như các hoạt động chính trị,
kinh tế , văn hóa …là rất cần thiết.
Để đáp ứng nhu cầu trên thì một hình thức quảng cáo mới ra đời.Đó
chính là hình thưc quảng cáo bằng “ bảng đèn quang báo” nhờ ứng dụng của
vi điều khiển.
Bảng đèn quang báo gồm nhiều ma trận led ghép lại với nhau. Mỗi ma
trận led hiển thị một kí tự. Tùy theo chiều dài bảng đèn mà ta hiển thị những
bảng tin có độ dài ngắn khác nhau. Các chữ trong bảng tin sẽ được hiển thị


lần lượt từ trái qua phải cho tới khi nào đến kí tự cuối cùng thì nó sẽ lặp lại
từ đầu và quá trình đó được lặp lại mãi.
Thấy được tầm quan trọng của Vi Điều Khiển nên chúng em có tìm
hiểu đề tài “ Xây dựng một bộ mã font để có thể hiển thị được các chữ có
dấu bất kì với ba màu xanh, đỏ, vàng ”.
Đề tài của chúng em gồm 3 phần:
Phần I: Cơ sở lý thuyết.
Phần II: Nội dung thiết kế.
Phần III: Ưu nhược điểm.
Trong quá trình thực hiện đề tài do lượng kiến thức còn hạn chế nên
chúng em không tránh khỏi những thiếu sót. Chúng em rất mong thầy cô
đóng góp ý kiến để chúng em có thể ứng dụng đề tài vào thực tế.
Chúng em xin chân thành cảm ơn Thầy Cô!
GVHD: SVTH: Hồng – Hải -
Diên
3
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Phần I: Cơ sở lý thyết.
1.1 Giới thiệu chung về AT89S52.

Dựa trên nguyên tắc quét ảnh màn hình ta có thể thực hiện việc hiển thị
các kí tự trên ma trận led bằng cách quét theo hang và quét theo cột. Mỗi led
trên ma trận led được coi là một điểm ảnh. Địa chỉ của mỗi điểm ảnh này
được xác định đồng thời bởi mạch giải mã hàng và giải mã cột. Trạng thái
của các điểm ảnh được xác định nhờ dữ liệu đưa ra từ bộ vi điều khiển
AT89S52.
AT89S52 có 8 kb Flash ROM trên chip, khi chân /EA đặt ở mức logic
cao (+5v) thì VĐK sẽ thực hiện chương trình bộ nhớ trong. Khi /EA đặt ở
mức logic thấp ( 0v) thì VDK thực hiện chương trình ở bộ nhớ ngoài ,

AT89S52 có 256 bytes RAM nội, 32 bytes thấp của bộ nhớ nội dùng cho các
thanh ghi, 128 bit có chứa các byte định địa chỉ theo bit từ 20H đến 2FH.
AT89S52 có chứa 3 bộ đếm /định thời (timer/counter) 16 bit được
dùng cho việc định thời hoặc đếm sự kiện.
AT89S52 chứa 1 port nối tiếp phục vụ cho việc trao đổi thông tin với
các thiết bị có khả năng giao tiếp nối tiếp như máy tính( qua cổng COM)…
AT89S52 có chứa 6 nguồn ngắt, 2 mức ưu tiên,1 bộ giao động trên
chip, nó thường được nối với bộ giao động thạch anh có tần số lớn nhất là
33MHz, thông thường là 12 MHz.
AT89S52 dùng nguồn 1 chiều có dải điện áp từ 4v -5,5v được cấp qua
chân 40 và chân 20.
GVHD: SVTH: Hồng – Hải -
Diên
4
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
1.2. Sơ đồ khối và chức năng các khối của 8052.
Bộ vi điều khiển AT89S52 gồm các khối chức năng sau đây:
+ CPU( Central Processing unit ) bao gồm:
- Thanh ghi tích lũy A
- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia.
- Đơn vị logic học ALU( Arithmetic Logical Unit).
- Thanh ghi từ trạng thái chương trình ( PSW: Program Sttatus
Worl)
- Bốn băng thanh ghi.
- Con trỏ ngăn xếp.
+ Bộ nhớ chương trình( bộ nhớ ROM) gồm 8 Kb Flash.
GVHD: SVTH: Hồng – Hải -
Diên
5

Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
+ Bộ nhớ dữ liệu ( Bộ nhớ RAM ) gồm 256 Bytes.
Bộ UART ( Universal Ansynchrous Receiver and Transmitter) có
chức năng truyền nhận nối tiếp, AT89S52 có thể giao tiếp với cổng nối
tiếp của máy tính thông qua bộ UART.
+ Ba bộ timer/count 16 bit: thực hiện các chức năng định thời và đếm sự
kiện.
+ WDM ( Watch Dog Timer ) : được dùng để phục hồi lại hoạt động của
CPU khi nó bị treo bởi một nguyên nhân nào đó.
+ Khối diều khiển ngắt : với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.
+ Bộ lập trình ( ghi chương trình lên flash ROM ): cho phép người sử
dụng có thể nạp chương trình cho chip mà không cần bộ nạp chuyên
dụng.
+ Bộ chia tần: với hệ số chia là 12.
+ Bốn cổng xuất nhập: với 32 chân.
1.3. Sơ đồ chân và chứa năng các chân của AT89S52.
GVHD: SVTH: Hồng – Hải -
Diên
6
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
1.3.1. Port 0( P0.0-P0.7).
Port 0 gồm 8 chân , ngoài chức năng xuất nhập 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
8051 giao tiếp với thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch
PIO…
1.3.2. Port 1( P1.0-P1.7).
GVHD: SVTH: Hồng – Hải -
Diên

7
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất nhập,
cũng như các Port khác Port 1 có thể xuất nhập theo bit và theo byte.
Riêng dòng 89xx, ba chân P1.5,P1.6,P1.7 được dung để nạp ROM theo
chuẩn ISP; hai chân P1.0 và P1.1 được dùng cho bộ timer.
1.3.3. Port 2( P2.0-P2.7).
Port 2 ngoài chức năng là cổng vào / ra nhủ Port 0 và Port 1 còn là byte
cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
1.3.4. Port 3( P3.0-P3.7).
GVHD: SVTH: Hồng – Hải -
Diên
8
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng
riêng cụ thể như sau:
Bit
P3.0
P3.0
P3.0
P3.0
P3.0
P3.0
P3.0
P3.0
Tên
RXD
TXD

INT0
INT1
T0
T1
/WR
/RD
Chức năng
Dữ liệu nhận cho Port nối tiếp.
Dữ liệu truyền cho Port nối tiếp.
Ngắt bên ngoài 0.
Ngắt bên ngoài 1.
Ngõ vào của Timer/count 0.
Ngõ vào của Timer/count 1.
Xung ghi bộ nhớ dữ liệu ngoài.
Xung đọc bộ nhớ dữ liệu ngoài.
1.3.5. Chân /PSEN( Program Store Enable)
/PSEN là chân điều khiển đọc chương trình bộ nhớ ngoài, nó được nối
với chân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài. /PSEN sẽ
ở mức thấp trong thời gian đọc mã lệnh. Mã lệnh được đọc từ bộ nhớ ngoài
qua bus dữ liệu (Port 0) thanh ghi lệnh để được giải mã.
Khi thực hiện chương trình trong ROM nội thi /PSEN ở mức cao.
1.3.6. Chân ALE ( Address Latch Emable).
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao
động của vi điều khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt
bên ngoài như 74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa
chỉ /dữ liệu( Port0).
1.3.7. Chân /EA( External Access).
Tín hiệu /AE cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay
ngoài vi điều khiển. Nếu /AE ở mức cao( nối với Vcc) thì vi điều khiển thi
hành trong ROM nội. Nếu /AE ở mức thấp( nối với GND ) thì vi điều khiển

thục hiện chương trình từ bộ nhớ ngoài.
GVHD: SVTH: Hồng – Hải -
Diên
9
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
1.3.8. RST( Reset).
Ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín hiệu này được
đưa lên mức cao ( trong ít nhất 2 chu kì máy) , các thanh ghi trong bộ vi diều
khiển được tải những giá trị thích hợp để khởi đọng hệ thống.
1.3.9. XTAL1, XTAL2.
AT89S52 có một bộ dao động trên chip, nó thường được nối với bộ
dao đọng thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.
1.3.10. Vcc,GND.
AT89S52 dùng nguồn một chiều có dải điện áp từ 4V đến 5.5 V được
cấp qua chân 40 và 20.
1.4. Mạch tạo dao động và Reset.
1.4.1 Mạch tạo dao động.
AT89S52 có một bộ chia tần bên trong chip , bộ này sẽ cấp xung clock
cho các khối trên chip từ nguồn dao động bên ngoài qua 2 chân XTAL1 và
XTAL2 .
Bộ chia tần có thể hoạy động ở hai chế độ :
Chế độ X1: ( chế độ mặc định).
Ở chế độ này tần số thạch anh được chia 12 lần, nghĩa là một lệnh được
thực hiện trong một chu kì máy và tần số thạch anh là 12 MHz thì thời gian
thực hiện lệnh đó sẽ là 12 (us).
Chế độ X2:
Ở chế độ này tần số thạch anh được chia 6 lần , chế độ nay được dặt
bằng cách đặt các bit ở thanh ghi CLKCON0 và thanh ghi CLKCON1.
GVHD: SVTH: Hồng – Hải -

Diên
10
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Thanh ghi CLKCON0:

7 6 5 4 3 2 1 0
CANX2 WDX2 PCAX2 SIX2 T2X2 T1X2 T0X2 X2
Bit
CLKCON07
CLKKCON06
CLKCON05
CLKCON04
CLKCON03
CLKCON02
CLKCON01
CLKCON00
Ký hiệu
CANX2
WDX2
PCAX2
SIX2
T2X2
T1X2
T0X2
X2
Mô tả
Cho phép đặt hệ số chia cho watchdog
Timer:
0: Hệ số chia là 6.

1: Hệ số chia là 12.
Cho phép đặt hệ số chia Port nối tiếp ( mode
0 và mode 2):
0: Hệ số chia là 6.
1: Hệ số chia là 12.
Cho phép đặt hệ số chia cho Timer 2:
0: Hệ số chia là 6.
1: Hệ số chia là 12.
Cho phép đặt hệ số chia cho Timer 1:
0: Hệ số chia là 6.
1: Hệ số chia là 12
Cho phép đặt hệ số chia cho Timer 0:
0: Hệ số chia là 6.
1: Hệ số chia là 12
Cho phép đặt hệ số chia cho CPU:
0: Hệ số chia là 12(chế độ X1).
1: Hệ số chia là 6(chế độ X2).
GVHD: SVTH: Hồng – Hải -
Diên
11
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Thanh ghi CLKCON1:
x x x x x x x SPIX2
Bit
CLKCON00
Ký hiệu
X
SPIX2
Mô tả

Không sử dụng
Cho phép đặt hệ số chia cho tần số xung
clock khi truy xuất ngoại vi:
0: Hệ số chia là 12(chế độ X1).
1: Hệ số chia là 6(chế độ X2).
1.4.2 Mạch reset.

Có 4 cách để reset AT89S52 lần lượt là: reset khi cấp nguồn, reset bởi
WDT, reset bằng phần mềm, reset bằng mạch ngoài qua chân RST.
Trong một hệ thống gồm nhiều vi mạch khả trình thì một mạch reset
tích hợp cả 2 cách reset khi bật nguồn và reset bởi mạch ngoài thường được
sử dụng
GVHD: SVTH: Hồng – Hải -
Diên
12
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Phần 2: Nội dung thiết kế.
2.1. Thiết kế mô hình bảng LED điện tử dùng 01 ma trận
LED đa sắc.
Yêu cầu:
- Mạch điện tử được thiets kế trên máy tính bằng phần mềm chuyên dụng.
- Xây dựng bộ mã font gồm 26 chữ cái không dấu( A-Z) và 10 chữ số (0-9).
- Hệ thống hiển thị lần lượt từng chữ cái và chữ số với 3 màu xanh, đỏ ,
vàng.
2.2. Sơ đồ khối

- AT89S52 : là bộ VĐK có nhiệm vụ đưa tín hiệu ra điều khiển ma trận LED
hoạt động.
- Mạch giải mã : có nhiệm vụ giải mã tín hiệu lấy ra từ VĐK.

- Bộ đệm : có nhiệm vụ lấy tín hiệu được giải mã đưa lên ma trận LED.
2.3. Cách quét LED.
Tại một thời điểm thì chỉ có trạng thái của một điểm ảnh được xác
định. Để xác định các trạng thái và địa chỉ điểm ảnh tiếp theo thì các điểm
ảnh còn lại sẽ chuyển về trạng thái tắt( led đang sáng sẽ chuyển về trạng thái
tắt dần ). Vì thế hiện thị được toàn bộ hình ảnh của ma trận led ta có thể quét
ma trận led nhiều lần với tốc độ quét rất lớn( lớn hơn nhiều lần thời gian kịp
tắt của đèn).
GVHD: SVTH: Hồng – Hải -
Diên
13
AT89S52
Mạch Giải Mã
Hàng
Mạch Giải Mã
Cột
Bộ Đệm
Bộ Đệm
Ma Trận
LED
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Mắt người chỉ nhận biết được tối đa 24 hình/s. Do đó nếu tốc độ quét
rất lớn thì sẽ không nhận ra được sự thay đổi của đèn mà sẽ thấy được toàn
bộ hình ảnh càn hiển thị.
Để thực hiện việc đó ta thiết kế ma trận led như sau:
Sở đồ nguyên lý của ma trận led 8x8.
Các led trên cùng một hàng được nối chân dương với nhau.
Các led trên cùng một cột được nối chân âm với nhau.
Trạng thái của mỗi led được quyết định bởi tín hiệu điện áp 5v đưa vào

đòng thời cả 2 chân.
VD : Để led sáng thì điện áp 5v phải đưa vào chân dương còn chân âm
nối mass. Led tắt thì không có điện áp nối vào chân dương.
GVHD: SVTH: Hồng – Hải -
Diên
14
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
2.4. Sơ đồ nguyên lý.
* Nguyên lý hoạt động.
Trong khi bộ giải mã cột chọn hang thứ nhất thì bộ giải mã hàng sẽ
quét lần lượt hết 8 hàng của từng màu một, dữ liệu được đưa vào sẽ xác định
trạng thái của tất cả các hàng ở cột 1.
Tiếp tục quét cột thứ 2 bộ giải mã hàng lại đưa dữ liệu vào lần lượt hết
8 hàng của mỗi màu và quyết định trạng thái của tất cả các đèn ở cột 2.
Quá trình cứ như vậy cho tới khi quét hết 8 cột của mỗi màu.
GVHD: SVTH: Hồng – Hải -
Diên
15
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
2.5. Sơ đồ mạch in.
2.6. Chương trình điều khiển cho AT89S52.
#include<regx52.h>
#include<stdio.h>
void delay(unsigned int t)
{
unsigned int i;
unsigned char j;
for(i=1; i<=t; i++)

j++;
}
// mang cac hang, du lieu muc thap
unsigned char code cot[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
//mang cot, du lieu ra muc thap
//mang 26 chu cai va 10 chu so
unsigned char code hang[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // xoa ma tran
0X03,0X01,0XEE,0XEE,0X01,0X03,0XFF,0XFF,//A
GVHD: SVTH: Hồng – Hải -
Diên
16
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.

0X00,0X00,0X76,0X76,0X76,0X89,0XFF,0XFF,//B

0X81,0X00,0X7e,0X7E,0X3C,0XBD,0XFF,0XFF,//C

0x00,0x00,0x7E,0X7E,0X81,0XC3,0XFF,0XFF,//D

0X00,0X00,0X66,0X66,0X66,0X66,0XFF,0XFF,//E

0X00,0X00,0XE6,0XE6,0XE6,0XFE,0XFF,0XFF,//F

0X81,0X00,0X7E,0X5E,0X18,0X19,0XFF,0XFF,//G

0X00,0X00,0XEF,0XEF,0X00,0X00,0XFF,0XFF,//H

0X7E,0X7E,0X00,0X00,0X7E,0X7E,0XFF,0XFF,//I


0X3E,0X7E,0X00,0X80,0XFE,0XFE,0XFF,0XFF,//J

0X00,0X00,0XE3,0XC9,0X9C,0X3E,0XFF,0XFF,//K

0X00,0X00,0X7F,0X7F,0X7F,0X3F,0XFF,0XFF,//L

0X00,0X01,0XFB,0XFB,0X01,0X00,0XFF,0XFF,//M

0X00,0X01,0XE7,0XCF,0X80,0X00,0XFF,0XFF,//N

0X81,0X00,0X7E,0X7E,0X00,0X81,0XFF,0XFF,//O

0X00,0X00,0XF6,0XF6,0XF0,0XF9,0XFF,0XFF,//P

0X81,0X00,0X5E,0X3E,0X00,0X81,0X7F,0XFF,//Q

0X00,0X00,0XE6,0XC6,0X90,0X39,0XFF,0XFF,//R

0XB9,0X70,0X66,0X66,0X0D,0X9F,0XFF,0XFF,//S

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,//T

0X80,0X00,0X7F,0X7F,0X00,0X80,0XFF,0XFF,//U

0XF0,0XC0,0X3F,0X3F,0XC0,0XF0,0XFF,0XFF,//V

0X80,0X3F,0XC7,0XC7,0X3F,0X80,0XFF,0XFF,//W

0X3C,0XD3,0XE7,0XC7,0X9B,0X3C,0XFF,0XFF,//X


0XF8,0XF3,0X0F,0X0F,0XF3,0XF8,0XFF,0XFF,//Y

0X3D,0X1E,0X4E,0X66,0X72,0X3C,0XFF,0XFF,//Z

0X81,0X00,0X6E,0X76,0X00,0X81,0XFF,0XFF,//0

0X7B,0X7D,0X00,0X00,0X7F,0X7F,0XFF,0XFF,//1

0X79,0X3C,0X5E,0X6E,0X70,0X79,0XFF,0XFF,//2
GVHD: SVTH: Hồng – Hải -
Diên
17
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.

0XBD,0X76,0X76,0X76,0X00,0X99,0XFF,0XFF,//3

0XE7,0XE3,0XE9,0XEC,0X00,0X00,0XFF,0XFF,//4

0X70,0X72,0X72,0X72,0X06,0X8F,0XFF,0XFF,//5

0X81,0X00,0X76,0X76,0X06,0X8F,0XFF,0XFF,//6

0XFC,0XFE,0X1E,0X0E,0XE2,0XF8,0XFF,0XFF,//7

0X89,0X00,0X76,0X76,0X00,0X89,0XFF,0XFF,//8

0XF1,0X60,0X6E,0X6E,0X00,0X81,0XFF,0XFF, //9
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
// mang dem so
unsigned char code hang_so[] = {

0XF1,0X60,0X6E,0X6E,0X00,0X81,0XFF,0XFF, //9

0X89,0X00,0X76,0X76,0X00,0X89,0XFF,0XFF,//8

0XFC,0XFE,0X1E,0X0E,0XE2,0XF8,0XFF,0XFF,//7

0X81,0X00,0X76,0X76,0X06,0X8F,0XFF,0XFF,//6

0X70,0X72,0X72,0X72,0X06,0X8F,0XFF,0XFF,//5

0XE7,0XE3,0XE9,0XEC,0X00,0X00,0XFF,0XFF,//4

0XBD,0X76,0X76,0X76,0X00,0X99,0XFF,0XFF,//3

0X79,0X3C,0X5E,0X6E,0X70,0X79,0XFF,0XFF,//2

0X7B,0X7D,0X00,0X00,0X7F,0X7F,0XFF,0XFF,//1

0X81,0X00,0X6E,0X76,0X00,0X81,0XFF,0XFF,//0
};
//////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////
unsigned char code hang_wellcome[]={


0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,

0X80,0X3F,0XC7,0XC7,0X3F,0X80,0XFF,0XFF, //W

0X00,0X00,0X66,0X66,0X66,0X66,0XFF,0XFF, //E

0X00,0X00,0X7F,0X7F,0X7F,0X3F,0XFF,0XFF, //L

0X00,0X00,0X7F,0X7F,0X7F,0X3F,0XFF,0XFF, //L
GVHD: SVTH: Hồng – Hải -
Diên
18
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.

0X81,0X00,0X7e,0X7E,0X3C,0XBD,0XFF,0XFF, //C

0X81,0X00,0X7E,0X7E,0X00,0X81,0XFF,0XFF, //O

0X00,0X01,0XFB,0XFB,0X01,0X00,0XFF,0XFF, //M

0X00,0X00,0X66,0X66,0X66,0X66,0XFF,0XFF, //E

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF, //T

0X81,0X00,0X7E,0X7E,0X00,0X81,0XFF,0XFF, //O

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,


0X00,0X00,0XEF,0XEF,0X00,0X00,0XFF,0XFF, //H
0x03,0x01,0xee,0xee,0x01,0x03,0xff,0xff, //A

0X80,0X00,0X7F,0X7F,0X00,0X80,0XFF,0XFF, //U

0X7E,0X7E,0X00,0X00,0X7E,0X7E,0XFF,0XFF, //I

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
};
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////
unsigned char code hang_start[]={

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,

0XB9,0X70,0X66,0X66,0X0D,0X9F,0XFF,0XFF,

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,

0x03,0x01,0xee,0xee,0x01,0x03,0xff,0xff,

0X00,0X00,0XE6,0XC6,0X90,0X39,0XFF,0XFF,

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
//////////////////////////////////////////////////////////////////
/////////////////////////////

unsigned char code hang_end[] = {

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,

0XF0,0XC0,0X3F,0X3F,0XC0,0XF0,0XFF,0XFF,

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,

0X81,0X00,0X7e,0X7E,0X3C,0XBD,0XFF,0XFF,
GVHD: SVTH: Hồng – Hải -
Diên
19
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,

0x00,0x00,0x7E,0X7E,0X81,0XC3,0XFF,0XFF,

0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,

0X70,0X72,0X72,0X72,0X06,0X8F,0XFF,0XFF,

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
};
//////////////////////////////////////////////////////////////////
/////////////////////////////
unsigned char code hang_thanks[] = {

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,


0XFC,0XFE,0X00,0X00,0XFE,0XFC,0XFF,0XFF,

0X00,0X00,0XEF,0XEF,0X00,0X00,0XFF,0XFF,

0x03,0x01,0xee,0xee,0x01,0x03,0xff,0xff,

0X00,0X01,0XE7,0XCF,0X80,0X00,0XFF,0XFF,

0X00,0X00,0XE3,0XC9,0X9C,0X3E,0XFF,0XFF,

0XB9,0X70,0X66,0X66,0X0D,0X9F,0XFF,0XFF,

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
};
//////////////////////////////////////////////////////////////////
/////////////////////////////
//
main()
{
unsigned int k,l,n,m,o;
m=0;
P1 = 0XFF; //xoa hang, xoa cot
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;
while(1)
{
//HIEN THI CAC SO DEM 9-0
////////////////////////////////////////////////////////////////////////

//////////////////////
for (n=1;n<=10; n++) //LAN LUOT HIEN THI CAC SO TU 9 VE 0
{
for(o=0; o<=50; o++) // QUYET MOI SO 50 LAN
for (l=m;l<m+8; l++)
{
GVHD: SVTH: Hồng – Hải -
Diên
20
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
P2 = cot[l-m];
P1 = hang_so[l];
delay(60);
P1 = 0XFF;
P2 = 0XFF;
}
m+=8;
if (m==80)
m=0;
}
////////////////////////////////////////////////////////////////////////
///////////////////////
k=0;
while(k!=128)
{
k++;
for(n=0; n<5; n++)//quyet mot chu 50 lan
for(l=0;l<8;l++)
{

P2=cot[l];
P3 = hang_wellcome[l+k];
delay(60); // xoa ma tran sau moi lan
quyet
P1 = 0XFF;// nham tranh tinh trang led ke
ben bi nhieu
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;
}
}
////////////////////////////////////////////////////////////////////////
///////////////////////
k=0;
while(k!=64)
{
k++;
for(n=0; n<5; n++)//quyet mot chu 50 lan
for(l=0;l<8;l++)
{
P2=cot[l];
P3=hang_start[l+k];
P1=hang_start[l+k];
delay(60); // xoa ma tran sau moi lan
quyet
P1 = 0XFF;// nham tranh tinh trang led ke
ben bi nhieu
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;

}
}
////////////////////////////////////////////////////////////////////////
//////////////////////
GVHD: SVTH: Hồng – Hải -
Diên
21
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
////////////////////////////////////////////////////////////////////////
///////////////////////
k=0;
while(k!=312)
{
k++;
for(n=0; n<5; n++)//quyet mot chu 50 lan
for(l=0;l<8;l++)
{
P2=cot[l];
if (k<78)
P3=hang[l+k];
if (k>=78 && k<=156)
P1 = hang[l+k];
if (k>156)
{
P1 = hang[l+k];
P3=hang[l+k];
}
delay(60); // xoa ma tran sau moi lan
quyet

P1 = 0XFF;// nham tranh tinh trang led ke
ben bi nhieu
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;
}
}//*/
////////////////////////////////////////////////////////////////////////
///////////////////////
k=0;
while(k!=72)
{
k++;
for(n=0; n<5; n++)//quyet mot chu 50 lan
for(l=0;l<8;l++)
{
P2=cot[l];
P1=hang_end[l+k];
delay(60); // xoa ma tran sau moi lan
quyet
P1 = 0XFF;// nham tranh tinh trang led ke
ben bi nhieu
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;
}
}
////////////////////////////////////////////////////////////////////////
//////////////////////
k=0;

while(k!=56)
{
GVHD: SVTH: Hồng – Hải -
Diên
22
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
k++;
for(n=0; n<5; n++)//quyet mot chu 50 lan
for(l=0;l<8;l++)
{
P2 = cot[l];
P3 = hang_thanks[l+k];
delay(60); // xoa ma tran sau moi lan
quyet
P1 = 0XFF;// nham tranh tinh trang led ke
ben bi nhieu
P2 = 0XFF;
P3 = 0XFF;
P0 = 0XFF;
}
}
////////////////////////////////////////////////////////////////////////
///////////////////////
}
}
2.7. Hình ảnh mạch thực tế.
GVHD: SVTH: Hồng – Hải -
Diên
23

Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Phần 3. Kết Luận.
3.1. Ưu điểm của mạch.
Mạch hiển thị sử dụng led matrix có rất nhiều ứng dụng. Ví dụ như
dung để quảng cáo với các hiệu ứng cho chạy chữ từ trái qua phải, từ phải
qua trái … tùy theo mục đích của người sử dụng mà có thể hiển thị những
dòng chữ và cách quét chữ phù hợp với mục đích sử dụng.
3.2. Nhược điểm.
Đề tài của chúng em mới dungef lại ở đồ án môn học nên để đưa đề tài
vào ứng dụng thực tế thì vẫn còn rất nhiều hạn chế như: mạch chỉ có thể
hiển thị từng chữ cái một nên để đọc thành một dòng chữ có ý nghĩa thì ta
phải đọc lần lượt từng chữ một chứ không đọc được ngay cả dòng chữ.
3.3. Hướng cải thiện.
Để đưa đề tài này vào ứng dụng được trong thực tế thì chúng em cần
làm mạch với nhiều led matrix ghép lại với nhau sao cho khi hiển thị các
đoạn văn bản hay dòng chữ bất kì thì người sử dụng có thể hiểu được ý
nghĩa của nó.
GVHD: SVTH: Hồng – Hải -
Diên
24
Đồ án môn Vi Điều Khiển. Khoa Điện Tử.
.
Mục lục
Phần 1: Cơ sở lý thuyết.
1.1. Giới thiệu chung về AT89S52.
1.2. Sơ đồ khối và chức năng các khối của 8052.
1.3. Sơ đồ chân và chứa năng các chân của AT89S52.
1.3.1. Port 0( P0.0-P0.7).
1.3.2. Port 1( P1.0-P1.7).

1.3.3. Port 2( P2.0-P2.7).
1.3.4. Port 3( P3.0-P3.7).
1.3.5. Chân /PSEN( Program Store Enable)
1.3.6. Chân ALE ( Address Latch Emable).
1.3.7. Chân /EA( External Access).
1.3.8. RST( Reset).
1.3.9. XTAL1, XTAL2.
1.3.10. Vcc,GND.
1.4. Mạch tạo dao động và Reset.
1.4.1. Mạch tạo dao động.
1.4.2. Mạch reset.
Phần 2: Nội dung thiết kế.
2.1. Thiết kế mô hình bảng LED điện tử dùng 01 ma trận
2.2. Sơ đồ khối
2.3. Cách quét LED.
2.4. Sơ đồ nguyên lý.
2.5. Sơ đồ mạch in.
2.6. Chương trình điều khiển cho AT89S52.
2.7. Hình ảnh mạch thực tế.
Phần 3. Kết Luận.
3.1. Ưu điểm của mạch.
3.2. Nhược điểm.
3.3. Hướng cải thiện.
GVHD: SVTH: Hồng – Hải -
Diên
25

×