Tài liệu tham khảo ngành tin học Thiết kế mạch hiển thị dùng ma trận LED-ĐỀ TÀI THIẾT KẾ MẠCH SỐ HIỂN THỊ CHỮ “ VIỆN ĐẠI HỌC MỞ ” NOTE
Trang 1- Port 2: Port 2 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong Khi
các logic 1 được ghi lên các chân của port 2, các chân này được sử dụng như là các ngõ vào Khi làm nhiệm vụ port nhập, các chân của port 2 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong Port 2 tạo
ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài,
và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit
- Port 3: Là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong Khi các
logic 1 được ghi lên các chân của port 3, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi làm nhiệm
vụ port nhập, các chân của port 3 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong Port 3 còn được sử dụng làm
các chức năng khác của AT89C51:
Trang 2d) Ngõ tín hiệu PSEN:
- Là tín hiêu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình
mở rộng thường được nói đén chân OE của Eprom cho phép đọc các byte mở rộng
-PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt từ thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1
e) Ngõ tín hiệu điều khiển ALE(Address latch Enable):
-Khi 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt
Trang 3-Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 dóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động
-Bộ dao động được tích hợp bên trong 89C51, khi sử dụng 89C51 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ Tần số thạch anh thường sử dụng cho 89C51
là 12Mhz
-Chân 40 (vcc)được nối lên nguồn.các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần
số dao động trên chíp và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 89C51
f) Ngõ tín hiệu EA\(External Access):
-Tín hiệu vào EA\ ở chân 31 thường được mất lên mức 1 hoặc mức 0 nếu ở mức 1, 89C51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8KB Nếu ở mức 0, 89c51 sẽ thi hành chương trình từ bộ nhớ mở rộng chân EA\ được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89c51
g) Ngõ tín hiệu RST (Reset):
-Ngõ vào RST ở chân 9 là ngõ vào reset của 89C51 khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống khi cấp điện mạch tự động Reset
Các ngõ vào bộ dao động X1, X2:nguồn 5V
Trang 4MẠCH RESET TỰ ĐỘNG KHI KHỞI ĐỘNG MÁY
h) XTAL1: Ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến
mạch tạo xung Clock bên trong chip
g) XTAL2: Ngõ ra từ mạch khuếch đại đảo của mạch dao động
Để tạo mạch dao động cho vi điều khiển 8951 hoạt động, chúng em chọn mạch tạo dao động như hình vẽ dưới đây, với các giá trị của linh kiện là: C1 = C2
=30pF;
Thạch anh dao động có tần số 12MHz
Trang 5M
dạng “m
được dù
thế LCD
trong cá
LED trê
b
- Bài nà
2) Ma Trậ
a trận LED
ma trận” hì
ùng rất nhi
D hoặc thậm
ác ma trận
ên ma trận
ày ta sử dụn
ận Led
D tức Dot M
nh chữ nhậ
ều trong cá
m chí dùng LED các L LED là ax
ng 1 ma trậ
Kết nối c
Matrix LE
ật hoặc vuô
ác ứng dụn
g hiển thị v LED được
xb trong kh
ận Led 8x8
của mạch d
D là tập hợ ông với số
ng hiển thị video…Để nối chung
hi số lượng
8 để hiển th
dao động
ợp nhiều đ
ố hàng là a như các bi
ể giảm số lư
g với nhau t
g ngõ ra bằ
hị nội dung
èn LED đư
và số cột l iển quảng ượng các đ theo hàng ằng tổng số
g
ược bố trí t
là b Ma trậ cáo, hiển t đường điều
và cột Số
ố hàng và c
thành
ận LED thị thay
u khiển, lượng cột: a +
Trang 6
3) Bộ đệm
- Điện áp có thể đưa trực tiếp từ bộ giải mã hàng qua các cổng NOT vào các hàng của ma trận đèn Tuy nhiên điện áp này có thể không ổn định hoặc có thể xảy ra hiện tượng ảnh hưởng lẫn nhau giữa các chân tín hiệu đưa vào các hàng, dẫn đến độ sáng hoặc tắt của đèn không chính xác Để tránh hiện tượng này đồng thời tránh phải dùng các cổng NOT, tại mỗi chân ra của bộ giải mã ta có thể dùng bộ đệm
Trang 7- Bộ đệm thực chất là các mạch 3 trạng thái (tri-state logic), gồm có 1 đầu vào A, 1 đầu ra Y và 1 đầu điều khiển G Trạng thái của đầu ra Y do đầu điều khiển G và đầu vào
dữ liệu A quyết định Khi đầu điều khiển chọn thì tín hiệu tại đầu ra sẽ thay đổi theo tín hiệu đầu vào; khi không được chọn thì ở đầu ra sẽ là trạng thái trở kháng cao, tín hiệu tại đầu vào không được đưa đến đầu ra
III) Nguyên lí hoạt động
- Trong khi bộ giải mã cột chọn cột thứ nhất, bộ giải mã hàng sẽ quét lần lượt hết 8 hàng,
dữ liệu được đưa vào sẽ xác định trạng thái của tất cả các đèn tại cột 1
- Tiếp tục quét cột thứ hai, bộ giải mã hàng lại đưa dữ liệu vào lần lượt hết 8 hàng và
quyết định trạng thái của tất cả các đèn ở cột 2
Quá trình cứ thế tiếp tục cho đến khi quét hết 8 cột (do ta dùng 1 ma trận LED 8x8) Với đề tài này, chúng em chọn tốc độ quét là 60 lần và quét nhiều lần với thời gian trễ của đèn là 255 us, ta sẽ nhận biết được hình ảnh trên ma trận là dòng
chữ : ‘VIỆN ĐẠI HỌC MỞ HÀ NỘI'
IV) Sơ đồ nguyên lí :
Trang 9V) Chương trình chạy:
$MOD51
ORG 00H
MAIN:
MOV DPTR,#DATABASE ; Địa chỉ nạp dữ liệu
MP1:
MOV R0,#01 ; Tốc độ hiện kí tự
MP2:
LCALL SCANDATA ; Nạp dữ liệu
DJNZ R0,MP2
MOV A,DPL
ADD A,#8
MOV DPL,A
CJNE A,#LOW(CODEDISP+48),MP1
LJMP MAIN
SCANDATA:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R0,#00H ; Địa chỉ dữ liệu đầu tiên trọn Database
Trang 10MOV R1,#01H ; Hiển thị ra cột đầu tiên
SCAN:
MOV A,R0
MOVC A,@A+DPTR ; Nạp dữ liệu từ Database vào A MOV P2,A ; Hiển thị ra dòng tương ứng MOV P1,R1 ; Hiển thị ra cột đầu tiên
LCALL DELAYLED ; Chương trình tạo trễ
MOV P1,#00H
INC R0 ; Hiển thị dữ liệu kế tiếp
MOV A,R1 ; Chuyển sang cột kế tiếp
RL A
MOV R1,A
CJNE R0,#08H,SCAN ; Kiểm tra quét cột thứ 8 chưa POP 01H
POP 00H
POP ACC
RET
DELAYLED:
PUSH 00H
PUSH 01H
MOV R1,#3
Trang 11DEL:
MOV R0,#500
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
CODEDISP:
DB 00H, 00H, 00H, 00H, 00H, 00H ; ‘ Khoảng trắng’
DB 3EH, 40H, 80H, 40H, 3EH, 00H ; ‘ V’
DB 0FEH, 92H, 92H, 92H, 82H, 00H ; ‘E’
DB 0FEH, 04H, 08H, 10H, 0FEH, 00H, 00H, 00H ; ‘N’
DB 10H, 0FEH, 92H, 82H, 82H, 7CH, 00H ; ‘D’
DB 0FCH, 22H, 22H, 22H, 0FCH, 00H ; ‘A’
DB 82H, 0FEH, 82H, 00H, 00H, 00H ; ‘I’
DB 0FEH, 10H, 10H, 10H, 0FEH, 00H ; ‘H’
DB 7CH, 82H, 82H, 82H, 7CH, 00H ; ‘O’
DB 7CH, 82H, 82H, 82H, 44H, 00H, 00H, 00H, ; ‘C’
DB 0FEH, 04H, 08H, 04H, 0FEH, 00H ; ‘M’
DB 7CH, 82H, 82H, 82H, 7CH, 00H ; ’O’
Trang 12END
VI) : KẾT LUẬN
1.Nhận xét và đánh giá kết quả:
Đây cũng không phải là một đề tài mới nhưng thông qua việc tìm hiểu và thực hành về đề tài này mà chúng em có cơ hội vận dụng những kiến thức đã học vào thực tế, từ đó rút ra được nhiều kinh nghiệm trong thực tế
Qua đề tài này chúng em đã có thêm một phần kiến thức bổ ích vào trong chuyên ngành học tập của mình, từ lý thuyết và thực hành đã kết hợp với nhau để hoàn thành tốt một đề tài hoàn hảo Tuy nhiên, chúng em cũng gặp không ít khó khăn như : về tài liệu, dụng cụ thực hành, kinh nghiệm thực hành, kinh tế,…vì vậy
đề tài cũng chưa đạt được kết quả cao như ý muốn của người thiết kế
2 Hướng phát triển của chương trình
- Thực tế hình ảnh hiển thị lớn hoặc cần có độ phân giải tốt đòi hỏi số lượng đèn
- trong ma trận lớn hơn nhiều lần Từ đó đặt ra một yêu cầu là mở rộng ma trận đèn
- Dựa trên cơ sở là ma trận LED 8x8 như đã nói ở trên, có thể thiết kế mở rộng (bằng cách tăng thêm số hàng và số cột) theo nguyên lý tương tự (quét hàng và quét cột) tuy nhiên phải thêm các bộ đếm, các bộ giải mã địa chỉ và bộ đệm
- Do các bộ đệm được đặt ở đầu ra của bộ giải mã cột nên để giảm số lượng bộ đệm phải sử dụng có thể mở rộng ma trận LED bằng cách tăng thêm số cột