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

mạch quang báo giao tiếp với bàn phím ma trận

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (856.92 KB, 35 trang )

Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
1. Sơ đồ khối
2. Chức năng các khối
-khối nguồn: Có nhiệm vụ cung cấp năng lượng cho các khối còn lại trong mạch hoạt
động .Nguồn cung cấp cho toàn mạch quang báo là nguồn 1 chiều có độ lớn 5V.
- khối điều khiển trung tâm: Có vai trò quan trọng đối với sự hoạt động của mạch
quang báo, chương trình hiển thị thông tin trên bảng ma trận LED do khối hiển thị
đảm nhận được thực hiện thông qua IC 89C52
- Khối điều khiển cột: Nhận tín hiệu điều khiển từ vi điều khiển, tạo địa chỉ, từ đó
đưa ra tín hiệu để cho phép cột led nào sáng trên bảng đèn. Tại mỗi thời điểm chỉ có
một cột led được sáng.
- Khối điều khiển hàng:Tín hiệu điều khiển được xuất ra từ khối điều khiển sẽ được
đưa qua các BJT đệm dòng đảm bảo đủ dòng của tín hiệu điều khiển cho hàng ma trận
LED.
- Khối hiển thị: là bảng ma trận LED có nhiệm vụ tiếp nhận tín hiệu điều khiển hiển
thị nội dung thông tin mà người dùng muốn hiển thị
-Bàn phím: dùng để nhập trực tiếp dữ liệu vào khối điều khiển trung tâm rồi đưa ra
hiển thị.
3. Nguyên lý hoạt động sơ đồ khối :
Khi đưa tín hiệu xoay chiều 220V-50Hz vào khối nguồn, tín hiệu điện áp ra thu
được là tín hiệu một chiều có giá trị 5V cung cấp cho các khối hoạt động. Sau khi
được cấp nguồn khối điều khiển trung tâm bắt đầu hoạt động,điều khiển mọi quá trình
hoạt động của hệ thống. Khối điều khiển trung tâm sẽ thực hiện giải mã dữ liệu sau đó
Mạch quang báo giao tiếp bàn phím Trang: 1
Giao tiếp
bàn phím
ĐIỀU KHIỂN CỘTĐiều
Khiển
Trung
Tâm
Đ


LED MATRIX 8X8ĐIỀU KHIỂN
HÀNG
NGUỒN CUNG
CẤP
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
đưa các dữ liệu vào khối điều khiển hàng và điều khiển cột. Khối điều khiển hàng và
cột thông qua các bộ đệm đưa dữ liệu xuất ra khối hiển thị.
4. Sơ đồ mạch nguyên lí
Nguyên lý hoạt động :
Khi cấp nguồn 5v cho mạch hoạt động, vi điều khiển AT89C52 sẽ bắt đầu
hoạt động. Vi điều khiển sẽ phát mã quét phím ở mức thấp ra các hàng của bàn phím
ma trận,khi có một phím nào đó được nhấn thì cột tương ứng sẽ ở mức tích cực thấp
đưa vào vi điều khiển. Sau đó, vi điều khiển sẽ đưa địa chỉ ô nhớ cần ghi trong con trỏ
ra các port p0 và P2 của vi điều khiểnIC này được điều khiển bởi các chân LE và OE.
vi điều khiển sẽ đưa dữ liệu vào các chân của RAM 62C256, quá trình ghi này được
điều khiển bởi hai chân OE, WE. Khi bắt đầu đọc dữ liệu từ bộ nhớ ngoài, các chân
OE, WE sẽ tương ứng ở mức 1 và mức 0,quá trình chốt địa chỉ cũng giống như lúc
ghi,với mỗi kí tự sẽ tương ứng với một địa chỉ trong vùng nhớ, nội dung ô nhớ tương
ứng trong RAM sẽ được đưa vào vi điều khiển. Vi điều khiển sau đó sẽ đưa từng bit
dữ liệu ở thanh ghi a đưa vào chân số 14(do) của IC 74595. Khi muốn đưa dữ liệu vào
thanh ghi của IC 74595 ta cho dữ liệu vào chân số 14(data) và cho chân 11 lên mức
cao để tạo xung clock cho phép dịch dữ liệu từng bit một .khi muốn xuất dữ liệu ra ta
cho chân 12 (latch) lên mức cao (1) muốn chốt dữ liệu lại thì ta cho chân 12 xuống
mức thấp lúc đó các chân của 595 sẽ giữ nguyên dữ liệu của data đưa ra. Bit dữ liệu
ngõ ra của IC này sẽ được đưa vào các ngõ vào của IC ULN2803 để đệm dòng, bit dữ
liệu ngõ ra sẽ bị đảo mức so với tín hiệu đầu vào, tín hiệu ra nầy sẽ được đưa ra ở cột
led tương ứng để cho phép cột led nào sáng. Ngay sau khi đưa dữ liệu ngõ ra, vi điều
khiển sẽ phát dữ liệu điều khiển điều khiển hoạt động của IC 74154, tương ứng với
mỗi mức tín hiệu ở 4 ngõ vào ở 4 chân A-D của IC 74154 sẽ có tương ứng ở chân Y0-
Y15, dữ liệu ngõ vào được thay đổi liên tục để mức tích cực thấp ở ngõ ra thay đổi lần

