SlideShare a Scribd company logo
1 of 41
Download to read offline
2
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
–––Ë———
BÁO CÁO ĐỒ ÁN MÔN HỌC
MATRIX LED
NHẬP TỪ BÀN PHÍM
Giáo viên hướng dẫn: Ths Nguyễn Tất Bảo Thiện
Lớp: KTMT01
Nhóm thực hiện:
Nguyễn Minh Hùng 06520189
Lê Nguyễn Khoa 06520225
Ngô Tự Đăng Khoa 06520228
Lê Quang Huy 06520202
2008 - 2009
3
Mục lục
Mục lục...................................................................................................trang 3
Giới thiệu về đồ án .................................................................................trang 4
Phần I: Các linh kiện được sử dụng ........................................................trang 5
IC AT89C52 ......................................................................................trang 6
IC 82C55A.........................................................................................trang 7
IC 74HC373.......................................................................................trang 8
IC 74HC138.......................................................................................trang 9
IC 6264 (Ram 8Kx8bit) .....................................................................trang 10
Phần II: Thiết kế và thi công mạch .........................................................trang 11
Mạch vi điều khiển AT89C52............................................................trang 12
Mạch chốt 74HC373 và chọn chip 74HC138.....................................trang 13
Mạch Ram 6264 và 82C55A..............................................................trang 14
Mạch khuếch đại (amplifier) và bàn phím 4x4...................................trang 15
Mạch nguồn và khối hiển thị..............................................................trang 16
Phần III: Các lệnh tiêu biểu trong Keil C và chương trình mẫu ..............trang 17
Lưu đồ giải thuật................................................................................trang 18
Các lệnh tiêu biểu trong Keil C..........................................................trang 19
Lập trình sử dụng RAM trong Keil C.................................................trang 21
Các nguyên lý cơ bản về quét led và bàn phím ..................................trang 23
Chương trình mẫu..............................................................................trang 25
Phần IV: Sản phẩm thu được, ưu và khuyết điểm...................................trang 37
Sơ đồ bàn phím..................................................................................trang 38
Hướng dẫn sử dụng matrixled............................................................trang 39
Ưu điểm và khuyết điểm sản phẩm....................................................trang 41
Sơ đồ mạch ........................................................................................trang 42
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
4
Giới thiệu về đồ án:
Hiện nay trong đời sống thì quảng cáo bằng hình thức quang báo không
còn mới mẽ gì. Nó có thể được sử dụng để quảng cáo tên nhãn hiệu sản phẩm,
tên của một công ty hay tên của một cửa hàng nào đó.
Trong đó có quang báo dùng Led Ma Trận, dù quang báo dùng Led Ma
Trận chiếm không nhiều nhưng nó cũng đóng góp một phần vào việc tuyên
truyền, quảng cáo hay thông tin đến người tiêu dùng nói riêng và cả nước nói
chung. Đặc điểm lớn nhất của “Quang báo dùng Led Ma Trận” là có thể nhập
trực tiếp từ bàn phím những ký tự mà mình mong muốn, việc này ở các hình
thức quang báo khác không có, cái hay của nó là thông tin được cập nhật bất cứ
lúc nào, có thể hiện thị nhanh nhất các thông tin mới nhất để mọi người nắm bắt.
Trong đồ án này, dù quy mô không lớn nhưng tính chất đặc biệt của Led
Ma Trận không mất. Để hiểu sâu hơn về đề tài, xin xem tiếp phần sau:
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
5
PHẦN I:
CÁC LINH KIỆN
ĐƯỢC SỬ DỤNG
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
6
IC AT89C52
Sơ đồ chân
Đặc điểm
AT89C52 là một IC họ MSC-51, các IC họ này có đặc điểm chung như sau:
• 4KB EPROM bên trong, ở đây chúng ta sử dụng AT89C52 có 8KB
EPROM.
• 128 byte RAM nội.
• 4 Port I/O (input/output), mỗi port 8bit.
• Giao tiếp nối tiếp.
• 64 KB vùng nhớ mã ngoài.
• 64 KB vùng nhớ dữ liệu ngoài.
• Xử lý Boolen (hoạt động trên bit đơn).
• 210 vị trí nhớ có thể định vị bit.
• 4us cho hoạt động nhân hay chia.
AT89C52 có 32 port I/O rất thuận tiện việc quét led hiển thị, nhưng trong đồ án này,
chúng ta sử dụng thêm IC Ram 6264 để lưu trữ tạm thời dữ liệu được nhập từ bàn phím.
Công việc này lấy đi 14 chân I/O của vi xử lý vì thế không đủ port để quét led, ta phải sử
dụng với IC chọn chip kèm IC mở port để thực hiện việc quet led hiển thị này.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
7
IC 82C55A
Sơ đồ chân
Đặc điểm
IC 82C55A là một IC để mở rộng port cho Microprocessor, nó giao tiếp với
Microprocessor thông qua 3 bus: Bus dữ liệu bit D7-D0, bus địa chỉ A1-A0 và bus điều khiển
RD,WR,CS,Reset. Mã lệnh, thông tin trạng thái và dữ liệu đều được truyền trên 8 đường
dữ liệu D7-D0. Bảng trạng thái của 82C55A:
IC 82C55A có 3 Port I/O là Port A, Port B, Port C mỗi Port 8 bit. Các Port này được
điều khiển là nhập hay xuất thông qua thanh ghi điều (control register) khiển do
Microprocessor (AT89C52) gửi đến từ trước. Port hay thanh ghi điều khiển được chọn qua 2
bit A1-A0. Người lập trình phải điền khiển các bit này từ Microprocessor (AT89C52).
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
8
IC 74HC373
Sơ đồ chân
Đặc điểm
74HC373 là một IC chốt địa chỉ tốc độ cao sử dụng công nghệ cổng CMOS, không
gây ồn, tiêu thụ công suất thấp.
Khi ngõ vào Latch Enable cho phép chốt (G) ở mức cao thì ngõ ra Q sẽ thay đổi theo
ngõ vào D, khi Latch Enable (G) xuống thấp thì các ngõ ra Q sẽ được giữ lại đến khi Latch
Enable trở lại mức cao. Bảng trạng thái 74HC373:
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
9
IC 74HC138
Sơ đồ chân
Đặc điểm
74HC138 là IC giải mã 3 - 8 gồm 3 ngõ vào địa chỉ (A1, A2, A3) có trọng số nhị phân
và 8 ngõ ra tích cực mức thấp Y0-Y7, 3 ngõ vào cho phép E1, E2 tích cực thấp và E3 tích
cực cao. Bảng trạng thái 74HC138:
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
10
IC 6264 (RAM 8Kx8bit)
Sơ đồ chân
Đặc điểm
IC 6264 là một ram tĩnh CMOS hiệu suất cao được tổ chức bởi 8192*8bit (8Kx8bit)
với các chân A0-A12 là bus địa chỉ. Bộ nhớ Ram là bộ nhớ dễ thay đổi, bất kỳ ô nhớ nào
cũng có thể truy xuất dễ dàng thông qua bus địa chỉ, thời gian truy xuất các ô nhớ là như
nhau. Khác với bộ nhớ ROM, bộ nhớ RAM sẽ bị mất khi nguồn điện cung cấp bị ngắt.
Dễ dàng mở rộng bởi chân chọn chip tích cực thấp CE1, một chân chọn chip tích cực
cao CE2 và một chân OE tích cực thấp. Tín hiệu cho phép ghi tích cực mức thấp WE điều
khiển việc đọc/ghi của bộ nhớ.
IC có 8 ngõ vào/ra của bus dữ liệu được dùng chung là I/O0 – I/O7.
RAM thường được dùng trong các hệ thống điều khiển tự động để lưu trữ dữ liệu tạm
thời.Bộ nhớ Ram có 2 loại là SRAM và DRAM:
• SRAM còn gọi là Static Ram hay Ram tĩnh. Đây là loại Ram lưu trữ dữ
liệu đến khi nào nguồn không còn. SRAM thực chất là những flip flop (FF), trong mỗi
FF là một phần tử nhớ đại diện cho 1 bit.
• DRAM còn gọi là Dynamic Ram hay Ram động. Loại ram này phải luôn
được làm “tươi” tức là phải nạp dữ liệu cho Ram trong 1 khoảng thời gian nhất định,
nếu không Ram sẽ bị mất dữ liệu. Trong khi làm “tươi” Ram ô nhớ đó không được
phép truy xuất.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
11
PHẦN II:
THIẾT KẾ
VÀ THI CÔNG MẠCH
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
12
MẠCH VI ĐIỀU KHIỂN AT89C52
Sơ đồ mạch
Mô tả
Mạch này gồm 2 mạch nhỏ là tạo xung và reset. Khi cấp nguồn điện áp trên R34 (chân
9 của AT89C52) lên mức cai 5V (=Vcc), sau đó sẽ xuống mức 0V do tụ C8 bắt đầu nạp. Nếu
ta ấn phím reset (JP2) thì áp trên R34 sẽ tăng gần = Vcc nhờ cầu phân áp R33 và R34 ghim
một mức áp cố định (+5V).
Vì sử dụng Ram ngoài nên P2 và P0 đóng vai trò là các bus địa chỉ, P3 thì sử dụng các
chân RD, WR để điểu khiển chế độ hoạt động của RAM và 82C55A.
P1 để quét và nhận bàn phím ma trận 4*4 (16 phím).
Ở đây ra sử dụng Ram 6264 chỉ có 13 bit địa chỉ, P2 P0 có 16 bit, ta dùng 3 bit còn lại
để điều khiển IC giải mã chọn chip.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
13
MẠCH CHỐT 74HC373
& CHỌN CHIP 74HC138
Sơ đồ mạch
Mô tả
74HC138 là IC dùng chọn chip Ram, hay 8255. Ở đây chúng ta sử dụng 1 IC Ram
6264 với 3 IC 82C55A tổng cộng là 4 chip. CE cho Ram, CS1-CS3 cho các IC 8255. A, B và
C là các ngõ điều khiển được nối với AT89C52.
74HC373 là IC chốt dùng chốt địa chỉ khi sử dụng ram, ta nối các đầu vào với P0 của
AT89C52 để chốt khi P0 là bus địa chỉ, và giữ các địa chỉ này cho Ram hoạt động khi P0
chuyển từ bus địa chỉ sang bus dữ liệu. Đồng thời chốt 2 bit A1, A0 để sử dụng và điều khiển
82C55A.
Các đầu ra A0-A7 được nối với các đầu vào dữ liệu của Ram 6264 và A1-A0 nối với
A1-A0 của 82C55A. Chân LE là chân xung để chọn chốt hay không chốt, chân này nối với
chân xung ALE của AT89C52 để nó tự điều khiển khi được cấp lệnh.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
14
MẠCH RAM 6264
VÀ 82C55A
Sơ đồ mạch
Mô tả
Như đã đề cập, Ram 6264 có 13 bit địa chỉ, 8 bit được nối với P0 thông qua mạch chốt
74HC373, D0-D7 là bus dữ liệu vào và ra nối với P0 của AT89C52 (P0 đóng 2 vai trò bus
địa chỉ và dữ liệu) các chân OE và WE được nối với RD và WR của AT89C52 để điều
khiển khi Read hay Write. CE là chân chọn chip tích cực thâp, chân này nối với IC giải mã
74HC138 để điều khiển khi cần.
82C55A được sử dụng và truy xuất như 1 RAM ngoại, nó có bus địa chỉ là A1-A0,
bus dữ liệu là D0-D7 và bus điều khiển là chân đọc RD, ghi WR, chọn chip CS.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
15
MẠCH KHUẾC ĐẠI (AMPLIFIER)
Theo K2: ta có –Vcc + IcRc + Vce + Vled = 0
ð Rc = (5 – 0.2 - 2) / 20 = 140 ohm (150 ohm)
Ở đây ta dùng Transistor C1815 có độ khuếch đại b = 70 – 700 và dòng tối Icmax =
150 mA nên:
Ta lại có: K2: -5 +IbRb + Vbe + Vled = 0
ð Rb = (5 – 0.7 – 2) / 0.28 = 8.2K
BÀN PHÍM 4x4
Mô tả
Bàn phím được xây dựng trên cơ sở quét hàng và
cột, được nối với port P1 của IC AT89C52.
Chức năng của các phím:
ð SPACE BAR: chèn 1 khoảng trắng.
ð DELETE: xóa ký tự gần nhất
ð RUN/STOP: cho phép chạy chương trình
vừa nhập hoặc dừng chương trình đang
chạy.
ð SPEED UP: tăng tốc chạy chương trình.
ð SPEED DOWN: giảm tốc chạy chương
trình.
ð 10 phím còn lại nhập chữ, số và các dấu,
mỗi phím có thể nhập đc 5 ký tự
ð Còn 1 phím trống.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
16
MẠCH NGUỒN
Chúng ta có thể dùng adapter 5V hay acquy 12V-24V rồi đưa qua IC 7805, IC này có
tác dụng chuyển đổi nguồn từ 9V-24V thành 5V.
KHỐI HIỂN THỊ
Gồm 12 khối led ma trận ML2008 (8x8) ghép với nhau. Mỗi khối led sẽ có 8 hàng dọc
tương ứng với 8 đầu anot, 8 hàng ngay tương ứng với 8 đầu catot. Khi muốn sáng Led nào
thì ta chỉ cần cấp mức 1(5V) ở đầu anot và cấp mức 0(0V) ở đầu Catot của led cần sáng.
Để có thể hiển thị ta ghép 6 khối Led với nhau trên cùng 1 hàng, như vậy ta có 6 khối
cột và 2 khối hàng.
Trên cùng 1 khối cột ta nối âm với âm, vậy ta có 6 khối cột âm, mỗi khối 8 bit. Trên
cùng 1 khối hàng ta nối dương với dương, vậy ta có 2 khối hàng dương, mỗi khối 8 bit.6 khối
cột âm nối với 6 port của 2 IC 8255, 2 khối hàng dương nối với 2 port của 8255 thứ 3.
Sơ đồ chân của khối matrix led MI08 (8x8):
16 l 0.0 1.4 l 1
15 l 0.1 1.6 l 2
14 l 1.1 0.6 l 3
13 l 0.7 0.5 l 4
12 l 1.3 1.7 l 5
11 l 0.2 0.3 l 6
10 l 0.4 1.5 l 7
9 l 1.0 1.2 l 8
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
17
PHẦN III:
CÁC LỆNH TIÊU BIỂU
TRONG KEIL C
& CHƯƠNG TRÌNH MẪU
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
18
LƯU ĐỒ GIẢI THUẬT
BEGIN
NHẬP
PHÍM
CÓ
PHÍM?
PHÍM
KÝ TỰ
NẠP
RAM
HIỂN
THỊ
NO
YES
END
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
19
CÁC LỆNH TIÊU BIỂU
TRONG KEIL C
Khai báo biến:
Bit x; kiểu dữ liệu 1 bit
Char data; kiểu dữ liệu 8 bit có dấu, bit đầu là dấu -127 … 128
Unsigned char x; kiểu dữ liệu 8 bit không dấu 0 … 255
Int x; kiểu dữ liệu 16 bit có dấu
Unsigned int x; kiểu dữ liệu 16 bit không dấu
Vòng lặp
For(x;x < 100;x++)
{
…;
}
For(;;) vòng lặp vô hạn (super loop)
{
…;
}
While(x != 100)
{
…;
x++;
}
While(1) vòng lặp vô hạn (super loop)
{
…;
}
Các lệnh luận lý (boolean) – cho ra giá trị fail(0) or true(1)
x<b; bé hơn
x>b;
x<=b; bé hơn hay bằng
x>=b;
x==b; bằng
x!=b; không bằng
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
20
Lệnh điều kiện
If(x > 0)
{
…;
}
Else
{
…;
}
Switch(x)
{
case 0: …;break;
case 10; …;break;
case 11; …;break
….;
default: ….;break;
}
Các lệnh toán tử (operator)
x++ :x=x+1; x-- : x=x-1
x+=b: x=x+b; x-=b: x=x-b;
x*=b: x=x*b; x/=b: x=x/b;
Các lệnh dịch bit:
1<<x : dịch trái 1 bit;
x>>1: dịch phải 1 bit;
x<<=1: x=1<<x;
x<<=1: x=x>>1;
Định nghĩa các biến
#define A 2000: A=2000 trong suốt chương trình.
#define ouput_port P3: khi sử dụng output_port xem như sử dụng P3.
Sbit P1^0 = P: khi ta sử dụng biến “P” thì xem như đang sử dụng P1^0.
#type unsigned char tByte:
Khi sử dụng tByte xem chương trình sẽ hiểu là unsigned char
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
21
LẬP TRÌNH SỬ DỤNG RAM/ROM
TRONG KEIL C
Cách 1 :Vào Target, chọn Memory Model là Large , khi đó mọi biến bạn khai báo đều
được lưu trữ trong RAM ngoài.Cách này đơn giản nhưng có nhược điểm là không quản lý
được biến, compiler sẽ tự định địa chỉ cho biến của bạn.
Cách 2 :Chọn Memory Model là small. Khi đó , biến nào khai báo ở dạng xdata thì sẽ
hiểu là RAM ngoài.
VD : unsigned char xdata Dulieu[10];
cách này thường được sử dụng rộng rãi, tuy nhiên RAM của bạn phải bắt đầu từ địa chỉ
0x0000.
Cách 3 : Nếu vùng địa chỉ của RAM không bắt đầu từ 0x0000 , chẳng hạn bạn sử
dụng mạch giải mã để đặt địa chỉ cho RAM bắt đầu từ 0x8000 , khi đó ta có thể sử dụng thư
viện "absacc.h" ,ví dụ khai báo như sau :
#include "absacc.h"
....
#define baseaddr 0x8000
void InitRAM()
{
unsigned char i;
for(i=0;i&lt;10;i++)
XBYTE[baseaddr+i]=i; // Ghi vào RAM ngoài 10 giá trị , bắt đầu từ
// 0x8000
}
Lúc lấy giá trị ra, bạn có thể gọi : x=XBYTE[address];
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
22
Với các khai báo như trên, compiler sẽ hiểu là sử dụng RAM ngoài, và việc trao đổi
thông tin với RAM ngoài sẽ được VĐK thực hiện bằng lệnh movx, các xung ALE,RD,WR sẽ
họat động theo nhịp clock để trao đổi với RAM.
Đọc
1- CPU phát địa chỉ ra bus địa chỉ. Bộ nhớ nhận được địa chỉ này, sẵn sàng phát byte
dữ liệu ra bus dữ liệu, nhưng vì /OE chưa tích cực nên các chân Di (D1, D2, ..., Dm) của bộ
nhớ vẫn còn ở trạng thái Hi-Z (tổng trở cao).
2- CPU kích hoạt tín hiệu /RD (/RD nối tới chân /OE của bộ nhớ) -> /OE tích cực ->
bộ nhớ xuất dữ liệu ra bus dữ liệu.
3- CPU cất (copy) dữ liệu từ bus dữ liệu vào thanh ghi.
4- CPU bỏ kích hoạt /RD -> /OE trở lại mức ko tích cực -> ngõ ra bộ nhớ trở lại trạng
thái Hi-Z.
Ghi
1- CPU phát địa chỉ ra bus địa chỉ.
2- CPU phát dữ liệu từ thanh ghi ra bus dữ liệu.
3- CPU kích hoạt /WR (/WR nối tới /WE của bộ nhớ) -> /WE tích cực -> bộ nhớ ghi
dữ liệu ở bus dữ liệu vào ô nhớ có địa chỉ chỉ định bởi bus địa chỉ.
4- CPU bỏ kích hoạt /WR -> /WE trở lại mức ko tích cực.
Đối với 8051
Chân /PSEN thường được nối tới chân /OE của ROM ngoài chứa chương trình. Khi
8051 đọc chương trình, thì chân /PSEN sẽ được kích hoạt (giống như tín hiệu /RD nói trên).
Chân /RD và /WR thường nối tới /OE và /WE của RAM ngoài.
/CE là chân chọn chip (giống như /CS). Trong 1 hệ vi xử lý có nhiều thiết bị (bộ nhớ
hay I/O) sử dụng chung bus dữ liệu, tại 1 thời điểm chỉ có tối đa 1 thiết bị được giao tiếp với
bus dữ liệu thôi (nếu có nhiều hơn 1, thì sẽ xảy ra tranh chấp bus). Mạch giải mã địa chỉ sẽ
điều khiển các chân /CE (hay /CS) của các thiết bị này để chỉ định thiết bị nào được giao tiếp
với bus dữ liệu. /CE của thiết bị nào ở mức tích cực thì thiết bị ấy được phép giao tiếp với
bus dữ liệu, còn không thì các đường dữ liệu Di của thiết bị sẽ ở trạng thái Hi-Z.
Ram 6264 có 8192 ô nhớ 8 bit, ta dùng 700 ô nhớ đầu chứa bảng mã, còn 7492 ô nhớ,
mỗi chữ cái chiếm 14 ô nhớ. Vậy ta có thể ghi được 7492/14 = 535 ký tự.
**)Đối với 82C55A thì cách sử dụng cũng như RAM và ROM ngoài, chỉ khác là
82C55A chỉ có 4 địa chỉ của port A, B, C và Control registor.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
23
CÁC NGUYÊN LÝ CƠ BẢN VỀ
QUÉT LED VÀ BÀN PHÍM
Đề tài của chúng ta là “Ma trận led nhập từ bàn phím”, như vậy 2 thiết bị không thể
thiếu là bàn phím và led ma trận.
Ma trận bàn phím 4x4
(Cấu tạo chung cho các thiết bị matrix)
Cách hoạt động của bàn phím là khi ta cấp Vcc 5V cho đầu “A” và bấm phím thứ 1 thì
đo được ở đầu 1 là 5V, tương tự cho các phím khác. Như vậy để nhận được 16 phím thì ta
phải cấp Vcc lần lượt cho 4 đầu “A, B, C, D” hay ngược lại lần lượt cho “1, 2, 3, 4”. Điều
chú ý ở đây là phải cấp lần lượt chứ không thể cấp 1 lúc 4 đầu đều là VCC, như thế sẽ không
thể phân biệt được các hàng hay các cột. Hay ngược lại chúng ta có thể cấp 0V cho đầu “A”
còn tất cả các đầu kia đều là “5V”, như vậy khi phím 1 được ấn thì cả 2 đầu “A” và “1” đều
đo được là 0V, các đầu còn lại vẫn 5V.
Nếu “A, B, C, D, 1, 2, 3, 4” lần lượt nối với P3.0 – P3.7 của AT89C52 thì ta có thể
làm như sau:
Ta đặt P3.0 = 1(A=1), các chân kia =0, khi ấn phím nào trên hàng A thì cột đó sẽ = 1,
ta chia thành 4 trường hợp. Sau đó P3.0 = 0 và P3.1 =1, ta lại có 4 trường hợp, sau 4 lần cho
A B C D ta có 16 trường hợp.
Còn 1 phương pháp khác được gọi là dịch bit. Đầu tiên ta set P1 = 00000001 (hay
11111110 cũng được) sau đó dịch 1 bit thành 00000010 > 00000100 > 00001000 với điều
kiện là P1 không được lớn hơn 00010000 = 16.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
24
Ma trận led 8x8
(Cấu tạo tương tự như ma trận bàn phím được nói ở trên)
Muốn đèn nào sáng ta cấp Vcc 5V cho hàng anot chứa đèn đó (1-8) và 0V cho cột
catot chứa đèn đó (9-16). Nhưng để hiện chữ chúng ta không thể cấp từng cái như thế được.
Nguyên lý để hiện chữ trên ma trận led là chúng ta quét từng cột hay từng hàng, quét cột hay
hàng là tùy mỗi người. Ở đây ta sẽ xét quét cột:
Đầu tiên chúng ta phải bảng mã hóa các chữ, bảng này chúng ta có thể vẽ ra trên giấy
rồi tính. Ví dụ chữ A cột đầu tiên là 000111100 = 0x1C (tính từ 1 > 8). Ta phải cấp
P1=0x1C.
Sau đó P2.0 (cột số 9) bằng 0, tiếp theo cấp dữ liệu cột thứ 2 (P) rồi cho cột thứ 2 = 0,
cứ như thế ta sẽ có được chữ A. Theo hiện tượng lưu ảnh ở mắt người ta sẽ thấy được chữ A,
thời gian sáng của mỗi cột thường là 1ms – 5ms tùy mỗi người, nhanh quá sẽ không kịp sáng
và không thấy gì, chậm quá thì không đủ tần số, chúng ta sẽ thấy chớp chớp.
Chú ý là khi 1 cột = 0 thì các cột kia phải = 1 nếu không thì dữ liệu của cột này sẽ
được đưa vào cho tất cả các cột, khi đó không thấy được chữ mà chỉ thấy nó sáng 1 kiểu.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
25
CHƯƠNG TRÌNH MẪU
#include <reg52.h>
#include "absacc.h"
//------------------------------------------------------------------------------------------------
#define begin 1096
#define pb1 0x2001
#define pc1 0x2002
//------------------------------------------------------------------------------------------------
void quetphim(void);
void napchuoi(void);
void xulyhienchu(void);
void hienchu(void);
void hienchucuoi(void);
void delay_434us(void);
void delete(void);
void space(void);
void X_init(void);
void xulychaychu(void);
void delay_1s(void);
void dinhphim(void);
void dinhphimcuoi(void);
void tradau(void);
void napdau(void);
//------------------------
unsigned char phim,phim_temp,dau1=0,dau2=0;
unsigned int ramadd,kytu,rac;
bit run=0,d=0;
//------------------------------------------------------------------------------------------------
unsigned char xdata bangmaduoi[408] =
{
0x38,0x06,0x05,0x04,0x05,0x06,0x38,0x00, //A
0x3f,0x24,0x24,0x24,0x24,0x24,0x1b,0x00, //B
0x1f,0x20,0x20,0x20,0x20,0x20,0x11,0x00, //C
0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, //.
0x00,0x02,0x01,0x3f,0x00,0x00,0x00,0x00, //1
0x3f,0x20,0x20,0x20,0x20,0x20,0x1f,0x00, //D
0x3f,0x24,0x24,0x24,0x24,0x20,0x20,0x00, //E
0x3f,0x04,0x04,0x04,0x04,0x00,0x00,0x00, //F
0x00,0x50,0x30,0x00,0x00,0x00,0x00,0x00, //,
0x31,0x28,0x28,0x28,0x28,0x27,0x00,0x00, //2
0x1f,0x20,0x20,0x20,0x24,0x24,0x3c,0x00, //G
0x3f,0x04,0x04,0x04,0x04,0x04,0x3f,0x00, //H
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
26
0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x00, //I
0x00,0x51,0x31,0x00,0x00,0x00,0x00,0x00, //;
0x11,0x20,0x24,0x24,0x24,0x1b,0x00,0x00, //3
0x10,0x20,0x20,0x1f,0x00,0x00,0x00,0x00, //J
0x3f,0x04,0x04,0x0a,0x11,0x20,0x00,0x00, //K
0x3f,0x20,0x20,0x20,0x20,0x20,0x00,0x00, //L
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, //=
0x18,0x14,0x12,0x11,0x3f,0x10,0x00,0x00, //4
0x3f,0x01,0x02,0x04,0x02,0x01,0x3f,0x00, //M
0x3f,0x01,0x02,0x04,0x08,0x10,0x3f,0x00, //N
0x1f,0x20,0x20,0x20,0x20,0x20,0x1f,0x00, //0
0x00,0x00,0x00,0x00,0x1f,0x20,0x40,0x00, //(
0x27,0x24,0x24,0x24,0x24,0x18,0x00,0x00, //5
0x3f,0x04,0x04,0x04,0x04,0x04,0x03,0x00, //P
0x1f,0x20,0x20,0x20,0x28,0x10,0x2f,0x00, //Q
0x3f,0x04,0x04,0x04,0x0c,0x14,0x23,0x00, //R
0x00,0x40,0x20,0x1f,0x00,0x00,0x00,0x00, //)
0x1f,0x24,0x24,0x24,0x24,0x19,0x00,0x00, //6
0x13,0x24,0x24,0x24,0x24,0x24,0x19,0x00, //S
0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00, //T
0x1f,0x20,0x20,0x20,0x20,0x20,0x1F,0x00, //U
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //"
0x00,0x00,0x38,0x04,0x02,0x01,0x00,0x00, //7
0x03,0x0c,0x10,0x20,0x10,0x0c,0x03,0x00, //V
0x1f,0x20,0x10,0x0c,0x10,0x20,0x1f,0x00, //W
0x20,0x11,0x0a,0x04,0x0a,0x11,0x20,0x00, //X
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //"
0x1b,0x24,0x24,0x24,0x24,0x1b,0x00,0x00, //8
0x00,0x01,0x02,0x3c,0x02,0x01,0x00,0x00, //Y
0x21,0x30,0x28,0x24,0x22,0x21,0x10,0x00, //Z
0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00, //!
0x00,0x00,0x24,0x02,0x01,0x00,0x00,0x00, //?
0x13,0x24,0x24,0x24,0x24,0x1f,0x00,0x00, //9
0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00, //+
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00, //-
0x00,0x22,0x14,0x08,0x14,0x22,0x00,0x00, //x
0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00, //:
0x1f,0x30,0x28,0x24,0x22,0x21,0x1f,0x00, //0
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //
};
//------------------------
unsigned char xdata bangmatren[408] =
{
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, //A
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //B
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //C
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
27
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //.
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, //1
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //D
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //E
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //F
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //,
0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //2
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //G
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //H
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //I
0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00, //;
0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //3
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //J
0x80,0x00,0x00,0x00,0x00,0x80,0x00,0x00, //K
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //=
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00, //4
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //M
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //N
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //O
0x00,0x00,0x00,0x00,0xc0,0x20,0x10,0x00, //(
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //5
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //P
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //Q
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //R
0x00,0x10,0x20,0xc0,0x00,0x00,0x00,0x00, //)
0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //6
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //S
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //T
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //U
0x00,0x00,0x00,0x00,0x0c,0x20,0x20,0x00, //"
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //7
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //V
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //W
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //X
0x00,0x20,0x20,0x0c,0x00,0x00,0x00,0x00, //"
0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //8
0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //Y
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //Z
0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00, //!
0x40,0x20,0x20,0x20,0xc0,0x00,0x00,0x00, //?
0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //+
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //-
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //x
0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00, //:
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
28
0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //0
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //
};
//------------------------
unsigned char xdata bangdautren[80] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0
0x00,0x00,0x04,0x02,0x01,0x00,0x00,0x00, //1
0x00,0x00,0x01,0x02,0x04,0x00,0x00,0x00, //2
0x00,0x00,0x00,0x02,0x01,0x09,0x06,0x00, //3
0x00,0x02,0x01,0x01,0x02,0x02,0x01,0x00, //4
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //5
0x00,0x40,0x20,0x10,0x20,0x40,0x00,0x00, //6
0x00,0x00,0x00,0x00,0x00,0x10,0x90,0x60, //7
0x00,0x10,0x20,0x20,0x20,0x10,0x00,0x00, //8
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //9
};
//------------------------
unsigned char xdata bangdauduoi[80] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //1
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //2
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //3
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //4
0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00, //5
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //6
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //7
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //8
0x00,0x04,0x04,0x04,0x00,0x00,0x00,0x00 //9
};
//------------------------
unsigned char bangspeed[7] = {48,40,32,24,16,8,1};
//------------------------------------------------------------------------------------------------
//------------------------
void X_init(void)
{
XBYTE[0x6003] = 0x80;
XBYTE[0x4003] = 0x80;
XBYTE[0x2003] = 0x80;
for(ramadd=begin - 96;ramadd<8192;ramadd++)
{
XBYTE[ramadd] = 0x00;
}
ramadd = begin;
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
29
}
//------------------------
void main(void)
{
X_init();
while(1)
{
if(run == 1) xulychaychu();
if(d == 1) tradau();
quetphim();
switch(phim)
{
case 54: space();break;
case 55: delete();break;
case 53: xulychaychu();break;
case 60: tradau();break;
default: xulyhienchu();break;
}
}
}
//------------------------
void quetphim(void)
{
unsigned char x,b,y=0;
for(x = 1; x<16;x<<=1)
{
P1 = ~(x);
b=P1;
switch (b)
{
case 0xE7: phim = 1 ;break;
//0111 0111 phim 1 (1 -A 2 -B 3 -C 4 -. 5 -1)
case 0xD7: phim = 6 ;break;
//0111 1011 phim 2 (6-D 7-E 8-F 9-, 10-2)
case 0xB7: phim = 11;break;
//0111 1101 phim 3 (11-G 12-H 13-I 14-; 15-3)
case 0x77: phim = 55;break;
//0111 1110 phim 4 delete
case 0xEB: phim = 16;break;
//1011 0111 phim 5 (16-J 17-K 18-L 19-= 20-4)
case 0xDB: phim = 21;break;
//1011 1011 phim 6 (21-M 22-N 23-O 24-( 25-5)
case 0xBB: phim = 26;break;
//1011 1101 phim 7 (26-P 27-Q 28-R 29-) 30-6)
case 0x7B: phim = 54;break;
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
30
//1011 1110 phim 8 space
case 0xED: phim = 31;break;
//1101 0111 phim 9 (31-S 32-T 33-U 34-" 35-7)
case 0xDD: phim = 36;break;
//1101 1011 phim 10 (36-V 37-W 38-X 39-" 40-8)
case 0xBD: phim = 41;break;
//1101 1101 phim 11 (41-Y 42-Z 43-! 44-? 45-9)
case 0x7D: phim = 60;if(kytu!=350&run == 0)d=~d;break;
//1101 1110 phim 12 danh dau
case 0xEE: phim = 51;break;
//1110 0111 phim 13 speed down
case 0xDE: phim = 46;break;
//1110 1011 phim 14 (46-+ 47-- 48-* 49-: 50-0)
case 0xBE: phim = 52;break;
//1110 1101 phim 15 speed up
case 0x7E: phim = 53;if(d==0)run=~run; break;
//1110 1110 phim 16 run
//xxxx xxxx
default: phim = 0 ;
}
if(phim!=0) break;
}
}
//------------------------
void xulyhienchu(void)
{
unsigned char x,k;
for(x=0;x<24;x++)
{
if(phim <51& phim!=0)
{
x=0;dau1=0;dau2=0;
if(phim_temp != phim)
{
k=0;
phim_temp=phim;
kytu = (phim-1)*8;
napchuoi();
dinhphim();
}
else //phim_temp == phim
{
k++;
if(k == 5) {k=0; kytu = (phim-1)*8;}
else { kytu += 8;}
ramadd -= 16;
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
31
napchuoi();
dinhphim();
}
}
else
{
rac=ramadd;
hienchu(); //for 24 lan chiem 0.5s
}
quetphim();
if(phim > 52) break; //space delete run danhdau
}
phim_temp=0;
}
//------------------------
void napchuoi(void)
{
unsigned char n;
for (n=0;n<8;n++)
{
XBYTE[ramadd] = bangmatren[kytu+n] | bangdautren[dau1+n] |
bangdautren[dau2+n];
XBYTE[ramadd+1] = bangmaduoi[kytu+n] | bangdauduoi[dau1+n] |
bangdauduoi[dau2+n];
ramadd += 2;
}
}
//------------------------
void delete(void)
{
dau1=0;dau2=0;
if(ramadd != begin)
{
kytu=400;
ramadd -= 16;
napchuoi();
ramadd -= 16;
dinhphim();
}
}
//------------------------
void space(void)
{
dau1=0;dau2=0;
kytu = 400;
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
32
napchuoi();
dinhphim();
}
//------------------------
void hienchu(void)
{
unsigned int chip_port,tren=pc1,duoi=pb1;
unsigned char y,cot;
chip_port = 0x6000;//chip3 port 1
while(chip_port != 0x2000)
{
for (y=0;y<3;y++)
{
for(cot=1;cot>0;cot<<=1)
{
rac-=2;
XBYTE[duoi] = XBYTE[rac+1];
XBYTE[tren] = XBYTE[rac];
XBYTE[chip_port]=~cot;
delay_434us();
XBYTE[chip_port]=0xFF;
}
chip_port++;
//0x6000>0x6001>0x6002>6003;0x4000>0x4001>0x4002>0x4003
}
chip_port=chip_port - 0x2003;
//0x6003 - 0x2003 = 0x4000;0x4003 - 0x2003 = 0x2000
}
}
void hienchucuoi(void)
{
unsigned int tren=pc1,duoi=pb1;
unsigned char cot;
for(cot=1;cot>0;cot<<=1)
{
rac -= 2;
XBYTE[duoi] = XBYTE[rac+1];
XBYTE[tren] = XBYTE[rac];
XBYTE[0x6000]=~cot;
delay_434us();
XBYTE[0x6000]=0xFF;
}
}
//------------------------
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
33
void xulychaychu(void)
{
unsigned char s,speed,h=0;
delay_1s();
rac = begin - 96;
speed = 3;
while(run != 0)
{
s=bangspeed[speed];
while(run!=0&s!=0)
{
rac += 96;
hienchu();
s--;
quetphim();
if (h<48) h++;
if((phim >50) & (h==48)) //1s moi nhan tiep phim speed
{
h=47;
switch(phim)
{
case 51: if(speed !=0)speed--;h=0;break;
case 52: if(speed !=6)speed++;h=0;break;
default: break;
}
}
}
if(rac > ramadd) rac = begin - 96 ;
else rac += 2;
}
delay_1s();
}
//------------------------
void dinhphim(void)
{
unsigned char z;
{
for(z=0;z<24;z++) //24 lan chiem 0.5s
{
rac = ramadd;
hienchu();
}
}
}
void dinhphimcuoi(void)
{
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
34
unsigned char z;
{
for(z=0;z<144;z++) //24 lan chiem 0.5s
{
rac = ramadd;
hienchucuoi();
}
}
}
//------------------------
void tradau(void)
{
dinhphimcuoi();
while(d != 0)
{
quetphim();
switch(phim)
{
case 1 :
if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 )
{dau1=8 ;napdau();}
break;//1
case 6 :
if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 )
{dau1=16;napdau();}
break;//2
case 11:
if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 )
{dau1=24;napdau();}
break;//3
case 16:
if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 )
{dau1=32;napdau();}
break;//4
case 21:
if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 )
{dau1=40;napdau();}
break;//5
case 26:
if(kytu==0||kytu==48||kytu==176)
{dau2=48;napdau();}
break;//6
case 31:
if(kytu==176||kytu==256)
{dau2=56;napdau();}
break;//7
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
35
case 36: if(kytu==0)
{dau2=64;napdau();}
break;//8
case 41: if(kytu == 40)
{dau2=72;napdau();}
break;//9
case 46: if(dau1!=0)
{dau1=0;napdau();}
else
{dau2=0;napdau();}
break;//0
default: rac=ramadd;hienchucuoi();break;
}
}
dinhphim();
}
//------------------------
void napdau(void)
{
ramadd -=16;
napchuoi();
dinhphimcuoi();
}
//------------------------
void delay_434us(void)
{
TMOD&= 0xF0;
TMOD |= 0x01;
ET0 = 0;
TH0 = 0xFE;
TL0 = 0x4E;
TF0 = 0;
TR0 = 1;
while (TF0 == 0);
TR0 = 0;
}
//------------------------
void delay_1s(void)
{
unsigned char x,y;
for(y=0;y<9;y++)
{
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
36
for(x=0;x<250;x++)
{
delay_434us();
}
}
}
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
37
PHẦN IV:
SẢN THU ĐƯỢC
ƯU & KHUYẾT ĐIỂM
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
38
SƠ ĐỒ BÀN PHÍM
Bàn phím có tổng cộng 16 phím, trong đó có 10 phím là để đánh và hiển thị các ký tự,
5 phím chức năng và 1 phím bỏ trống
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
5
M N O (
5
M N O (
6
P Q R )
7
S T U “
8
V W X ”
9
Y Z ! ?
0
+ - x :
SPEED
DOWN
SPEED
UP
RUN/
STOP
DEL
SPA
CE
1
A B C .
2
D E F ,
3
G H I ;
4
J K L =
DAU
39
HƯỚNG DẪN
SỬ DỤNG MATRIXLED
Các phím từ số 0 đến 9 là các phím ký tự, mỗi phím có thể đánh được 5 ký tự được vẽ
trên mỗi phím và thứ tự hiện các ký tự lần lượt như sau:
• Phím số “1”: A B C . 1
• Phím số “2”: C D E , 2
• Phím số “3”: G H I ; 3
• Phím số “4”: J K L = 4
• Phím số “5”: M N O ( 5
• Phím số “6”: P Q R ) 6
• Phím số “7”: S T U “ 7
• Phím số “8”: V W X ” 8
• Phím số “9”: Y Z ! ? 9
• Phím số “0”: + - x : 0
Khi ấn 1 trong các phím ký tự thì ký tự đầu của phím sẽ hiển thị lên phía cuối của ma
trận led. Trong vòng 1 giây sau đó, nửa giây đầu ta không thể thao tác bất kỳ phím nào, việc
này nhằm hạn chế dính phím, nửa giây sau nếu ấn lại phím vừa ấn thì ký tự thứ hai sẽ hiển
thị thay vào vị trí ký tự thứ nhất trên ma trận led, còn nếu ấn phím khác thì phía ma trận led
lúc này sẽ có hai ký tự: ký tự của phím lúc đầu được đẩy lên và thay vào là ký tự của phím
mới này. Sau đó sẽ bắt đầu chu kỳ 1 giây như ở trên, nếu hết chu kỳ này chúng ta không ấn
gì thì phím kế tiếp sẽ được coi là một ký tự mới.
Một phím khi được nhấn nhiều lần các ký tự sẽ lần lượt hiện như đã nói. Sau khi hiện
ký tự thứ 5, nếu ta ấn tiếp tục thì sẽ quay lại ký tự đầu tiên.
Phím “DEL” là xóa ký tự cuối cùng, “SPACE” là thêm 1 khoảng trắng sau ký tự cuối
cùng. Khi ấn 2 phím này được ấn cũng có 0.5s không thao tác.
Phím “RUN/STOP” để chạy hay đoạn chương trình mình vừa nhập hay dừng đoạn
chương trình đang chạy và trở về hiển thị chữ nhằm thay đổi 1 phần nội dung nếu muốn.
Trước khi bắt đầu chạy chương trình và sau khi dừng trở về chương trình cũ sẽ có một
khoảng thời gian là 1s ma trận led không hiển thị.
Phím “SPEED DOWN” và “SPEED UP” là 2 phím chức năng có tác dụng tăng giảm
tốc độ chạy của chương trình khi đang chạy, 2 phím này chỉ hoạt động khi chạy chương
trình. Có 7 cấp tốc độ, khi ấn chạy chương trình thì mặc định là cấp thứ 4, muốn thay đổi tốc
độ thì ấn 1 trong 2 phím này. Khi 1 trong 2 phím được ấn thì tốc độ được thay đổi nhưng
chúng ta phải chờ 1s sau để có thể tiếp tục thay đổi tốc độ, 1 giây này nếu có phím tốc độ thì
sẽ không có hiệu lực, chỉ có hiệu lực với phím “RUN/STOP” khi ta muốn thoát khỏi chương
trình.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
40
Phím “DAU” dùng đánh dấu Tiếng Việt cho ký tự vừa được nhập, ấn phím này chỉ
khi đang đánh ký tự, không ấn được khi đang ở chế độ “RUN”.
Khi phím “DAU” được ấn,matrix led sẽ chuyển sang chế độ nhập dấu cho ký tự gần
nhất, lúc này ký tự gần nhất vẫn hiển thị còn các ký tự trước đó sẽ mất đi và ta tiến hành nhập
dấu cho ký tự hiển thi. Cách đánh dấu theo chuẩn Unicode qua con số, có thể sửa dấu nếu
đánh sai dấu và bỏ dấu bằng phím “0”, các dấu không thể đánh trong 1 ký tự nếu ta ấn thì
không có thay đổi. Trong lúc đang ở chế độ đánh dấu thì những phím không liên quan khi
được ấn sẽ không có hiệu lực.
Từ chế độ đánh dấu chuyển sang chế độ nhập ký tự cũng bằng phím “DAU”. Một điều
lưu ý là khi tao nhập một ký tự mới thì chỉ có thể điều chỉnh dấu của ký tự đó, không thể điều
chỉnh dấu của ký tự trước đó, muốn điều chỉnh dấu thì xóa và đánh lại. Sau khi space và
delete thì không thể vào chế độ đánh dấu.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
41
ƯU ĐIỂM
Ø Thao tác vận hành đơn giản.
Ø Linh kiện dễ tìm.
Ø Sử dụng nguồn DC 5V nên khá an toàn.
Ø Có thể nhập dấu theo chuẩn Unicode.
KHUYẾT ĐIỂM
Ø Giá thành sản phẩm còn khá đắt.
Ø Mạch phức tạp.
Ø Chân P0 điện áp ra rất thấp, cần điện trở để kích.
Ø Ánh sáng yếu.
GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
42

More Related Content

What's hot

Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logicAnh Ngoc Phan
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Nhóc Nhóc
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhCao Toa
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTITTran Tien
 
bài giảng ký thuật vi xử lý PTIT
bài giảng ký thuật vi xử lý PTITbài giảng ký thuật vi xử lý PTIT
bài giảng ký thuật vi xử lý PTITNguynMinh294
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưnataliej4
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngKiều Tú
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Chu Quang Thảo
 
Chuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop nguChuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop ngumituan
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-antenĐỗ Kiệt
 
Chuong 05 transistor bjt
Chuong 05 transistor bjtChuong 05 transistor bjt
Chuong 05 transistor bjtJean Okio
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...nataliej4
 

What's hot (20)

Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAYĐề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
Đề tài: Ứng dụng camera 3D trong phân loại sản phẩm, HAY
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
 
Kỹ thuật số
Kỹ thuật sốKỹ thuật số
Kỹ thuật số
 
bài giảng ký thuật vi xử lý PTIT
bài giảng ký thuật vi xử lý PTITbài giảng ký thuật vi xử lý PTIT
bài giảng ký thuật vi xử lý PTIT
 
Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đường
 
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đĐề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
Đề tài: Hệ thống phân loại cà chua theo màu sắc, HAY, 9đ
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
 
Chuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop nguChuong 4. lap trinh hop ngu
Chuong 4. lap trinh hop ngu
 
Đề tài: Mô hình chăm sóc heo tự động có điều khiển và giám sát
Đề tài: Mô hình chăm sóc heo tự động có điều khiển và giám sátĐề tài: Mô hình chăm sóc heo tự động có điều khiển và giám sát
Đề tài: Mô hình chăm sóc heo tự động có điều khiển và giám sát
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-anten
 
Đề tài: Thiết kế hệ thống giám sát nhiệt độ - độ ẩm phòng trồng nấm bào ngư
Đề tài: Thiết kế hệ thống giám sát nhiệt độ - độ ẩm phòng trồng nấm bào ngưĐề tài: Thiết kế hệ thống giám sát nhiệt độ - độ ẩm phòng trồng nấm bào ngư
Đề tài: Thiết kế hệ thống giám sát nhiệt độ - độ ẩm phòng trồng nấm bào ngư
 
Chuong 05 transistor bjt
Chuong 05 transistor bjtChuong 05 transistor bjt
Chuong 05 transistor bjt
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
 
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnhĐề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
Đề tài: Thiết kế bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
 

Similar to BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf

Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdThiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdnataliej4
 
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDĐồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDMr Giap
 
Tailieu.vncty.com do-an-vi-dieu-khien
Tailieu.vncty.com   do-an-vi-dieu-khienTailieu.vncty.com   do-an-vi-dieu-khien
Tailieu.vncty.com do-an-vi-dieu-khienTrần Đức Anh
 
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505Nguyen Luc
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Brooklyn Abbott
 
Nguyen van chinh tran duc thang vy duc loi
Nguyen van chinh tran duc thang vy duc loiNguyen van chinh tran duc thang vy duc loi
Nguyen van chinh tran duc thang vy duc loikiencuongk
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfMan_Ebook
 
Đồ án thi công mạch LED Cube 5x5x5
Đồ án thi công mạch LED Cube 5x5x5Đồ án thi công mạch LED Cube 5x5x5
Đồ án thi công mạch LED Cube 5x5x5Mr Giap
 
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52quanglocbp
 
Thiết-kế-IC-74HC595.pdf
Thiết-kế-IC-74HC595.pdfThiết-kế-IC-74HC595.pdf
Thiết-kế-IC-74HC595.pdfquandao25
 
Bao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcBao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcnamnam2005nt
 
Do_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfDo_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfThnCht9
 
Điều khiển động cơ sử dụng IC MCP4921
Điều khiển động cơ sử dụng IC MCP4921Điều khiển động cơ sử dụng IC MCP4921
Điều khiển động cơ sử dụng IC MCP4921Pham Hoang
 
418 giaotrinh avr
418 giaotrinh avr418 giaotrinh avr
418 giaotrinh avranhhoi12345
 
Giaotrinh avr tech24.vn
Giaotrinh avr tech24.vnGiaotrinh avr tech24.vn
Giaotrinh avr tech24.vnbibibobo2007
 
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thuTrần Đức Anh
 
Cantudong phanvan thang_dh04td
Cantudong phanvan thang_dh04tdCantudong phanvan thang_dh04td
Cantudong phanvan thang_dh04tdToai Nguyen
 
1.gioi thieu 8051
1.gioi thieu 80511.gioi thieu 8051
1.gioi thieu 8051DngBi73
 

Similar to BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf (20)

Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdThiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
 
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDĐồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
 
Tailieu.vncty.com do-an-vi-dieu-khien
Tailieu.vncty.com   do-an-vi-dieu-khienTailieu.vncty.com   do-an-vi-dieu-khien
Tailieu.vncty.com do-an-vi-dieu-khien
 
Đề tài: Đo tốc độ động cơ dùng 8051, HAY, 9đ
Đề tài: Đo tốc độ động cơ dùng 8051, HAY, 9đĐề tài: Đo tốc độ động cơ dùng 8051, HAY, 9đ
Đề tài: Đo tốc độ động cơ dùng 8051, HAY, 9đ
 
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051
 
Nguyen van chinh tran duc thang vy duc loi
Nguyen van chinh tran duc thang vy duc loiNguyen van chinh tran duc thang vy duc loi
Nguyen van chinh tran duc thang vy duc loi
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
 
Đồ án thi công mạch LED Cube 5x5x5
Đồ án thi công mạch LED Cube 5x5x5Đồ án thi công mạch LED Cube 5x5x5
Đồ án thi công mạch LED Cube 5x5x5
 
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52
THIẾT KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52
 
Nhóm-HM.docx
Nhóm-HM.docxNhóm-HM.docx
Nhóm-HM.docx
 
Thiết-kế-IC-74HC595.pdf
Thiết-kế-IC-74HC595.pdfThiết-kế-IC-74HC595.pdf
Thiết-kế-IC-74HC595.pdf
 
Bao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcBao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dc
 
Do_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfDo_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdf
 
Điều khiển động cơ sử dụng IC MCP4921
Điều khiển động cơ sử dụng IC MCP4921Điều khiển động cơ sử dụng IC MCP4921
Điều khiển động cơ sử dụng IC MCP4921
 
418 giaotrinh avr
418 giaotrinh avr418 giaotrinh avr
418 giaotrinh avr
 
Giaotrinh avr tech24.vn
Giaotrinh avr tech24.vnGiaotrinh avr tech24.vn
Giaotrinh avr tech24.vn
 
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
 
Cantudong phanvan thang_dh04td
Cantudong phanvan thang_dh04tdCantudong phanvan thang_dh04td
Cantudong phanvan thang_dh04td
 
1.gioi thieu 8051
1.gioi thieu 80511.gioi thieu 8051
1.gioi thieu 8051
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 

BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf

  • 1. 2 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH –––Ë——— BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM Giáo viên hướng dẫn: Ths Nguyễn Tất Bảo Thiện Lớp: KTMT01 Nhóm thực hiện: Nguyễn Minh Hùng 06520189 Lê Nguyễn Khoa 06520225 Ngô Tự Đăng Khoa 06520228 Lê Quang Huy 06520202 2008 - 2009
  • 2. 3 Mục lục Mục lục...................................................................................................trang 3 Giới thiệu về đồ án .................................................................................trang 4 Phần I: Các linh kiện được sử dụng ........................................................trang 5 IC AT89C52 ......................................................................................trang 6 IC 82C55A.........................................................................................trang 7 IC 74HC373.......................................................................................trang 8 IC 74HC138.......................................................................................trang 9 IC 6264 (Ram 8Kx8bit) .....................................................................trang 10 Phần II: Thiết kế và thi công mạch .........................................................trang 11 Mạch vi điều khiển AT89C52............................................................trang 12 Mạch chốt 74HC373 và chọn chip 74HC138.....................................trang 13 Mạch Ram 6264 và 82C55A..............................................................trang 14 Mạch khuếch đại (amplifier) và bàn phím 4x4...................................trang 15 Mạch nguồn và khối hiển thị..............................................................trang 16 Phần III: Các lệnh tiêu biểu trong Keil C và chương trình mẫu ..............trang 17 Lưu đồ giải thuật................................................................................trang 18 Các lệnh tiêu biểu trong Keil C..........................................................trang 19 Lập trình sử dụng RAM trong Keil C.................................................trang 21 Các nguyên lý cơ bản về quét led và bàn phím ..................................trang 23 Chương trình mẫu..............................................................................trang 25 Phần IV: Sản phẩm thu được, ưu và khuyết điểm...................................trang 37 Sơ đồ bàn phím..................................................................................trang 38 Hướng dẫn sử dụng matrixled............................................................trang 39 Ưu điểm và khuyết điểm sản phẩm....................................................trang 41 Sơ đồ mạch ........................................................................................trang 42 GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 3. 4 Giới thiệu về đồ án: Hiện nay trong đời sống thì quảng cáo bằng hình thức quang báo không còn mới mẽ gì. Nó có thể được sử dụng để quảng cáo tên nhãn hiệu sản phẩm, tên của một công ty hay tên của một cửa hàng nào đó. Trong đó có quang báo dùng Led Ma Trận, dù quang báo dùng Led Ma Trận chiếm không nhiều nhưng nó cũng đóng góp một phần vào việc tuyên truyền, quảng cáo hay thông tin đến người tiêu dùng nói riêng và cả nước nói chung. Đặc điểm lớn nhất của “Quang báo dùng Led Ma Trận” là có thể nhập trực tiếp từ bàn phím những ký tự mà mình mong muốn, việc này ở các hình thức quang báo khác không có, cái hay của nó là thông tin được cập nhật bất cứ lúc nào, có thể hiện thị nhanh nhất các thông tin mới nhất để mọi người nắm bắt. Trong đồ án này, dù quy mô không lớn nhưng tính chất đặc biệt của Led Ma Trận không mất. Để hiểu sâu hơn về đề tài, xin xem tiếp phần sau: GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 4. 5 PHẦN I: CÁC LINH KIỆN ĐƯỢC SỬ DỤNG GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 5. 6 IC AT89C52 Sơ đồ chân Đặc điểm AT89C52 là một IC họ MSC-51, các IC họ này có đặc điểm chung như sau: • 4KB EPROM bên trong, ở đây chúng ta sử dụng AT89C52 có 8KB EPROM. • 128 byte RAM nội. • 4 Port I/O (input/output), mỗi port 8bit. • Giao tiếp nối tiếp. • 64 KB vùng nhớ mã ngoài. • 64 KB vùng nhớ dữ liệu ngoài. • Xử lý Boolen (hoạt động trên bit đơn). • 210 vị trí nhớ có thể định vị bit. • 4us cho hoạt động nhân hay chia. AT89C52 có 32 port I/O rất thuận tiện việc quét led hiển thị, nhưng trong đồ án này, chúng ta sử dụng thêm IC Ram 6264 để lưu trữ tạm thời dữ liệu được nhập từ bàn phím. Công việc này lấy đi 14 chân I/O của vi xử lý vì thế không đủ port để quét led, ta phải sử dụng với IC chọn chip kèm IC mở port để thực hiện việc quet led hiển thị này. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 6. 7 IC 82C55A Sơ đồ chân Đặc điểm IC 82C55A là một IC để mở rộng port cho Microprocessor, nó giao tiếp với Microprocessor thông qua 3 bus: Bus dữ liệu bit D7-D0, bus địa chỉ A1-A0 và bus điều khiển RD,WR,CS,Reset. Mã lệnh, thông tin trạng thái và dữ liệu đều được truyền trên 8 đường dữ liệu D7-D0. Bảng trạng thái của 82C55A: IC 82C55A có 3 Port I/O là Port A, Port B, Port C mỗi Port 8 bit. Các Port này được điều khiển là nhập hay xuất thông qua thanh ghi điều (control register) khiển do Microprocessor (AT89C52) gửi đến từ trước. Port hay thanh ghi điều khiển được chọn qua 2 bit A1-A0. Người lập trình phải điền khiển các bit này từ Microprocessor (AT89C52). GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 7. 8 IC 74HC373 Sơ đồ chân Đặc điểm 74HC373 là một IC chốt địa chỉ tốc độ cao sử dụng công nghệ cổng CMOS, không gây ồn, tiêu thụ công suất thấp. Khi ngõ vào Latch Enable cho phép chốt (G) ở mức cao thì ngõ ra Q sẽ thay đổi theo ngõ vào D, khi Latch Enable (G) xuống thấp thì các ngõ ra Q sẽ được giữ lại đến khi Latch Enable trở lại mức cao. Bảng trạng thái 74HC373: GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 8. 9 IC 74HC138 Sơ đồ chân Đặc điểm 74HC138 là IC giải mã 3 - 8 gồm 3 ngõ vào địa chỉ (A1, A2, A3) có trọng số nhị phân và 8 ngõ ra tích cực mức thấp Y0-Y7, 3 ngõ vào cho phép E1, E2 tích cực thấp và E3 tích cực cao. Bảng trạng thái 74HC138: GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 9. 10 IC 6264 (RAM 8Kx8bit) Sơ đồ chân Đặc điểm IC 6264 là một ram tĩnh CMOS hiệu suất cao được tổ chức bởi 8192*8bit (8Kx8bit) với các chân A0-A12 là bus địa chỉ. Bộ nhớ Ram là bộ nhớ dễ thay đổi, bất kỳ ô nhớ nào cũng có thể truy xuất dễ dàng thông qua bus địa chỉ, thời gian truy xuất các ô nhớ là như nhau. Khác với bộ nhớ ROM, bộ nhớ RAM sẽ bị mất khi nguồn điện cung cấp bị ngắt. Dễ dàng mở rộng bởi chân chọn chip tích cực thấp CE1, một chân chọn chip tích cực cao CE2 và một chân OE tích cực thấp. Tín hiệu cho phép ghi tích cực mức thấp WE điều khiển việc đọc/ghi của bộ nhớ. IC có 8 ngõ vào/ra của bus dữ liệu được dùng chung là I/O0 – I/O7. RAM thường được dùng trong các hệ thống điều khiển tự động để lưu trữ dữ liệu tạm thời.Bộ nhớ Ram có 2 loại là SRAM và DRAM: • SRAM còn gọi là Static Ram hay Ram tĩnh. Đây là loại Ram lưu trữ dữ liệu đến khi nào nguồn không còn. SRAM thực chất là những flip flop (FF), trong mỗi FF là một phần tử nhớ đại diện cho 1 bit. • DRAM còn gọi là Dynamic Ram hay Ram động. Loại ram này phải luôn được làm “tươi” tức là phải nạp dữ liệu cho Ram trong 1 khoảng thời gian nhất định, nếu không Ram sẽ bị mất dữ liệu. Trong khi làm “tươi” Ram ô nhớ đó không được phép truy xuất. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 10. 11 PHẦN II: THIẾT KẾ VÀ THI CÔNG MẠCH GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 11. 12 MẠCH VI ĐIỀU KHIỂN AT89C52 Sơ đồ mạch Mô tả Mạch này gồm 2 mạch nhỏ là tạo xung và reset. Khi cấp nguồn điện áp trên R34 (chân 9 của AT89C52) lên mức cai 5V (=Vcc), sau đó sẽ xuống mức 0V do tụ C8 bắt đầu nạp. Nếu ta ấn phím reset (JP2) thì áp trên R34 sẽ tăng gần = Vcc nhờ cầu phân áp R33 và R34 ghim một mức áp cố định (+5V). Vì sử dụng Ram ngoài nên P2 và P0 đóng vai trò là các bus địa chỉ, P3 thì sử dụng các chân RD, WR để điểu khiển chế độ hoạt động của RAM và 82C55A. P1 để quét và nhận bàn phím ma trận 4*4 (16 phím). Ở đây ra sử dụng Ram 6264 chỉ có 13 bit địa chỉ, P2 P0 có 16 bit, ta dùng 3 bit còn lại để điều khiển IC giải mã chọn chip. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 12. 13 MẠCH CHỐT 74HC373 & CHỌN CHIP 74HC138 Sơ đồ mạch Mô tả 74HC138 là IC dùng chọn chip Ram, hay 8255. Ở đây chúng ta sử dụng 1 IC Ram 6264 với 3 IC 82C55A tổng cộng là 4 chip. CE cho Ram, CS1-CS3 cho các IC 8255. A, B và C là các ngõ điều khiển được nối với AT89C52. 74HC373 là IC chốt dùng chốt địa chỉ khi sử dụng ram, ta nối các đầu vào với P0 của AT89C52 để chốt khi P0 là bus địa chỉ, và giữ các địa chỉ này cho Ram hoạt động khi P0 chuyển từ bus địa chỉ sang bus dữ liệu. Đồng thời chốt 2 bit A1, A0 để sử dụng và điều khiển 82C55A. Các đầu ra A0-A7 được nối với các đầu vào dữ liệu của Ram 6264 và A1-A0 nối với A1-A0 của 82C55A. Chân LE là chân xung để chọn chốt hay không chốt, chân này nối với chân xung ALE của AT89C52 để nó tự điều khiển khi được cấp lệnh. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 13. 14 MẠCH RAM 6264 VÀ 82C55A Sơ đồ mạch Mô tả Như đã đề cập, Ram 6264 có 13 bit địa chỉ, 8 bit được nối với P0 thông qua mạch chốt 74HC373, D0-D7 là bus dữ liệu vào và ra nối với P0 của AT89C52 (P0 đóng 2 vai trò bus địa chỉ và dữ liệu) các chân OE và WE được nối với RD và WR của AT89C52 để điều khiển khi Read hay Write. CE là chân chọn chip tích cực thâp, chân này nối với IC giải mã 74HC138 để điều khiển khi cần. 82C55A được sử dụng và truy xuất như 1 RAM ngoại, nó có bus địa chỉ là A1-A0, bus dữ liệu là D0-D7 và bus điều khiển là chân đọc RD, ghi WR, chọn chip CS. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 14. 15 MẠCH KHUẾC ĐẠI (AMPLIFIER) Theo K2: ta có –Vcc + IcRc + Vce + Vled = 0 ð Rc = (5 – 0.2 - 2) / 20 = 140 ohm (150 ohm) Ở đây ta dùng Transistor C1815 có độ khuếch đại b = 70 – 700 và dòng tối Icmax = 150 mA nên: Ta lại có: K2: -5 +IbRb + Vbe + Vled = 0 ð Rb = (5 – 0.7 – 2) / 0.28 = 8.2K BÀN PHÍM 4x4 Mô tả Bàn phím được xây dựng trên cơ sở quét hàng và cột, được nối với port P1 của IC AT89C52. Chức năng của các phím: ð SPACE BAR: chèn 1 khoảng trắng. ð DELETE: xóa ký tự gần nhất ð RUN/STOP: cho phép chạy chương trình vừa nhập hoặc dừng chương trình đang chạy. ð SPEED UP: tăng tốc chạy chương trình. ð SPEED DOWN: giảm tốc chạy chương trình. ð 10 phím còn lại nhập chữ, số và các dấu, mỗi phím có thể nhập đc 5 ký tự ð Còn 1 phím trống. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 15. 16 MẠCH NGUỒN Chúng ta có thể dùng adapter 5V hay acquy 12V-24V rồi đưa qua IC 7805, IC này có tác dụng chuyển đổi nguồn từ 9V-24V thành 5V. KHỐI HIỂN THỊ Gồm 12 khối led ma trận ML2008 (8x8) ghép với nhau. Mỗi khối led sẽ có 8 hàng dọc tương ứng với 8 đầu anot, 8 hàng ngay tương ứng với 8 đầu catot. Khi muốn sáng Led nào thì ta chỉ cần cấp mức 1(5V) ở đầu anot và cấp mức 0(0V) ở đầu Catot của led cần sáng. Để có thể hiển thị ta ghép 6 khối Led với nhau trên cùng 1 hàng, như vậy ta có 6 khối cột và 2 khối hàng. Trên cùng 1 khối cột ta nối âm với âm, vậy ta có 6 khối cột âm, mỗi khối 8 bit. Trên cùng 1 khối hàng ta nối dương với dương, vậy ta có 2 khối hàng dương, mỗi khối 8 bit.6 khối cột âm nối với 6 port của 2 IC 8255, 2 khối hàng dương nối với 2 port của 8255 thứ 3. Sơ đồ chân của khối matrix led MI08 (8x8): 16 l 0.0 1.4 l 1 15 l 0.1 1.6 l 2 14 l 1.1 0.6 l 3 13 l 0.7 0.5 l 4 12 l 1.3 1.7 l 5 11 l 0.2 0.3 l 6 10 l 0.4 1.5 l 7 9 l 1.0 1.2 l 8 GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 16. 17 PHẦN III: CÁC LỆNH TIÊU BIỂU TRONG KEIL C & CHƯƠNG TRÌNH MẪU GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 17. 18 LƯU ĐỒ GIẢI THUẬT BEGIN NHẬP PHÍM CÓ PHÍM? PHÍM KÝ TỰ NẠP RAM HIỂN THỊ NO YES END GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 18. 19 CÁC LỆNH TIÊU BIỂU TRONG KEIL C Khai báo biến: Bit x; kiểu dữ liệu 1 bit Char data; kiểu dữ liệu 8 bit có dấu, bit đầu là dấu -127 … 128 Unsigned char x; kiểu dữ liệu 8 bit không dấu 0 … 255 Int x; kiểu dữ liệu 16 bit có dấu Unsigned int x; kiểu dữ liệu 16 bit không dấu Vòng lặp For(x;x < 100;x++) { …; } For(;;) vòng lặp vô hạn (super loop) { …; } While(x != 100) { …; x++; } While(1) vòng lặp vô hạn (super loop) { …; } Các lệnh luận lý (boolean) – cho ra giá trị fail(0) or true(1) x<b; bé hơn x>b; x<=b; bé hơn hay bằng x>=b; x==b; bằng x!=b; không bằng GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 19. 20 Lệnh điều kiện If(x > 0) { …; } Else { …; } Switch(x) { case 0: …;break; case 10; …;break; case 11; …;break ….; default: ….;break; } Các lệnh toán tử (operator) x++ :x=x+1; x-- : x=x-1 x+=b: x=x+b; x-=b: x=x-b; x*=b: x=x*b; x/=b: x=x/b; Các lệnh dịch bit: 1<<x : dịch trái 1 bit; x>>1: dịch phải 1 bit; x<<=1: x=1<<x; x<<=1: x=x>>1; Định nghĩa các biến #define A 2000: A=2000 trong suốt chương trình. #define ouput_port P3: khi sử dụng output_port xem như sử dụng P3. Sbit P1^0 = P: khi ta sử dụng biến “P” thì xem như đang sử dụng P1^0. #type unsigned char tByte: Khi sử dụng tByte xem chương trình sẽ hiểu là unsigned char GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 20. 21 LẬP TRÌNH SỬ DỤNG RAM/ROM TRONG KEIL C Cách 1 :Vào Target, chọn Memory Model là Large , khi đó mọi biến bạn khai báo đều được lưu trữ trong RAM ngoài.Cách này đơn giản nhưng có nhược điểm là không quản lý được biến, compiler sẽ tự định địa chỉ cho biến của bạn. Cách 2 :Chọn Memory Model là small. Khi đó , biến nào khai báo ở dạng xdata thì sẽ hiểu là RAM ngoài. VD : unsigned char xdata Dulieu[10]; cách này thường được sử dụng rộng rãi, tuy nhiên RAM của bạn phải bắt đầu từ địa chỉ 0x0000. Cách 3 : Nếu vùng địa chỉ của RAM không bắt đầu từ 0x0000 , chẳng hạn bạn sử dụng mạch giải mã để đặt địa chỉ cho RAM bắt đầu từ 0x8000 , khi đó ta có thể sử dụng thư viện "absacc.h" ,ví dụ khai báo như sau : #include "absacc.h" .... #define baseaddr 0x8000 void InitRAM() { unsigned char i; for(i=0;i&lt;10;i++) XBYTE[baseaddr+i]=i; // Ghi vào RAM ngoài 10 giá trị , bắt đầu từ // 0x8000 } Lúc lấy giá trị ra, bạn có thể gọi : x=XBYTE[address]; GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 21. 22 Với các khai báo như trên, compiler sẽ hiểu là sử dụng RAM ngoài, và việc trao đổi thông tin với RAM ngoài sẽ được VĐK thực hiện bằng lệnh movx, các xung ALE,RD,WR sẽ họat động theo nhịp clock để trao đổi với RAM. Đọc 1- CPU phát địa chỉ ra bus địa chỉ. Bộ nhớ nhận được địa chỉ này, sẵn sàng phát byte dữ liệu ra bus dữ liệu, nhưng vì /OE chưa tích cực nên các chân Di (D1, D2, ..., Dm) của bộ nhớ vẫn còn ở trạng thái Hi-Z (tổng trở cao). 2- CPU kích hoạt tín hiệu /RD (/RD nối tới chân /OE của bộ nhớ) -> /OE tích cực -> bộ nhớ xuất dữ liệu ra bus dữ liệu. 3- CPU cất (copy) dữ liệu từ bus dữ liệu vào thanh ghi. 4- CPU bỏ kích hoạt /RD -> /OE trở lại mức ko tích cực -> ngõ ra bộ nhớ trở lại trạng thái Hi-Z. Ghi 1- CPU phát địa chỉ ra bus địa chỉ. 2- CPU phát dữ liệu từ thanh ghi ra bus dữ liệu. 3- CPU kích hoạt /WR (/WR nối tới /WE của bộ nhớ) -> /WE tích cực -> bộ nhớ ghi dữ liệu ở bus dữ liệu vào ô nhớ có địa chỉ chỉ định bởi bus địa chỉ. 4- CPU bỏ kích hoạt /WR -> /WE trở lại mức ko tích cực. Đối với 8051 Chân /PSEN thường được nối tới chân /OE của ROM ngoài chứa chương trình. Khi 8051 đọc chương trình, thì chân /PSEN sẽ được kích hoạt (giống như tín hiệu /RD nói trên). Chân /RD và /WR thường nối tới /OE và /WE của RAM ngoài. /CE là chân chọn chip (giống như /CS). Trong 1 hệ vi xử lý có nhiều thiết bị (bộ nhớ hay I/O) sử dụng chung bus dữ liệu, tại 1 thời điểm chỉ có tối đa 1 thiết bị được giao tiếp với bus dữ liệu thôi (nếu có nhiều hơn 1, thì sẽ xảy ra tranh chấp bus). Mạch giải mã địa chỉ sẽ điều khiển các chân /CE (hay /CS) của các thiết bị này để chỉ định thiết bị nào được giao tiếp với bus dữ liệu. /CE của thiết bị nào ở mức tích cực thì thiết bị ấy được phép giao tiếp với bus dữ liệu, còn không thì các đường dữ liệu Di của thiết bị sẽ ở trạng thái Hi-Z. Ram 6264 có 8192 ô nhớ 8 bit, ta dùng 700 ô nhớ đầu chứa bảng mã, còn 7492 ô nhớ, mỗi chữ cái chiếm 14 ô nhớ. Vậy ta có thể ghi được 7492/14 = 535 ký tự. **)Đối với 82C55A thì cách sử dụng cũng như RAM và ROM ngoài, chỉ khác là 82C55A chỉ có 4 địa chỉ của port A, B, C và Control registor. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 22. 23 CÁC NGUYÊN LÝ CƠ BẢN VỀ QUÉT LED VÀ BÀN PHÍM Đề tài của chúng ta là “Ma trận led nhập từ bàn phím”, như vậy 2 thiết bị không thể thiếu là bàn phím và led ma trận. Ma trận bàn phím 4x4 (Cấu tạo chung cho các thiết bị matrix) Cách hoạt động của bàn phím là khi ta cấp Vcc 5V cho đầu “A” và bấm phím thứ 1 thì đo được ở đầu 1 là 5V, tương tự cho các phím khác. Như vậy để nhận được 16 phím thì ta phải cấp Vcc lần lượt cho 4 đầu “A, B, C, D” hay ngược lại lần lượt cho “1, 2, 3, 4”. Điều chú ý ở đây là phải cấp lần lượt chứ không thể cấp 1 lúc 4 đầu đều là VCC, như thế sẽ không thể phân biệt được các hàng hay các cột. Hay ngược lại chúng ta có thể cấp 0V cho đầu “A” còn tất cả các đầu kia đều là “5V”, như vậy khi phím 1 được ấn thì cả 2 đầu “A” và “1” đều đo được là 0V, các đầu còn lại vẫn 5V. Nếu “A, B, C, D, 1, 2, 3, 4” lần lượt nối với P3.0 – P3.7 của AT89C52 thì ta có thể làm như sau: Ta đặt P3.0 = 1(A=1), các chân kia =0, khi ấn phím nào trên hàng A thì cột đó sẽ = 1, ta chia thành 4 trường hợp. Sau đó P3.0 = 0 và P3.1 =1, ta lại có 4 trường hợp, sau 4 lần cho A B C D ta có 16 trường hợp. Còn 1 phương pháp khác được gọi là dịch bit. Đầu tiên ta set P1 = 00000001 (hay 11111110 cũng được) sau đó dịch 1 bit thành 00000010 > 00000100 > 00001000 với điều kiện là P1 không được lớn hơn 00010000 = 16. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 23. 24 Ma trận led 8x8 (Cấu tạo tương tự như ma trận bàn phím được nói ở trên) Muốn đèn nào sáng ta cấp Vcc 5V cho hàng anot chứa đèn đó (1-8) và 0V cho cột catot chứa đèn đó (9-16). Nhưng để hiện chữ chúng ta không thể cấp từng cái như thế được. Nguyên lý để hiện chữ trên ma trận led là chúng ta quét từng cột hay từng hàng, quét cột hay hàng là tùy mỗi người. Ở đây ta sẽ xét quét cột: Đầu tiên chúng ta phải bảng mã hóa các chữ, bảng này chúng ta có thể vẽ ra trên giấy rồi tính. Ví dụ chữ A cột đầu tiên là 000111100 = 0x1C (tính từ 1 > 8). Ta phải cấp P1=0x1C. Sau đó P2.0 (cột số 9) bằng 0, tiếp theo cấp dữ liệu cột thứ 2 (P) rồi cho cột thứ 2 = 0, cứ như thế ta sẽ có được chữ A. Theo hiện tượng lưu ảnh ở mắt người ta sẽ thấy được chữ A, thời gian sáng của mỗi cột thường là 1ms – 5ms tùy mỗi người, nhanh quá sẽ không kịp sáng và không thấy gì, chậm quá thì không đủ tần số, chúng ta sẽ thấy chớp chớp. Chú ý là khi 1 cột = 0 thì các cột kia phải = 1 nếu không thì dữ liệu của cột này sẽ được đưa vào cho tất cả các cột, khi đó không thấy được chữ mà chỉ thấy nó sáng 1 kiểu. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 24. 25 CHƯƠNG TRÌNH MẪU #include <reg52.h> #include "absacc.h" //------------------------------------------------------------------------------------------------ #define begin 1096 #define pb1 0x2001 #define pc1 0x2002 //------------------------------------------------------------------------------------------------ void quetphim(void); void napchuoi(void); void xulyhienchu(void); void hienchu(void); void hienchucuoi(void); void delay_434us(void); void delete(void); void space(void); void X_init(void); void xulychaychu(void); void delay_1s(void); void dinhphim(void); void dinhphimcuoi(void); void tradau(void); void napdau(void); //------------------------ unsigned char phim,phim_temp,dau1=0,dau2=0; unsigned int ramadd,kytu,rac; bit run=0,d=0; //------------------------------------------------------------------------------------------------ unsigned char xdata bangmaduoi[408] = { 0x38,0x06,0x05,0x04,0x05,0x06,0x38,0x00, //A 0x3f,0x24,0x24,0x24,0x24,0x24,0x1b,0x00, //B 0x1f,0x20,0x20,0x20,0x20,0x20,0x11,0x00, //C 0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, //. 0x00,0x02,0x01,0x3f,0x00,0x00,0x00,0x00, //1 0x3f,0x20,0x20,0x20,0x20,0x20,0x1f,0x00, //D 0x3f,0x24,0x24,0x24,0x24,0x20,0x20,0x00, //E 0x3f,0x04,0x04,0x04,0x04,0x00,0x00,0x00, //F 0x00,0x50,0x30,0x00,0x00,0x00,0x00,0x00, //, 0x31,0x28,0x28,0x28,0x28,0x27,0x00,0x00, //2 0x1f,0x20,0x20,0x20,0x24,0x24,0x3c,0x00, //G 0x3f,0x04,0x04,0x04,0x04,0x04,0x3f,0x00, //H GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 25. 26 0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x00, //I 0x00,0x51,0x31,0x00,0x00,0x00,0x00,0x00, //; 0x11,0x20,0x24,0x24,0x24,0x1b,0x00,0x00, //3 0x10,0x20,0x20,0x1f,0x00,0x00,0x00,0x00, //J 0x3f,0x04,0x04,0x0a,0x11,0x20,0x00,0x00, //K 0x3f,0x20,0x20,0x20,0x20,0x20,0x00,0x00, //L 0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, //= 0x18,0x14,0x12,0x11,0x3f,0x10,0x00,0x00, //4 0x3f,0x01,0x02,0x04,0x02,0x01,0x3f,0x00, //M 0x3f,0x01,0x02,0x04,0x08,0x10,0x3f,0x00, //N 0x1f,0x20,0x20,0x20,0x20,0x20,0x1f,0x00, //0 0x00,0x00,0x00,0x00,0x1f,0x20,0x40,0x00, //( 0x27,0x24,0x24,0x24,0x24,0x18,0x00,0x00, //5 0x3f,0x04,0x04,0x04,0x04,0x04,0x03,0x00, //P 0x1f,0x20,0x20,0x20,0x28,0x10,0x2f,0x00, //Q 0x3f,0x04,0x04,0x04,0x0c,0x14,0x23,0x00, //R 0x00,0x40,0x20,0x1f,0x00,0x00,0x00,0x00, //) 0x1f,0x24,0x24,0x24,0x24,0x19,0x00,0x00, //6 0x13,0x24,0x24,0x24,0x24,0x24,0x19,0x00, //S 0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00, //T 0x1f,0x20,0x20,0x20,0x20,0x20,0x1F,0x00, //U 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //" 0x00,0x00,0x38,0x04,0x02,0x01,0x00,0x00, //7 0x03,0x0c,0x10,0x20,0x10,0x0c,0x03,0x00, //V 0x1f,0x20,0x10,0x0c,0x10,0x20,0x1f,0x00, //W 0x20,0x11,0x0a,0x04,0x0a,0x11,0x20,0x00, //X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //" 0x1b,0x24,0x24,0x24,0x24,0x1b,0x00,0x00, //8 0x00,0x01,0x02,0x3c,0x02,0x01,0x00,0x00, //Y 0x21,0x30,0x28,0x24,0x22,0x21,0x10,0x00, //Z 0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00, //! 0x00,0x00,0x24,0x02,0x01,0x00,0x00,0x00, //? 0x13,0x24,0x24,0x24,0x24,0x1f,0x00,0x00, //9 0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00, //+ 0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00, //- 0x00,0x22,0x14,0x08,0x14,0x22,0x00,0x00, //x 0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00, //: 0x1f,0x30,0x28,0x24,0x22,0x21,0x1f,0x00, //0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // }; //------------------------ unsigned char xdata bangmatren[408] = { 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, //A 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //B 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //C GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 26. 27 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //. 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, //1 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //D 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //E 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //F 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //, 0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //2 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //G 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //H 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //I 0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00, //; 0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //3 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //J 0x80,0x00,0x00,0x00,0x00,0x80,0x00,0x00, //K 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //= 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00, //4 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //M 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //N 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //O 0x00,0x00,0x00,0x00,0xc0,0x20,0x10,0x00, //( 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //5 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //P 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //Q 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //R 0x00,0x10,0x20,0xc0,0x00,0x00,0x00,0x00, //) 0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //6 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //S 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //T 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //U 0x00,0x00,0x00,0x00,0x0c,0x20,0x20,0x00, //" 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //7 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //V 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //W 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //X 0x00,0x20,0x20,0x0c,0x00,0x00,0x00,0x00, //" 0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //8 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, //Y 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, //Z 0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00, //! 0x40,0x20,0x20,0x20,0xc0,0x00,0x00,0x00, //? 0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00, //9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //x 0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00, //: GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 27. 28 0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00, //0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // }; //------------------------ unsigned char xdata bangdautren[80] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0 0x00,0x00,0x04,0x02,0x01,0x00,0x00,0x00, //1 0x00,0x00,0x01,0x02,0x04,0x00,0x00,0x00, //2 0x00,0x00,0x00,0x02,0x01,0x09,0x06,0x00, //3 0x00,0x02,0x01,0x01,0x02,0x02,0x01,0x00, //4 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //5 0x00,0x40,0x20,0x10,0x20,0x40,0x00,0x00, //6 0x00,0x00,0x00,0x00,0x00,0x10,0x90,0x60, //7 0x00,0x10,0x20,0x20,0x20,0x10,0x00,0x00, //8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //9 }; //------------------------ unsigned char xdata bangdauduoi[80] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //2 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //4 0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00, //5 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //6 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //8 0x00,0x04,0x04,0x04,0x00,0x00,0x00,0x00 //9 }; //------------------------ unsigned char bangspeed[7] = {48,40,32,24,16,8,1}; //------------------------------------------------------------------------------------------------ //------------------------ void X_init(void) { XBYTE[0x6003] = 0x80; XBYTE[0x4003] = 0x80; XBYTE[0x2003] = 0x80; for(ramadd=begin - 96;ramadd<8192;ramadd++) { XBYTE[ramadd] = 0x00; } ramadd = begin; GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 28. 29 } //------------------------ void main(void) { X_init(); while(1) { if(run == 1) xulychaychu(); if(d == 1) tradau(); quetphim(); switch(phim) { case 54: space();break; case 55: delete();break; case 53: xulychaychu();break; case 60: tradau();break; default: xulyhienchu();break; } } } //------------------------ void quetphim(void) { unsigned char x,b,y=0; for(x = 1; x<16;x<<=1) { P1 = ~(x); b=P1; switch (b) { case 0xE7: phim = 1 ;break; //0111 0111 phim 1 (1 -A 2 -B 3 -C 4 -. 5 -1) case 0xD7: phim = 6 ;break; //0111 1011 phim 2 (6-D 7-E 8-F 9-, 10-2) case 0xB7: phim = 11;break; //0111 1101 phim 3 (11-G 12-H 13-I 14-; 15-3) case 0x77: phim = 55;break; //0111 1110 phim 4 delete case 0xEB: phim = 16;break; //1011 0111 phim 5 (16-J 17-K 18-L 19-= 20-4) case 0xDB: phim = 21;break; //1011 1011 phim 6 (21-M 22-N 23-O 24-( 25-5) case 0xBB: phim = 26;break; //1011 1101 phim 7 (26-P 27-Q 28-R 29-) 30-6) case 0x7B: phim = 54;break; GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 29. 30 //1011 1110 phim 8 space case 0xED: phim = 31;break; //1101 0111 phim 9 (31-S 32-T 33-U 34-" 35-7) case 0xDD: phim = 36;break; //1101 1011 phim 10 (36-V 37-W 38-X 39-" 40-8) case 0xBD: phim = 41;break; //1101 1101 phim 11 (41-Y 42-Z 43-! 44-? 45-9) case 0x7D: phim = 60;if(kytu!=350&run == 0)d=~d;break; //1101 1110 phim 12 danh dau case 0xEE: phim = 51;break; //1110 0111 phim 13 speed down case 0xDE: phim = 46;break; //1110 1011 phim 14 (46-+ 47-- 48-* 49-: 50-0) case 0xBE: phim = 52;break; //1110 1101 phim 15 speed up case 0x7E: phim = 53;if(d==0)run=~run; break; //1110 1110 phim 16 run //xxxx xxxx default: phim = 0 ; } if(phim!=0) break; } } //------------------------ void xulyhienchu(void) { unsigned char x,k; for(x=0;x<24;x++) { if(phim <51& phim!=0) { x=0;dau1=0;dau2=0; if(phim_temp != phim) { k=0; phim_temp=phim; kytu = (phim-1)*8; napchuoi(); dinhphim(); } else //phim_temp == phim { k++; if(k == 5) {k=0; kytu = (phim-1)*8;} else { kytu += 8;} ramadd -= 16; GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 30. 31 napchuoi(); dinhphim(); } } else { rac=ramadd; hienchu(); //for 24 lan chiem 0.5s } quetphim(); if(phim > 52) break; //space delete run danhdau } phim_temp=0; } //------------------------ void napchuoi(void) { unsigned char n; for (n=0;n<8;n++) { XBYTE[ramadd] = bangmatren[kytu+n] | bangdautren[dau1+n] | bangdautren[dau2+n]; XBYTE[ramadd+1] = bangmaduoi[kytu+n] | bangdauduoi[dau1+n] | bangdauduoi[dau2+n]; ramadd += 2; } } //------------------------ void delete(void) { dau1=0;dau2=0; if(ramadd != begin) { kytu=400; ramadd -= 16; napchuoi(); ramadd -= 16; dinhphim(); } } //------------------------ void space(void) { dau1=0;dau2=0; kytu = 400; GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 31. 32 napchuoi(); dinhphim(); } //------------------------ void hienchu(void) { unsigned int chip_port,tren=pc1,duoi=pb1; unsigned char y,cot; chip_port = 0x6000;//chip3 port 1 while(chip_port != 0x2000) { for (y=0;y<3;y++) { for(cot=1;cot>0;cot<<=1) { rac-=2; XBYTE[duoi] = XBYTE[rac+1]; XBYTE[tren] = XBYTE[rac]; XBYTE[chip_port]=~cot; delay_434us(); XBYTE[chip_port]=0xFF; } chip_port++; //0x6000>0x6001>0x6002>6003;0x4000>0x4001>0x4002>0x4003 } chip_port=chip_port - 0x2003; //0x6003 - 0x2003 = 0x4000;0x4003 - 0x2003 = 0x2000 } } void hienchucuoi(void) { unsigned int tren=pc1,duoi=pb1; unsigned char cot; for(cot=1;cot>0;cot<<=1) { rac -= 2; XBYTE[duoi] = XBYTE[rac+1]; XBYTE[tren] = XBYTE[rac]; XBYTE[0x6000]=~cot; delay_434us(); XBYTE[0x6000]=0xFF; } } //------------------------ GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 32. 33 void xulychaychu(void) { unsigned char s,speed,h=0; delay_1s(); rac = begin - 96; speed = 3; while(run != 0) { s=bangspeed[speed]; while(run!=0&s!=0) { rac += 96; hienchu(); s--; quetphim(); if (h<48) h++; if((phim >50) & (h==48)) //1s moi nhan tiep phim speed { h=47; switch(phim) { case 51: if(speed !=0)speed--;h=0;break; case 52: if(speed !=6)speed++;h=0;break; default: break; } } } if(rac > ramadd) rac = begin - 96 ; else rac += 2; } delay_1s(); } //------------------------ void dinhphim(void) { unsigned char z; { for(z=0;z<24;z++) //24 lan chiem 0.5s { rac = ramadd; hienchu(); } } } void dinhphimcuoi(void) { GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 33. 34 unsigned char z; { for(z=0;z<144;z++) //24 lan chiem 0.5s { rac = ramadd; hienchucuoi(); } } } //------------------------ void tradau(void) { dinhphimcuoi(); while(d != 0) { quetphim(); switch(phim) { case 1 : if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 ) {dau1=8 ;napdau();} break;//1 case 6 : if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 ) {dau1=16;napdau();} break;//2 case 11: if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 ) {dau1=24;napdau();} break;//3 case 16: if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 ) {dau1=32;napdau();} break;//4 case 21: if(kytu == 0||kytu == 48||kytu == 96||kytu == 176||kytu == 256||kytu == 320 ) {dau1=40;napdau();} break;//5 case 26: if(kytu==0||kytu==48||kytu==176) {dau2=48;napdau();} break;//6 case 31: if(kytu==176||kytu==256) {dau2=56;napdau();} break;//7 GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 34. 35 case 36: if(kytu==0) {dau2=64;napdau();} break;//8 case 41: if(kytu == 40) {dau2=72;napdau();} break;//9 case 46: if(dau1!=0) {dau1=0;napdau();} else {dau2=0;napdau();} break;//0 default: rac=ramadd;hienchucuoi();break; } } dinhphim(); } //------------------------ void napdau(void) { ramadd -=16; napchuoi(); dinhphimcuoi(); } //------------------------ void delay_434us(void) { TMOD&= 0xF0; TMOD |= 0x01; ET0 = 0; TH0 = 0xFE; TL0 = 0x4E; TF0 = 0; TR0 = 1; while (TF0 == 0); TR0 = 0; } //------------------------ void delay_1s(void) { unsigned char x,y; for(y=0;y<9;y++) { GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 35. 36 for(x=0;x<250;x++) { delay_434us(); } } } GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 36. 37 PHẦN IV: SẢN THU ĐƯỢC ƯU & KHUYẾT ĐIỂM GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 37. 38 SƠ ĐỒ BÀN PHÍM Bàn phím có tổng cộng 16 phím, trong đó có 10 phím là để đánh và hiển thị các ký tự, 5 phím chức năng và 1 phím bỏ trống GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” 5 M N O ( 5 M N O ( 6 P Q R ) 7 S T U “ 8 V W X ” 9 Y Z ! ? 0 + - x : SPEED DOWN SPEED UP RUN/ STOP DEL SPA CE 1 A B C . 2 D E F , 3 G H I ; 4 J K L = DAU
  • 38. 39 HƯỚNG DẪN SỬ DỤNG MATRIXLED Các phím từ số 0 đến 9 là các phím ký tự, mỗi phím có thể đánh được 5 ký tự được vẽ trên mỗi phím và thứ tự hiện các ký tự lần lượt như sau: • Phím số “1”: A B C . 1 • Phím số “2”: C D E , 2 • Phím số “3”: G H I ; 3 • Phím số “4”: J K L = 4 • Phím số “5”: M N O ( 5 • Phím số “6”: P Q R ) 6 • Phím số “7”: S T U “ 7 • Phím số “8”: V W X ” 8 • Phím số “9”: Y Z ! ? 9 • Phím số “0”: + - x : 0 Khi ấn 1 trong các phím ký tự thì ký tự đầu của phím sẽ hiển thị lên phía cuối của ma trận led. Trong vòng 1 giây sau đó, nửa giây đầu ta không thể thao tác bất kỳ phím nào, việc này nhằm hạn chế dính phím, nửa giây sau nếu ấn lại phím vừa ấn thì ký tự thứ hai sẽ hiển thị thay vào vị trí ký tự thứ nhất trên ma trận led, còn nếu ấn phím khác thì phía ma trận led lúc này sẽ có hai ký tự: ký tự của phím lúc đầu được đẩy lên và thay vào là ký tự của phím mới này. Sau đó sẽ bắt đầu chu kỳ 1 giây như ở trên, nếu hết chu kỳ này chúng ta không ấn gì thì phím kế tiếp sẽ được coi là một ký tự mới. Một phím khi được nhấn nhiều lần các ký tự sẽ lần lượt hiện như đã nói. Sau khi hiện ký tự thứ 5, nếu ta ấn tiếp tục thì sẽ quay lại ký tự đầu tiên. Phím “DEL” là xóa ký tự cuối cùng, “SPACE” là thêm 1 khoảng trắng sau ký tự cuối cùng. Khi ấn 2 phím này được ấn cũng có 0.5s không thao tác. Phím “RUN/STOP” để chạy hay đoạn chương trình mình vừa nhập hay dừng đoạn chương trình đang chạy và trở về hiển thị chữ nhằm thay đổi 1 phần nội dung nếu muốn. Trước khi bắt đầu chạy chương trình và sau khi dừng trở về chương trình cũ sẽ có một khoảng thời gian là 1s ma trận led không hiển thị. Phím “SPEED DOWN” và “SPEED UP” là 2 phím chức năng có tác dụng tăng giảm tốc độ chạy của chương trình khi đang chạy, 2 phím này chỉ hoạt động khi chạy chương trình. Có 7 cấp tốc độ, khi ấn chạy chương trình thì mặc định là cấp thứ 4, muốn thay đổi tốc độ thì ấn 1 trong 2 phím này. Khi 1 trong 2 phím được ấn thì tốc độ được thay đổi nhưng chúng ta phải chờ 1s sau để có thể tiếp tục thay đổi tốc độ, 1 giây này nếu có phím tốc độ thì sẽ không có hiệu lực, chỉ có hiệu lực với phím “RUN/STOP” khi ta muốn thoát khỏi chương trình. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 39. 40 Phím “DAU” dùng đánh dấu Tiếng Việt cho ký tự vừa được nhập, ấn phím này chỉ khi đang đánh ký tự, không ấn được khi đang ở chế độ “RUN”. Khi phím “DAU” được ấn,matrix led sẽ chuyển sang chế độ nhập dấu cho ký tự gần nhất, lúc này ký tự gần nhất vẫn hiển thị còn các ký tự trước đó sẽ mất đi và ta tiến hành nhập dấu cho ký tự hiển thi. Cách đánh dấu theo chuẩn Unicode qua con số, có thể sửa dấu nếu đánh sai dấu và bỏ dấu bằng phím “0”, các dấu không thể đánh trong 1 ký tự nếu ta ấn thì không có thay đổi. Trong lúc đang ở chế độ đánh dấu thì những phím không liên quan khi được ấn sẽ không có hiệu lực. Từ chế độ đánh dấu chuyển sang chế độ nhập ký tự cũng bằng phím “DAU”. Một điều lưu ý là khi tao nhập một ký tự mới thì chỉ có thể điều chỉnh dấu của ký tự đó, không thể điều chỉnh dấu của ký tự trước đó, muốn điều chỉnh dấu thì xóa và đánh lại. Sau khi space và delete thì không thể vào chế độ đánh dấu. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 40. 41 ƯU ĐIỂM Ø Thao tác vận hành đơn giản. Ø Linh kiện dễ tìm. Ø Sử dụng nguồn DC 5V nên khá an toàn. Ø Có thể nhập dấu theo chuẩn Unicode. KHUYẾT ĐIỂM Ø Giá thành sản phẩm còn khá đắt. Ø Mạch phức tạp. Ø Chân P0 điện áp ra rất thấp, cần điện trở để kích. Ø Ánh sáng yếu. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM”
  • 41. 42