Tải bản đầy đủ (.docx) (29 trang)

Thiết kế mạch quang báo hiển thị thông tin đa luồng ứng dụng kỹ thuật vi xử lý

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 (941.72 KB, 29 trang )

Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

LỜI NÓI ĐẦU
Song hành với sự phát triển của ngành khoa học máy tính trong hơn 60 năm qua, công
nghệ điện tử đã có những bước tiến vượt bậc với khả năng tích hợp ngày càng cao của
vi mạch từ đó giúp tăng tốc tốc độ xử lý, nâng cao độ tin cậy và giảm giá thành sản
phẩm. Từ những ứng dụng ban đầu chủ yếu trong lĩnh vực quân sự và máy tính của
các bộ vi xử lý, ngày nay, sự ra đời của các họ vi điều khiển với việc tích hợp các khối
chức năng trên một IC, các vi xử lý chuyên dụng, cùng với thế mạnh vốn có của các
bộ vi xử lý đa năng đã giúp cho việc ứng dụng kỹ thuật vi xử lý vào trong các hệ
thống phi máy tính trở nên đơn giản hơn, mở rộng đối tượng ứng dụng các thành quả
của ngành công nghiệp điện tử hiện đại này. Ta có thể thấy ứng dụng của chúng trong
các hệ thống máy tính lớn, các hệ thống viễn thông cho đến các sản phầm quen thuộc
như máy giặt, điều hòa, đèn giao thông,...
Trong khuôn khổ bài tập lớn này, với mục đích tìm hiểu ứng dụng
thực tế của kỹ thuật vi xử lý, nhóm chúng em lựa chọn đề tài thiết kế mạch quang báo
hiển thị thong tin đa luồng ứng dụng kỹ thuật vi xử lý.
Song với khả năng được học tập nghiên cứu và tự nghiên cứu còn hạn chế về nội
dung và kiến thức trong phạm vi đồ án ,sẽ không tránh khỏi những thiếu sót và hạn
chế .Thông qua đồ án này ,chúng em rất mong được các thầy cô chỉ bảo thêm, để chúng
em có điều kiện nâng cao trình độ ,hiểu biết cũng như kỹ năng của bản thân.Chúng em
rất mong được tiếp thu những ý kiến đóng góp của các thầy cô!

Nhóm7

Page 1


Trường CĐKTKT Phú Lâm



GVHD: Huỳnh Lê Minh Thiện

MỤC LỤC
LỜI NÓI ĐẦU
CHƯƠNG I. TỔNG QUAN
1.1.Giới thiệu đề tài
1.2. Sơ đồ khối
1.3. Nhiệm vụ đề tài
CHƯƠNG II. NỘI DUNG
I. Cơ sở lý thuyết
1. Sơ đồ nguyên lý
2. Các IC và linh kiện sử dụng trong mạch
2.1 AT89S52
2.2 Thanh ghi dịch 74HS595
2.3 Transistor quét dòng
2.4 IC ULN2803
2.5 Thạch anh
2.6 Matrix 8x8
II . Nguyên lý và tác dụng linh kiện
III. Lưu đồ thuật toán và Chương trình
CHƯƠNG III. KẾT LUẬN
I. Nhận xét
II. Hướng mở rộng đề tài
III.Tài liệu tham khảo

Nhóm7

Page 2



Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

CHƯƠNG I. TỔNG QUAN
1.1.Giới thiệu đề tài
Giới thiệu sản phẩm:
Mạch quang báo nhóm thực hiện là mạch có chức năng hiển thị nội dung trên ma trận
điểm . Nội dung này có thể dịch chuyển từ phải sang trái. Nội dung cần hiển thị được
nạp trước vào trong bộ nhớ của vi điều khiển trong quá trình nạp chương trình cho vi
điều khiển. Mỗi khi cần thay đổi nội dung hiển thị cần nạp lại chương trình cho vi
điều khiển.
Lựa chọn các linh kiện:
Để thực hiện một sản phẩm như trên ở quy mô nhỏ ta có thể sử dụng các họ vi điều
khiển khác nhau như AVR, PIC, 8051 hay vi xử lý đa năng như 8086. Tuy nhiên, để
tiết kiệm chi phí cũng như xét trên khả năng mua các chip trên thị trường, tài liệu
nghiên cứu về chúng, bộ Kit phát triển, nhóm em đã lựa chọn AT89C52 làm vi điều
khiển cho mạch quang báo này. Ngoài ra, các linh kiện khác hoàn toàn dễ kiếm trên
thị trường hiện nay.

