已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;*;* 电子琴实验 *;*;此实验接线如下:;8254 CLK0接1MHZ时钟,GATE0接8255的PC1,OUT0接与门输入端1,CS接280H287H,;8255 PC0接与门输入端2,CS接288H28FH,;与门输出端接 LB .JD3用跳线端子接好data segmentio8255c equ 28ahio8255ctl equ 28bhio8253a equ 280hio8253b equ 283hport_A equ 288hport_B equ 289hport_ctrl equ 28bhtablee db 7Bh,7dh,7eh,0b7h,0bbh,0bdh,0beh,0d7h,0dbh,0ddh,0deh,0e7h,0ebh,0edh,0eehtable1 dw 524,588,660,698,784,880,988,1048;高音的table2 dw 262,294,330,347,392,440,494,524;中音的table3 dw 131,147,165,175,196,220,247 ;低音的;msg db Press 1,2,3,4,5,6,7,8,ESC:,0dh,0ah,$song1 dw 262,294,330,262,262,294,330,262 dw 330,347,392,330,347,392,392,440 dw 392,347,330,262,392,440,392,347 dw 330,262,392,262,392,392,262,392 ;两只老虎 song2 dw 330,330,347,392,392,347,330,294 dw 262,262,294,330,330,294,294,330 dw 330,347,392,392,347,330,294,262 dw 262,294,330,294,262,262 ;欢乐颂 data endscode segmentassume cs:code,ds:datastart:call scancmp al,0ddhjz n1cmp al,0dehjz n2cmp al,0e7hjz n3cmp al,0ebhjz n4n4: call music1jmp startn1: begin1: call scannext_try1:cmp al, tableebxjz sing1cmp al,0dehjz n2cmp al,0e7hjz n3cmp al,0ebhjz n4dec bxjns next_try1sing1: mov al,bl shl al,1 ;转为查表偏移量 mov bl,al ;保存偏移到bx mov bh,0 mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FH div word ptrtable1+bx mov bx,ax call speaker jmp begin1n2:begin2: call scannext_try2:cmp al, tableebxjz sing2cmp al,0ddhjz n1cmp al,0e7hjz n3cmp al,0ebhjz n4dec bxjns next_try2sing2: mov al,bl shl al,1 ;转为查表偏移量 mov bl,al ;保存偏移到bx mov bh,0 mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FH div word ptrtable2+bx mov bx,ax call speaker jmp begin2n3:begin3: call scannext_try3:cmp al, tableebxjz sing3cmp al,0ddhjz n1cmp al,0dehjz n2cmp al,0ebhjz n4dec bxjns next_try3sing3: mov al,bl shl al,1 ;转为查表偏移量 mov bl,al ;保存偏移到bx mov bh,0 mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FH div word ptrtable3+bx mov bx,ax call speaker jmp begin3 delayy proc near ;延时子程序 push cx push ax mov ax,40x1: mov cx,0ffffhx2: dec cx jnz x2 dec ax jnz x1 pop ax pop cx retdelayy endpspeaker proc near ;发音子程序mov dx,io8253b ;设置8254计时器0方式3, 先读写低字节, 再读写高字节 mov al,00110110B out dx,al mov dx,io8253a mov ax,bx out dx,al ;写计数初值低字节 mov al,ah out dx,al ;写计数初值高字节 mov dx,io8255ctl ;设置8255 C口输出 mov al,10000000B out dx,al mov dx,io8255c mov al,03h out dx,al ;置PC1PC0 = 11(开扬声器) call delayy ;延时 mov al,0h out dx,al ;置PC1PC0 = 00(关扬声器) retspeaker endpmusic1 proc near ;音乐1播放子程序 mov cl,0 ad:inc cl cmp cl,33 je returnmov al,cl sub al,1 ;取偏移量 shl al,1 mov bl,al ;保存偏移量 mov bh,0 mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FH div word ptrsong1+bx mov bx,ax call speaker jmp adreturn:retmusic1 endpscan proc near mov ax,datamov ds,ax;8255初始化mov dx,port_ctrlmov al,10000010bout dx,almov dx,port_Amov al,00hout dx,almov dx,port_Bwait_open:in al,dxand al,0Fhcmp al,0Fhjnz wait_openwait_press:in al,dxand al,0fhcmp al,0fhje wait_pressmov cx,16eahdelay: loop delayin al,dxand al,0fhcmp al,0fhje wait_pressmov al,0fehmov cl,alnext_row:mov dx,p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB12∕T 898-2019 《鹊山鸡育雏技术规范》
- 2026届高三生物二轮复习课件:大单元3 细胞的增殖、分化、衰老和死亡等生命历程 层级1 主干知识落实清单
- 医疗数据安全治理:区块链价值重构路径分析
- 脉搏短绌课件
- 医疗数据安全成熟度:区块链应用场景
- 医疗数据安全应急演练的应急预案优化路径
- 医疗数据安全合规自动化检查工具
- 胚胎发育课件
- 医疗数据安全合规审计的共识机制流程
- 医疗数据安全共享的生态构建
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- 桩基中的钢筋笼工程量EXCLE表计算
- 2024年员工考勤表(通用版)
- 模型制作说课稿(宁远一中-何喜梅)通用技术省级示范课剖析
- 高州市2022年“缅茄杯”学科竞赛数学试卷及参考答案
- 第13章-狭义相对论习题
- 中国石化油品销售企业实验室信息管理系统LIMSWeb操作手册
- NY/T 5161-2002无公害食品虹鳟养殖技术规范
- 石淋(尿石症)中医诊疗方案
- 《金融学》期末考试复习题库(带答案)
- 教科版小学科学小实验气动火箭课件
评论
0/150
提交评论