Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
185,39 KB
Nội dung
Luận văn tốt nghiệp Trang 3
Begin
Đ
S
Đ
S
S
Đ
CHƯƠNG 10
THIẾT KẾ PHẦN MỀM
Hiển thò chữ
PR
Nhập số
chương trình
Phím
PRO ?
Phím
Enter ?
Chạy chương
trình
Nhập dữ
liệu cần
hiển thò
Phím
Enter ?
Phím
PRO ?
Luaän vaên toát nghieäp Trang 4
Ñ
S
Luận văn tốt nghiệp Trang 5
Cách sử dụng:
Đầu tiên mở máy lên, sau đó chọn chương trình. Nếu ta
nhập số hiệu chương trình (từ 0 đến 7) và ấn phím ENTER thì
chương trình tương ứng với số ta nhập sẽ được thực hiện. Nếu
ta ấn một trong các phím số từ 0 đến 7 thì có nghóa là đặt tên
cho chương trình mới với số vừa ấn. Tiếp theo nếu không ấn
phím PRO thì quangbáo sẽ ở chế độ chờ nhập số hiệu chương
trình, còn nếu có ấn PRO thì quangbáo sẽ cho phép bắt đầu
nhập dòng thông báo. Sau khi nhập dòng thông báo xong nếu
không nhấn PRO thì quangbáo vẫn ở chế độ chờ nhập dòng
thông báo tiếp theo. Còn nếu kết thúc bằng phím ENTER thì
lúc đó quangbáo sẽ quay trở về trạng thái ban đầu là chọn
chương trình, và cứ thế trình tự lại lặp lại như trên.
II . LƯU ĐỒ HỆ THỐNG CHO QUANG BÁO:
Qua cách sử dụng cho người dùngquangbáo như trên thì
người thiếtkế đặt ra lưu đồ hệ thống cho mạch như sau:
Luận văn tốt nghiệp Trang 6
LƯU ĐỒ HỆ THỐNG QUANG BÁO
Nhấn phím
ENTER?
Nhấn phím
Pro ?
Nhấn phím
Pro ?
S
S
Đ
Đ
Nhập dòng
thông báo
Khởi tạo 8255
Xác lập vùng SP
Begin
Call hiển thò
chữ PR
Nhập số hiệu
chương trình
Nhập số hiệu
chương trình
Đ
S
Chạy chương
trình
Luaän vaên toát nghieäp Trang 7
Luận văn tốt nghiệp Trang 8
Đầu tiên khởi tạo 8255A, xác lập vùng SP. Gọi chương
trình quét phím, hiển thò đoạn chương trình là PR, sau đó gọi
chương trình quét phím và nhập số hiệu chương trình từ số 0
đến số 7 và nhấn phím PRO. Sau khi nhấn phím PRO lúc đó ta
nhập nội dung dòng thông báo từ bàn phím, sau khi nhập dòng
thông báo xong thì nhấn phím PRO để báo cho Vi xử lí biết
dòng thông báo đã kết thúc. Sau đó, ta nhấn số hiệu chương
trình và nhấn phím ENTER thì chương trình tương ứng với số
hiệu vừa nhập sẽ được thực hiện.
Lưu đồ hệ thống trên nếu ta viết thành một chương trình
lớn thì sẽ rất dài, dễ mắc nhiều lỗi sai sót mà ta khó kiểm tra
sữa chữa. Vì thế ta sẽ tách ra thành nhiều chương trình nhỏ để
dễ viết, khi ráp vào thành một chương trình hệ thống lớn sẽ
tránh được nhiều rắc rối.
1 . Chương trình hiển thò :
Mục đích là hiển thò 35 byte dữ liệu lên 35 cột của Ma
trận LED .
Theo cách kết nối phần cứng thì toàn bộ dữ liệu hàng
của Ma trận LED kết nối song song nhau ở mức thấp và cột ở
mức cao thông qua hoạt động của 74LS164. Muốn cho dữ liệu
của cột một của LED thứ nhất sáng thì ngõ dữ liệu gởi cho
hàng phải ở mức thấp và dữ liệu gởi ra cho cột (tức là ngõ ra
Q
A
của 74LS164 thứ nhất) ở mức cao, lúc đó cột một sáng.
Lưu đồ của chương trình Text 35
PC0 nối với chân Ck của 74LS164
PC1 nối với chân AB của 74LS164
PC2 nối với chân Clear của 74LS164
Port C có đòa chỉ là 12h
Port A có đòa chỉ là 10h
Luận văn tốt nghiệp Trang 9
Đ
S
LƯU ĐỒ CHƯƠNG TRÌNH HIỂN THỊ
Begin
Call reset
Call Startx
(A)
Port A
(M) A
35
Bộ đếm
Call delay
(HL) + 1 HL
(
Bộ đếm)
-
1
0 port A
Luận văn tốt nghiệp Trang 10
Bộ đếm =
Luaän vaên toát nghieäp Trang 11
;
;Chuong trinh hien thi 35 byte du lieu len
35 cot cua ma tran led
;
org 0000h
lxi sp,5ff0h
jmp main
org 1e00h
main: mvi a,80h
out 13
c1: lxi h,2000h
call reset
call startx
mvi b,35
c2: mov a,m
out 10
call delay
inx h
dcr b
jnz xoaled
jmp c1
;
;Chuong trinh reset
;
mvi a,00h
out portc
out porta
ret
;
;Chuong trinh xoa led
;
mvi a,00h
out 10h
Luaän vaên toát nghieäp Trang 12
call clock
jmp c2
[...]... phím Phím số 0 -7 S Đ Vào RAM copy dữ liệu Nhấn phím Pro ? S Đ Call hiển thò Nhấn phím Run? Đ RET Nhấn phím Pro ? S Đ Luận văn tốt nghiệp Trang 16 Luận văn tốt nghiệp 2 Chương trình chính của quang báo : org 0000h jmp main org 0100 h main: lxi sp,5f00 mvi a,80h out 13h mvi a,90h out 03h call copy mvi a,00h sta 5f01h a2: mvi a,00h sta 5f00h a1: call catdata lxi h,4000h call h_t_data lda 5f00h cpi 00h... push h mvi c,09h htx6: call reset ;goi chuong trinh con reset 74164 call startx mvi b,35 htx7: mov a,m out 10h call delay3 inx h dcr b ;giam cot jnz htx10 dcr c jnz htx8 pop h inx h lda 5e00h cmp l jnz h_t_data lda 5a01h cmp h jnz h_t_data ret htx8: pop h push h jmp htx6 htx10: mvi a,00h out 10h call clkx jmp htx7 ; -;Chuong trinh tao xung startx ; -Tạo một ngõ ra của 74LS164... Trang 13 LƯU ĐỒ DỊCH CHUYỂN 256 BYTE DỮ LIỆU Begin 2000 H 09 C Call reset Bộ đếm = 0 S Call Startx 35 Bộ đếm C-1C Đ (M) A (A) port A 2001 HL C=0 Call delay S Đ (L) A (HL) +1 HL A = FF ? Bộ đếm - 1 S 0 port A Luận văn tốt nghiệp Trang 14 Đ Luận văn tốt nghiệp Trang 15 LƯU ĐỒ CHỌN CHƯƠNG TRÌNH Begin Call quét phím Phím số 0 -7 S Đ Vào RAM copy dữ liệu Nhấn phím Pro ? S Đ Call hiển thò... nghiệp Trang 20 x1: push b lxi h ,100 0h ;Vung du lieu lxi b,4000h x2: mov a,m stax b inr c inr l mov a,l cpi 36 jnz x2 pop b pop h ret ; ;chuong trinh con cat du lieu de nhap nhay ; org 0515h catdata: lxi h,401eh lxi b,4050h x3: mov a,m stax b inr c inr l mov a,l cpi 36 jnz x3 ret ; -;Chuong trinh address ; -Xử lí đòa chỉ kết quả chứa trong thanh ghi... ;Chuong trinh con hien thi chu PR dung yen, dau nhap nhay ; org 0600 x5: push h mvi c,09h x6: call reset call startx mvi b,35 x7: mov a,m out porta call delay1 inx h dcr b jnz x10 dcr c jnz x8 pop h jmp z1 x8: pop h push h jmp x6 ; ;xoa vung nho de nhap nhay ; z1: push h lxi h,401eh mvi a,00h mov m,a Luận văn tốt nghiệp z4: z5: z6: z3: z2: z7: inr l mov... portc mvi a,05h ;CL = Ck = 1;AB = 0 out portc mvi a,04h out portc ret ; ;Chuong trinh delay 0,5s ; lxi b,83ffh h1: dcx b mov a,c ora b jnz h1 ret Luận văn tốt nghiệp Trang 27 3 Chương trình bàn phím Port A của 8255 thứ nhất quét hàng cho bàn phím (8 hàng) và Port C của 8255 thứ nhất sẽ quét cột cho bàn phím (7 cột) Port A nhập , Port C xuất org 1200h push psw push b push d . . LƯU ĐỒ HỆ THỐNG CHO QUANG BÁO:
Qua cách sử dụng cho người dùng quang báo như trên thì
người thiết kế đặt ra lưu đồ hệ thống cho mạch như sau:
Luận. 3
Begin
Đ
S
Đ
S
S
Đ
CHƯƠNG 10
THIẾT KẾ PHẦN MỀM
Hiển thò chữ
PR
Nhập số
chương trình
Phím
PRO ?
Phím
Enter ?
Chạy chương
trình
Nhập dữ
liệu cần
hiển