Nhóm7

Page 3


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện


1.2 Sơ đồ khối:

Khối nguồn
220VAC – 5VDC

Khối vi điều khiển
AT89S52

Điều khiển và khuếch
đại công suất hang
(Transistor)

Điều khiển hiển thị
(74HC595)

Khối hiển thị Led ma
trận 8x24

IC ULN2803

1.3 Chức năng các khối
a) Khối nguồn: nhiệm v ụ cấp nguồn cho các khối dùng nguồn 10v

Linh kiện :cầu diode 5A, tụ lọc nhiễu , ic7805
b) Khối vi điều khiển: Dùng IC89S52

-

Nhóm7


- Tương thích với các sản phẩm thuộc họ vi điều khiển MCS-51
- Có 4 Kbyte bộ nhớ flash, khả năng ghi/xóa 1000 lần
-Làm việc với tần số 0Hz – 24MHz
- Khóa bộ nhớ chương trình 3 mức
- 128 x 8 bit RAM nội
- 32 đường xuất/nhập lập trình được

Page 4


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

Sơ đồ chân

Sơ đồ khối IC
- Vcc: nối với điện áp nguồn
Nhóm7

Page 5


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

- GND: nối đất
- Port 0: cổng xuất/nhập 8 bit. Khi làm cổng xuất, mỗi chân có thể ghép nối với 8 đầu
vào TTL. Khi các chân ở mức 1, các chân này có thể được dùng làm đầu vào trở

kháng cao. Ngoài ra, khi truy cập tới chương trình và dữ liệu bên ngoài, port 0 có thể
được sử dụng làm bus địa chỉ thấp/ dữ 7 liệu đa hợp. Port này có thể dùng để nhận
chương trình nạp vào Flash hoặc kiểm tra
- Port 1: cổng xuất/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu vào TTL. Các
chân này có thể làm đầu vào khi tất cả được thiết lập ở mức 1. Port 1 nhận các byte
địa chỉ thấp trong quá trình ghi chương trình và kiểm tra.
- Port 2: cổng xuât/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu vào TTL. Các
chân này có thể làm đầu vào khi tất cả được thiết lập ở mức 1. Port 2 truyền byte địa
chỉ cao của bus địa chỉ với các thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế
có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài. Port 2 cũng nhận các bit địa chỉ cao và
một vài tín hiệu điều khiển trong quá trình nạp chương trình và kiểm tra.
- Port 3: cổng xuất/nhập 8 bit, các bộ đệm ra có thể ghép nối với 4 đầu
vào TTL. Khi tất cả các chân ở mức 1, Port 3 thực hiện nhận dữ liệu.
Ngoài ta, Port còn phục vụ một số chức năng đặc biệt của AT89C51 như:

Port 3 cũng nhận một số tín hiệu điều khiển trong quá trình nạp chương trình và kiểm
tra
- RST: đầu vào reset. Khi chân này ở mức cao trong 2 chu kỳ máy khi osccilator đang
hoạt động thì IC sẽ được reset.
- ALE/PROG: chân cho phép chốt địa chiđưa ra xung để chốt byte địa chỉ thấp trong
quá trình truy cập bộ nhớ ngoài. Chân này cũng đóng vài trò đầu vào xung chương
trình PROG trong quá trình nạp chương trình. Ở điều kiện bình thường, tín hiệu phát
Nhóm7

Page 6


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện


