III. CÁC LƯU ĐỒ THUẬT GIẢI CHO CHƯƠNG TRÌNH TRÊN ROM NGOẠI VI:
III.9 LƯU ĐỒ THUẬT GIẢI CHI TIẾT CHO CHƯƠNG TRÌNH XUẤT DỮ LIỆU RA MA TRẬN ĐỂ HIỂN THI KÍ TỰ :
RA MA TRẬN ĐỂ HIỂN THI KÍ TỰ :
Lưu ý :
Vì dữ liệu của dữ liệu được tổ chức theo dạng các bit được set lên 1.Nhưng trong khi xuất ra ma trận dữ liệu phải ở mức 0 thì Led mới sáng nên trước khi xuất ra ma trận ta phãi lấy bù của dữ liệu này.
Nguyên tắc hoạt động :
- @ đầu tiên của 16 bytes dữ liệu kí tự sẽ được giữ trong cặp thanh ghi HL - @ đầu tiên của các bytes dữ liệu quét sẽ được giữ trong cặp thanh ghi DE - Dùng bộ đếm Counter = 10H để đếm số lần xuất ra ma trận.
- Khi xuất ra ma trận dữ quét được xuất liên tiếp 2 Bytes
Khi hoạt động thì bộ đếm sẽ giảm dần sau mật lần xuất để hiển thị một dòng (1 Byte dữ liệu của kí tự và 2 Bytes dữ liệu quét ).Trong quá trình hoạt động bộ đếm sẽ được kiểm tra sau mỗi lần hiển thị một dòng.
- Nếu bộ đếm chưa bằng 0 thì @ chưá trong HL và DE sẽ được tăng lên để hiển thị dòng kế tiếp.
START
Gán @ bắt đầu của 16 Bytes dữ liệu xuất (nội dung của biến SCREEN ) vào cặp thanh ghi HL
Gán @ bắt đầu của các Bytes dữ liệu quét vào căp thanh ghi DE
Nạp số đếm 10H vào thanh ghi B
Nạp nội dung của ô nhớ có @ chứa trong HL vào thanh ghi A và lấy giá trị bù của A (Để có byte dữ liệu xuất )
Xuất nội dung của thanh ghi A ra bộ đệm dữ liệu Nạp nội dung của ô nhớ có @ chứa trong DE (Lấy 1Bytes
dữ liệu quét) vào thanh ghi A
Xuất nội dung của thanh ghi A ra bộ đệm dữ liệu quét 1 Tăng nội dung của DE lên 1 để lấy byte quét kế tiếp Nạp nội dung của ô nhớ có @ chứa trong DE (Lấy 1Bytes
dữ liệu quét) vào thanh ghi A
Xuất nội dung của thanh ghi A ra bộ đệm dữ liệu quét 2 Giảm thanh ghi B xuống 1
Xóa nội dung thanh ghi A
So sánh nội dung của thanh ghi B với thanh
ghi A
Nhảy đến đoạn chương trình xử lí kí tự kế tiếp
Tăng nội dung cặp thanh ghi HL lên 1 để lấy Byte Data kế tiếp
Tăng nội dung cặp thanh ghi DE lên 1 để lấy Byte Data quét kế tiếp
Khác nhau Giống nhau
2 1 1