Professional Documents
Culture Documents
bài tập lớn kiến trúc máy tính
bài tập lớn kiến trúc máy tính
; c:\emu8086\devices\stepper_motor.exe is on port 7
#start=stepper_motor.exe#
name "stepper"
#make_bin#
jmp start
; half-step rotation:
datcw db 0000_0110b
db 0000_0100b
db 0000_0011b
db 0000_0010b
; half-step rotation:
datccw db 0000_0011b
db 0000_0001b
db 0000_0110b
db 0000_0010b
datcw_fs db 0000_0001b
db 0000_0011b
db 0000_0110b
db 0000_0000b
; full-step rotation:
datccw_fs db 0000_0100b
db 0000_0110b
db 0000_0011b
db 0000_0000b
start:
mov si, 0
next_step:
; motor sets top bit when it's ready to accept new command
wait: in al, 7
jz wait
out 7, al
inc si
cmp si, 4
jb next_step
mov si, 0
inc cx
jb next_step
mov cx, 0
jbe next_step
jmp next_step
Yes
INCREAMENT THE POINTER
RET
No CHECK
REPETION
COUNTER-
Bước 2: Nạp dữ liệu nhị phân để điều khiển nam châm của động cơ bước
Dữ liệu nhị phân phục vụ việc bật tắt thứ tự các nam châm điều khiển động
cơ quay nửa bước và cả bước theo chiều kim đồng hồ và ngược chiều kim
đồng hồ.
Bước 3: Thiết lập bộ đếm cho dữ liệu nhị phân đầu vào
Dữ liệu nhị phân đầu vào sẽ được thực hiện tuần tự để bật tắt nam châm.
Bước 4: Gửi dữ liệu nhị phân sang thiết bị (phần mềm mô phỏng) để thực
hiện( step motor)
Các nam châm sẽ hoạt động dựa trên dữ liệu nhị phân
Nếu như thỏa mãn, bộ đếm chưa kết thúc thì quay lại bước 3.
Ngược lại: nếu không thỏa mãn thì trả về chương trình chính và kết thúc.
; c:\emu8086\devices\stepper_motor.exe is on port 7
; bin data for clock-wise ;du lieu nhi phan quay theo chieu kim dong ho
; bin data for counter-clock-wise ;du lieu nhi phan quay nguoc chieu kim dong ho
; bin data for clock-wise ;du lieu nhi phan quay theo chieu kim dong ho
; bin data for counter-clock-wise ;du lieu nhi phan quay nguoc chieu kim dong ho
; full-step rotation: ;quay mot buoc
mov bx, offset datcw ; start from clock-wise half-step. ;bat dau quay theo chieu kim
dong ho va quay nua buoc
mov si, 0 ;
; motor sets top bit when it's ready to accept new command ; trang thai bit cao nhat
1000_0000b
mov al, [bx][si] ;tai du lieu nhi phan vao thanh AL de quay motor
jb next_step ;SI < 4 thi tiep tuc quay buoc tiep theo
jb next_step ; neu chua dat trang thai thay doi thi tiep tuc quay
add bx, 4 ; next bin data ;nhap du lieu nhi phan tiep theo quay theo trang thai
tiep theo
cmp bx, offset datccw_fs ;quay nguoc chieu kim dong ho va ca buoc
mov bx, offset datcw ; return to clock-wise half-step. ; tra ve quay nua buoc nguoc
chieu kim dong ho
jmp next_step