ra từ chân này có tấn số bằng 1/6 tần số của mạch dao động trong chip và có thể được
sử dụng làm xung clock
- PSEN: chân cho phép bộ nhớ chương trình. Khi AT89C51 thực thi các lệnh từ bộ
nhớ chương trình ngoài, chân này được tích cực 2 lần trong mỗi chu kỳ máy
-EA/Vpp: chân này phải nối đất để IC có thể tìm mã từ các ô nhớ chương trình ngoài
bắt đầu từ địa chỉ 0000H đến FFFFH (64Kbyte). Để IC tìm và thực thi các lệnh của
chương trình trong bộ nhớ nội, chân này cần nối với Vcc. Chân này cũng nhận điện áp
cho phép ghi chương trình 12V trong quá trình nạp chương trình.
- XTAL1: đầu vào của bộ khuếch đại dao động đảo
- XTAL2: đầu ra của bộ khuếch đại dao động đảo
b/ Tổ chức bộ nhớ
Bộ nhớ bên trong chíp bao gồm ROM, RAM va EPROM. RAM trên chip bao gồm
vùng RAM đa chức năng, vùng RAM với từng bit được định địa chỉ, các dây thanh
ghi (bank) và các thanh ghi chức năng đặc biệt.
Có 2 đặc tính đáng lưu ý:
+ Các thanh ghi và các port I/O được định địa chỉ theo kiểu ánh xạ bộ nhớ và
được truy xuất như một vị trí nhớ trong bộ nhớ.
+ Vùng track thường trú trong RAM trên chip thay vì ở trong RAM ngoài như
đối với các bộ nhớ vxl.
• Vùng RAM đa mục đích: Có 80 byte, địa chỉ từ 30H đến 7FH
Bất cứ vị trí nà trong vùng RAM ta đều có thể tri xuất tự do bằng cách sử dụng
định địa chỉ trực tiếp hoặc gián tiếp.
Ví dụ:
+ Kiểu định địa chỉ trực tiếp:
MOV A, 5FH; Đọc nội dung tại địa chỉ 5FH của RAM; vào thanh chứa A.
+ Kiểu định địa chỉ gián tiếp: (qua các thanh ghi R0,R1)
MOV R0, #5FH; Di chuyển giá trị 5FH vào thanh ghi R0.
MOV A, @R0; Di chuyển dữ liệu trỏ tới R0 vào thanh chứa A.
• Vùng RAM định địa chỉ

Chíp 89c52 chứa 210 vị trí định địa chỉ trong đó có 128 byte chứa trong các
byte ở địa chỉ 20H đến 2FH (16 byte x 8 = 128 bits), phần còn lại chứa trong
các thanh ghi chức năng đặc biệt.
Công dụng:
+ Truy xuất các bits riêng lẽ thông qua các phần mềm.
+ Các port có thể định địa chỉ từng bits, làm đơn giản việc giao tiếp
bằng phần mềm với các thiết bị xuất nhập đơn bits.
Ví dụ:
+ Set bits trực tiếp:
SETB 67H; lệnh làm nhiệm vụ set bits 67H bằng 1.
+ Hoặc ta có thể sử dụng lệnh sau để set bits 67H là bits lớn nhất của
byte 2CH:
MOV A,2CH
; Đọc cả byte.
Nhóm7

Page 7


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

ORL A,#10000000B ;Tác dụng set bits.
MOV 2CH,A
;Ghi trở lại cả byte.
FF
30
2F


20
1F
00



General purfóe RAM
7F
7E
7D
7C
77
76
75
74
6F
6E
6D
6C
67
66
65
64
5F
5E
5D
5C
57
56
55

54
4F
4E
4D
4C
47
46
45
44
3F
3E
3D
3C
37
36
35
34
2F
2E
2D
2C
27
26
25
24
1F
1E
1D
1C
17

16
15
14
0F
0E
0D
0C
07
06
05
04
BANK 3
BANK 2
BANK 1
Default registor bank for R0-R7

7B
73
6B
63
5B
53
4B
43
3B
33
2B
23
1B
13

0B
03

