III- THIẾT KẾ PHẦN MỀM.
3.2.1- Thời gian thực:
Gồm 4 byte cho Thứ, Giờ, Phút và Giây được đặt trong vùng nhớ RAM cĩ địa chỉ là:
DATE EQU 1004H; Byte cứa thứ thực HOUR EQU 1005H; Byte chứa Giờ thực MIN EQU 1006H; Byte chứa Phút thực SEC EQU 1007H; Byte chứa Giây thực
Thời gian thực được chương trình RTP hay chương trình Settime cập nhật.
3.2.2- Restime:
Các Restime được đặt liên tiếp nhau trong một vi mạch ROM 2732 tạo thành bảng Restime. Do đĩ, bảng Restime cĩ cấu trúc là một danh sách tuần tự (cịn gọi là
danh sách đặc). Địa chỉ đầu bảng Restime là 0FA0h. Cuối bảng Restime là byte EORT (End Of Restime). EORT cĩ giá trị là 0FFH dùng để báo kết thúc bảng Restime.
Mỗi Restime chiếm 3 byte, mỗi byte cho Giờ, Phút và Mã chuơng. Cấu trúc bảng Restime vẽ bởi hình như sau:
0FFFh 0FA0h + 3(N -1)+4
0FA0h + 3(N -1)+3 EORT (0FFh) End Of Restime 0FA0h + 3(N -1)+2 Mã chuơng N 0FA0h + 3(N -1)+1 Phút Restime N 0FA0h + 3(N -1) Giờ Restime N ... 0FA5h Mã chuơng 2 0FA4h Phút Restime 2 0FA3h Giờ Restime 2 0FA2h Mã chuơng 1 0FA1h Phút Restime 1 0FA0h Giờ Restime 1 Hình 22: CẤU TRÚC BẢNG RESTIME 3.2.3-Hottime
Với cấu trúc tương tự như bảng Restime, bảng Hottime gồm 32 byte được đặt trong vùng nhớ RAM từđịa chỉ 1008h đến địa chỉ 1027h.
Mỗi Hottime gồm 3 byte (Giờ, Phút và Mã chuơng ). Bảng Hottime chứa tối đa được 10 Hottime, 2 byte cuối của bảng Hottime luơn cĩ giá trị là 0FEh. Byte EOHT (End Of Hottime) là mã kết thúc bảng Hottime. Cấu trúc bảng Hottime như sau:
1027h 0FEh Dùng cho xĩa Hottime 1026h EOHT (0FEh) END Of Hottime 1025h Mã chuơng
1024h Phút Hottime 10 1023h Giờ Hottime 10
Hệ thống báo giờ tự động ... 100Ah Mã chuơng 1 1009h Phút Hottime 1 1008h Giờ Hottime 1 Hình23 : CẤU TRÚC BẢNG HOTTIME
Hottime là loại dữ liệu động. Khi khởi động Hệ Thống phải tạo bảng Hottime gồm 10 Hottime rỗng, Hottime rỗng cĩ giá trị là 0FEh.
Hottime được thiết kế cho mục đích báo hiệu đột xuất. Mỗi Hottime chỉ cĩ tác dụng cho một lần báo hiệu, do đĩ Hottime sẽ bị xĩa sau khi báo hiệu.
3.2.4- Skiptime:
Cấu trúc bảng Hottime cũng là danh sách tuần tự gồm 22 byte trong vùng nhớ RAM từđịa chỉ 1028h đến địa chỉ 103Dh.
Mỗi Skiptime gồm 2 byte, một byte cho Giờ và một byte cho Phút. Bảng Skiptime chứa tối đa 10 Skiptime, 2 byte cuối của bảng Skiptime cũng cĩ giá trị 0FEh dùng làm EOST (End Of Skiptime). EOST là mã báo kết thúc bảng Skiptime. Cấu trúc bảng Skiptime nhưở hình sau:
103Dh 0FEh
103Ch EOST End Of Skiptime 103Bh Phút Skiptime10 103Ah Giờ Skiptime 10 ... 1029h Phút Skiptime 1 1028h Giờ Skiptime 1 Hình 24: CẤU TRÚC BẢNG SKIPTIME
Cũng như Hottime, Skiptime là loại dữ liệu động. Vì vậy, khi Hệ Thống mới khởi động phải tạo bảng Skiptime gồm 10 Skiptime rỗng bởi giá trị 0FEh.
Mỗi Skiptime chỉ cấm báo hiệu một thời điểm trong ngày, nên sẽ bị xĩa đi sau khi đã được sử dụng.
3.2.5-Mã chuơng:
Mã chuơng là số nhị phân 8 bit. Mỗi bit sẽ tác động lên mạch báo hiệu trong một giây theo thứ tự từ bit cao đến bit thấp. Mức cao sẽ làm cho mạch điều khiển báo hiệu hoạt động.
Các Restime cĩ thể cĩ mã chuơng khác nhau, tùy mục đích báo hiệu của từng thời điểm. Mã chuơng cho các Hottime đều giống nhau và thể hiện mục đích báo hiệu đột xuất. Người viết tạm thời qui định mã chuơng như sau:
Mã chuơng Restime cĩ 2 kiểu:
Bắt đầu tiết học: 0ABh (10101011)
Kết thúc tiết học: 0CFh (11001111) Mã chuơng cho Hottime: 0B7h (10110111).