模拟电子琴发声汇编程序

模拟电子琴发声汇编程序

ID:11269863

大小:103.50 KB

页数:3页

时间:2018-07-11

模拟电子琴发声汇编程序_第1页
模拟电子琴发声汇编程序_第2页
模拟电子琴发声汇编程序_第3页
资源描述:

《模拟电子琴发声汇编程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【例题8.6】输入数字键1~8发出不同频率的声音,模拟电子琴的功能。调整程序中分频系数和延时时间参数,可以获得不同的声音效果。PC系统分配给主板上的8253的I/O端口地址是40H~43H,图8-10描绘了这一部分接口电路的原理框图。系统输入时钟频率为1193.18kHz,它的3个计数器分别用于:①地址为40H的计数通道0用于产生系统时钟的基本定时中断,输出方波序列的频率为18.2Hz;②地址为41H的计数通道1用于产生DRAM存储器系统刷新信号,输出负脉冲序列的频率为68.2878kHz;③地址为42H的

2、计数通道2用于为机内扬声器提供发声音调,输出方波序列的频率约为100Hz。任何一台PC都内含一只小型扬声器,用于发出各种信号音或报警声。逻辑与门电路用于控制扬声器声音的通断,编程这一逻辑门就可以调整扬声器通断时间产生不同的声音效果。逻辑与门由8255A端口B的PB0和PB1两位来控制,“1”接通、“0”关闭,该端口的地址为61H。由于端口B余下的6位还用作系统其他的控制,因此在编程中应注意保护这6位的状态不受任何影响。图8-10 PC扬声器电路框图3DATASEGMENTMESSAGEDB'Use1...8

3、toplaythemusic!','$'FREQUDW262,294,330,347,392,440,494,524;不同频率对应的分频系数DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MESSAGEMOVAH,09HINT21H;显示MESSAGE缓冲器中的字符串MOVAL,10110110B;选择工作方式3,使用计数器2OUT43H,AL;通过AL将控制字写入43H端口NEXT:MOVAH,7INT21H;键盘

4、输入无回显CMPAL,'1'JBEXITCMPAL,'8'JAEXIT;输入字符非1~8的数字键则退出程序SUBAL,30H;数字1~8的ASCII减去30HMOVAH,0MOVBX,AXSUBBX,1SHLBX,1;计算分频系数的偏移地址MOVCX,FREQU[BX];取出频率值MOVAX,34DCHMOVDX,12H;DX:AX=1234DCH=1193180Hz时钟DIVCX;(DXAX)/CX的商→AXMOVBX,AX3OUT42H,AL;商的低8位送入计数通道2MOVAL,AHOUT42H,AL;

5、商的高8位送入计数通道2INAL,61H;读取8255的状态,以控制PB0和PB1ORAL,03H;把PB0和PB1置1OUT61H,AL;使扬声器发声MOVCX,0FFFFHDELAY:MOVDX,1000H;延时时间参数DEC_DX:DECDXJNZDEC_DXLOOPDELAY;延时INAL,61H;重新读取61H端口的状态ANDAL,11111100B;把PB0和PB1置0OUT61H,AL;关闭扬声器JMPNEXTEXIT:MOVAH,4CH;返回DOSINT21HCODEENDSENDSTART

6、3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。