1. BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
ĐỒ ÁN MÔN HỌC VI XỬ LÝ VÀ CẤU TRÚC
MÁY TÍNH
Đề tài số: 2.20
STT Sinh viên thực hiện Lớp/Khóa Khoa
1 TRẦN ĐỨC THẮNG
2 VY ĐỨC LỢI ĐIỆN TỬ4- ĐIỆN TỬ
3 NGUYỄN VĂN CHÍNH K4
Giáo viên hướng dẫn : Th.S VŨ THỊ THU HƯƠNG
2. LỜI NÓI ĐẦU
Ngày nay kĩ thuật vi xử lý đã trở nên quen thuộc trong các ngành kỹ
thuật và trong dân dụng. Từ các dây truyền sản xuất lớn đến các thiết bị
gia dụng chúng ta đều thấy sự hiện diện của vi xử lý .Chính vì các lí do
trên, việc tìm hiểu khảo sát vi xử lý là điều mà các sinh viên ngành điện
tử chúng em hết sức quan tâm . Các bộ điều khiển sử dụng vi xử lý tuy
đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp.
Phần công việc sử lý chính vẫn là con người đó chính là chương trình hay
phần mềm. Tuy chúng ta thấy các máy tính ngày nay cực kỳ thông minh,
giải quyết các bài toán phức tạp trong vài phần triệu giây nhưng đó cũng
đều là dựa trên sự hiểu biết của con người. Nếu không có sự tham gia của
con người thì hệ thống vi xử lý cũng chỉ là một vật vô tri.Các bộ vi xử lý
theo thời gian cũng phát triển rất nhanh cùng với công nghệ bán dẫn.Để
tìm hiểu bộ vi xử lý một cách khoa học và mang lại hiệu quả cao làm nền
tảng cho việc xâm nhập công nghệ tối tân hơn. Việc trang bị những kiến
thức về vi xử lý cho sinh viên là hết sức cần thiết. Xuất phát từ thực tế
này chúng em đã quyết định thực hiện đề tài sau:
1. Viết chương trình nhập vào 3 số có một chữ số bất kỳ từ bàn phím,
tìm và hiển thị các số chia hết cho 3, nếu không có thì thông báo
“không có số nào chia hết cho 3”
2. Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các vi mạch nhớ được
bố trí như sau:
ROM(2K x 8 bit) 80000H (Địa chỉ đầu của ROM)
Khoảng trống
RAM1(2K x 8 bit)
RAM2(8K x 8 bit) FFFFFH(Địa chỉ cuối của RAM2)
3. 3. Thiết kế mạch ghép nối giữa bộ vi xử lý 8086 và 8255 với các địa
chỉ của cổng PA, PB, PC, thanh ghi điều khiển lần lượt là 28h,
2Ah, 2Ch, 2Eh. Ghép nối LED MATRIX(8x8) với cổng PA và PB,
Viết chương trình điều khiển LED sáng chữ E’
Trong quá trình thực hiện đề tài do lượng kiến thức còn hạn chế nên
em không tránh khỏi những thiếu sót. Em rất mong thầy cô đóng góp ý
kiến để em có thể bổ sung thêm kiến thức về môn vi xử lý.
4. NỘI DUNG BÁO CÁO
PHẦN 1: Viết chương trình nhập vào 3 số có một chữ số bất
kỳ từ bàn phím, tìm và hiển thị các số chia hết cho 3, nếu
không có thì thông báo “không có số nào chia hết cho 3”
.model small
.stack 100h
.data
a1 db "la so chia het cho 3$"
a2 db "khong co so chia het cho 3$"
.code
mov ax,@data
mov ds,ax
mov cx,3
mov bl,0
nhap:
mov ah,1
int 21h
mov dl,al
cmp dl,30h
je hienthi
cmp dl,33h
je hienthi
cmp dl,36h
je hienthi
cmp dl,39h
je hienthi
inc bl
call xuongdong
a:
loop nhap
5. cmp bl,3
jne het
mov ah,9
lea dx,a2
int 21h
jmp het
hienthi:
mov ah,2
int 21h
mov ah,9
lea dx,a1
int 21h
call xuongdong
jmp a
xuongdong proc near
mov ah,2
mov dl,0ah
int 21h
mov dl,0dh
int 21h
ret
het:
mov ah,4ch
int 21h
ends
6. PHẦN 2: Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các
vi mạch nhớ được bố trí như sau:
ROM(2K x 8 bit) 80000H (Địa chỉ đầu của ROM)
Khoảng trống
RAM1(2K x 8 bit)
RAM2(8K x 8 bit) FFFFFH(Địa chỉ cuối của RAM2)
Bảng địa chỉ đầu - cuối
A19.A16 A15.A12 A11..A8 A7..A4 A3..A0
ROM 1000 0000 0000 0000 0000
2k x 8bit 1000 0000 0111 1111 1111
Khoảng
trống
RAM 1 1111 1101 1000 0000 0000
2k x 8bit 1111 1101 1111 1111 1111
RAM 2 1111 1110 0000 0000 0000
8k x8bit 1111 1111 1111 1111 1111
7. PHẦN 3: Thiết kế mạch ghép nối giữa bộ vi xử lý 8086 và 8255
với các địa chỉ của cổng PA, PB, PC, thanh ghi điều khiển lần
lượt là 28h, 2Ah, 2Ch, 2Eh. Ghép nối LED MATRIX(8x8) với
cổng PA và PB, Viết chương trình điều khiển LED sáng chữ E
I. Ghép nối giữa 8255 và 8086
8. II.Giới thiệu Led matrix 8x8
cấu tạo chung : Led matrix 8×8 cấu tạo từ 64 led đơn mắc với
nhau thành 8 hàng và 8 cột.
9. 2.Hoạt động của Led matrix
Muốn cho led sáng thì ta phải cấp điện áp 5V vào hàng và 0V
vào cột. dòng thường là 10mA đến 20mA tùy ma trận led. Để
hiện chữ, ta thống kê các điểm sáng tương ứng theo chữ, rồi
dùng lập trình để cấp điện áp.
D. SƠ ĐỒ MÔ PHỎNG VÀ CODE CHƯƠNG TRÌNH
1. Sơ đồ mô phỏng mạch
10. 2.Code chương trình
; multi-segment executable file template.
data segment
; add your data here!
pkey db "press any key...$"
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
PA EQU 28H
PB EQU 2AH
PC EQU 2CH
TGDK EQU 2EH
Mov AL,80h
out TGDK ,AL
lap:
mov al,1
out pb ,al
mov al,255
out pa,al
call tre
mov al,2
out pb ,al
mov al,255
out pa,al
call tre
mov al,4
out pb,al
mov al,00000000b
out pa,al
11. call tre
mov al,8
out pb,al
mov al,01110110b
out pa ,al
call tre
mov al,16
out pb,al
mov al,01110110b
out pa,al
call tre
mov al,32
out pb,al
mov al,01110110b
out pa,al
call tre
mov al,64
out pb,al
mov al,01110110b
out pa,al
call tre
mov al,128
out pb,al
mov al,255
out pa,al
call tre
jmp lap
loop lap:
ends
tre:
mov cx,50
lap1:
nop
nop
12. nop
loop lap1
ret
end start ; set entry point and stop the assembler.
NHẬN XÉT CỦA GIÁO VIÊN
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..
…………………………………………………………………..