7A
72
6A
62
5A
52
4A
42
3A
32
2A
22
1A
12
0A
02

Các dãy thanh ghi:

FF
F0
F7

F6

F5


F4

F3

F2

F1

F0

E7

E6

E5

E4

E3

E2

E1

E0

D7

D6


D5

D4

D3

D2

D1

D0

B0

-

-

-

BC

BB

BA

B9

B8


A8

B7

B6

B5

B4

B3

B2

B1

B0

A0

AF

-

-

AC

AB


AA

A9

A8

E0
D0
B8

Nhóm7

Page 8

79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01


78
70
68
60
58
50
48
40
38
30
28
20
18
10
08
00


Trường CĐKTKT Phú Lâm
A7

A6

A4

A3

A2


A1

A0

99
98

Not bits addressable
9F
9E
9D
9C

9B

9A

99

98

90

97

94

93

92


91

90

8C

8B

8A

89

88

84

83

82

81

80

96

A5

GVHD: Huỳnh Lê Minh Thiện


95

Not bit addressable
8D

Not bit addressable

8C

Not bit addressable

8B
8A
89

Not bit addressable
Not bit addressable

88

8F

8E

8D

87
Not bit addressable
83


Not bit addressable

82

Not bit addressable

81

87

86

85

80

c/ Tóm tắt bộ nhớ
Thông qua việc khảo sát các kiểu địn h địa chỉ và các ví dụ trên các tình huống lập
trình điển hình để chúng ta tiếp cận tập lệnh của họ MCS-51.
 Có 8 kiểu định địa chỉ :
+ Thanh ghi.:
VD: MOV PSW,#00011000B
+ Trực tiếp :
VD: MOV P1, A
+ Gián tiếp :
VD: MOV A,@R0
+Tức thời :
VD: MOV A, #54
Nhóm7


Page 9


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

+ Tương đối :
VD: SJMP THREE :Nhảy đến nhãn THREE
+ Tuyệt đối :
VD: AJMP THREE
+ Dài :
+ Chỉ số :
VD: JMP @A+DPTR
 Các loại lệnh :
Có 5 nhóm lệnh :
+ Nhóm lệnh số học .
ADD A, nguồn : cộng toán hạng nguồn vào A
ADD A,#data : cộng dữ liệu data với A
ADDC A , nguồn : cộng nguồn với A và cờ nhớ
ADDC A, #data : cộng dữ liệu với A và cờ nSUBB A, nguồn : trừ A với nguồn
SUBB A, #data : Trừ A với data
INC A : Tăng nội dung thanh nghi A lên 1
DEC A : giảm nội dung thanh nghi A lên 1
INC DPTR : Tăng DPTR
MUL AB : Nhận nội dung thanh ghi A và B
DIV AB : Chia A cho B
DA A :Hiệu chỉnh thập phân thanh ghi A
+ Nhóm lệnh Logic.

ANL A, nguồn AND
ANL A, #data
ANL direct, A
ANL direct , #data
ORL A, nguồn OR
ORL A, #data
ORL direct, A
ORL direct , #data
XRL A, nguồn OR
XRL A, #data
XRL direct, A
XRL direct , #data
CLR A xóa
CPL A Lấy bù A
RL A Quay trái A
RLC A kể cả cớ nhớ
SWAP A Hoán đổi 2 nửa 4 bit
+ Nhóm lệnh di chuyển dữ liệu
MOV A, nguồn : di chuyển toán hạng nguồn đến đích
MOV A, #data
Nhóm7

Page 10


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

MOV dest , A

MOV dest , source
MOV dest, #data
MOV DPTR, #data16
MOVC A, @A+DPTR di chuyển từ bộ nhớ chương trình
MOVC A, #A+PC
MOVX A, @Ri
MOVX A, @DPTR
MOVX @Ri, A
MOVX @DPTR, A
PUSH direct cất vào Stack
POP direct lấy ra từ Stack
XCH A, source Trao đổi các byte
XCHD A, @Ri trao đổi các digit thấp
+ Nhóm lệnh xử lý bit
CLR C xoá bit
CLR bit
SETB C
SETB bit
CPL C
CPL bit
ANL C, bit AND
ANL C , /bit AND NOT bit với C
ORL C, bit
ORL C, /bit
MOV C, bit
MOV bit, C
JC rel Nhảy đến Rel nếu C=1
JNC
Nhảy đến Rel nếu C=0
JB bit, rel

Nhảy nếu bit = 1
JNB bit, rel Nhảy nếu bit =0
JBC bit , rel Nhảy nếu bit =1 rồi xóa bit
+ Nhóm lệnh rẽ nhánh
ACALL addr11 Gọi chương trình con
LCALL addr16
RET
Quay về từ chương trình con
RETI
Quay về từ chương trình ngắt
AJMP addr11 Nhảy
LJMP addr16
SJMP rel
JMP @ A+DPTR
JZ rel Nhảy nếu A=0
Nhóm7

Page 11


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

JNZ rel Nhảy nếu A <>0
CJNE A,direct, rel so sánh và nhảy
CJNE #data, rel
CJNE Rn,#data, rel
CJNE @ Ri,# data, rel
DJNZ Rn, rel Gỉam và nhảy nếu khác 0

DJNZ direct, rel
NOP Không làm gì
d/ Hoạt động định thời
Là nột chuỗi các Flip-Flop nối tiếp nhau và tín hiệu từ nguồn xung nhịp . Bộ định
thời được lập trình sao cho sẽ tràn trong một khoảng thời gian nhất định và set cờ tràn
của bộ định thời =1
Các bộ định thời sử dụng để :
 Định thời trong một khoảng thời gian
 Đếm sự kiện
 Tạo tốc độ baul cho các port nối tiếp
e/ Hoạt động ngắt
 Là sự xảy ra một sự kiện , một điều kiện làm cho chương trình hiện hành tạm
dừng trong khi điều kiện được phục vụ bởi một chương trình khác . Ngắt đóng
vai trò quan trọng trọng việc thiết kế , thực hiện ứng dụng các bộ vi điều
khiển .
 Tổ chức ngắt của 8952
 Có 5 nguyên nhân tạo ra ngắt : 2 ngắt do bên ngoài , 2 ngắt do bộ định
thời , một ngắt do port nối tiếp .
 Khi xảy ra 2 hay nhiều ngắt đồng thời hoặc một ngắt trong khi đang
thực hiện một ngắt khác thì ta sẽ có 2 sơ đồ xử lý các ngắt : sơ đồ chuỗi
vòng và sơ đồ 2 mức ưu tiên .

C/ Thanh ghi dịch 74HC595
74HC595 là một thanh ghi dịch 8 bit đầu vào nối tiếp ,có các đầu ra song song và nối
tiếp , ngõ ra có các bộ đệm 3 trạng thái

Nhóm7

Page 12



Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

Sơ đồ chân 74HC595

Sơ đồ logic của 74HC595

+ QA,QB,QC,QD,QE,QF,QG,QH: là các ngõ ra song song của 74HC595
+ Chân 14 (A): đầu vào nối tiếp
+ Chân 9 (SQH) : đẩu ra nối tiếp
Nhóm7

Page 13


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

+ Chân 13 (Output Enable): Tích cực mức thấp, khi chân này ở mức thấp thì tín hiệu
từ bộ chốt được đưa ra đầu ra. Khi nó ở mức cao thì các đầu ra song song ở trạng thái
trở kháng cao. Đầu ra nối tiếp không bị ảnh hưởng bởi chân này.
+ Chân 12 (Latch clock): Quá trình chuyển từ mức thấp sang mức cao ở Latch clock
sẽ chốt dữ liệu được dịch trong thanh ghi dich thanh ghi dịch một nhịp vào bộ chốt
+ Chân 11 (Shift Clock) : đầu vào xung nhịp, một quá trình chuyển từ mức thấp đến
mức cao ở chân này sẽ dịch dữ liệu trong
+ Chân 10 (Reset) : reset không đồng bộ, tích cực mức thấp. Mức thấp ở chân này sẽ
reset thanh ghi dịch nhưng không reset bộ chốt lối ra.