lượt từ chân Y0-Y15, tín hiệu tích cực mức này được đưa vào cực B của BJT TIP127,
Mạch quang báo giao tiếp bàn phím Trang: 2
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
thi tín hiệu ngõ ra tương ứng ở cực C. Sau đó tín hiệu này sẽ đưa ra led hiển thị thực
hiên quá trình quét hàng.
5. Sơ đồ mạch thành phần và đo đạc, kiểm tra linh kiện
5.1 Khối nguồn
Sơ đồ mạch :
Nhiệm Vụ : Mạch nguồn ổn áp 5v sử dụng Lm 7805 làm nhiệm vụ tạo ra nguồn
cung cấp 5V ổnđịnh,và mức dòng cung cấp lên đến 3A được nâng dòng bởi BJT
2SB688.
Nguyên Lý Hoạt Động:
Điện áp 12 vdc được tạo ra nhờ biến thế đi qua bộ chỉnh lưu cầu diode.
Sau đó đi qua tụ c1 (lọc các thành phần điều hòa bậc 2,3 ),qua tụ c2 để lọc nguồn cho
điện áp được phẳng hơn,ổn định hơn.:Điện áp đi tới R1 làm cho VR1 trên R1 tăng đến
khoảng đủ làm cho B688 dẫn (0,6-1.5)V.Khi này 1 phần dòng điện chạy qua LM7805
làm cho nó hoạt động và cho ra mức áp là 5vdc,dòng tối đa mà Lm7805 chịu đựng
được là 1A.Một phần dòng điện thông qua BJT và cho dòng ra Ic~1A vì BJT đang
dẫn.Các tụ C3,C4 cungx làm nhiệm vụ tương tự C1,C2. Như vậy ta đã có nguồn ổn áp
5Vdc với sai số là +-0,25v.
Tính Chọn linh kiện:
-Lm7805 là linh kiện bán dẫn nên rất nóng khi tải lớn.Nên cần tản nhiệt để đảm bảo
linh kiện tránh bị hỏng.
-Tụ hóa đầu vào có điện dung phải đủ lớn để lọc phẳng điện áp đầu vào và áp chiụ
đựng của tụ phải lớn hơn áp đầu vào nên em chọn tụ có giá trị 100uF-50V.
-Tụ không phân cực có giá trị lớn để lọc các thành phần bậc cao có giá trị 100nF.
-Sử dụng cầu diode 5A.
-BJT nâng dòng B688 có dòng chịu đựng lớn nhất 8A,khoảng điện áp làm việc ở chế
độ khuếch đại rộng từ 0.6-1.5 V.
-chọn R1 có giá trị 1.5 để phân cực cho BJT làm việc ở chế độ khuếch đại.

Mạch quang báo giao tiếp bàn phím Trang: 3
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Kiểm tra mạch:Bằng cách thay đổi giá trị đầu vào
1:Cho áp vào là 6v:Tiến hành đo áp VBE/Q1 ta thấy áp trên đây rất nhỏ,chưa đủ kích
dẫn cho BJT.Đo áp đầu ra thì chưa có áp do điện áp đầu vào chưa nằm trong vùng hoạt
động của LM7805.
2:Cho áp đầu vào là 45v.:Tiến hành đo đạc tương tự thì ta cũng thấy các vấn đề
tương tự của mạch như trường hợp 1
3:Cho áp đầu vào là các giá trị 10v,12v,15v,24v .Tiến hành đo mạch
-Đo điện áp đầu ra và đo dòng điện.
-Khi này ta đo được giá trị đầu ra của LM7805 là 4.98 vdc.Thỏa mãn giá trị cần tạo ra
do giá trị đầu vào thỏa tính chất làm việc của LM7805 là giá trị đầu vào từ (8-40)v.
-Nếu dòng điện ra là chưa đủ hoặc rất bé so với 1A và LM7805 bị nóng thì chứng tỏ
BJT chưa được -Kiểm tra nhiễu nguồn:Dùng máy hiện sóng đo xem sóng ra có phẳng
hay không
Kiểm Tra thực tế trong mạch :
Khối điều khiển cột
Sơ đồ mạch :
Nguyên lý hoạt động của mạch :
Khối điều khiển dùng 89C52 với thuật toán điều khiển được lập trình theo ý
tưởng của người thiết kế với cổng p2 để xuất dữ liệu ra cột cho LED .
Tín hiệu được đưa ra cổng p2 sau đó đưa qua IC đệm dòng 74HC245 để đảm bảo cung
cấp đủ dòng cho khối hiển thị và khối quét được hoạt động ổn định.
Sau đó được đưa vào khối giải mã địa chỉ cột sử dụng IC 74HC595 ,đây là thanh ghi
dịch 8 bit vào nối tiếp ra song song . Ta sử dụng IC này nhằm tiết kiệm chân giao tiếp
giữa IC với vi điều khiển . Chân DATA_IN (14) để đưa dữ liệu nối tiếp vào ,chân
CLK (11) đưa xung đồng hồ dịch bit ,chân LATCH (12) để chốt dữ liệu được gửi ra. 8
đầu ra được nối đến 8 cột của bảng LED
Nguyên lý làm việc từng linh kiện trong mạch :
a. IC 74HC595

Mạch quang báo giao tiếp bàn phím Trang: 4
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Là IC ghi dịch 8bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song
Đo đạc kiểm tra:
Kiểm tra IC 74HC595 bằng cách đo áp ra ở các chân ra sau khi cấp nguồn.
Chân 10: 5V ( nối VCC)
Chân 13: 0V (nối mass)
Chân 16 :5V ( nối VCC)
Chân 11,12,14 : 2.3V
b. ULN2803
Ta có thể tăng điện áp ngõ ra bằng cách thêm các điện trờ treo ở ngỏ ra với điện
áp kéo lên cao.
Điện áp cung cấp 5-12V
Điện áp ngõ vào tối đa 30V
Điện áp ngõ ra tối đa 50V
Dòng điện ngõ ra tối đa 500mA
Dòng điện ngõ vào 25mA
Chức năng:
- Đệm được 8 đường riêng biệt (nối trược tiếp được với 8 chân của 74595 và 8 chân
kia nối với các cột của led matrix)
- Dòng ra tới 500 mA
- Chức năng của ULN2803 giống như bộ hút dòng
- Để tính dòng điện cột thì phải xem là quang báo rộng bao nhiêu, trên một cột có bao
nhiêu Led.
5.3 khối mạch điều khiển hàng
Mạch quang báo giao tiếp bàn phím Trang: 5
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
sơ đồ mạch :
Nguyên lý hoạt động của mạch :
Mạch điều khiển hàng LED được thiết kế cho mỗi hàng LED một transistor PNP TIP

127 ,dẫn bão hòa. Các transistor này dẫn bão hòa nhằm tăng mức công suất cho hệ thống
ma trận LED. Các transistor được điều khiển bởi IC 74154, IC này sẽ giải mã ngõ vào từ
4 sang 16 tương ứng với ngõ ra ở mức tích cực thấp, ngõ ra ở mức thấp sẽ làm cho cực B
của transistor ở mức thấp và khi đó transistor sẽ dẫn bão hòa làm cho anode của các
hàng LED được tích cực.
Nguyên lý làm việc từng linh kiện :
a. Transistor TIP127
Mạch quang báo giao tiếp bàn phím Trang: 6
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Đo đạc kiểm tra:
Đo điện áp trên cực E của BJT được 5V bằng với giá trị của nguồn cung cấp.
Đặt que đen của đồng hồn đo ở mass, que đỏ ở chân hàng của led ma trận, đo được giá
trị
Thay đổi dữ liệu ngõ vào ở cực B, cho giá trị ngõ vào ở mức, đo được ngõ ra, cho ngõ
vào ở mức thấp đo được ngõ ra ở cực C.
b. 74HC154
Mạch quang báo giao tiếp bàn phím Trang: 7
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
IC 74HC154 là IC giải mã từ 4 sang 16.
Đo đạc kiểm tra:
Đo điện áp tại chân 24 của IC 74HC154 thu được giá trị, giá trị này bằng với điện áp
của nguồn cung cấp. Đo áp tại chân 12 so với cực dương của nguồn cũng thu được giá
trị
Đặt giá trị điều khiển của chân E0,E1 ở mức thấp để cho phép IC hoạt động, đưa giá
tri ngõ vào ở các chân từ A0-A3 đều ở mức thấp, đo được ở chân Y0 là mức thấp, các
chân còn lại ở mức cao. Đưa vào chân A0 mức cao, 3 chân còn lại ở mức thấp, đo
được giá trị ở chân Y1 là mức thấp, các chân còn lại ở mức cao
c. 74HC573
IC 74HC573 là vi mạch chốt dữ liệu, nó xuất dữ liệu song song 8bit ra từ 8 chân vào
của IC. Dùng chân LE để chốt dữ liện lại. khi ta thay đổi các đầu vào của IC thì dữ liệu

trong thanh ghi của nó cũng không đổi. dữ liệu trong thanh ghi được nối tới đầu ra khi
chân OE ở mức 0.
Mạch quang báo giao tiếp bàn phím Trang: 8
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Đo đạc kiểm tra:
IC này có giá trị điện áp cung cấp từ 2-6V,ngõ vào và ra được điều khiển bởi 2 chân
Oe và LE.
Đo giá trị điện áp trên chân Vcc, đặt que đen ở chân mass của nguồn, que đỏ ở chân
20, giá trị này nằm trong tầm cho phép hoạt động của IC.
Đặt que đen của đồng hồ ở chân số 10, que đỏ ở cực dương của nguồn,đo được giá trị
Đặt giá trị điện áp tương ứng ở chân OE,LE, đưa điện áp mức cao vào lần lượt các
chân từ D0-D7, giá trị đo được ở ngõ ra cũng tương ứng ở mức ca.
5.4 Khối hiển thị LED MATRIX
sơ đồ mạch:
Linh kiện sử dụng:
Led matrix 8*8
Khối ma trận đèn led là một ma trân 8x8 đèn led các chân A của một hàng led được
nối chung tạo nên 8 chân A chung, các chân K của một cột được nối chung và tạo nên
8 chân K chung.
Mạch quang báo giao tiếp bàn phím Trang: 9
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Để hiển thị toàn bộ ma trận led các hàng sẽ lần lượt được luân phiên hiển thị từ hàng
đầu tiên cho đến hàng cuối cùng rồi lặp lại. Tại một thời điểm chỉ có một hàng được
hiển thị.
Trước thời điểm bắt đầu hiển thị hàng đầu tiên dữ liệu của hàng đầu tiên được đưa vào
bộ đệm hàng theo cách nối tiếp từ b8 vào trước rồi đến b1, xung nhịp được cấp từ bên
ngoài vào để đọc mỗi bít dữ liệu tuân tự, khi đã đủ hết dữ liệu rồi thì xung nhịp không
được phép làm việc nữa.
Kiểm Tra linh kiện rời:
-Dùng đồng hồ kim,đặt que dương (đỏ) vào 1 trong các hang( mức 1 cho các

hàng),que đen đạt lần lượt vào các cột (mức 0 cho các cột tương ứng) xem led có sáng
ở từng vị trí tương ứng hay ko.
Kiểm Tra khi lắp vào mạch:
-với 4 led matrix ta nối chung các hàng tương ứng với nhau(tức có 8 hàng cho cả 4
matrix),các cột thì rieng biệt cho mỗi matrix nên có 32 cột.
-Tương tự ta đặt que dương ở các hàng,di chuyển qua đen ở các cột tương ứng xem led
có sang hay không.
CHƯƠNG TRÌNH ASSEMBLY VIẾT CHO VI ĐIỀU KHIỂN
MẠCH QUANG BÁO
1. Lưu đồ thuật toán:
1.1 Lưu đồ thuật toán thổng thể:
Mạch quang báo giao tiếp bàn phím Trang: 10
Bắt đầu
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
1.2 Chương trình giao tiếp bàn phím
Chương trình quét phím
Mạch quang báo giao tiếp bàn phím Trang: 11
khởi tạo các thông số và vùng nhớ
Giao tiếp với bàn phím
Chương trình hiển thị chữ đứng
Chương trình hiển thị chữ chạy
END
Bắt đầu
Gọi chương trình kiểm tra phím
Tạo địa chỉ vùng RAM và lưu vào bộ nhớ
ngoài
RET
Đọc dữ liệu và hiển thị ra led
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
S

