微机原理与接口技术-8254电子发声器_课程设计_BY(凉)

微机原理与接口技术-8254电子发声器_课程设计_BY(凉)

ID:38714664

大小:168.00 KB

页数:7页

时间:2019-06-18

微机原理与接口技术-8254电子发声器_课程设计_BY(凉)_第1页
微机原理与接口技术-8254电子发声器_课程设计_BY(凉)_第2页
微机原理与接口技术-8254电子发声器_课程设计_BY(凉)_第3页
微机原理与接口技术-8254电子发声器_课程设计_BY(凉)_第4页
微机原理与接口技术-8254电子发声器_课程设计_BY(凉)_第5页
资源描述:

《微机原理与接口技术-8254电子发声器_课程设计_BY(凉)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.实验名称:发声器二.功能及使用方法:设计一个电子琴发声程序,并在运行时通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。并在实验箱上的发声器上发声,这肯定需要有发声程序,驱动发声程序,还有键盘扫描程序,及为了能够听见清脆的字符音还得对程序进行必要的延时。利用8254芯片所提供转化后的频率送到发声单元进行发声及8255芯片送提供的输入输出功能,来完成从键盘的输入到发声装置发声的控制。电子发声原理:一个音符对应一个频率,将对

2、应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。将一段乐曲的音符对应频率的方波一次送到扬声器,就可以演奏出这段乐曲。利用8254的“方波发生器”,将相应的一种频率的计数初值写入计数器,就可以产生对应频率的方波。计数初值的计算如下:计数初值=输入时钟输出频率例如输入时钟采用1MHZ,要得到800HZ的频率,计数初值即为1000000/800。音符与表的对照关系如上表所示。对于每一个音符的演奏时间,可以通过软件延时来处理。首先确定单位延时子程序(根据CPU的频率不同而有所变化)。然后确定每个

3、音符演奏需要几个单位延时,将此值送入寄存器,再调用延时子程序即可。三.实验器件:通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。并在实验箱上的发声器上发声。选用器件:8254和8255芯片各一片,微机一台,TPC-H通用微机接口实验系统一台,扬声器和导线若干四.电路连接图:8254部分接线图8255部分接线图6五.各子程序功能1.为8255和8254所定义的端口地址:I0Y0EQU06C0HMY8254_COUNT0EQU

4、I0Y0+00HMY8254_COUNT1EQUI0Y0+02HMY8254_COUNT2EQUI0Y0+04HMY8254_MODEEQUI0Y0+06HMY8255_AEQU0640HMY8255_BEQU0642HMY8255_CEQU0644HMY8255_MODEEQU0646H2..频率表及所对应的时间表:FREQ_LISTDW262H,294H,330H,349H,392H,440H,496HDW523H,587H,659H,698H,784H,880H,988HDTABLEDB3FH,

5、06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71H3.定义8255和8254的控制字MOVDX,MY8255_MODEMOVAL,81HOUTDX,ALMOVDX,MY8254_MODEMOVAL,36HOUTDX,AL4.CCSCAN子程序实现取出按键值并输入A口(清屏子程序)6CCSCAN:MOVAL,00HMOVDX,MY8255_AOUTDX,ALMOVDX,MY8255_CINAL,DXNOTALANDAL,0FHRET5

6、.Play输出发音的子程序PLAYPROCMOVAH,0MOVSI,AXSHLSI,1MOVDX,0FHMOVAX,4240HDIVWORDPTR[SI]MOVDX,MY8254_COUNT0OUTDX,ALMOVAL,AHOUTDX,ALRETPLAYENDP6.延时子程序DALLYPROCD0:MOVCX,0010HD1:MOVAX,02HD2:DECAXJNZD2LOOPD1DECDLJNZD0RETDALLYENDP7.按键扫描功能COLUM:MOVAL,CHMOVDX,MY8255_AOUT

7、DX,ALMOVDX,MY8255_CINAL,DX6L1:TESTAL,01HJNZL2MOVAL,00HJMPKCODEL2:TESTAL,02HJNZL3MOVAL,04HJMPKCODEL3:TESTAL,04HJNZL4MOVAL,08HJMPKCODEL4:TESTAL,08HJNZNEXTMOVAL,0CHKCODE:ADDAL,CLCALLPLAYPUSHAXKON:CALLDALLYCALLCCSCANJNZKONPOPAXJMPBEGIN1六.源程序清单I0Y0EQU06C0HMY

8、8254_COUNT0EQUI0Y0+00HMY8254_COUNT1EQUI0Y0+02HMY8254_COUNT2EQUI0Y0+04HMY8254_MODEEQUI0Y0+06HMY8255_AEQU0640HMY8255_BEQU0642HMY8255_CEQU0644HMY8255_MODEEQU0646HSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTFREQ_LISTDW262H,294H

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

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

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