D/ Transistor quét hàng

-

Transistor Polarity: PNP.
Collector Emitter Voltage V(br)ceo: 20V
Transition Frequency Typ ft: 350MHz.
Power Dissipation Pd: 0.9W.
DC Collector Current: 1A.
DC Current Gain hFE: 240.
Transistor Case Style: TO-92.
Hfe Min: 85

E/ IC ULN2803

Nhóm7

Page 14


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

IC đệm ULN2803 có chức năng đệm dòng . khi tín hiệu vào mức 1 ngõ ra mức 0 và
ngược lại . ULN2803 có dòng đệm tương đối lớn Imax=1A và thường được dùng để
điều khiển động cơ bước , ma trận led … Ngõ ra của IC phải được kéo lên Vcc bằng
một điện trở thanh nhằm xác định mức logic .
F/ Thạch anh:


Thạch anh được gọi là băng tinh, không tan thành nước, trông trong suốt như pha lê,
có một đặc tính đáng chú ý: Nó bao giờ cũng mát lạnh khi ta cầm lên tay. Bởi vậy từ
xưa, để kiểm tra xem là đồ thật hay đồ giả, thợ kim hoàn thường áp nó vào má xem có
lạnh không.
Thạch anh điện tử: là một linh kiện làm bằng tinh thể đá thạch anh được mài phẳng và
chính xác. Linh kiện thạch anh làm việc dựa trên hiệu ứng áp điện.Hiệu ứng này có
tính thuận nghịch.Khi áp một điện áp vào 2 mặt của thạch anh, nó sẽ bị biến
dạng.Ngược lại, khi tạo sức ép vào 2 bề mặt đó, nó sẽ phát ra điện áp.
Những tinh thể thạch anh đầu tiên được sử dụng bởi chúng có tính chất “áp điện”, có
nghĩa là chúng chuyển các dao động cơ khí thành điện áp và ngược lại, chuyển các
dao động cơ khí thành các xung điện áp. Tính chất áp điện này được Jacques Curie
phát hiện năm 1880 và từ đó chúng được sử dụng vào trong các mạch điện tử do tích
chất hữu ích này.Một đặc tính quan trọng của tinh thể thạch anh là nếu tác động bằng
các dạng cơ học đến chúng (âm thanh, sóng nước...) vào tinh thể thạch anh thì chúng
Nhóm7

Page 15


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

sẽ tạo ra một điện áp dao động có tần số tương đương với mức độ tác động vào chúng,
do đó chúng được ứng dụng trong rất nhiều lĩnh vực. Chẳng hạn kiểm soát những sự
rung động trong các động cơ xe hơi để kiểm soát sự hoạt động của chúng.
Tần số cộng hưởng của Thạch anh tùy thuộc vào hình dáng và kích thước
của nó. Mỗi tinh thể thạch anh có 2 tần số cộng hưởng: tần số cộng
hưởng nối tiếp, và tần số cộng hưởng song song. Hai tần số này khá gần
nhau và có trị số khá bền vững, hầu như rất ít bị ảnh hưởng bởi các điều kiện môi