S
Đ Đ
1.3 Chương trình hiện chữ đứng
S
Đ
Mạch quang báo giao tiếp bàn phím Trang: 12
Bắt đầu
Phát mã kiểm tra các kí tự bàn
phím
Phát mã quét phím tiếp theo
Vị trí lưu mã phím enter
Vị trí lưu mã các chữ thông
thường
Chạy dòng chữ vừa nhập
Lấy bảng mã đưa vào con trỏ
RET
Hang=0 byte đầu=0
vitri bit=1
Chuong trinh con lua dong
xuat bit
Kich cong saut hang,tang
hang, tang vi tri bit
Tmp3=0Tmp3=0
Hang=0 byte đầu=0
vitri bit=1
Kich cong saut hang,tang
hang, tang vi tri bit
Tmp3=0Tmp3=0
Start
Chuong trinh con lua dong

xuat bit
Byte dau =1 vi tri dau=1
Tmp3=8
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
Đ
S
1.4 Chương trình hiện chữ chạy
Mạch quang báo giao tiếp bàn phím Trang: 13
Tmp2=0
End
Bắt đầu
Đọc dữ liệu từ vùng ROM vào
vùng RAM (ran_tam 1)
R7= địa chỉ vùng Ram hiển thị LED
Đọc dữ liệu từ vùng RAM trước đó
đã nhận từ PC (ram_ tam 1) ghi vào
vùng RAM hiển
thị(led_matrix_data_1)
Số byte cần đọc=0
Tăng vùng RAM cần đọc dữ liệu
lên 1
Kiểm tra dịch đủ số cột hay chưa?
KEY= số byte cột dịch
Quét led
end
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
1.5 Chương trình tổng thể:
;========================= led matrix 16x32 ===================
;==========================================================
Lacth EQU

Clock EQU
DO EQU
Colume ;
START_BYTE
RCH EQU
RCL EQU
DIRECT_RAM EQU
RXH EQU ;
RXL EQU ;
END_WRITE_RAM EQU ;
END_READ_RAM EQU
RZH EQU ;
RZL EQU 4DH ;
DIRECT_RAM_LOV EQU 4EH
DIRECT_RAM_HIG EQU 4FH
ORG 000H
Main:
ljmp NHAP_CHU
;============================================================
chay_chu:
mov dptr,#00h
movx a,@dptr
mov DIRECT_RAM_LOV,a
inc dptr
movx a,@dptr
mov DIRECT_RAM_HIG,a
inc dptr
chay_tip:
lcall CHU_CHAY ;
lcall ktra_nhapchu

inc dptr
inc dptr
mov a,dpl
cjne a,DIRECT_RAM_LOV,chay_tip
mov a,dph
Mạch quang báo giao tiếp bàn phím Trang: 14
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
cjne a,DIRECT_RAM_HIG,chay_tip
ljmp chay_chu
;
ktra_nhapchu:
mov p2,#0ffh
mov p3,#0ffh
nop
clr p3.1
NOP
jnb p3.2,yeucaunhap
ret
yeucaunhap:
mov p2,#0ffh
mov p3,#0ffh
lcall CHU_CHAY
ljmp NHAP_CHU
;
CHU_CHAY:
mov r1,#10
toc_do_chay:
lcall Quet_led
djnz r1,toc_do_chay
RET

;===========================================================
Quet_led:
; hang 1
mov start_byte,#0
mov r3,#0
lcall luadong
mov p1,#15
lcall DELAY_tresang
; hang 2
mov r3,#1
lcall luadong
mov p1,#14
lcall DELAY_tresang
; hang 3
mov r3,#2
lcall luadong
mov p1,#13
lcall DELAY_tresang
; hang 4
mov r3,#3
lcall luadong
Mạch quang báo giao tiếp bàn phím Trang: 15
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov p1,#12
lcall DELAY_tresang
; hang 5
mov r3,#4
lcall luadong
mov p1,#11
lcall DELAY_tresang

