- Chương trình mô phỏng hoạt động của ADC.. Cơ sở lý thuyết Bộ biến đổi tương tự số thực hiện công việc biến đổi các đại lượng tương tự như dòng điện, điện áp ...thành các giá trị số tư
Trang 1BÀI 4: CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (ADC)
MỤC ĐÍCH
Giúp sinh viên khảo sát các vấn đề sau:
- Sử dụng phần mềm Emu8086 để mô phỏng hoạt động của vi xử lý
8086
THIẾT BỊ SỬ DỤNG
- Máy vi tính
- Phần mềm Emu8086
- Chương trình mô phỏng hoạt động của ADC
1 Cơ sở lý thuyết
Bộ biến đổi tương tự số thực hiện công việc biến đổi các đại lượng tương
tự như dòng điện, điện áp thành các giá trị số tương ứng
Một bộ ADC cơ bản gồm có:
- Ngõ vào VIN
- Điện áp chuần VREF
- Các bit ngõ ra
Quan hệ giữa các đại lượng này có thể mô tả như sau:
N = IN
max REF
V N V (N: chuyển đổi thập phân của các bit ngõ ra, Nmax: giá trị thập phân lớn nhất tại ngõ ra)
Nmax phụ thuộc vào số lương bit tại ngõ ra của ADC Ví dụ như: sử dụng ADC 13 bit thì giá trị Nmax = 213 – 1 = 8191
Xét trường hợp sử dụng trong bài thực hành, ADC có 8 bit ngõ ra nên
Nmax = 255
N = 255 V
V REF IN
Trang 22 Tiến trình thực hiện
Bài 4.1: Copy file adc.exe vào thư mục C:\Emu8086\Devices và thực
hiện chương trình sau:
#start=adc.exe#
.model small
.stack 100h
.data
msg db 'Gia tri nhap tu ADC:$'
.code
main proc
mov ax,@data
mov ds,ax mov ax,02h int 10h
Điều chỉnh điện áp vào: có thể dùng
thanh trượt hay nhập trực tiếp
Giá trị số sau khi thực hiện chuyển đổi
Điều chỉnh điện áp chuẩn: có thể
của 8255
Các Led kết nối với Port B: sáng khi giá trị tương ứng tại Port B
là 1
Trang 3mov ah,02h mov dx,0101h int 10h
mov ah,09h lea dx,msg int 21h
mov al,90h ; Định cấu hình cho 8255
mov dx,303h ; PA: nhập, PB: xuất
out dx,al
begin:
mov ah,0Bh ; Kiểm tra phím nhấn
int 21h
cmp al,0FFh ; Nếu có nhấn phím thì
je exit ; kết thúc chương trình
mov dx,300h ; Địa chỉ Port A
in al,dx
mov dx,0116h ; Chuyển toạ độ đến
mov ah,02h ; hàng 1, cột 22
mov bh,0
int 10h
call Xuatthapphan
jmp begin
exit:
mov ah,4Ch
int 21h
main endp
Xuatthapphan proc
mov ah,0
Trang 4div bl
push ax
mov dl,al
add dl,'0'
mov ah,02h
int 21h
pop ax
mov al,ah
mov ah,0
mov bl,10
div bl
push ax
mov dl,al
add dl,'0'
mov ah,02h
int 21h
pop ax
mov dl,ah
add dl,'0'
mov ah,02h
int 21h
ret
Xuatthapphan endp
END main
- Giữ điện áp VREF = 2.55V, thay đổi giá trị điện áp VIN và quan sát kết quả Lưu vào bảng sau:
V IN Giá trị số V IN Giá trị số
0.1V 1.5V 0.15V 2V 0.3V 2.5V 0.5V 2.55V
Bài 4.2: Bỏ đoạn lệnh định cấu hình cho 8255 (in nghiêng) trong bài 4.1
- Thực hiện lại chương trình
Trang 5- Thoát khỏi chương trình mô phỏng ADC (adc.exe) và thực hiện lại chương trình Nhận xét kết quả ứng với 2 trường hợp trên Giải thích
Bài 4.3: Thực hiện chương trình theo yêu cầu sau (giả sử VREF = 5V):
- Nếu VIN > 3V: sáng Led màu đỏ và tắt 2 Led còn lại
- Nếu VIN < 2V: sáng Led màu xanh và tắt 2 Led còn lại
- Ngược lại: sáng Led màu vàng và tắt 2 Led còn lại