- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术-综实验:发声系统程序设计
1、 系统发声途径 1.8253定时器作为发声源 2.8255端口B(PB1位)作为发声源 3 .利用中断调用微机扬声器发声 3.利用中断调用实现发声 利用计算机内部的计数器和扬声器实现 二、 发声应用程序举例 1.扬声器发声通用子程序 2.演奏乐曲程序 3.定时报警程序 Thank you very much ! 感谢大家一学期来的支持,谢谢! MOV DI,300 ;发音频率 MOV BX,1400 ;发音延迟时间 CALL GENSOUND ;调用通用发声子程序 POP DI POP BX POP AX IRET ALARM ENDP CODE ENDS END ENTRY ;程序结束 【例4】用软中断INT 60H、发声中断服务程序INT 61H以及软中断INT 62H、 INT 63H ,实现字符串“intel 80486 DX2/66 CPU”显示、扬声器发声和变色三角形的显示功能,定时器ICH中断作为计数器使用。 ; DATA SEGMENT PARA ‘DATA’ ;数据段 D1 DB 0DH,‘intel 80486 DX2/66 CPU $’ D3 DW 0 D20 DB ? DATA ENDS ; STAC SEGMENT PARA STACK ‘STAC’;堆栈段 STA1 DW 100 DUP(?) STAC ENDS ; CODE SEGMENT PARA ‘CODE’ ;代码段 ASSUME CS:CODE,DS:DATA ASSUME SS:STAC,ES:DATA STAR PROC FAR ;主程序开始 PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX CLI;关中断 MOV AL,1CH;保存定时器时钟中断向量 MOV AH,35H INT 21H PUSH ES PUSH BX PUSH DS MOV DX,OFFSET RING;设置定时器时钟中断向量 MOV AX,SEG RING MOV DS,AX MOV AL,1CH MOV AH,25H INT 21H POP DS IN AL,21H ;读IMR中的屏蔽码 AND AL,1111110B;开放中断0并保留中断屏蔽设置 OUT 21H,AL;将新屏蔽码写入IMR中 PUSH DS;入栈保护DS寄存器 MOV DX,OFFSET I60;取I60的偏移地址 MOV AX,SEG I60 ;取I60的段基地址 MOV DS,AX MOV AH,25H MOV AL,60H INT 21H LEA DX,I61 ;设置61H软中断向量 MOV AX,SEG I61 MOV DS,AX MOV AH, 25H MOV AL,61H INT 21H LEA DX,I62 ;设置62H软中断向量 MOV AX,SEG I62 MOV DS,AX MOV AH,25H MOV AL,62H INT 21H LEA DX,I63;设置63H软中断向量 MOV AX,SEG I63 MOV DS,AX MOV AH,25H MOV AL,63H INT 21H POP DS ;DS出栈 STI ;开中断 MOV DI,8000 DELAY:MOV SI,150 INT 60H ;调用60H中断,使程序进入 DELAY1: DEC SI ;循环状态 JNZ DELAY1 DEC DI JNZ DELAY POP DX ;恢复定时器控制(ICH)中断向量 POP DS MOV AL,1CH MOV AH,25H INT 21H MOV AH, 0 ;显示器恢复文本状态 MIV AL,3 INT 10H RET STAR ENDP ; RING PROC FAR ;定时器中断服务程序 PUSH DS
文档评论(0)