1. Trang chủ
  2. » Thể loại khác

Vi xử lý phkkhanh bai5

8 156 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 8
Dung lượng 514,79 KB

Nội dung

Tài liệu thực hành Vi xử BÀI 5: MA TRẬN LED  MỤC ĐÍCH Giúp sinh viên khảo sát vấn đề sau: - Sử dụng phần mềm Emu8086 để mô hoạt động vi xử 8086  THIẾT BỊ SỬ DỤNG - Máy vi tính Phần mềm Emu8086 Chương trình mơ hoạt động ma trận Led Cơ sở thuyết Ma trận LED gồm LED phát quang bố trí thành hàng cột võ Các tín hiệu điều khiển hàng PA0 - PA6 ( Port A ) nối vào Anode tất LED hàng Các tín hiệu điều khiển cột PB0 -PB4 (Port B) nối vào Cathode tất cácv LED cột Khi có cặp tín hiệu điều khiển hàng cột dụ PA0 = PB0 = 1, Anode hàng LED thứ RW1 (hàng cùng) cấp điện cao Đồng thời Cathode cột LED thứ CL1 (bìa trái) cấp thấp.Tuy nhiên có LED sáng có đồng thời cao Anode thấp Cathode Như có cặp tín hiệu điều khiển hàng cột chí có LED điểm hàng cột gặp sáng Trên cở sở cấu trúc ta xây dựng bảng ma trận LED với số lượng LED lớn dụ bảng quang báo Trong trường hợp ta cần hiển thị đồng thời số LED ma trận để hiển thị ký hiệu dụ chữ „L„ ma trận LED Khi ta thấy LED cột bìa trái (CL1) sáng LED hàng (RW7) sáng Nếu hiển thị tĩnh ta phải đặt tất PA0 đến PA6 PB0-4 mức cao, lúc làm sáng hàng RW7 cột CL1 điều xảy ra? Ta thấy rõ ràng LED khác ma trận cấp áp cao vào Anode áp thấp vào Cathode sáng tất LED ma trận điều khiển ma trận LED ta sử dụng phương pháp hiển thị tĩnh mà phải dùng phương pháp quét (hiển thị động) Nnghĩa tiến hành cấp tín hiệu điều khiển theo dạng xung theo kiểu quét cho hàng cột cần hiển thị Tần số quét nhỏ cho chu kỳ cần khoảng 20Hz (50ms) nhằm bảo đảm cho mắt thấy LED sáng không nháy Như để hiển thị chữ L điều khiển bảng sau: Nhịp : PA0 - PA6 = 1, PB0 = Nhịp : PA0 - PA5 = 0, PA6 = 1, PB1 = cột CL2 GV: Phạm Hùng Kim Khánh ; Sáng cột LED thứ CL1 ; Sáng LED hàng RW7 Trang 44 Tài liệu thực hành Vi xử Nhịp : PA0 - PA5 = 0, PA6 = 1, PB2 = cột CL3 ; Sáng LED hàng RW7 Nhịp : PA0 - PA5 = 0, PA6 = 1, PB3 = cột CL4 ; Sáng LED hàng RW7 Nhịp : PA0 - PA5 = 0, PA6 = 1, PB4 = cột CL5 ; Sáng LED hàng RW7 Nhịp : Quay lại giống nhịp (từ nhịp đến nhịp chu kỳ quét tối thiểu phải 20Hz) +5V 2 2 PORT A 3 2 2 2 PORT B Sơ đồ kết nối ma trận Led x GV: Phạm Hùng Kim Khánh Trang 45 Tài liệu thực hành Vi xử TÍN HIỆU PA0 PA1 PA2 PA3 PA4 PA5 PA6 PB0 PB1 PB2 PB3 PB4 1 1 1 1 1 Tương tự cho hiển thị ký hiệu hay chữ khác GV: Phạm Hùng Kim Khánh Trang 46 Tài liệu thực hành Vi xử Tiến trình thực Ma trận Led Địa sở 8255 Dữ liệu Port A Port B Chỉnh thời gian quét cho chương trình mơ  Bài 4.1: Copy file ledmatrix.exe vào thư mục C:\Emu8086\Devices thực chương trình sau: #start=ledmatrix.exe# model small stack 100h data pa db 7Eh,09h,09h,09h,7Eh pb db 01h,02h,04h,08h,10h code main proc mov ax,@data mov ds,ax mov ax,02h int 10h mov dx,303h mov al,80h out dx,al ; Dinh cau hinh cho U9 start: mov ah,0Bh ; Kiem tra phim nhan int 21h cmp al,0FFh ; Neu co nhan phim thi ket thuc je exit ; chuong trinh call ledmatrix GV: Phạm Hùng Kim Khánh Trang 47 Tài liệu thực hành Vi xử jmp start exit: mov ah,4Ch int 21h main endp ; -ledmatrix proc mov bx,0 ; Lap lan cho cot cont: mov dx,300h mov al,pa[bx] ; Xuat du lieu Port A (hien ; thi cot cho ma tran Led) out dx,al mov dx,301h mov al,pb[bx] ; Chon cot cho ma tran Led out dx,al call delay inc bx cmp bx,5 jne cont ret ledmatrix endp ; -delay proc push cx mov cx,03Fh loop $ pop cx ret delay endp end - main Sửa đoạn chương trình để xuất ma trận Led ký tự B, C, 0, Viết chương trình xuất ký tự A, B, C, 0, ma trận Led Gợi ý: tạo vòng lặp hiển thị chữ A ma trận Led khoảng 15 lần, sau đến chữ B, …  Bài 4.2: di chuyển chuỗi “AB” ma trận Led từ trái sang phải: - Tính tốn liệu hiển thị Giả sử cần hiển thị chuỗi “AB”: Chữ „A‟: 7Eh, 09h, 09h, 09h, 7Eh Chữ „B‟: 7Fh, 49h,49h,49h, 36h Giữa chữ A B có cột trống để phân biệt  Chuỗi “AB”: 7Eh, 09h, 09h, 09h, 7Eh, 00h, 7Fh, 49h,49h,49h, 36h Có thể thêm khoảng trắng trước sau chuỗi để chuỗi từ từ  Chuỗi “ AB ”: 00h, 00h, 00h, 00h, 00h, 7Eh, 09h, 09h, 09h, 7Eh, 00h, 7Fh, 49h,49h,49h, 36h,00h, 00h, 00h, 00h Khai báo biến: GV: Phạm Hùng Kim Khánh Trang 48 Tài liệu thực hành Vi xử pa DB 00h, 00h, 00h, 00h, 00h DB 7Eh, 09h, 09h, 09h, 7Eh, 00h DB 7Fh, 49h, 49h, 49h, 36h, 00h DB 00h, 00h, 00h Như vậy, ký tự cần hiển thị ma trận Led cần byte byte 00h đầu chuỗi, byte 00h cuối chuỗi  chuỗi dài 50 ký tự cần số byte lưu trữ cho mã Led là: 50*6 + + = 308 byte - Hiển thị ký tự: Quá trình hiển thị cho chữ chạy mơ tả hình vẽ: Pa[0] Pa[4] Pa[1] Lần Pa[15] Lần Pa[5] Pa[2] Pa[6] Lần Pa[19] Lần 15 GV: Phạm Hùng Kim Khánh Trang 49 Tài liệu thực hành Vi xử Lần 1: hiển thị từ pa[0] † pa[4] Lần 2: hiển thị từ pa[1] † pa[5]  lần j: hiển thị từ pa[j] † pa[j+5] Lần 16: hiển thị từ pa[15] † pa[19]  Chuỗi “AB” gồm ký tự cần lưu trữ 20 byte quét tổng cộng 20 – = 16 lần  chuỗi 50 ký tự cần lưu trữ 50*6 + = 308 byte quét 304 lần - Chương trình chạy chuỗi ký tự: model small stack 100h data pa DB 00h, 00h, 00h, 00h, 00h DB 7Eh, 09h, 09h, 09h, 7Eh, 00h DB 7Fh, 49h, 49h, 49h, 36h, 00h DB 00h, 00h, 00h pb DB 01h,02h,04h,08h,10h code main proc mov ax,@data mov ds,ax mov ax,02h int 10h mov dx,303h mov al,80h out dx,al ; Dinh cau hinh cho U9 start: mov int cmp je ah,0Bh 21h al,0FFh exit mov si,0 ; Kiem tra phim nhan ; Neu co nhan phim thi ket thuc ; chuong trinh ; Lan quet quetled: mov cx,3 ; led: call ledmatrix loop led inc si cmp si,16 jne quetled ; Quet 16 lan, tu lan -> 15 jmp start exit: mov ah,4Ch int 21h GV: Phạm Hùng Kim Khánh Trang 50 Tài liệu thực hành Vi xử main endp ; -ledmatrix proc mov bx,0 ; Lap lan cho cot cont: mov dx,300h mov al,pa[bx+si] ; Xuat du lieu Port A (hien ; thi cot cho ma tran Led) out dx,al mov dx,301h mov al,pb[bx] ; Chon cot cho ma tran Led out dx,al call delay inc bx cmp bx,5 jne cont ret ledmatrix endp ; -delay proc push cx mov cx,03Fh loop $ pop cx ret delay endp end main GV: Phạm Hùng Kim Khánh Trang 51 ... thực hành Vi xử lý TÍN HIỆU PA0 PA1 PA2 PA3 PA4 PA5 PA6 PB0 PB1 PB2 PB3 PB4 1 1 1 1 1 Tương tự cho hiển thị ký hiệu hay chữ khác GV: Phạm Hùng Kim Khánh Trang 46 Tài liệu thực hành Vi xử lý Tiến...Tài liệu thực hành Vi xử lý Nhịp : PA0 - PA5 = 0, PA6 = 1, PB2 = cột CL3 ; Sáng LED hàng RW7 Nhịp : PA0 - PA5 = 0, PA6... thuc je exit ; chuong trinh call ledmatrix GV: Phạm Hùng Kim Khánh Trang 47 Tài liệu thực hành Vi xử lý jmp start exit: mov ah,4Ch int 21h main endp ; -ledmatrix proc mov bx,0

Ngày đăng: 21/01/2018, 11:37

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN