《微机原理与接口技术-8254电子发声器_课程设计_BY(凉)gqzn.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术-8254电子发声器_课程设计_BY(凉)gqzn.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一 实验名称称:发声器器二 功能及使使用方法法:设计一个个电子琴琴发声程程序,并并在运行行时通过过实验箱箱上的扬扬声器发发声,并并且当按按下数字字1114时,依次发发出1,2,33,4,5,66,7的的低音和和1,22,3,44,5,66,7的的中音。并在实验箱上的发声器上发声,这肯定需要有发声程序,驱动发声程序,还有键盘扫描程序,及为了能够听见清脆的字符音还得对程序进行必要的延时。利用8254芯片所提供转化后的频率送到发声单元进行发声及8255芯片送提供的输入输出功能,来完成从键盘的输入到发声装置发声的控制。电子发声声原理:一个音符符对应一一个频率率,将对对应一个个音符频频率的方方波通到到扬
2、声器器上,就就可以发发出这个个音符的的声音。将将一段乐乐曲的音音符对应应频率的的方波一一次送到到扬声器器,就可可以演奏奏出这段段乐曲。利利用82254的的“方波发发生器”,将相相应的一一种频率率的计数数初值写写入计数数器,就就可以产产生对应应频率的的方波。计计数初值值的计算算如下:计数初值值 = 输入时时钟输输出频率率例如输入入时钟采采用1MMHZ,要要得到8800HHZ的频频率,计计数初值值即为1100000000/8000。音音符与表表的对照照关系如如上表所所示。对对于每一一个音符符的演奏奏时间,可可以通过过软件延延时来处处理。首首先确定定单位延延时子程程序(根根据CPPU的频频率不同同而
3、有所所变化)。然然后确定定每个音音符演奏奏需要几几个单位位延时,将将此值送送入寄存存器,再再调用延延时子程程序即可可。三实验验器件:通过实验验箱上的的扬声器器发声,并且当当按下数数字114时,依次发发出1,2,33,4,5,66,7的的低音和和1,22,3,44,5,66,7的的中音。并在实验箱上的发声器上发声。选用器件件:82544和82255芯芯片各一一片,微微机一台台,TPPC-HH通用微微机接口口实验系系统一台台,扬声声器和导导线若干干四电路路连接图图:82544部分接接线图82555部分接接线图五各子子程序功功能1.为882555和82254所所定义的的端口地地址:I0Y00 EQQ
4、U 006C00HMY82254_COUUNT00 EQQU II0Y00+000HMY82254_COUUNT11 EQQU II0Y00+022HMY82254_COUUNT22 EQQU II0Y00+044HMY82254_MODDE EQQU II0Y00+066HMY82255_A EEQU 06440HMY82255_B EEQU 06442HMY82255_C EEQU 06444HMY82255_MODDE EEQU 06446H2.频频率表及及所对应应的时间间表:FREQQ_LIIST DW 2622H,2294HH,3330H,3499H,3392HH,4440H,496
5、6H DDW 5523HH,5887H,6599H,6698HH,7884H,8800H,9988HH DTABBLE DB 3FHH,066H,55BH,4FHH,666H,66DH,7DHH,077H DB 7FHH,6FFH,777H,7CHH,399H,55EH,79HH,711H3.定义义82555和882544的控制制字 MOVV DXX,MYY82555_MMODEE MOOV AAL,881HOUT DX,ALMOV DX,MY882544_MOODE MOVV ALL,366H OUUT DDX,AL4.CCCSCAAN子程程序实现现取出按按键值并并输入AA口(清清屏子程程序
6、)CCSCCAN:MOVV ALL,000HMOV DX,MY882555_AOUT DX,ALMOV DX,MY882555_CIN AAL,DDXNOT ALAND AL,00FHRET5.Pllay输输出发音音的子程程序PLAYY PRROC MOOV AAH,00 MOOV SSI,AAX SHHL SSI,11 MOOV DDX,00FH MMOV AX,42440HDIIV WWORDD PTTR SIMOOV DDX,MMY82254_COUUNT00OUUTDX,AL MOOV AAL,AAH OUUTDX,AL REETPLAYY ENNDP 6.延时时子程序序DALLLY
7、PPROCC D0: MOOV CCX,000100H D1: MOOV AAX,002H D2: DEEC AAX JNNZ DD2LOOPP D11 DEEC DDL JJNZ D0REET DALLLY EENDPP 7.按键键扫描功功能COLUUM: MOOV AAL,CCH MOOV DDX,MMY82255_A OUUT DDX,AL MOOV DDX,MMY82255_C INN ALL,DXXL1:TTESTT ALL,011HJNZZ L22MOVV ALL,000HJMPP KCCODEEL2:TTESTT ALL,022HJNZZ L33MOVV ALL,044HJMPP
8、 KCCODEE L3:TTESTT ALL,044HJNZZ L44MOVV ALL,088HJMPP KCCODEEL4:TTESTT ALL,088HJNZZ NEEXTMOVV ALL,0CCHKCODDE: ADDD ALL,CLL CALLL PPLAYY PPUSHH AXXKON:CALLL DDALLLYCALLL CCCSCCANJNZZ KOONPOPP AXXJMPP BEEGINN1六源程程序清单单I0Y00 EQQU 006C00HMY82254_COUUNT00 EQQU II0Y00+000HMY82254_COUUNT11 EQQU II0Y00+022HMY
9、82254_COUUNT22 EQQU II0Y00+044HMY82254_MODDE EQQU II0Y00+066HMY82255_A EEQU 06440HMY82255_B EEQU 06442HMY82255_C EEQU 06444HMY82255_MODDE EEQU 06446HSTACCK1 SEGGMENNT SSTACCKDWW 2556 DDUP(?)STACCK1 ENDDSDATAA SEEGMEENTFREQQ_LIIST DW 2622H,2294HH,3330H,3499H,3392HH,4440H,4966H DW 5233H,5587HH,6559H,6
10、988H,7784HH,8880H,9888H DTABBLE DB 3FHH,066H,55BH,4FHH,666H,66DH,7DHH,077H DB 7FHH,6FFH,777H,7CHH,399H,55EH,79HH,711HDATAA ENNDSCODEE SEEGMEENTASSSUMEE CSS:COODE,DS:DATTASTARRT:MMOV AX,DATTA MMOV DS,AX MMOV DX,MY882555_MOODE MMOV AL,81HH OOUT DX,AL MMOV DX,MY882544_MOODE MMOV AL,36HH OOUT DX,ALBEGII
11、N1: CALLL CCCSCCAN JNZZ INNK1 JMPP BEEGINN1INK11: CAALL CCSSCANN JNNZ IINK22 JMMP BBEGIIN1INK22:MOOV CCH,00FEHH MOOV CCL,000HCOLUUM: MOOV AAL,CCH MOOV DDX,MMY82255_A OUUT DDX,AL MOOV DDX,MMY82255_C INN ALL,DXXL1:TTESTT ALL,011HJNZZ L22MOVV ALL,000HJMPP KCCODEEL2:TTESTT ALL,022HJNZZ L33MOVV ALL,044HJ
12、MPP KCCODEE L3:TTESTT ALL,044HJNZZ L44MOVV ALL,088HJMPP KCCODEEL4:TTESTT ALL,088HJNZZ NEEXTMOVV ALL,0CCHKCODDE: ADDD ALL,CLL CALLL PPLAYY PPUSHH AXXKON:CALLL DDALLLYCALLL CCCSCCANJNZZ KOONPOPP AXXJMPP BEEGINN1NEXTT:INNC CCL MOOV AAL,CCHTESST AAL,008HJZ KERRRROLL ALL,1MOVV CHH,ALLJMPP COOLUMMKERRR:JM
13、MP BBEGIIN1CCSCCAN:MOVV ALL,000H MOVV DXX,MYY82555_AA OUTT DXX,AL MOVV DXX,MYY82555_CCIN AL,DXNOTT ALLANDD ALL,0FFHRETTPLAYY PRROC MOOV AAH,00 MOOV SSI,AAX SHHL SSI,11 MOOV DDX,00FH MMOV AX,42440HDIIV WWORDD PTTR SIMOOV DDX,MMY82254_COUUNT00OUUTDX,AL MOOV AAL,AAH OUUTDX,AL REETPLAYY ENNDP DALLLY PPROCC D0: MOOV CCX,000100H D1: MOOV AAX,002H D2: DEEC AAX JNNZ DD2LOOPP D11 DEEC DDL JNNZ DD0REET DALLLY EENDPP CODEE ENNDS ENND SSTARRT 11