Điều khiển 1 dòng quang báo bằng bàn phím matrix
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 3Trong đời sống hiện đại ngày nay, quảng cáo là một phần không thể thiếu
trong nhịp sống bùng nổ công nghệ thông tin như hiện nay Ở bất cứ nơi đâu ta
cũng bắt gặp những biển quảng cáo từ đơn giản, thủ công cho đến những biển quảng cáo điện tử hiện đại, thẩm mỹ Đó là những bảng quảng cáo điện tử mà chúng ta gọi là những bảng đèn quang báo Công nghệ điện tử này còn được sử dụng trong nhiều lĩnh vực như những biển báo giao thông, những bảng điểm trên những sàn giao dịch chứng khoán,hay tại các sân bay, siêu thị Những bảng quang báo này góp phần làm cho thành phố chúng ta có được một bộ mặt của một thành phố hiện đại và văn minh Tác dụng của bảng quang báo là khá tolớn Chính điều đó đã thôi thúc chúng tôi thực hiện được đề tài tìm hiểu về quang báo “ Điều khiển 1 dòng quang báo bằng bàn phím matrix ”.
Trang 4A Giới thiệu phần cứng:
I Khối điều khiển trung tâm ( CPU ) :
Vi điều khiển 89V51RB2 Với 4 Port điều khiển
1.Sơ đồ khối của một hệ vi xử lý:
CPU (Central Processing Unit): đơn vị xử lý trung tâm.
RAM (Random Access Memory): bộ nhớ truy xuất ngẫu nhiên.Rom (Read Only Memory): bộ nhớ chỉ đọc.
Interface Circuitry: mạch điện giao tiếp.
Peripheral Devices (Input): các thiết bị ngoại vi (thiết bị nhập)Peripheral Devices (Output): các thiết bị ngoại vi (thiết bị xuất).Addressbus: bus địa chỉ.
Data bus: bus dữ liệu.
Control bus: bus điều khiển.
Trang 52.Đơn vị xử lý trung tâm:
CPU đóng vai trò chủ đạo trong hệ vi xử lý, nó quảnlý tất cả cáchoạt động của hệ và thựchiện tất cả các thao tác trên dữ liệu.
CPU là một vi mạch điện tử có độ tích hợp ca Khi hoạt động CPUđọc mã lệnh được ghi dưới dạng cácbit 0 và bit 1 từ bộ nhớ, sau đónó sẽ thực hiện giải mã các lệnh này thành các dãy xung điều khiểntương ứng với các thao táctrong lệnhđể điều khiển cáckhối khácthực hiện từng bước các thao tác đóvà từ đó tạo ra các xung điềukhiển cho toàn hệ.
IR/IP (Instruction Register/Intruction Pointer): thanh ghi lệnh/contrỏ lệnh.
PC (Program Counter): bộ đếm chươngtrình.
Instruction decode and control unit: đơn vị giải mã lệnh và điềukhiển.
ALU (arithmetic and Logic Unit): đơn vị số học và logic.Registers: Các thanh ghi.
Khi hoạt động CPU sẽ thực hiện liên tục 2 thao tác: tìm nạp lệnhvà giãi mã - thực hiện lệnh.
Thao tác tìm nạp lệnh:
Nội dung của thanh ghi PC đượcCPU đưa lên bus địa chỉ.Tín hiệu điều khiển đọc (Read) chuyển sang trạng thái tích cực.Mã lệnh (Opcode) từ bộ nhớ được đưa lên bus dữ liệu.
Nội dung của thanh ghi PC tăng lên một đơn vị để chuẩn bị tìm nạplệnh kế tiếp từ bộ nhớ.
Thao tác giải mã - thực hiện lệnh:
Mã lệnh từ thanh ghi IR được đưa vào đơn vị giải mã lệnh và điềukhiển.
Đơn vị giải mã lệnh và điều khiển sẽ thực hiện giải mã opcode và tạora các tín hiệu để điều khhiển việc xuất nhập dữ liệu giữ ALU vàcácthanh ghi.
Căn cứ trên các tín hiệu điều khiển này, ALU thực hịên các thao tác đãđược xác định.
Một chuỗi các lệnh (Opcode) kết hợp lại với nhau để thực hiện mộtcông việc có nghĩa được gọi là chương trình (Program) hay phầnmềm.
Trang 6Bộ nhớ bán dẫn là một khác rất quan trọng của hệ vi xử lý, các chươngtrình và dữ liệu đều được lưu giữ trong bộ nhớ.
3.Các chân của chip 89V51RB2:
3.1 Sơ đồ khối và chức năng các khối của chip 89V51RB2
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 chocá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ừ bean ngoài(INT0\, INT1\), từ bộ định thời (TIMER0, 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 port
xuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trìnhhoạt động của hệ thống.
RAM (Random Access Memory): Bộ nhớ dữ liệu trong chip lưu trữ các dữliệu.
ROM (Read Only Memory): Bộ nhớ chương trình trong chip lưu trữchương trình hoạt động của chip.
I/O 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 P0,P1, P2, P3.
Serial port: Port nối tiếp _ điều khiển việc xuất nhập dữ liệu dưới dạng nốitiếp giữa trong và ngoài chip thông qua các chân TxD, RxD.
Timer 0, Timer 1: Bộ định thời 0, 1 _ dùng để định thời gian hoặc đếm sựkiện (đếm xung) thông qua các chân T0, T1.
Trang 7Bus 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.3.2 Chức năng các chân của chip 8051
Sơ đồ chân của chip 89V51RB2
Trang 8Port 0:
- Port 0 (P0.0 – 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 (P0.0 - 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 (AD0 – AD7) có sử dụng bộ nhớngoài.
+ Lưu ý: Khi Port 0 đóng vai trò là 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 dữliệu (D0 -> D7)
Port 1:
- Port 1 (P1.0 – P1.7) có số chân từ 1 – 8.- Port 1 có một chức năng:
• Port xuất nhập dữ liệu (P1.0 – P1.7) _ sử dụng hoặc không sử dụng bộ nhớngoài.
- Khi lập trình cho ROM trong chip thì Port 1 đóng vai trò là ngõ vào của địachỉ byte thấp (A0 – A7)
Port 2:
Trang 9- Port 2 (P2.0 – P2.7) có số chân từ 21 – 28.- Port 2 có hai chức năng:
• Port xuất nhập dữ liệu (P2.0 – P2.7) _ không sử dụng bộ nhớ ngoài.• Bus địa chỉ byte cao (A8 – A15) _ có sử dụng bộ nhớ ngoài.
- Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào của địachỉ byte cao (A8 – A11) và các tín hiệu điều khiển
Port 3:
- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17.- 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ặc cácchứ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 đặcbiệt.
- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào của cáctín hiệu điều khiển
Chức năng của các chân Port3:
BitTênĐịa chỉ bitChức năng
P3.0RxDB0HChân nhận dữ liệu của port nối tiếpP3.1TxDB1HChân phát dữ liệu của port nối tiếpP3.2INT0\B2HNgõ vào ngắt ngoài 0
P3.3INT1\B3HNgõ vào ngắt ngoài 1
P3.4T0B4HNgõ vào của bộ định thời đếm 0P3.5T1B5HNgõ vào của bộ định thời đếm 1
P3.6WR\B6HĐiều khiển ghi bộ nhớ dữ liệu Ram ngoàiP3.7RD\B7HĐiều khiển đọc bộ nhớ dữ liệu Ram ngoài
Trang 10PSEN\ = 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ối vớichân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài.
• Là tín hiệu xuất, tích cực mức cao.
ALE = 0 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus D0 – D7.ALE = 1 _ trong thời gian bus AD0 – AD7 đóng vai trò là bus A0 – A7.
- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vào củaxung lập trình (PGM\)
Khi lệnh lấy dữ liệu từ RAM ngoài (MOVX) được thực hiện thì 1 xung ALE bịbỏ qua
Chân XTAL1, XTAL2:
- XTAL (Crystal): tinh thể thạch anh, chân số 18-19.- Chức năng:
• Dùng để nối với thạch anh hoặc mạch dao động tạo xung clock bên ngoài,cung cấp tín hiệu xung clock cho chip hoạt động.
• XTAL1 _ ngõ vào mạch tạo xung clock trong chip.• XTAL2 _ ngõ ra mạch tạo xung clock trong chip.Chân RST:
Trang 11- RST (Reset): thiết lập lại, chân số 9.- Chức năng:
• Là tín hiệu cho phép thiết lặp (đặt) lại trạng thái ban đầu cho hệ thống.• Là tín hiệu nhập, tích cực mức cao.
RST = 0 _ Chip 8051 hoạt động bình thường.
RST = 1 _ Chip 8051 được thiết lặp lại trạng thái ban đầu.Chân Vcc, GND:
- Vcc, GND: nguồn cấp điện, chân số 40-20.- Chức năng:
• Cung cấp nguồn điện cho chip 89V51 hoạt động.• Vcc = +5V ± 10%.
Trang 12II IC74LS154 :
IC 74LS154 là loại IC dùng để giải mã ,giải đa hợp (Decoder/Demultiplexer)
SƠ ĐỒ CHÂN IC74LS154
Chức năng các chân của IC 74ls154:
Chân 24,12(VCC,GND):dùng cấp nguuồn cho IC hoạt động
Chân 18,19(G1,G2):các ngõ vào cho phép IC hoạt động,trong một thời điểm chỉ có 1 ic hoạt động,ic bị cấm hoạt động thì tất cả ngõ ra đều ở mức logic cao (bất chấp ngõ vào ở trạng thái nào).
Chân 23,22,21,20(A,B,C,D):các ngõ vào quy định trạng thái ngõ raChân 1-11,13-15(O0-O15):các ngõ ra của ic
Tuỳ thuộc vào trạng thái của các đường địa chỉ mà ta có ngõ ra t ương ứng,khi cả hai ngõ vào G1,G2 ở mức logic thấp thì ic hoạt động bình thường ,tại một thời điểm chỉ có một ngõ ra ở mức logíc thấp ,tất cả các ngõ còn lại đều ở mức logic cao.
Sơ đồ bên trong ic 74ls154
Trang 13Bảng trạng
thái IC74LS154
Trang 14H: HIGH Voltage Level.L: LOW Voltage Level.x: Don’t care.
Nguyên tắc hoạt động của IC 74ls154:
Dựa vào bảng trạng thái ta th ấy :chỉ cần ch ân G1,G2 ỏ trạng thái cấm (kh ông cho phép IC hoạt động)thì tất cả ngõ ra của Ic 74ls154 đều ở mức logic cao bất chấp trạng thái ở các chân địa ch ỉ (A,B,C,D).Chẳng hạn như khi chân G1 ở mức logic cao thì tất cả các ngõ ra của IC đều ở mức logic cao bất chấp trạng thái của các ch ân còn lại như G2,A,B,C,D.
Khi các đương địa chỉ vào từ 01H_08H thì mức logic thấp duy nhất ở ngõ ra sẽ di chuyển từ ngõ ra(O0_O7).
Trang 15Bảng trạng thái IC74LS00:
IV IC 7805(IC ổn áp):
Ic 7805 là Ic ổn áp dương ,hai số sau chỉ điện áp ra cố định của nó ,ví dụ như 7805: ổn áp dưong có điện áp ngõ ra là 5V,7812:có điện áp ra là 12V…Tuỳ theo dòng điện ở ngõ ra ,người ta thêm chữ để chỉ :
78LXX:dòng điện danh định 100mA(L:Low)78XX: dòng điện danh định là 1A
78HXX:dòng điện danh định là 5A(h:High)
B Sơ đồ khối của mạch quang báo :
Trang 16C Chức năng của từng khối :
KHỐI VI ĐIỀUKHIỂN
KHỐI PHÂNKÊNH
KHỐI HIỂN THỊBẢNG LED MA
KHỐINGUỒN
Trang 17I Khối vi điều khiển:
IC 89V51RB2 là khối điều khiển trung tâm ,khối này nhận tín hiệu điều khiển từ bàn phím thông qua Port 0 đồng thời cũng xuất dữ liệu cho khối phân kênh thông qua Port 2 để quét hàng và xuất dữ liệu hiển thị ra cột thông qua Port 1.
II Khối phân kênh :
Khối phân kênh dùng 2 IC 74LS154 dùng điều khiển hoạt động của 4 led ma trận Việc dùng IC 74LS154 làm giảm bớt việc phải tốn Port ở khối CPU do IC này phân kênh 4 16 ( 2 IC sẽ được 32 đường điều khiển ).
III Khối Led Matrix :
V C CV C C
234567891 01 11 31 41 51 61 7
2 32 22 12 0
1 81 9Y 0
Y 1Y 2Y 3Y 4Y 5Y 6Y 7Y 8Y 9Y 1 0Y 1 1Y 1 2Y 1 3Y 1 4Y 1 5
G 1G 2
1234567891 01 11 31 41 51 61 7
2 32 22 12 0
1 81 9
Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7Y 8Y 9Y 1 0Y 1 1Y 1 2Y 1 3Y 1 4Y 1 5
G 1G 2
12345678V C C
P I N12345678
A 0A 1A 2A 3A 4A 5A 6A 7
U 7
I N T / E X T123
I N TC O ME X T
Y 1Z T A
R 2R
A 0A 1A 2A 3A 4A 5A 6A 7
U 1 212345678
A 0A 1A 2A 3A 4A 5A 6A 7
C 3C
R 4R
S W 1
U 4
8 9 C 5 11
23456781 01 11 21 31 41 51 6
3 43 53 63 73 83 9
2 12 22 32 42 52 62 72 83 02 94 02 01 8
1 993 1
P 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7P 3 0P 3 1P 3 2P 3 3P 3 4P 3 5P 3 6P 3 7P 0 0P 0 1
P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7
P 2 0P 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 7A L EP S E N
V C CG N DX 2X 1R S TE A
C 3C
U 1 0
A 0A 1A 2A 3A 4A 5A 6A 7
C 1
C
Trang 18Khối led matrix với 4 led dùng để hiện được 4 ký tự.
Các Led ma được thiết kế theo kiểu cột nối chung(cột hiển thị màu đỏ riêng ,cộthiển thị màu xanh riêng) được nối với Port 1 để hiển thị ký tự,còn các hàng đuợc nối riêng theo từng Led để cấp tín hiệu quét.
IV Khối phím Matrix:
R 6
G 2G 4
R 3 1R
P D
Q 3 1G 6
Q 1 9
R 4 5RC 1 8
R 1
R 3 8R
P CR 3R 0
R 4 2R
P 1 7P A
P 2 9
V C CC 1 1
P 2 3R 5
R 9R R 1 5R
C 1 2
Q 3 0R 2 7
RR 2
R 4 7RR 2 2
C 3 0P 2 7R 1 1
R 5R 3
R 4 3RP 9
R 3R
C 0 GC 1 GC 2 GC 3 GC 4 GC 5 GC 6 G
R 6R 3R 1
R 1 6R
Q 3 2P A
R 6
R 3 2R
P BG 3
R 4
G 2
Q 2 9R 1 0
R 4 6RR 2 5
Q 8P 4
C 1 0
C 2 3P CP B
R 7
Q 5
J 8C O N 3
R 4R
P 1 6
R 1 2R
P 1 5
R 2 9R
R 4 1R
Q 3
R 1 8R
Q 1 6C 1 6
P A
J 4C O N 8
Q 2 1P A
P CR 7
P A
R 7G 1
R 3 9R
C 2 0
P 2 1
P CG 7
Q 2
C 1 9G 0
G 4
J 6C O N 8
C 2 6G 0
Q 1 1
C 2 2P 1 3
P 2 6R 2 1
C 2 4P 1 2
C 1 3G 5
G 1
J 3C O N 8
V C CC 1 5
V C C
V C CP A
G 3
Q 1 5P B
G 2
R 4 0RP 1 8
P BR 0
C 0 GC 1 GC 2 GC 3 GC 4 GC 5 GC 6 G
R 3
R 3 0R
P 7P 1
P DQ 1 4
P 1 1
C 5C 1
G 7R 7
P 2 5
Q 2 8R 1
P C
R 0
R 2 8R
C 0 GC 1 GC 2 GC 3 GC 4 GC 5 GC 6 G
J 5C O N 8
C 8
P 1 9P A
C 0 GC 1 GC 2 GC 3 GC 4 GC 5 GC 6 G
G 1
P C
C 2 9R 4
P A
Q 2 4
Trang 19Khối bàn phím này được thiết kế dựa vào cấu trúc hàng và cột của ma trận.Bàn phím gồm 16 phím được sắp xếp theo ma trận 4x4 (4 hàng x 4 cột) Cáchàng và cột của ma trận phím này được kết nối với vi điều khiển thông qua đầunối jack 8 R0-R3 các hàng của ma trận phím C0-C3 các cột của ma trận phím.
Mạch ổn áp có điện áp ngõ ra cố định 5V sử dụng IC ổn áp 7805(ổn áp dươngcó điện áp ngõ ra là 5V,dòng điện ngõ ra đến 1A)
Các tụ 0,33 và 0,1uF dùng chống nhiễu Phần tử điện trở công suất chủ yếu củamạch này là bảng đèn Ic ổn áp 7805 chịu đựoc dòng đển 1A nên bảo đảm cungcấp dòng cho toàn mạch mà bản thân nó không bị quá dòng Tuy nhiên ta cũngcần gắn tản nhiệt cho IC để nó hoạt đông ở điều kiện tốt nhất.
Trang 20I Khối Led Matrix:
-Loại Led ma trận sử dụng là Led 24 chân gồm 8 hàng và 8 cột.Matrận Led có 2 màu chính là xanh và đỏ,ngoài ra còn có 1 màu phụ là màucam khi kết hợp 2 màu trên lại.Mõi điểm Led trên ma trận có cấu tạo gồm 2Led xanh và đỏ ghép lại theo nguyên tắc Anode chung còn Cathode đểriêng.Ma trận Led 8 hàng x 8 cột gồm 24 chân được chia làm 3 nhóm chân :8 hàng từ R0-R7( là các anode chung của các Led trên cùng 1 hàng, 8 cột đỏC0R-C7R ( là các Cathode chung của các led màu đỏ trên cùng 1 cột) , 8 cộtxanh C0X-C7X ( là các Cathode chung của các led màu xanh trên cùng 1cột).Sự kết hợp các mức logic cao/thấp thích hợp trên các hàng và cột theomột quy luật nhất định mà ta sẽ có hình ảnh như mong muốn.
-Phương pháp điều khiển: đầu tiên ta cấp tín hiệu sao cho hàng 1sáng có nguồn rồi đưa ra mã nhị phân tương ứng của hình ảnh cần hiển thịtại hàng đó ra các cột.Kế tiếp ta cấp tín hiệu cho hàng 2 có nguồn rồi đưa mãnhị phân tương ứng của hình ảnh cần hiển thị tại hàng đó ra cột.Quá trìnhcứ diễn ra một cách tuần tự và liên tục như vậy và do hiện tượng lưu ảnhcủa mắt mà ta thấy được các Led dường như sáng như cùng một lúc để tạo rahình ảnh mong muốn trên Led ma trận
-Các ngõ vào điều khiển hàng và cột đều sử dụng mức thấp để điềukhiển.
II Khối vi điều khiển:
-Ở đây ta dùng con 89V51RB2, có 40 chân,gồm 4 Port dùng xuấtnhập dữ liệu,mõi Port 8 chân; 2 chân nguồn 20 mass và 40 Vcc; 2 chân gắnthạch anh (chân 18,19);1 chân reset chân 9;chân 29 là chân cho phép bộ nhớchương trình;chân 30 là chân chốt địa chỉ và cuối cùng chân 31 là chân chophép truy xuất ngoài.
-Để reset chíp ta dùng nút nhấn Trong mạch,chúng ta có thể resettự động bằng tụ hoặc reset bằng tay bởi nút nhấn.
III Khối phím ma trận:
- Được thiết kế dựa trên cấu trúc hàng và cột của ma trận.Bàn phímgồm 16 phím được sắp xếp theo ma trận 4 x 4 (tức 4 hàng 4 cột).Các hàng vàcột của ma trân phím này được kết nối với vi điều khiển thông qua Port0.R0-R3 : các hàng của ma trận phím,C0-C3 : các cột của ma trận phím
Để điều khiển bàn phím ma trận nhày ta sử dụng phương pháp quétphím Để điều khiển quét phím này ta xuất 1 dữ liệu 4 bit( trong đó 1 bit ởmức logic thấp và 3 bit ở mức logic cao) ra các cột của ma trận phím, đọc 4bit dữ liệu các hàng của ma trận phím vào để kiểm tra xem có phím nàođược ấn không.Nếu có phím ấn thì trong 4 bit đọc vào sẽ có một bit ở mứclogic thấp và dựa trên cơ sở đó để thiết lập mã ấn phím.Nếu không có phím ấn thì 4 bit đọc vào đều ở mức logic cao,khi đó ta chuyển mức logic thấpsang cột kế tiếp để dò tìm phím khác.
Trang 21IV Khối phân kênh:
Khối phân kênh dùng 2 IC 74LS154 dùng điều khiển hoạt động của 4 ledma trận Việc dùng IC 74LS154 làm giảm bớt việc phải tốn Port ở khối CPU doIC này phân kênh 4 16 ( 2 IC sẽ được 32 đường điều khiển ).
Nguyên lý hoạt động của khối phân kênh : Dùng 5 bit ở Port 2 để điềukhiển Trong đó, 4 bit dùng để điều khiển ngõ vào của cả hai IC 74LS154 Cònbit thứ 5 điều khiển cho phép trong một thời điểm chỉ có một IC hoạt động.Điều này thực hiện được nhờ vào IC cổng đảo 74LS00 Ngõ vào của cổng đảosẽ được nối với bit thứ 5 và chân số 18,19 của IC thứ nhất Ngõ ra được nối vớichân số 18,19 con thứ 2của IC thứ hai.Khi bit thứ 5 ở mức 0 thì IC1 sẽ hoạtđộng điều khiển Led ma trận 1 và 2 Khi bit 5 ở mức 1 thì IC2 sẽ hoạt động điềukhiển Led ma trận 3 và 4
Bảng trạng thái IC74LS154
V C CV C C
234567891 01 11 31 41 51 61 7
2 32 22 12 0
1 81 9Y 0
Y 1Y 2Y 3Y 4Y 5Y 6Y 7Y 8Y 9Y 1 0Y 1 1Y 1 2Y 1 3Y 1 4Y 1 5
G 1G 2
1234567891 01 11 31 41 51 61 7
2 32 22 12 0
1 81 9
Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7Y 8Y 9Y 1 0Y 1 1Y 1 2Y 1 3Y 1 4Y 1 5
G 1G 2
12345678V C C
P2
Trang 23H: High Voltage LevelL: Low Voltage LevelX: Don’t Care
E LƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH
I Chương trình chính:
Trang 24LCALL HIENTHI
R4 = 20 ?
INC R2
LƯU ĐỒ GIẨI THUẬT CHƯƠNG TRÌNH CHÍNH
LƯU ĐỒ GIẨI THUẬT CHƯƠNG TRÌNH CHÍNH 1
Trang 25R2=1 ?R2=0 ?
R2 = 2 ?
R2 = 3 ?HIỂN THỊ
32H #20831H #208
33H #208Đ
Đ34H #208
KIỂM TRA PHÍM ẤN CHẠY
S
Trang 26III Chương trình con quét phím :
Sơ đồ giải thuật quét phím , mỗi phím tương đương với 2 chữ cái trong bảng chữ cái
S
21H R7SCANKEYPAD
A = 0DH
NEXT131
21H0,22H0, 23H0, 24H0, 25H0, 26H0, 27H0, 28H0, 29H0, 2AH0, 2BH0, 2CH0, 2EH0, 2FH0, 30H0
R7 2DH
CHUZ
S INC R7
2DH R7
LCALL CHAYĐ
R7=1
Trang 27Phím Enter
Hiển thị từng chữ cái lần lượt trên 4 vị trí con trỏ: )
Trang 28Các chữ cái khác tương tự nhưng cơ sỡ dữ liệu sẽ lấy giống trong bảng chữ cái lưu trong ROM.Ví dụ,chữ B ,ta vẫn so sánh R2 nhưng khi nhập dữ liệu vào các ô nhớ 31H,32H,33H,34H lúc này sẽ được nạp vào giá trị là 08,hay chữ C là giá trị 16.
IV GIẢI THÍCH HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH:
Trước tiên khi bước vào gọi chương trình chính của chương trình hiểnthị con trỏ trên con Led thứ nhất.Tiếp tục gọi chương trình chính 1 để thực hiệncác bước lấy và lưu dữ liệu vào RAM,tại cuối bước này ta thực hiện việc tăngR2 ( R2 là biến đếm để dịch chuyển vị trí con trỏ sang vị trí con Led kếtiếp).Thời gian để chuyển từ con Led này sang con Led kế tiếp được xác địnhbởi biến đếm R4 (R4 là biến đếm quy định thời gian để qua con Led kế tiếp).
Trong chương trình kiểm tra phím,sau khi dùng chương trình quét phímma trận để coi có phím nào được nhấn hay không.Trong chương trình này,mõiphím trên bàn phím ma trận đều được lưu bằng 1 ô nhớ từ 21H đến 2DH trongbộ nhớ RAM nội con 89V51RB2.Mõi phím được dùng cho ra 2 chữ cái,thứ tựcác chữ cái mà phím ấn được được ghi trên bề mặt bàn phím ma trận.Mõi phímlưu được 2 chữ cái khi bấm là do ta dùng biến đếm R7 để xác định chữ cái cầnhiển thị ra.Chẳng hạn như chúng ta muốn nhấn chữ A,ta nhấn vào bàn phím núthiển thị chữ A,nếu ta muốn hiển thị chữ B ta tiếp tục ấn vào phím vừa ấn sẽ hiểnthị được chữ B.Lí do ở đây là chúng ta so sánh biến đếm R7,nếu R7 = 1 ( tươngđương với phím đó được ấn 1 lần) sẽ hiện thị lên chữ A,khi ta ấn tiếp tức R7 = 2thì chữ sẽ nhảy sang chữ B.Ta chỉcho phép một phím hiển thị 2 chữ cái nên khita ấn tiếp sau chữ B sẽ trở về hiện thị lại chữ A và cứ thế tiếp diễn.Trong
34H 00
TROVE31H 00
VT_A3R2 = 0
R2 = 2
33H 00
R2 = 1
32H 00
TROVEVT_A2
Trang 29chương trình này ta sử dụng 13 nút nhấn để lấy 26 chữ cái ( từ A đến Z) và 1nút nhấn Enter dùng để cho chạy chữ sau khi đã tạo ra dòng 4 chữ cái Ở cuốiđoạn chương trình này chúng ta tăng biến đếm R4 để xác định thời gian dịchqua con Led kế tiếp Chương trình dùng Port 0 để quét phím tạo mã.
Trong chương trình hiện thị chữ,ta dùng Port 1 làm Port xuất dữ liệu vàPort 2 làm Port quét.Port 2 kết nối với khối phân kênh để điều khiển việc quétLed Đây là chương trình dùng hiển thị các chữ cái có trong bảng mã có sẵntrong ROM nội IC 89V51RB2( từ A đến Z).Mõi lần quét qua được lưu vàotrong 1 ô nhớ,tổng cộng cò 32 ô nhớ từ 40H đến 5FH để lưu các byte của cácchữ cái được ấn trong chương trình kiểm tra phím.
Chương trình chạy là chương trình hiển thị ra các Byte của các chữ cái đãđược lưu trữ trong RAM sau đó được cho dịch cột,giống như chương trính chạylấy cơ sở dữ liệu từ ROM học lúc trước Để khỏi bị lem trong quá trình dich cộtthì ta phải nạp giá trị cho các ô nhớ từ 60H đến 7FH là 0FFH
Trang 30CJNE R2,#1,VT_3
MOV 32H,#208
JMP HTHVT_3:
CJNE R2,#2,VT_4
MOV 33H,#208
JMP HTHVT_4:
CJNE R2,#3,VT_5
MOV 34H,#208
JMP HTHVT_5:
LCALL NEXT131
JMP eexitHTH:
LCALL HIENTHI1eexit:
;**********CHUONG TRINH KIEM TRA PHIM LED *******