; hang 6
mov r3,#5
lcall luadong
mov p1,#10
lcall DELAY_tresang
; hang 7
mov r3,#6
lcall luadong
mov p1,#9
lcall DELAY_tresang
; hang 8
mov r3,#7
lcall luadong
mov p1,#8
lcall DELAY_tresang
; hang 9
mov start_byte,#1
mov r3,#0
lcall luadong
mov p1,#7
lcall DELAY_tresang
; hang 10
mov r3,#1
lcall luadong
mov p1,#6
lcall DELAY_tresang
; hang 11
mov r3,#2
lcall luadong
mov p1,#5

lcall DELAY_tresang
; hang 12
mov r3,#3
lcall luadong
mov p1,#4
lcall DELAY_tresang
; hang 13
mov r3,#4
lcall luadong
Mạch quang báo giao tiếp bàn phím Trang: 16
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov p1,#3
lcall DELAY_tresang
; hang 14
mov r3,#5
lcall luadong
mov p1,#2
lcall DELAY_tresang
; hang 15
mov r3,#6
lcall luadong
mov p1,#1
lcall DELAY_tresang
; hang 16
mov r3,#7
lcall luadong
mov p1,#0
lcall DELAY_tresang
ret
;

LUADONG:
mov colume,#32
mov rch,dph
mov rcl,dpl ;
mov a,start_byte
cjne a,#1,dong0
inc dptr
dong0: cjne r3,#0,dong1
lap0:
movx a,@dptr
mov c,acc.7
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap0
setb lacth
nop
clr lacth
mov dph,rch
Mạch quang báo giao tiếp bàn phím Trang: 17
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov dpl,rcl
ret
dong1:
cjne r3,#1,dong2
lap1:
movx a,@dptr

mov c,acc.6
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap1
setb lacth
nop
clr lacth
mov dph,rch
mov dpl,rcl
ret
dong2:
cjne r3,#2,dong3
lap2:
movx a,@dptr
mov c,acc.5
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap2
setb lacth
nop
clr lacth
mov dph,rch

mov dpl,rcl
ret
dong3:
cjne r3,#3,dong4
lap3:
Mạch quang báo giao tiếp bàn phím Trang: 18
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
movx a,@dptr
mov c,acc.4
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap3
setb lacth
nop
clr lacth
mov dph,rch
mov dpl,rcl
ret
dong4:
cjne r3,#4,dong5
lap4:
movx a,@dptr
mov c,acc.3
cpl c
mov do, c
inc dptr

clr clock
inc dptr
setb clock
djnz colume,lap4
setb lacth
nop
clr lacth
mov dph,rch
mov dpl,rcl
ret
dong5:
cjne r3,#5,dong6
lap5:
movx a,@dptr
mov c,acc.2
cpl c
mov do, c
inc dptr
clr clock
Mạch quang báo giao tiếp bàn phím Trang: 19
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
inc dptr
setb clock
djnz colume,lap5
setb lacth
nop
clr lacth
mov dph,rch
mov dpl,rcl
ret

dong6:
cjne r3,#6,dong7
lap6:
movx a,@dptr
mov c,acc.1
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap6
setb lacth
nop
clr lacth
mov dph,rch
mov dpl,rcl
ret
dong7:
cjne r3,#7,dong8
lap7:
movx a,@dptr
mov c,acc.0
cpl c
mov do, c
inc dptr
clr clock
inc dptr
setb clock
djnz colume,lap7

setb lacth
nop
Mạch quang báo giao tiếp bàn phím Trang: 20
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
clr lacth
mov dph,rch
mov dpl,rcl
ret
dong8 :
ret
;============================================================
NHAP_CHU:
MOV R1,#94 ;
MOV RxH,#00h
MOV RxL,#00h
mov dptr,#0000h
lcall CLEAR_PAGE_RAM
mov rzl,rxl
mov rzh,rxh
NHAP_VAN_BAN:
LCALL chon_phim
mov p3,#0ffh
mov p2,#0ffh
LCALL HIEN_CHU_NHAP
LJMPNHAP_VAN_BAN
HIEN_CHU_NHAP:
MOV rch,rxh
mov a,rxl
CLR C
SUBB A,#64

