CHƯƠNG Ị: GIỚI THIỆU HOẠT ĐỘNG CỦA MẠCHMạch game đố vui sử dụng ledmatrix thế hiện 2 khả năng cơ bản nhất của cácbảng điểm điện tử trong các chương trình gameshow đó là thể hiện đội nàog
Trang 1CHƯƠNG Ị: GIỚI THIỆU HOẠT ĐỘNG CỦA MẠCH
Mạch game đố vui sử dụng ledmatrix thế hiện 2 khả năng cơ bản nhất của cácbảng điểm điện tử trong các chương trình gameshow đó là thể hiện đội nàogiành được quyền trả lời và thế hiện phương án trả lời của các đội Đây cũng
là 2 chế độ hoạt động của mạch
Chế độ 1: đối với các dạng câu hỏi buộc các đội phải nhấn nút để giànhquyền trả lời Đội nào nhấn trước thì sẽ được ưu tiên đồng thời màn hình ledcủa đội đó sẽ sang lên, các đội nhấn nút sau sẽ không có tác dụng đồng nghĩavới việc kô giành được quyền trả lời
Chế độ 2: đổi với các dạng câu hỏi trắc nghiệm Ớ mỗi đội sẽ có 4 nútnhấn thế hiện 4 phương án trả lời A,B,C,D; các đội sẽ nhấn nút tương ứng đểchọn đáp án của mình
Lưu ý: việc chọn chế độ hoạt động của mạch (giành quyền trả lời hay trắcnghiệm) sẽ được thực hiện bởi người dẫn chương trình (MC), nhờ 2 nút nhấn
đế chọn chế độ được đặt tại bàn của MC
CHƯƠNG 2: GIỚI THIỆU MỘT SỐ LINH KIỆN CHÍNH CỦA MẠCH
IC phân kênh 74154: được sử dụng đế quét ledmatrix Sau đây là sơ đồ chân
và True Table của IC 74154
DuaMn-Lỉne PackageINPUTS
OUTPUTS
GVHD: Thầy Phạm Quang Trí 1 SVTH: Đồng Quốc
AnNguyễn Trọng
Function Table
H — Hbgh Level L — Lơw Level X — Don't Care
Ledmatix: được dùng đế thể hiện phương án trả lời của các đội Sau đây là sơ
đồ chân của ledmatrix
U8
ledmatrix 24pin
Lưu Ỷ : đây ỉ à loại ỉed 2 màu xanh, đỏ nhưng do chỉ sử dụng các led màu đỏ
GVHD: Thầy Phạm Quang Trí 2 SVTH: Đổng Quốc
AnNguyễn Trọng
Vi điều khiển 89C51: Dùng đế lậptrình điều khiển cho mạch
- Bộ nhớ chuơng trình bên trong: 4 KB (ROM)
- Bộ nhớ dữ liệu bên trong: 128 byte (RAM)
- Bộ nhớ chuơng trình bên ngoài: 64 KB (ROM)
- Bộ nhớ dữ liệu bên ngoài: 64 KB (RAM)
- 4 port xuất nhập (I/O port) 8 bit
- 2 bộ định thời 16 bit
- Mạch giao tiếp nối tiếp
- Bộ xử lý bit (thao tác trên các bit riêng lẻ)
- 210 vị trí nhó' được định địa chỉ, mỗi vị trí 1 bit
- Nhân / Chia trong 4 usNgoài ra, trong họ MCS-51 còn có một số chip vi điều khiền khác có cấutrúc tương đương như:
GVHD: Thầy Phạm Quang Trí 3 SVTH: Đồng Quốc An
Nguyễn Trọng Danh
Trang 28951 4 KB FLASH ROM 128 byte
sơ Đồ KHỐI CỦA CHIP8051
- CPU (Central Processing Unit): Đơn vị xử lý trung tâm _ tính toán và điềukhiển quá trình hoạt động của hệ thống
- osc (Oscillator): Mạch dao động _ tạo tín hiệu xung clock cung cấp cho
các khối trong chip hoạt động
- Interrupt control: Điều khiển ngắt _ nhận tín hiệu ngắt từ bên ngoài(INT0\, INT1\), từ bộ định thời (TIMERO, TIMER1) và từ cổng nối tiếp(SERIAL PORT), lần lượt đưa các tín hiệu ngắt này đến CPU đế xử lý
- Other registers: Các thanh ghi khác _ lưu trữ dữ liệu của các portxuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trình hoạt
động của hệ thong
- RAM (Random Access Memory): Bộ nhó' dữ liệu trong chip _ lưu trữ các
- 1/0 ports (In/Out ports): Các port xuất/nhập _ điều khiến việc xuất nhập
dữ liệu dưới dạng song song giữa trong và ngoài chip thông qua các port PO,
kiện (đếm xung) thông qua các chân TO, TI
- Bus control: Điều khiến bus _ điều khiển hoạt động của hệ thống bus vàviệc di chuyến thông tin trên hệ thống bus
- Bus System: Hệ thống bus _ liên kết các khối trong chip lại với nhau
Sơ Đồ CHÂN CỦA CHIP8051
RD\
\VR\
TO TI
INT0\
INT1\
TXD
4 0
2
19
1 29 3 0 3 0 1 7 1 6 1 5
141
Trang 3Bí T Đĩa chỉ Chức nănẹ
P3 Rx BOH Chán nhận dừ liệu của porí nôi tiép.
P3 Tx B1H Chân phát dừ liệu của poit nối tiếp.
P3 IN B2H Neò vào neãt neoài 0.
P3 IN B3H Neò vào neất neoài 1.
P3 TO B4H Neô vào cùa bộ định thời/đếm 0.
P3 TI B5H Neò vào cùa bộ định thời/đẻm 1.
P3 \ B6H Điều khiển ehi bộ nhđ dừlieu Ị
P3
7 RD\ B7H Điéu khiển ctọc bộ nhớ dừ liệu {RAM) neoài.
3 2 3 3 3 4 3 5 3
H
1
5
ì11
2 8 2 7 2 6 2 5 2
Al) 7 AD 6 AD 5 AD 4 AD
A1 5 AI 4 A1 3 A1 2 AU
GVHD: Thầy Phạm Quang Trí 5 SVTH: Đồng Quốc
AnNguyễn Trọng
Chip S051
4
3.2.1. Port 0:
- Port 0 (PO.O - P0.7) có số chân từ 32 - 39
- Port 0 có hai chức năng:
• Port xuất nhập dữ liệu (PO.O - P0.7) _ không sử dụng bộ nhớ ngoài
• Bus địa chỉ byte thấp và bus dữ liệu đa hợp (ADO - AD7) _ có sử dụng
bộ nhớ ngoài
Lưu ý: Khỉ Port 0 đóng vai trò ỉà port xuất nhập dữ liệu thì phải sử dụng các
điện trở kẻo lên bên ngoài.
- Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của
- Port 0 có hai chức năng:
• Port xuất nhập dữ liệu (P3.0 - P3.7) _ không sử dụng bộ nhớ ngoài hoặccác chức năng đặc biệt
• Các tín hiệu điều khiển _ có sử dụng bộ nhớ ngoài hoặc các chức năngđặc biệt
- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào củacác tín hiệu điều khiển
PSEN\ = 0 _ trong thời gian CPU tìm-nạp lệnh từ ROM ngoài
PSEN\ = 1 _ CPU sử dụng ROM trong (không sử dụng ROM ngoài)
- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nốivới chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài
Trang 4- Khi lệnh lấy dữ liệu tù’ RAM ngoài (MOVX) được thực hiện thì 1 xungALE bị bỏ qua.
EA\ = 0 —*■ Chip 8051 sử dụng chương trình của ROM ngoài.
EA\ = 1 —>Chip 8051 sử dụng chương trình của ROM trong
• XTAL1 —> ngõ vào mạch tạo xung clock trong chip
• XTAL2 —> ngõ ra mạch tạo xung clock trong chip
Lưu y:
fnT = 12MHz fosc=^
CiHHr
Cl, C2=30pF/10«fr
X I A LI
XTAL2
Kôt nôi thạch linh
dao dí)Iig
bí-— XTAL2
Kôt nôi mạch dao dộng b£n
3.2.9. Chân RST :
- RST (Reset): thiết lập lại, chân số 9
Trang 5tRESET(mii») “ “^MÀCHINE TNUCmNE - 6T0SC
♦ Ỷ FFF
dữ liệu (mã)
RESET S\Y111w ị
r
10uF RS T 8K2 Reset hăng
taV
+5V
Resct khi cấp nguồn
-> chương trình và dữ liệu nằm chung trên RAM
- Bộ vi điều khiển có không gian nhớ riêng cho dữ liệu và chương trình
Chương trình —► ROM CPU thực thi
lu10:
RAM —► CPU thực thi
chương trình và dữ liệu nằm riêng trên ROM và RAM
GVHD: Thầy Phạm Quang Trí 9 SVTH: Đồng Quốc
AnNguyễn Trọng
Tô chức bộ nhớ của chip 8051:
FF H
XOH
7F H
SFR
Bộ nhơ chT
FFFH
000H
Bộ nhđ chươn g trình
Bộ nhơ trong chip
Địa chỉ byte
Trang 6Dày 0 Dày 1 Dãy Dày 3
ss
87 83 82
- Địa chỉ bit
V
F7 I F6 I F5 IF4 I F3 I F2 I FĨ~[FÕ
AF| • I - |AC|AB|AA|A9|
ASA7 IA61A5 IA41A31 A2
1 ATỊÃÕ
Không định địa chì bit
9F 19E 19D 19C19B 1 9A I 99f98~
97 I 96 I 95 I 94 I 93 I 92
I
9r[9Õ~
B A PS\Y IP P3
m
P2
SBUF SCON P1 THI THO TL1 TLO TMOD TCON PCON DPH DPL SP RAM SFR
iSpecial Function Register:
Thanh ghi chức năng (tặc biệt)
Bộ nhổ dử liệu trên ehip S051
đặc biệt (80H-FFH)
3.3.1) Bô nhớ chương trình (ROM);
- Dùng đế lưu trữ chương trình điều khiển cho chip 8051 hoạt động
- Chip 8051 có 4 KB ROM trong, địa chỉ truy xuất: 000H - FFFH
3.3.2) Bô nhớ dữ liêu (RAM):
- Dùng đế lưu trữ các dữ liệu
- Chip 8051 có 128 byte RAM trong, địa chỉ truy xuất: 00H - 7FH
- RAM trong của chip 8051 được chia ra:
RAM
đa chức năng
Gồm: SO byte RAM Địa chỉ truy xuất: 30H- 7FH
Kiểu truy xuất _ ^
V <r—*■ TrƯc tiep
dừ liệu X
RAM định địa chỉ bit:RAM
định địa chỉ bit
Gồm: 128 bít được định địa chỉ
► Địa chỉ truy xuất: 20H-2FHKiểu truy xuất \ ► Trực tiếp
dừ liệu V* Gián tiếp
Các dây thanh ghi:
Dày thanh ghi
Gồm: 4 dằy X 8 thanh ghi Đĩa chỉ truy xuât: 00H-1FH Kiểu truy xu át V ► Trực tiẻp
dừ liệu NN Gián tiếp
'Á Thanh ghi
—> cho phép truy xuất dữ liệu nhanh, lệnh truy xuất đơn giản và ngắn gọn
+ Lưu v : ơ chế độ mặc định thì dãy thanh ghi tích cực (đang được sử
dụng) là dãy 0 và các thanh ghi trong dãy lần lượt có tên là RO - R7 Cóthể thay đổi dãy tích cực (xem phần thanh ghi PSW)
3.3.4) Môí so thanh ghi chức năng đăc biêí:
Thanh ghi
A
Accumulator: thanh ghi tích luy
Địa chỉ bít: EOH - E7H Cóng dụng: chứa dừ liệu của các phép toán
mà vi điều khiển xử lý
A
3.3.4.2) Thanh shỉ B \
Thanh ghi B
Trang 7Bộ định thời n
- Phép nhân 2 số 8 bit không dấu _ kết quả là số 16 bit
• Byte cao _ chứa vào thanh ghi B
• Byte thấp _ chứa vào thanh ghi A
- Phép chia 2 số 8 bit _ thưong số và số dư là số 8 bit
• Thương sổ _ chứa vào thanh ghi A
• Số dư _ chứa vào thanh ghi B
Thanh ghi TIMER
Thanh ghi TIMER
Thanh ghi TMOD
TimerO: Bộ định thời 0
8AH
TH O TL Địa chỉ byte: 8CH và 8AH Địa chi’ bit: không định địa chỉ bit Công dụng: là thanh ẹhi bộ định thời 16 bit (THO+TLO),
chứa giá trị hiện tại của bộ định thời 0 8DH
8BH Địa chỉ bytc: 8DH và 8BH Địa chỉ bit: không định địa chí bit Công dụng: là thanh ghi bộ định thời 16 bit (TH1+TL1),
chứa giá trị hiện tại của bộ định thời 1 Timer Mode: Chế độ bộ định thời
89H I I I I I I I I I TMOD
G C\T MI MO G C\T MI MO Địa chỉ byte: S9H
Địa chỉ bit: không đinh địa chỉ bít cỏng dụng: qui định chế đò hoạt động cho cà hai
I I I I I I I THI
Thanh ghi TCON
Timer Control: điều khiển bộ định thời 88H I 81 I 8K I 81) I 8C I 8B I 8A I 89 I 88 I TCON ITT TRI TF0 TRO IE1 m 1E0 rro
Địa chỉ bit: 88H-8FH Công dụng: báo trạng thái và điều khiển quá
trình hoạt động của hai bộ định thời TO và TI
GVHD: Thầy Phạm Quang Trí 14 SVTH: Đồng Quốc
AnNguyễn Trọng
3.4) Sơ hĩơc vê hoat đô mỉ của bô đinh thời:
Bô đinh y Là chuỗi các FF (mồi FF là 1 mạch chia 2).
thời Ngõ vào: nhận tín hiệu xung clock từ nguồn xung.
(TIMER) X Ngô ra: truyền tín hiệu xung clock cho FF báo tràn (cờ tràn).
f: tần số xung ngõ vào.
f/2n: tần số xung ngõ ra.
n: số lượn2 FF trong bộ định thời.
• Tần số: tần số xung ngõ ra bằng tần số xung ngõ vào chia cho 2N
• Giá trị: giá trị nhị phân trong các FF của bộ định thời là số đếm của các
xung clock tại ngõ vào từ khi bộ định thời bắt đầu đếm
• Tràn: xảy ra hiện tượng tràn (cờ tràn = 1) khi số đếm chuyển từ giá trịlớn nhất xuống giá trị nhỏ nhất của bộ định thời
Ví du: Bộ định thời 16 bit (chứa 16 FF bên trong)
*Tần số:
f Áy /IV OVT ịu 65536
'ố
Cờ tràn được set
khi bộ dịnh thời
bị tràn (số
Hình 4 i i: Bộ định thời 3 bít (a) Sư dồ logic (b) Giản dồ thời gian
GVHD: Thầy Phạm Quang Trí 15 SVTH: Đồng Quốc
AnNguyễn Trọng
Trang 8Chip 8051
có 2 bộ
định
Dùng để định một khoảng thời gian.
Dùns để đêm sự kiện (đếm số xung).
• ứng dụng định thời gian (TIMER): bộ định thời được lập trình sao cho
sẽ tràn sau một khoảng thời gian đã qui định và khi đó cờ tràn của bộ định thời
sẽ bằng 1
• ứng dụng đếm sự kiện (COUNTER): để xác định số lần xuất hiện củamột kích thích từ bên ngoài tới 1 chân của chip 8051 (kích thích chuyến trạngthái từ 1 xuống 0)
• Thanh ghi chế đỏ đinh thời (TMOD):
• Thanh ghi TMOD (Timer Mode Register) chứa các bit dùng để thiếtlập chế độ hoạt động cho bộ định thời 0 và bộ định thời 1
• Thanh ghi TMOD được nạp giá trị một lần tại thời điểm bắt đầu của
TCON: Điều khiển bộ định thời.
TMOD: Chọn chê độ cho bộ định thời.
Thanh ghi chức
năng đặc biệt của bộ
Trang 9Hình 4.2.1: Thanh ghi chọn ché đó định thời.
• Các chế độ hoạt độnơ của bộ định thời:
MI MO Chế độ Mô tả
0 G —►0—► Chế độđịnhthời 13 bil.
0 I —► I—► Chế độđịnhthời lóbit.
1 0 —►2—► Chế độđịnhthời 8 bit tựđộng nạp lại.
3.4.1) Thanh ghi điều khiển đinh thời (TCONh
• Thanh ghi TCON (Timer Control Register) chứa các bit dùng đế điềukhiển và báo trạng thái của bộ định thời 0 và bộ định thời 1
GVHD: Thầy Phạm Quang Trí 17 SVTH: Đồng Quốc
AnNguyễn Trọng
cấu trúc thanh ghi TCON:
xuấl hiện lại chân INT0\)
-► Cờ ngái ngoài 0 kích khởi cạnh
(IE0=l: khi có cạnh âm (cạnh xuống) xuất hiện tại
< IK1 = 1: khi có cạnh âm (cạnh
3.4,3) Chế đỏ đinh thời 13bit (Chế đỏ 0):
TFxOverf1owflag
Timerclock
từ 0 —► (213-1)TTimer nghĩa là từ 0 —► 8 1 91 TTimer
GVHD: Thầy Phạm Quang Trí 18 SVTH: Đồng Quốc
AnNguyễn Trọng
3.4.4) Chế đỏ đinh thời lỏbit (Chế đỏ 1):
Overflo w
thời: từ 0 —► (216-l)TTimer nghĩa là từ 0 —► 65535TTimer
• Thanh ghi THx và TLx chứa giá trị của bộ định thời
• Khi có xung clock, bộ định thời bắt đầu đếm lên từ giá trị chứa trong
Tinie r clock
Chế độ 2 (Mode 2):
• Chế độ định thời 8 bit tự nạp lại
• Sử dụng thanh ghi TLx để tạo ra bộ định thời
• Số đếm: OOH —► FFH nghĩa là từ 0 —> 255 Thời gian định thời:
từ
0 —► (28-l)TTimer nghĩa là từ 0 —► 255TTimer
• Thanh ghi TLx chứa giá trị của bộ định thời và thanh ghi THx chứa giá
GVHD: Thầy Phạm Quang Trí 19 SVTH: Đồng Quốc
AnNguyễn Trọng
Trang 103.4.6) Chế đỏ đinh thời chia xẻ (Chế đỏ 3):
TimerclockTimcrclock/Ovcrfl
ow
Bộ định thời 0 được chia ra:
+ Bộ định thời 8 bit thứ I:
—> Sử dụng thanh ghi TLO để tạo ra bộ định thời.
—> số đếnr 00H —> FFH nghĩa là từ 0 —► 255 Thời gian định thời: từ
(28-l)TTimcr nghĩa là từ 0 —> 255TTimcr
TLO
—> Xảy ra tràn (cờ tràn TF0=1) khi số đếm chuyển từ FFH sang 00H và
việc đếm sẽ tiếp tục đếm lên từ giá trị OOH
+ Bộ định thời 8 bit thứ II:
—> Sử dụng thanh ghi THO để tạo ra bộ định thời.
—> Sổ đếm: OOH —> FFH nghĩa là từ 0 —► 255 Thời gian định thời:
tù'
0 —► (28-l)TTimer nghĩa là từ 0 -> 255TTimer
THO
—> Xảy ra tràn (cờ tràn TF1=1) khi số đếm chuyển từ FFH sang OOH và
việc đếm sẽ tiếp tục đếm lên từ giá trị OOH
* Bộ định thời 1:
- Là bộ định thời 16 bit
- Không hoạt động ở chế độ 3 nhưng có thế hoạt động các chế độ khác (chế
độ 0,1,2)
Trang 113.4.7) Nguồn xung clock cho bô đinh thời:
Nguồn xung cho bộ định thời được tạo ra từ:
• Mạch dao động trên chip —► dùng cho tính năng định thời gian
3.4.7.ĩ) Trường hơp đinh thời gian:
12 MH/
Nguồn xung clock
Nếu C/T=0 thì:
• Bộ định thời được dùng đế định thời gian (Timer)
• Nguồn xung clock định thời được lấy từ mạch dao động trên chip.ý:
- Tần sổ xung clock cung cấp cho bộ định thời bằng 1/12 tần sổ của
• Bộ định thời được dùng đế đếm sự kiện (Counter)
• Nguồn xung clock định thời được lấy từ xung kích thích bên ngoài tại
GVHD: Thầy Phạm Quang Trí 21 SVTH: Đồng Quốc
AnNguyễn Trọng
Trang 13Khối ledmartix sử dụng 4 ledmatrix đế hiển thị cho 4 đội chơi Sử dụng Port
2 của 89C51 để xuất mã và Port 1 nối vào IC phân kênh đế quét led hiển thị.Các transistor Ạ1015 được sử dụng đế kéo dòng
GVHD: Thầy Phạm Quang Trí 23 SVTH: Đổng Quốc
AnNguyễn Trọng
KHOIIC PHAN KENH:
portl
Khối phân kênh sử dụng 2 IC 74154 nối vào port 1 của 89C51 đế quét 4ledmatrix Sử dụng chương trình đế làm cho trong cùng một thời điếm chỉ cómột IC 74154 hoạt động (khi chân GI ở mức 0 thì IC sẽ hoạt đông, ngươc lạichân GI ở mức 1 thì IC sẽ không hoạt động)
GVHD: Thầy Phạm Quang Trí 24 SVTH: Đồng Quốc
AnNguyễn Trọng
Trang 16CHƯƠNG 6: Lưu ĐỒ GIẢI THUẬT
6.1 Lưu ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH CHÍNH
CHẠY CHƯƠNG TRÌNH
Trang 17HIỆN THỊ ĐÁP ÁN RA
LEDMATRIX
6.2.LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH TRẢ LỜI
GVHD: Thầy Phạm Quang Trí 28 SVTH: Đồng Quốc
AnNguyễn Trọng
6.3.LƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH TRẮC NGHIỆM
GVHD: Thầy Phạm Quang Trí 29 SVTH: Đồng Quốc
AnNguyễn Trọng
Trang 18MOV R7, #OBH
LCALL MATRIX
Trang 26END
DB OFFH,80H,80H,0B6H,0B6H,0C9H,OFFH,OFFH
DB OFFH,83H,7DH,7DH,7DH,OBBH,OFFH,OFFH ; CHU
; CHU
Trang 27KET LƯẠN:
Đe tài “mạch game đổ vui sử dụng ledmatrix” đã giúp chúng em có những trảinghiệm vô cùng quý giá, chúng em có dịp ôn lại những kiến thức đã học, đồngthời tích lũy thêm cho mình môt số kiến thức, kỹ năng mới về lập trình vi xử
lý Tuy nhiên do khả năng và thời gian có hạn nên đề tài khi hoàn thành vẫncòn găp một số hạn chế nhất định như:
• Sử dụng quá nhiều Bus nên làm cho mạch trở nên rườm rà, mất đi tínhthâm mỹ
• Các ký tự xuất hiện trên led xảy ra hiện tượng nhấp nháy do chỉ quétđơn lẻ tùng led một
Hướng khắc phục:
• Hạn chế sổ dây Bus sử dụng trên mạch
• Lập trinh cho vi xử lý quét đồng thời cả 4
GVHD: Thầy Phạm Quang Trí 39 SVTH: Đồng Quốc
AnNguyễn Trọng