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

Quá trình hình thành giáo trình thiết kế và thi công hệ thống chấm điểm và tạo khung reset hệ thống trong toàn mạch p5 ppt

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

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


; Số Hottime có trong bảng.
SKTSTA EQU 1002h ; Trạng thái bảng Skiptime
; Số Skiptime có trong bảng
3.2.7- Phân chia vùng nhớ :
Trong không gian 6KB gồm 4KB ROM và 2KB RAM bộ nhớ của Hệ Thống
được phân chia như sau:

17FEh
102Eh
STACK
103Dh
1028h
BẢNG SKIPTIME
1027h
1008h
BẢNG HOTTIME
1007h
1005h
THỜI GIAN THỰC
1004h
1000h
VÙNG ĐỆM
0FFFh
0FA0h
BẢNG RESTIME
0F9Fh
0000h


PHẦN MỀM

Hình 25: BẢNG PHÂN CHIA BỘ NHỚ
3.3- Các chương trình.
3.3.1-Chương trình MAIN:
 Mô tả chương trình:
Chương trình MAIN được đặt vào vùng nhớ bắt đầu từ đòa chỉ 0000h. Nó
được thực hiện ngay khi hệ thống vừa được cấp điện. Chương trình MAIN sẽ
khởi động hệ thống và thực hiện chức năng tự động báo hiệu. Lưu đồ tổng quát
như sau:
Luận văn tốt nghiệp
Hệ thống báo giờ tự động




BẮT ĐẦU


CHỜ 1 PHÚT KHỞI ĐỘNG HỆ THỐNG





N THỜI GIAN
THỰC BẰNG THỜI ĐIỂM
BÁO HIỆU ?



Y



CÓ BÁO HIỆU Y
KHÔNG ?

N



XÓA SKIPTIME BÁO HIỆU







N
PHẢI HOTTIME
KHÔNG?



Y


XÓA HOTTIME


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



Hình 26 : LƯU ĐỒ TỔNG QUÁT CHƯƠNG TRÌNH MAIN

Khởi động hệ thống như sau:
 Khởi động Stack ở đòa chỉ 27FFh
 Reset mạch báo hiệu : xuất ra giá trò 0h ở đòa chỉ 3000h.
 Xóa vùng nhớ từ 1000h đến 1007h bằng giá trò 00h.
 Tạo bảng Hottime và Skiptime rỗng có đòa chỉ từ 1008h đến 103Dh bằng
giá trò 0FEh.
 Chọn ngắt INT và cho phép ngắt.
 Hiển thò thời gian thực đầu tiên 2 00 00 00.
Tự động báo hiệu.
Quá trình tự động báo hiệu được bắt đầu ngay sau khi khởi động hệ thống,
quá trình này do một vòng lặp thực hiện, mỗi phút một lần.
_ Chương trình bắt đầu duyệt bảng Hottime và Restime để tìm một thời điểm
báo hiệu bằng với thời gian thực, nếu không có chương trình quay về chờ thực
hiện quá trình mới.
_ Nếu có thời điểm trùng với thời gian thực, chương trình sẽ duyệt bảng
Skiptime. Nếu không có Skiptime bằng với thời gian thực và thứ là thứ 2 – 6 thì
chương trình ra quyết đònh báo hiệu (nếu thời điểm báo hiệu đó là Restime).
Nếu có Skiptime bằng với thời gian thực, nghóa là thời điểm đó bò cấm báo hiệu,
chương trình sẽ không báo hiệu và xóa Skiptime đó.
_ Sau khi báo hiệu hay xóa Skiptime xong chương trình sẽ xóa Hottime (nếu
thời điểm báo hiệu là (Hottime) rồi trở về thực hiện quá trình mới.
_ Khi nhận quyết đònh báo hiệu, chương trình sẽ lấy mã chuông của thời
điểm cần báo hiệu. Mỗi giây 1 bit trong byte mã chuông sẽ được truyền cho

mạch báo hiệu theo thứ tự từ D7 đến D0, mức cao làm chuông reo. Sau cùng
xuất cho mạch mức 0 để reset. Sau 9 giây chương trình hoàn tất việc báo hiệu.
Để phân biệt thời điểm báo hiệu là Restime hay Hottime, ta dùng một mã
đònh hướng. Mã đònh hướng này nằm trong thanh ghi C:
Khi C = 0 ; đònh hướng Restime, C = 1; đònh hướng Hottime.
Vấn đề xóa Hottime và Skiptime:
Để bảng Hottime (Skiptime) vẫn giữ được cấu trúc là danh sách tuần tự sau
khi xóa Hottime (Skiptime), phải thực hiện theo cách sau: dời những byte còn lại
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


BẮT Đ
ẦU
LẤY GIỜ BÁO HIỆU
KẾ
LẤY GIỜ, PHÚT
THỰC
ĐỊA CHỈ ĐẦU BẢNG
HOTTIME TRỪ 3
KHỞI ĐỘNG HỆ THỐNG

PHẢI EOFHT?

LẤY PHÚT BÁO HIỆU
PHẢI
EOFRT?

BẰNG GIỜ
THỰC?

BẰNG PHÚT
THỰC ?
CẤM NGẮT INT

LẤY ĐỊA CHỈ ĐẦU
BẢNG SKIPTIME TRỪ 2
PHÚT THAY
ĐỔI ?
LẤY PHÚT THỰC

LẤY ĐỊA CHỈ ĐẦU
BẢNG RESTIME TRỪ 3
trong bảng kể từ sau khi Hottime (Skiptime) cần xóa đến đòa chỉ của Hottime
(Skiptime ) cần xóa.
 Lưu đồ chi tiết chương trình MAIN


Y

MINWT

Y

N

Y

N

N


Y

N

Y

N

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






CÒN SKIPTIME ? N


N PHẢI T7 HAY CN ?


Y
Y

LẤY GIỜ SKIPTIME
PHẢI HOTTIME /
N



Y

N BẰNG GIỜ THỰC ? LẤY MÃ CHUÔNG



Y

LẤY PHÚT SKIPTIME
LẤY GIÂY THỰC





N
BẰNG PHÚT THỰC ?


Y
N
CÓ THAY ĐỔI ?


XÓA SKIPTIME Y
CẶP NHẬT SỐ SKIPTIME

XUẤT RA MẠCH BÁO HIỆU
DỊCH TRÁI MÃ CHUÔNG





N DỊCH ĐỦ 9 BIT
CHƯA ?

Y



PHẢI HOTTIME ?
N


Y



XÓA HOTTIME
CAP NHẬT SỐ HOTTIME
HÌnh 27 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH MAIN

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


3.3.2- Chương trình RTP (Realtime program).
 Mô tả chương trình .
Chương trình được đặt ở đòa chỉ 0066h đáp ứng cho ngắt NMI. Tần số gọi

ngắt là 1Hz. Khi được gọi, chương trình RTP thực hiện như sau:
Tăng giây thêm 1. Khi giây = 60 phải tăng phút thêm 1 và cho giây bằng 0.
Khi phút = 60 phải tăng giờ thêm 1 và cho phút bằng 0.
Khi giờ = 24 phải tăng thứ thêm 1 và gán giờ bằng 0.
Khi thứ = 8 phải gán thứ = 2
Khi giây thực có sự thay đổi, phải tham khảo DPMASK để quyết đònh việc
hiển thò thời gian thực:
Nếu DPMASK = 0 ; Hiển thò
DPMASK = 1 ; Không hiển thò.
 Lưu đồ chi tiết chương trình RTP

















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



GIÂY + 1




GIÂ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




THỨ = 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
Luận văn tốt nghiệp
Hệ thống báo giờ tự động


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ử dụ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.
















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




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




KẾT THÚC



Hình 29 : LƯU ĐỒ CHƯƠNG TRÌNH SETTIME






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



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:























×