Tải bản đầy đủ (.pdf) (10 trang)

Giáo trình phân tích và tổng hợp các dạng mạch có trong hệ thống Z80 phần 6 pot

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 (472.33 KB, 10 trang )

Luận văn tốt nghiệp
Hệ thống báo giờ tự động



BẮT ĐẦU


CẤT AF, BC, DE, HL VÀO STACK

DPMASK = 1


ĐỊA CHỈ ĐẦU BẢNG HOTTIME


HIỂN THỊ HOTTIME (HT)
READKEY

ĐỌC BÀN PHÍM
Y

N Y
ĐỊA CHỈ HT CUỐI ? PHẢI PHÍM “+”?
HT SAU
N
N Y
Đ/C HT HT ĐẦU ? PHẢI “-“ ? XÓA HT
TRƯỚC
N Y
Y Y N


PHÍM “DEL” ? CÓ HT ? BÁO LỖI

N
Y
PHÍM “OK” ?

N
READKEY N DPMASK = 0
PHÍM “Ins” ?

Y
Y
BÁO LỖI ĐỦ 10 HT ?
H IỂN THỊ THỜI GIAN THỰC
N

PHỤC HỒI CÁC THANH GHI
ĐỊA CHỈ HT MỚI



KEYPRO KẾT THÚC



GHI MÃ CHUÔNG

Hình 31 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH HOTTIME



.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


3.3.5- Chương trình SKIPTIME.
 Mô tả chương trình:
Chương trình Skiptime tương tự như Hottime phục vụ 3 chức năng về Skiptime :
Xem Skiptime có trong bảng, xóa Skiptime và đặt Skiptime.
Chương trình sẽ được đặt tại đòa chỉ 0028h trong vùng nhớ để phục vụ cho ngắt INT
mode 0.
Về hoạt động hoàn toàn giống chương trình Hottime nhưng Skiptime không cần đặt
mã chuông , đòa chỉ đầu bảng Skiptime là 1028h và mỗi Skiptime có 2 byte.
Lưu đồ tổng quát hoàn toàn giống như lưu đồ tổng quát của chương trình Hottime.
 Lưu đồ chi tiết:
Lưu đồ chi tiết chương trình Skiptime giống như của Hottime, được vẽ ở hình sau:


























.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động



BẮT ĐẦU



CẤT AF, BC, DE, HL VÀO STACK


DPMASK = 1


ĐỊA CHỈ ĐẦU BẢNG SKIPTIME (ST)



HIỂN THỊ SKIPTIME
READKEY

Y ĐỌC BÀN PHÍM


N Y
ĐỊA CHỈ ST CUỐI ? PHẢI PHÍM “+”?
ST SAU
N
N Y
Đ/C ST ST ĐẦU ? PHẢI “-“ ? XÓA ST
TRƯỚC
N Y
Y Y N
PHÍM “DEL” ? CÓ ST ? BÁO LỖI

N
Y
PHÍM “OK” ?

N
READKEY N DPMASK = 0
PHÍM “Ins” ?

Y
Y
BÁO LỖI ĐỦ 10 ST ? H IỂN THỊ GIỜ PHÚT THỰC


N

PHỤC HỒI CÁC THANH GHI
ĐỊA CHỈ ST MỚI



KEYPRO KẾT THÚC



Hình 32 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH SKIPTIME

.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


3.3.6- Chương trình con DIPLAY:
 Mô tả chương trình:
Để có thể hiển thò Thứ – Giờ – Phút - Giây trên led 7 đoạn ở dạng số
thập phân, ta cần biến đổi dữ liệu thời gian ở dạng số HEX sang BCD. Mục đích
của việc biến đổi này là để chỉ cần thực hiện việc so sánh thời gian thực tạo ra
từ 0 đến 9 thay vì phải so sánh từ 0 đến 59.
Dữ liệu thời gian thực nằm trong 4 byte 1004h, 1005h, 1006h,1007h được
viết sang vùng đệm gồm 4 byte 1050h, 1051h,1052h,1053h tương ứng trước khi
biến đổi từ HEX sang BCD để hiển thò.
Qua khảo sát cụ thể 60 giá trò đầu của số HEX từ 0h đến 3Bh, tương ứng với

số BCD có giá trò từ 0 đến 59 người viết thấy có qui luật biến đổi như sau:

HEX GIA SỐ

BCD

HEX GIA SỐ BCD
00
01
02
03
04
05
06
07
08
09






+ 00h
00
01
02
03
04
05

06
07
08
09


1E
1F
20
21
22
23
24
25
26
27






+ 12h


30
31
32
33
34

35
36
37
38
39

0A
0B
0C
0D
0E
0F
10





+ 06h
10
11
12
13
14
15
16

28
29
2A

2B
2C
2D
2E





+ 18h

40
41
42
43
44
45
46
.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


11
12
13

17
18

19

2F
30
31

47
48
49

14
15
16
17
18
19
1A
1B
1C
1D






+ 0Ch
20
21
22

23
24
25
26
27
28
29


32
33
34
35
36
37
38
39
3A
3B






+ 1Eh


50
51

52
53
54
55
56
57
58
59


Cách khởi tạo 8279:
LD HL,2001h
LD (HL),00000000B ; Hiển thò 8 kí tự lối vào trái
LD (HL),00100101B ; Chia tần số xung clock ở ngõ vào chân
số 3 cho 5
Lưu đồ chương trình hiển thò.








.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động



BẮT ĐẦU


