1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình hình thành ứng dụng các dạng mạch theo sơ đồ khối p5 pdf

10 251 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 454,82 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 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 không có S

Trang 1

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

.

Trang 2

BẮT ĐẦU

LẤY GIỜ BÁO HIỆU KẾ

LẤY GIỜ, PHÚT THỰC

ĐỊA CHỈ ĐẦU BẢNG

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

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

Trang 3

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 ?

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

.

Trang 4

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

Trang 5

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

.

Trang 6

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

Trang 7

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

.

Trang 8

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 9

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

BẮT ĐẦU

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

DPMASK =1

HIỂN THỊ HOTTIME

KẾ SAU

N

KẾ TRƯỚC

N

Y

HOTTIME

N

Y

PHẢI PHÍM “OK”

N

MỚI

HỒI PHỤC CÁC THANH GHI

.

Trang 10

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

 “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:

Ngày đăng: 13/08/2014, 19:20

HÌNH ẢNH LIÊN QUAN

Hình 29 : LƯU ĐỒ CHƯƠNG TRÌNH SETTIME - Giáo trình hình thành ứng dụng các dạng mạch theo sơ đồ khối p5 pdf
Hình 29 LƯU ĐỒ CHƯƠNG TRÌNH SETTIME (Trang 7)

TỪ KHÓA LIÊN QUAN

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