1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu Thiết kế và thi côn hệ thống báo giờ tự động ứng dụng CPU Z80, chương 7 ppt

8 411 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế và thi công hệ thống báo giờ tự động ứng dụng CPU Z80
Thể loại Bài giảng
Định dạng
Số trang 8
Dung lượng 94,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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: 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 H

Trang 1

Chương 7: 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:

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

Trang 2

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

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

Trang 3

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 INTvà 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

Trang 4

Để 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 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

Trang 5

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

Y

MINWT

Y

N

Y

N N

Y

N

Y N

Trang 6

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

Trang 7

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 ?

PHẢI HOTTIME ? N

Y

Trang 8

XÓA HOTTIME CAP NHẬT SỐ HOTTIME

HÌnh 27 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH MAIN

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ị

Ngày đăng: 21/01/2014, 20:20

HÌNH ẢNH LIÊN QUAN

BẢNG SKIPTIME TRỪ 2 - Tài liệu Thiết kế và thi côn hệ thống báo giờ tự động ứng dụng CPU Z80, chương 7 ppt
2 (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w