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

Giáo trình tổng hợp phân tích bộ vi xử lý của hệ thống Z80 phần 6 doc

10 276 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 472,33 KB

Nội dung

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 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 HT HT ĐẦU ? PHẢI “-“ ? XÓA HT TRƯỚC N Y Y Y N PHÍ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 GHI MÃ CHUÔNG Hình 31 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH HOTTIME . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3.5- Chương trình SKIPTIME.  Mô tả chương trình: Chương trình Skiptime tương tự như Hottime phục vụ 3 chức năng về Skiptime : Xem Skiptime có trong bảng, xóa Skiptime và đặt Skiptime. Chương trình sẽ được đặt tại đòa chỉ 0028h trong vùng nhớ để phục vụ cho ngắt INT mode 0. Về hoạt động hoàn toàn giống chương trình Hottime nhưng Skiptime không cần đặt mã chuông , đòa chỉ đầu bảng Skiptime là 1028h và mỗi Skiptime có 2 byte. Lưu đồ tổng quát hoàn toàn giống như lưu đồ tổng quát của chương trình Hottime.  Lưu đồ chi tiết: Lưu đồ chi tiết chương trình Skiptime giống như của Hottime, được vẽ ở hình sau: . . 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 DPMASK = 1 ĐỊA CHỈ ĐẦU BẢNG SKIPTIME (ST) HIỂN THỊ SKIPTIME READKEY Y ĐỌC BÀN PHÍM N Y ĐỊA CHỈ ST CUỐI ? PHẢI PHÍM “+”? ST SAU N N Y Đ/C ST ST ĐẦU ? PHẢI “-“ ? XÓA ST TRƯỚC N Y Y Y N PHÍM “DEL” ? CÓ ST ? BÁO LỖI N Y PHÍM “OK” ? N READKEY N DPMASK = 0 PHÍM “Ins” ? Y Y BÁO LỖI ĐỦ 10 ST ? H IỂN THỊ GIỜ PHÚT THỰC N PHỤC HỒI CÁC THANH GHI ĐỊA CHỈ ST MỚI KEYPRO KẾT THÚC Hình 32 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH SKIPTIME . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3.6- Chương trình con DIPLAY:  Mô tả chương trình: Để có thể hiển thò Thứ – Giờ – Phút - Giây trên led 7 đoạn ở dạng số thập phân, ta cần biến đổi dữ liệu thời gian ở dạng số HEX sang BCD. Mục đích của việc biến đổi này là để chỉ cần thực hiện việc so sánh thời gian thực tạo ra từ 0 đến 9 thay vì phải so sánh từ 0 đến 59. Dữ liệu thời gian thực nằm trong 4 byte 1004h, 1005h, 1006h,1007h được viết sang vùng đệm gồm 4 byte 1050h, 1051h,1052h,1053h tương ứng trước khi biến đổi từ HEX sang BCD để hiển thò. Qua khảo sát cụ thể 60 giá trò đầu của số HEX từ 0h đến 3Bh, tương ứng với số BCD có giá trò từ 0 đến 59 người viết thấy có qui luật biến đổi như sau: HEX GIA SỐ BCD HEX GIA SỐ BCD 00 01 02 03 04 05 06 07 08 09 + 00h 00 01 02 03 04 05 06 07 08 09 1E 1F 20 21 22 23 24 25 26 27 + 12h 30 31 32 33 34 35 36 37 38 39 0A 0B 0C 0D 0E 0F 10 + 06h 10 11 12 13 14 15 16 28 29 2A 2B 2C 2D 2E + 18h 40 41 42 43 44 45 46 . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 11 12 13 17 18 19 2F 30 31 47 48 49 14 15 16 17 18 19 1A 1B 1C 1D + 0Ch 20 21 22 23 24 25 26 27 28 29 32 33 34 35 36 37 38 39 3A 3B + 1Eh 50 51 52 53 54 55 56 57 58 59 Cách khởi tạo 8279: LD HL,2001h LD (HL),00000000B ; Hiển thò 8 kí tự lối vào trái LD (HL),00100101B ; Chia tần số xung clock ở ngõ vào chân số 3 cho 5 Lưu đồ chương trình hiển thò. . . 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 ĐỊA CHỈ LED THỨ - 1 INC HL ĐỊA CHỈ LED GIÂY +1 ? LD A,(HL) HỒI PHỤC AF, BC, DE,HL A < 0Ah ? KẾT THÚC A < 14h ? A A+06h A < 1Eh ? A A + 0Ch A < 28h ? A A + 12h A < 32h ? A A + 18h A < 3Ch ? A A + 1Eh HIỂN THỊ Hình 33 : LƯU ĐỒ CHƯƠNG TRÌNH DISPLAY . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3.7- Chương trình con KEYPRO:  Mô tả chương trình : Các chức năng Settime, đặt Hottime/Skiptime cần sử dụng bàn phím để thay đổi giờ, phút đến giá trò mong muốn và quan sát Giờ Phút đang thay đổi trên màn hình. Chương trình con KEYPRO nhằm phục vụ yêu cầu chung đó. KEYPRO sẽ xử lý các tổ hợp phím “Ins_+”, “Ins_ -“ ,“Del/Date _ +”, “Del/Date _ -“ và các phím “+”, “-“,”OK”. Mỗi phím khi ấn sẽ tạo ra 1 giá trò và thực hiện 1 chức năng cho trong bảng sau: PHÍM GIÁ TRỊ CHỨC NĂNG Date_+ 0Edh Tăng thứ Date_- 0EBh Giảm thứ Ins_+ 0FCh Tăng giờ Ins_- 0FAh Giảm giờ + 0FDh Tăng phút _ 0FBh Giảm phút OK 0F7h Lưu Giờ Phút và thoát Bảng 8: CHỨC NĂNG VÀ GIÁ TRỊ CÁC PHÍM Lưu ý: Các tổ hợp phím: ”Date_+” và “Date_-“, “Ins_+” và “Ins_-“ được tạo ra do ấn phím “+” hay ”-“ trong khi ấn và giữ phím “Ins”, “Date”. Vì bàn phím được thiết kế như là vùng nhớ có đòa chỉ từ 4000h đến 4FFFh nên khi đọc bàn phím, chương trình con KEYPRO thực hiện lệnh đọc bộ nhớ tại đòa chỉ 4000h hay lớn hơn (giới hạn trong vùng nhớ cho phép) với chu kỳ khoảng 175mS. Khoảng thời gian đó là đủ để chống dội cho phím được ấn đồng thời để quan sát được Giờ Phút đang thay đổi liên tục khi người sử dụng ấn và giữ phím “+” hay “-“. Mỗi khi có phím được ấn (ngoại trừ phím” OK”) nghóa là thứ, giờ, phút đã có sự thay đổi, KEYPRO sẽ nhờ chương trình con DISPLAY hiển thò giờ phút đã thay đổi. Chương trình triệu gọi KEYPRO phải truyền cho KEYPRO đòa chỉ bộ nhớ để ghi giờ phút đã thay đổi, đòa chỉ này phải đặt trong thanh ghi HL.  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 BC VÀO STACK HIỂN THỊ THỚI GIAN ĐANG THAY ĐỔI ĐỌC BÀN PHÍM LẤY BC TỪ STACK Y Y TĂNG THỨ ? THỨ + 1 THỨ = 9 ? THỨ = 2 N N Y Y GIẢM THỨ ? THỨ – 1 THỨ = 1 ? THỨ = 8 N N Y Y TĂNG GIỜ ? GIỜ + 1 GIỜ = 24 ? GIỜ = 0 N N Y Y GIẢM GIỜ ? Giờ -1 GIỜ = -1 ? GIỜ = 23 N N Y Y TĂNG PHÚT ? PHúTù + 1 PhùúT = 60 ? PhúT = 0 N N Y Y GIẢM PHÚT ? PhúT –1 PhúT = -1 ? PhúT = 59 N N N PHẢI OK ? Y GHI THỜI GIAN THỰC VÀO BỘ NHỚÙ KẾT THÚC Hình 34 : LƯU ĐỒ CHI TẾT CHƯƠNG TRÌNH KEYPRO . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3.8- Chương trình con ERROR.  Mô tả chương trình Nhằm báo lỗi cho người sử dụng biết những lỗi như: xóa Hottime/Skiptime rỗng, thêm Hottime/Skiptime thứ 11. Nhấn phím “OK” để bỏ lỗi (thoát khỏi ERROR) Thông báo lỗi bằng cách chớp tắt chữ ERROR trên đèn hiển thò.  Lưu đồ: Lưu đồ chương trình ERROR như sau: Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . 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 HIỂN THỊ “ERROR” TRÌ HOÃN ĐỌC PHÍM Y PHẢI OK ? N TẮT LED TRÌ HOÃN PHỤC HỒI AF ,BC, DE, HL TỪ STACK KẾT THÚC Hình 35 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH ERROR Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . . 31 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH HOTTIME . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3.5- Chương trình SKIPTIME.  Mô tả chương trình: Chương trình Skiptime tương tự như Hottime. Skiptime có 2 byte. Lưu đồ tổng quát hoàn toàn giống như lưu đồ tổng quát của chương trình Hottime.  Lưu đồ chi tiết: Lưu đồ chi tiết chương trình Skiptime giống như của Hottime, được vẽ ở hình. Hình 32 : LƯU ĐỒ CHI TIẾT CHƯƠNG TRÌNH SKIPTIME . . Luận văn tốt nghiệp Hệ thống báo giờ tự động 3.3 .6- Chương trình con DIPLAY:  Mô tả chương trình: Để có thể hiển thò Thứ – Giờ

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN