教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

西南交大微机实验代码(2)

来源:网络收集 时间:2026-03-10
导读: start: mov ax,data mov ds,ax mov dx,offset msg mov ah,9 int 21h sing: mov ah,7 int 21h cmp al,1bh je finish cmp al,'1' jl sing cmp al,'8' jg sing sub al,32h shl al,1 mov bl,al mov bh,0 mov ax,4240H m

start:

mov ax,data

mov ds,ax

mov dx,offset msg

mov ah,9

int 21h

sing:

mov ah,7

int 21h

cmp al,1bh

je finish

cmp al,'1'

jl sing

cmp al,'8'

jg sing

sub al,32h

shl al,1

mov bl,al

mov bh,0

mov ax,4240H

mov dx,0FH

div word ptr[table+bx]

mov bx,ax

mov dx,timerctl

mov al,00110110B

out dx,al

mov dx,timer0

mov ax,bx

out dx,al

mov al,ah

out dx,al

mov dx,io8255z

mov al,10000000B

out dx,al

mov dx,io8255a

mov al,03h

out dx,al

call delay

mov al,0h

out dx,al

jmp sing

finish:

mov ax,4c00h

int 21h

delay proc near

push cx

push ax

mov ax,15

x1: mov cx,0ffffh

x2: dec cx

jnz x2

dec ax

jnz x1

pop ax

pop cx

ret

delay endp

code ends

end start

3.5 演奏乐曲实验

data segment

io8255a equ 288h

io8255z equ 28bh

timer0 equ 280h

timerctl equ 283h

;table dw 524,588,660,698,784,880,998,1048

table dw 262,294,330,347,392,440,494,524

;music_dataxxx db 1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2,1,1,5,5,6,6,5,4,4,3,3,,2,2,1 music_datalzlh db 1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1,5,6,5,4,3,1,2,5,1,2,5,1

mus_t1 db

50,50,50,100,50,50,50,100,50,50,25,50,50,25,15,15,15,15,50,25,15,15,15,15,50,25,50,75,50,50,70,50

;mus_t db

50,50,50,50,50,50,50,100,50,50,50,50,50,50,50,100,50,50,50,50,50,50,50,100,50,50,50,50,50,50,50,100,50,50,50,50,50,50,50,100,50,50,50,50,50,50,50,100

msg db 'xiao xing xing:',0dh,0ah,'$'

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov dx,offset msg

mov ah,9

int 21h ;tishi

mov bx,0

push bx

sing:

pop bx

; mov si,offset music_dataxxx

mov si,offset music_datalzlh

add si,bx

push bx

mov al,byte ptr[si] ; que pu zhi

;cmp al,'1'

;jl sing

;cmp al,'8'

;jg sing

;sub al,31h

shl al,1

mov bl,al

mov bh,0

mov ax,4240h

mov dx,0fh

div word ptr[table+bx]

mov bx,ax

mov dx,timerctl

mov al,00110110B

out dx,al

mov dx,timer0

mov ax,bx

out dx,al

mov al,ah

out dx,al

mov dx,io8255z ;she zhi 8255

mov al,10000000B

out dx,al

mov dx,io8255a

out dx,al

lea si,mus_t1

;lea si,mus_t ;diao yon shi jian biao

mov bx,[si]

call MUS_D

;out dx,al

call delay

mov al,0h

out dx,al ;guan yang sheng qi

pop bx

cmp bx,42

je hehe

add bx,1

push bx

jmp sing

hehe:

mov bx,0

push bx

jmp sing

finish:

mov ax,4c00h

int 21h

MUS_D proc

Leng:

mov cx,2081

delay1: Loop delay1

dec bx

jnz Leng

ret

MUS_D endp

delay proc near

push cx

push ax

x1:mov cx,0ffffh

x2:dec cx

jnz x2

dec ax

jnz x1

pop ax

pop cx

ret

delay endp

code ends

end start

int00 equ 288h

int01 equ 289h

io8255c equ 282h

io8255z equ 283h

N equ 7

code segment

assume cs:code

start:

call I8255

cli

mov bx,0

call WRITE0B

call I8259

mov cl,0

sti

l1:

cmp cl,N

jnz l1

mov ah,4ch

int 21h

INT_SERVICE PROC

push dx

; mov dx,io8255c

;mov al,0FFH

;out dx,al

inc bx

mov al,bl

mov ah,bh

mov dx,io8255c 4 实验

NOP

NOP

NOP

mov al,20h

out 20h,al

NOP

pop dx

iret

NT_SERVICE ENDP

WRITE0B PROC

mov ax,code

mov ds,ax

mov dx,offset INT_SERVICE

mov ax,250bh

int 21h

ret

WRITE0B ENDP

I8255 PROC

mov al,80h

mov dx,io8255z

out dx,al

ret

I8255 ENDP

I8259 PROC

mov al,00010011b

mov dx,int00

out dx,al

mov al,8

mov dx,int01

out dx,al

mov al,00000001b

out dx,al

mov al,0

out dx,al

in al,21h

and al,0f7h

out 21h,al

ret

I8259 ENDP

code ends

end start

实验5

锯齿波:

io0832a equ 290h

code segment

assume cs:code

start:

mov cl,0

mov dx,io0832a

ll1:

mov al,cl

out dx,al

add cl,1

push dx

mov ah,06h ;判断是否有键按下 mov dl,0ffh

int 21h

pop dx

jz ll1

mov ah,4ch

int 21h

code ends

end start

正弦波:

data segment

io0832a equ 290h

sin db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h db 80h,66h,4eh,38h,25h,15h,09h,04h

db 00h,04h,09h,15h,25h,38h,4eh,66h

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

l1:

mov si,offset sin

mov bh,32

ll1:

mov al,[si]

mov dx,io0832a

out dx,al

mov ah,06h ;判断是否有键按下

mov dl,0ffh

int 21h

jne exit

mov cl,1

delay: loop delay

inc si

dec bh

jnz ll1

jmp l1

exit:

mov ah,4ch

int 21h

code ends

end start

直流电机转速控制:

data segment

io8032a equ 290h

io8255c equ 282h

io8255z equ 283h

data ends

code segment

assume cs:cod …… 此处隐藏:2525字,全部文档内容请下载后查看。喜欢就下载吧 ……

西南交大微机实验代码(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/40011.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)