CẤT AF, BC, DE, HL VÀO STACK



ĐỊA CHỈ LED THỨ - 1


INC HL


ĐỊA CHỈ LED GIÂY +1 ?


LD A,(HL)

HỒI PHỤC AF, BC, DE,HL


A < 0Ah ?



KẾT THÚC A < 14h ? A A+06h



A < 1Eh ? A A + 0Ch




A < 28h ? A A + 12h



A < 32h ? A A + 18h



A < 3Ch ? A A + 1Eh



HIỂN THỊ
Hình 33 : LƯU ĐỒ CHƯƠNG TRÌNH DISPLAY

.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


3.3.7- Chương trình con KEYPRO:
 Mô tả chương trình :
Các chức năng Settime, đặt Hottime/Skiptime cần sử dụng bàn phím để thay
đổi giờ, phút đến giá trò mong muốn và quan sát Giờ Phút đang thay đổi trên
màn hình. Chương trình con KEYPRO nhằm phục vụ yêu cầu chung đó.
KEYPRO sẽ xử lý các tổ hợp phím “Ins_+”, “Ins_ -“ ,“Del/Date _ +”,

“Del/Date _ -“ và các phím “+”, “-“,”OK”. Mỗi phím khi ấn sẽ tạo ra 1 giá trò
và thực hiện 1 chức năng cho trong bảng sau:

PHÍM GIÁ TRỊ CHỨC NĂNG
Date_+ 0Edh Tăng thứ
Date_- 0EBh Giảm thứ
Ins_+ 0FCh Tăng giờ
Ins_- 0FAh Giảm giờ
+ 0FDh Tăng phút
_ 0FBh Giảm phút
OK 0F7h Lưu Giờ Phút và thoát

Bảng 8: CHỨC NĂNG VÀ GIÁ TRỊ CÁC PHÍM
Lưu ý: Các tổ hợp phím: ”Date_+” và “Date_-“, “Ins_+” và “Ins_-“ được
tạo ra do ấn phím “+” hay ”-“ trong khi ấn và giữ phím “Ins”, “Date”. Vì bàn
phím được thiết kế như là vùng nhớ có đòa chỉ từ 4000h đến 4FFFh nên khi đọc
bàn phím, chương trình con KEYPRO thực hiện lệnh đọc bộ nhớ tại đòa chỉ
4000h hay lớn hơn (giới hạn trong vùng nhớ cho phép) với chu kỳ khoảng
175mS. Khoảng thời gian đó là đủ để chống dội cho phím được ấn đồng thời để
quan sát được Giờ Phút đang thay đổi liên tục khi người sử dụng ấn và giữ phím
“+” hay “-“. Mỗi khi có phím được ấn (ngoại trừ phím” OK”) nghóa là thứ, giờ,
phút đã có sự thay đổi, KEYPRO sẽ nhờ chương trình con DISPLAY hiển thò giờ
phút đã thay đổi.
Chương trình triệu gọi KEYPRO phải truyền cho KEYPRO đòa chỉ bộ nhớ để
ghi giờ phút đã thay đổi, đòa chỉ này phải đặt trong thanh ghi HL.
 Lưu đồ chi tiết:

.
.
Luận văn tốt nghiệp

Hệ thống báo giờ tự động



BẮT ĐẦU



CẤT BC VÀO STACK




HIỂN THỊ THỚI GIAN ĐANG THAY ĐỔI



ĐỌC BÀN PHÍM



LẤY BC TỪ STACK


Y Y
TĂNG THỨ ? THỨ + 1 THỨ = 9 ? THỨ = 2

N N

Y Y

GIẢM THỨ ? THỨ – 1 THỨ = 1 ? THỨ = 8

N N

Y Y
TĂNG GIỜ ? GIỜ + 1 GIỜ = 24 ? GIỜ = 0

N N

Y Y
GIẢM GIỜ ? Giờ -1 GIỜ = -1 ? GIỜ = 23

N N

Y Y
TĂNG PHÚT ? PHúTù + 1 PhùúT = 60 ? PhúT = 0

N N

Y Y
GIẢM PHÚT ? PhúT –1 PhúT = -1 ? PhúT = 59

N N

N
PHẢI OK ?

Y

GHI THỜI GIAN THỰC VÀO BỘ NHỚÙ




KẾT THÚC


Hình 34 : LƯU ĐỒ CHI TẾT CHƯƠNG TRÌNH KEYPRO
.
.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


3.3.8- Chương trình con ERROR.
 Mô tả chương trình
Nhằm báo lỗi cho người sử dụng biết những lỗi như: xóa Hottime/Skiptime
rỗng, thêm Hottime/Skiptime thứ 11.
Nhấn phím “OK” để bỏ lỗi (thoát khỏi ERROR)
Thông báo lỗi bằng cách chớp tắt chữ ERROR trên đèn hiển thò.
 Lưu đồ:
Lưu đồ chương trình ERROR như sau:























Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i
e
w

e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n

g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.
.
Luận văn tốt nghiệp

Hệ thống báo giờ tự động




BẮT ĐẦU



CẤT AF, BC, DE, HL VÀO STACK



HIỂN THỊ “ERROR”



TRÌ HOÃN



ĐỌC PHÍM


Y
PHẢI OK ?

N

TẮT LED




TRÌ HOÃN


PHỤC HỒI AF ,BC, DE, HL TỪ STACK




KẾT THÚC
Hình 35 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH ERROR


Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e

V
i

e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h

a
n
g
e

V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
.

.

×