资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
一、实验目的,1、通过8253产生不同的频率信号,使PC机成为简易电子琴。 2、了解利用8255和8253产生音乐的基本方法。,二、实验内容,实验电路如图16-1,8253的CLK0接1MHZ时钟,GATE0接8255的PA1,OUT0和8255的PA0接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。,三、编程提示:,1、利用8255的PA0口来施加控制信号给与门,用来控制扬声器的开关状态。再利用设置不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值:,四、参考流程图 (见图16-2),五、参考程序: DZQ.ASM,data segment io8255a equ 288h Io8255ctl equ 28bh io8253a equ 280h io8253ctl equ 283h table dw 524,588,660,698,784,880,988,1048;高音的 ;table dw 262,294,330,347,392,440,494,524;低音的 msg db Press 1,2,3,4,5,6,7,8,ESC:,0dh,0ah,$ data ends code segment assume cs:code,ds:data start:mov ax,datamov ds,ax,sing: mov ah,7int 21h cmp al,1bhje finish cmp al,1jl singcmp al,8jg sing,mov ax,4240H mov dx,0FH div word ptrtable+bx mov bx,ax,mov dx,io8253ctl mov al,00110110Bout dx,almov dx,io8253a mov ax,bxout dx,al mov al,ahout dx,al,mov dx,io8255ctl mov al,10000000Bout dx,almov dx,io8255a mov al,03hout dx,al call delay mov al,0hout dx,al,mov dx,offset msg mov ah,9 int 21h,Press 1,2,3,4,5,6,7,8,ESC,循环条件: 是否按键是ESC还是1-7,若是 1-7中任一按键,则形成音频表的地址 bx,sub al,31h shl al,1 mov bl,al mov bh,0,据输入频率1MHZ及输出音频计算出需写入8253A的初值,初始化8253,初始化8255并使PA0 、PA1输出一定宽度高电平启动8253A工作(SPEAKER)发声,jmp sing,finish: mov ax,4c00hint 21h,继续按键使speaker发声,若按ESC退出,delay proc near push cxpush axmov ax,15 x1: mov cx,0ffffh x2: dec cxjnz x2dec axjnz x1pop axpop cxret delay endp code ends end start,8255 PA0 、PA1输出高电平宽度时间,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号