trường bên ngoài.Ngoài ra, hệ số phẩm chất của mạch cộng hưởng rất lớn, nên tổn hao
rất thấp.
Mạch Dao động Thạch anh: cho ra tần số rất ổn định, sử dụng rất nhiều trong các
đồng hồ điện tử (như đồng hồ đeo tay, đồng hồ để bàn...), trong các thiết bị đo lường
điện tử (tạo xung chuẩn), trong mạch đồng bộ màu của TV, VCR, trong các thiết bị tin
học (máy vi tính, các thiết bị nối với máy vi tính), trong các nhạc cụ điện tử như Piano
điện, organ...
Mạch lọc tích cực dùng Thạch anh: sử dụng nhiều trong các mạch khuếch
đại trung tần của các máy thu thông tin liên lạc, TV, Radio...Ngày nay, mọi máy tính
dù hiện đại nhất cũng vẫn sử dụng các bộ dao động tinh thể để kiểm soát các bus,
xung nhịp xử lý.
Ngoài tinh thể thạch anh, có những nguyên liệu khác như gốm cũng có hiệu
ứng áp điện.Tuy nhiên, thạch anh là dễ sử dụng, có sẵn, có tần số ổn định
và chính xác nhất. Vì lý do này, thạch anh đã được sử dụng như một thành
phần thiết yếu cho vô số thiết bị điện tử. Thạch anh có thể chuyển đổi chính
xác sự rung chuyển cơ học thành các tín hiệu điện tử, được sử dụng như
một nguồn tín hiệu liên quan đồng bộ trong nhiều loại mạch tổ hợp, những
tín hiệu liên quan tới màu sắc, đồng hồ hoặc tương tự. Các thiết bị ứng
dụng thạch anh đóng một phần quan trọng trong xã hội hiện đại.Ngay cả
trong máy tính có hiệu suất cao "cũng chỉ là một cái hộp" nếu không có các
thiết bị ứng dụng thạch anh.

G/ Matrix 8x8
Nhóm7

Page 16


Trường CĐKTKT Phú Lâm


GVHD: Huỳnh Lê Minh Thiện

Đây là loại led Anode chung ở hàng nên để một led sáng thì dữ liệu
ở hàng phải ở mức cao và xuất ra ở cột phải ở mức thấp. Vi điều khiển
điều khiển thanh ghi dịch để lựa chọn cột sáng
Tại mỗi thời điểm chỉ có một cột được sáng, nhưng ta lợi dụng tính
chất lưu ảnh trên võng mạc để có thể hiển thị được đồng thời cả 32 cột.
Tần số quét lúc này phải đảm bảo >=24 hình/s
Để led sáng đẹp và ổn định thì dòng qua led khoảng Itb =10mA
Một cột có 8 led, nghĩa là tối đa một thời điểm có 8 led sáng
Vậy dòng cần thiết cho một cột led là:
Icột= Itb x 8 x Hệ số an toàn
= 10x8x2
= 160mA
Về nguyên lý tại một thời điểm chỉ có một cột được phép sáng,
nhưng do ta quét nhanh nên sẽ cảm thấy tất cả các cột đều sáng, thời gian
sáng 1 cột chỉ là 1/32 chu kỳ quét. Để đảm bào mắt người nhìn thấy các
led sáng không bị nhấp nháy thì dòng cung cấp cho một led cần gấp 32
lần dòng trung bình để chia đều khoảng thời gian nó không được chiếu
sáng
Dòng cần thiết cung cấp cho các hàng là:
Ihàng = 10x32x2
= 640 MA
1.3 Nhiệm vụ đề tài :
Thiết kế mạch quang báo hiển thị thông tin đa luồng . Mạch này có chức năng
hiển thị thông tin trên 3 matrix 8x8 .

Nhóm7

Page 17



Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

Nội dung cần hiển thị được nạp trước vào trong bộ nhớ của vi điều khiển trong
quá trình nạp chương trình cho vi điều khiển. Mỗi khi cần thay đổi nội dung hiển thị
cần nạp lại chương trình cho vi điều khiển.
III. Lưu đồ thuật toán và chương trình
1.Lưu đồ

Chương trình chính

Khởi tạo hệ thống
Sai

Hiển thị

sai

Hiển thị

Đúng

Con trỏ dữ liệu
Đúng

sai


Số lần dịch = số cột

Con trỏ dữ liệu về đầu

Nhóm7

Page 18


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

Chương trình con
Hiển thị

Chọn cột

Cấp nguồn và dữ liệu

Trễ

Tắt led chống nhiễu

sai

Cột = Số Cột

Đúng


Thoát

Nhóm7

Page 19


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

