Mô tả chương trình: Chương trình Settime phục vụ người sử dụng trong việc điều chỉnh thời gian thực thông qua bàn phím nhằm giúp người sử... Chương trình Settime sẽ gọi chương trình Ke
Trang 1Chương 8: Lưu đồ chi tiết chương trình
RTP
BẮT ĐẦU CẤT AF, BC, DE, HL VÀO STACK
GIÂY + 1
Trang 2GIÂY = 60 ? N
Y GIÂY = 0, PHÚT + 1
PHÚT = 60 ? N
Y PHÚT = 0, GIỜ + 1
GIỜ = 24 ? N
Y GIỜ = 0, THỨ + 1
Trang 3THỨ = 9 ? N
Y THỨ = 2
Y CÓ CHE HIỂN THỊ ?
N HIỂN THỊ THỜI GIAN THỰC
HỒI PHỤC AF, BC, DE, HL
KẾT THÚC Hình 28 : LƯU ĐỒ CHƯƠNG TRÌNH RTP
3.3.3-Chương trình Settime.
Mô tả chương trình:
Chương trình Settime phục vụ người sử dụng trong việc điều chỉnh thời gian thực thông qua bàn phím nhằm giúp người sử
Trang 4dụng điều chỉnh thời gian thực bằng bàn phím Do đóù, chương trình Settime được đặt ở địa chỉ 08h trong vùng nhớ
Chương trình Settime sẽ gọi chương trình Keypro để xử lý bàn phím nhằm giúp người sử dụng điều chỉnh thời gian thực bằng bàn phím Trước khi gọi Keypro, Settime cần chuẩn bị các dữ liệu cần thiết cho Keypro như:
Thanh ghi B chứa giờ hiện tại
Thanh ghi C chứa phút hiện tại
Thanh ghi D chứa thứ hiện tại
Trước khi thoát, Settime phải hiển thị lại thời gian thực
Người sử dụng phải theo qui định của chương trình Keypro để điều chỉnh thời gian thực
Lưu đồ chi tiết.
Trang 5BẮT ĐẦU CẤT AF, BC,DE, HL VÀO STACK
LẤY THỨ GIỜ PHÚT HIỆN TẠI
ĐẶT GIÂY THỤC = 0
KEYPRO
HIỂN THỊ THỨ GIỜ PHÚT THỰC
PHỤC HỒI AF,BC,DE,HL TỪ STACK
Trang 6KẾT THÚC
Hình 29 : LƯU ĐỒ CHƯƠNG TRÌNH SETTIME
3.3.4-Chương trình Hottime.
Mô tả chương trình.
Đây là chương trình phục vụ ngắt mode 0 ở địa chỉ 018h đảm nhiệm chức năng về Hottime: Xem những Hottime đã có trong bảng (gọi là preview), xóa những Hottime đã có trong bảng (gọi là delete), đặt một Hottime mới (gọi là Insert) Lưu đồ tổng quát như sau:
Trang 7BẮT ĐẦU
CẤT AF,BC,DE,HL VÀO STACK
DPMASK =1
HIỂN THỊ HOTTIME
Trang 8Y ĐỊA CHỈ PHẢI PHÍM “+” HOTTIME
KẾ SAU
N
Y ĐỊA CHỈ
KẾ TRƯỚC N
Y
HOTTIME
N
Y
PHẢI PHÍM “OK”
DPMASK = 0
N
Trang 9Y ĐẶT 1
HOTTIME
MỚI
HIỂN THỊ THỜI GIAN THỰC N
HỒI PHỤC CÁC THANH GHI
KẾT THÚC Hình 30 : LƯU ĐỒ TỔNG QUÁT CHƯƠNG TRÌNH HOTTIME
Chương trình Hottime sẽ xử lí các phím: Ins, +, -, Del/Date và phím OK để giúp người sử dụng điều khiển ba chức năng trên
Khi chương trình được gọi, mặc nhiên sẽ là chế độ thực hiện chức năng Review và Delete, các phím ấn như sau:
“+” : Hiển thị Hottime kế sau (không hiển thị quay vòng)
“-“ : Hiển thị Hottime kế trước (không hiển thị quay vòng)
“Del”: Xóa Hottime hiện hành (đang được hiển thị)
“Ins” : Đặt 1 Hottime mới
Trang 10 “OK”: Thoát.
Nếu trong bảng có Hottime thì Hottime đầu tiên sẽ được hiển thị khi chương trình được gọi Còn bảng Hottime rỗng thì mạch hiển thị sẽ tắt (các Led 7 đoạn hiển thị giờ, phút ở trạng thái Blank) và khi ấn phím “+” hay “-“ mạch hiển thị vẫn tắt
Nếu không có Hottime nào trong bảng (các Led 7 đoạn hiển thị giờ, phút ở trạng thái Blank), khi ấn phím “Del” thì xuất hiện thông báo lỗi do chương con Error thực hiện Khi xóa Hottime xong, chương trình sẽ hiển thị lại Hottime đầu tiên trong bảng Khi đặt 1 Hottime mới:
Nếu trong bảng đã đủ 10 Hottime chương trình sẽ dùng chương trình con Error để báo lỗi, ấn “OK” để bỏ lỗi
Nếu trong bảng còn Hottime rỗng, chương trình Hottime sẽ gọi chương trình con Keypro để người sử dụng dùng bàn phím chọn giờ, phút cho Hottime mới Trước khi gọi Keypro, chương trình Hottime phải xác định địa chỉ đặt Hottime mới để truyền cho Keypro Người sử dụng dùng bàn phím theo quy định của chương trình Keypro để đặt Hottime mới
Khi thoát khỏi Keypro chương trình tiếp tục ghi mã chuông cho Hottime (0B7h) và trở về chức năng preview và hiển thị Hottime vừa cài đặt
Để tránh việc hiển thị thời gian thực do chương trình RTP thực hiện, phải đặt mặt nạ DPMASK=1 để che hiển thị ở đầu chương trình Hottime và bỏ mặt nạ DPMASK = 0 ở cuối chương trình Hottime để cho phép RTP hiển thị thời gian thực trở lại
Lưu đồ chi tiết
Lưu đồ tiết chương trình Hottime vẽ ở hình sau:
Trang 11BẮ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 HTHT ĐẦU ? PHẢI “-“ ?
TRƯỚC
N Y
Y Y
N
Trang 12PHÍ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
Trang 13GHI MÃ CHUÔNG
Hình 31 : LƯU ĐỒ
CHI TIẾT CHƯƠNG TRÌNH HOTTIME