jnc tru1dv
dec rch
tru1dv:
mov dpl,a
mov dph,rch
mov R2,#10
lapdichtrai1:
LCALL Quet_led
djnz R2,lapdichtrai1
ret
;============================================================
;
chon_phim:
Mạch quang báo giao tiếp bàn phím Trang: 21
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov p3,#0ffh
mov p2,#0ffh
nop
clr p2.7
NOP
jnb p3.2,phim_1
jnb p3.3,phim_2
jnb p3.4,phim_3
jnb p3.5,phim_4
ljmp key2
phim_1:
mov r1,#10
LCALL CHON_CHU
ret
phim_2:

mov r1,#37
LCALL CHON_CHU
ret
phim_3:
mov r1,#0
LCALL CHON_CHU
ret
phim_4:
inc r1
mov a,r1
cjne a,#162,max_161
mov r1,#161
max_161:
LCALL CHON_CHU
ret
key2:
mov p3,#0ffh
mov p2,#0ffh
nop
clr p2.6
NOP
jnb p3.2,phim_5
jnb p3.3,phim_6
jnb p3.4,phim_7
jnb p3.5,phim_8
ljmp key3
phim_5:
Mạch quang báo giao tiếp bàn phím Trang: 22
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov r1,#96

LCALL CHON_CHU
ret
phim_6:
mov r1,#113
LCALL CHON_CHU
ret
phim_7:
mov r1,#130
LCALL CHON_CHU
ret
phim_8: ; phim -
dec r1
mov a,r1
cjne a,#255,min_0
mov r1,#0
min_0:
LCALL CHON_CHU
ret
key3: ;
mov p3,#0ffh
mov p2,#0ffh
nop
clr p3.0
NOP
jnb p3.2,phim_9
jnb p3.3,phim_10
jnb p3.4,phim_11
jnb p3.5,phim_12
ljmp key4
phim_9:

mov r1,#141
LCALL CHON_CHU
ret
phim_10:
mov r1,#152
LCALL CHON_CHU
ret
phim_11:
ret
phim_12:
mov r1,#94 ; ky tu trang
LCALL CHON_CHU
ret
key4: ;
Mạch quang báo giao tiếp bàn phím Trang: 23
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam
mov p3,#0ffh
mov p2,#0ffh
nop
clr p3.1
NOP
jnb p3.2,phim_13
jnb p3.3,phim_14
jnb p3.5,phim_16
ljmp key5
phim_13:
LCALL HIEN_CHU_NHAP
lcall CLEAR_PAGE_RAM
mov rzl,rxl
mov rzh,rxh

lcall CLEAR_PAGE_RAM
MOV DPL,#0
MOV DPH,#0
mov a,rzl
movx @dptr,a
LCALL DELAY_5mS
inc dptr
mov a,rzh
movx @dptr,a
LCALL DELAY_5mS
ljmp chay_chu
ret
phim_14:
mov r1,#64
LCALL CHON_CHU
ret
key5:
mov p3,#0ffh
mov p2,#0ffh
nop
clr p3.1
NOP
jb p3.4,phim_16
mov a,rzl
CLR C
SUBB A,#2
mov rzl,a
jnc tru1dv1
Mạch quang báo giao tiếp bàn phím Trang: 24
Báo cáo thực tập công nhân GVHD : Lê Hồng Nam

dec rzh
tru1dv1:
mov rxl,rzl
mov rxh,rzh
ret
;============================================================
;============================================================
CHON_CHU:
mov rxl,rzl
mov rxh,rzh
CHACTER0:
CJNE R1,#0,CHACTER1
MOV DPTR,#CHU_A_0
MOV END_WRITE_RAM,#14
LCALL WRITE_62C256
RET
CHACTER1:
CJNE R1,#1,CHACTER2
MOV DPTR,#CHU_A_1
MOV END_WRITE_RAM,#10
LCALL WRITE_62C256
RET
CHACTER2:
CJNE R1,#2,CHACTER3
MOV DPTR,#CHU_A_2
MOV END_WRITE_RAM,#14
LCALL WRITE_62C256
RET
CHACTER3:
CJNE R1,#3,CHACTER4

MOV DPTR,#CHU_A_3
MOV END_WRITE_RAM,#14
LCALL WRITE_62C256
RET



CHACTER160:
CJNE R1,#160,CHACTER161
MOV DPTR,#CHU_A_160
MOV END_WRITE_RAM,#14
LCALL WRITE_62C256
RET
CHACTER161:
Mạch quang báo giao tiếp bàn phím Trang: 25

×