2.Chương trình
#include <AT89s53.h>
#include <intrins.h>
#include <math.h>
#include <stdio.h>
#include <font.c>
//khai bao phan cung
#define k1 P1_0
#define k2 P1_1
#define k3 P1_2
#define rck P2_6
#define dt P2_5
#define clk P2_4
#define Hang P0
unsigned char code string[22] = {"Truong CD KTKT Phu Lam"};
unsigned char code string2[32] = {"Van Loc - Trung Thanh - Van Thoa"};
unsigned char code string3[42] = {"Mach Quang Bao hien thi thong tin da
luong"};
unsigned char buffer[25];

unsigned int code ha[8] = {1,2,4,8,16,32,64,128};
int n=22,n2=32,n3=42; //so ki tu hien thi
int cd = 1;
void delay() {
TH0=0xFB;
TL0=0x00;
Nhóm7

Page 20


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

TR0=1;
while(1){
if(TF0==1) break
}
TR0=0;
TF0=0;
}

void delay_ms(int t){
int i;
for(i=0;idelay();
}
/////dich du lieu ra 595
void send_2_595(int temp) {

int count;
clk=0;
for(count=0;count<24;count++)
{
if((buffer[count] & temp)>0)
dt=0;

//bit 1

else dt=1; //bit 0
clk=1;
clk=0;
}
}
Nhóm7

Page 21


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

//===========Chuong trinh con hien thi=========
void Display(unsigned char time) {
int i,j;
for (i=0;i<=time;i++)

//Toc do chu chay thay doi boi bien time


{
for(j=8;j>0;j--)
{
send_2_595(ha[j-1]);
Hang = 0x00;
rck=1;

//Chot du lieu

rck=0;
Hang = ha[j-1]; //255-buff_disp[count];
delay();
if(k1==0) { while(k1==0) {} cd=1; }
if(k2==0) { while(k2==0) {} cd=2; }
if(k3==0) { while(k3==0) {} cd=3; }
}
}
}
void copy(int id)
{
int i,j;
for(j=0;j<=5;j++)
{
for(i=24;i>0;i--)
buffer[i] = buffer[i-1];
Nhóm7

Page 22



Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

buffer[0] = font[id*5 + j];
Display(10);
}
buffer[0] = 0xFF;
}
//==========================================
void main()
{
unsigned char index;
unsigned char i,k;
// Khoi tao cho ngat RS232 nhan byte ( Scon- Thanh ghi dieu khien bo UART)
SCON = 0x50; /* UART che do 1 (8 bit), REN=1 */
TMOD = 0x21; /* Timer 1 in mode 2, Timer 0 in mode 1 */
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;

/* 9600 Bds at 11.059MHz */
/* 9600 Bds at 11.059MHz */

/* Chay Timer1 */

IE = 0x90; /* Cho phep ngat toan cuc va ngat UART de xu ly du lieu den*/
TI = 0;RI = 0;
// Send String to PC
tudau:

if(cd==1) goto cd1;
if(cd==2) goto cd2;
if(cd==3) goto cd3;
cd1:
while(1)
{
Nhóm7

Page 23


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

//xoa bo dem
for(k=0;k<=24;k++)
buffer[k] = 0xFF;
// Copy to Buffer RAM
for(i=0;i{
index = string[i]-32;
copy(index);
if(cd!=1) { goto tudau; }
}
}
cd2:
while(1)
{
//xoa bo dem

for(k=0;k<=24;k++)
buffer[k] = 0xFF;
// Copy to Buffer RAM
for(i=0;i{
index = string2[i]-32;
copy(index);
if(cd!=2) { goto tudau; }
}
}
cd3:
Nhóm7

Page 24


Trường CĐKTKT Phú Lâm

GVHD: Huỳnh Lê Minh Thiện

while(1)
{
//xoa bo dem
for(k=0;k<=24;k++)
buffer[k] = 0xFF;
// Copy to Buffer RAM
for(i=0;i{
index = string3[i]-32;
copy(index);

if(cd!=3) { goto tudau; }
}
}
}

Nhóm7

Page 25


×