实验2:8253、8255接口实验_第1页
实验2:8253、8255接口实验_第2页
实验2:8253、8255接口实验_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二:8253、8255接口实验实验目的:1. 学习8253、8255接口芯片的功能掌握8253、8255的使用方法2. 了解PC机发声系统及程序控制方法实验内容:1. 使用8086汇编语言控制PC机发声系统,编制一个电子琴”弹奏程序(必做)利用PC机发生系统播放歌曲(选做)实验方法:编制程序上机调试实验要求:(见参考程序)根据要求绘制程序流程图并解释说明实验步骤:编制子程序及主程序后上机运行调试实验分析:输入数据;观察并记录运行结果DATASENDSCODESSEGMENTBYTEPUBLIC'CODE'ASSUMECS:CODES,SS:STACKS,DS:DATAS,E

2、S:DATAS一、电子琴参考程序:实验要求:从键盘输入一个字符18,弹奏出对应的声调;实验二8253、8255接口实验(电子琴)DW392,440,494,523STACKSSEGMENTWORDSTACK'STACK'DW100HDUP(?)STACKSENDSDATASSEGMENTWORDPUBLIC'DATD'PLBDW262,294,330,349;频率表START:MOVAX,DATASMOVDS,AXMOVES,AXMOVAL,03HOUT61H,AL;打开声音输出M1:MOVAH,1INT21H;键盘输入SUBAL,'1'JLME

3、;<1结束CMPAL,7JGM1;>8继续SHLAL,1;乘以2MOVBL,ALXORBH,BH;查找频率MOVBX,BX+PLBCALLSZPL;设置频率JMPM1ME:MOVAL,0OUT61H,AL;关闭声音输出MOVAH,4CHINT21H;返回DOS;设置频率(入口:BX=声音频率)SZPL:MOVAL,0B6H;控制字=BOUT43H,ALMOVDX,12H;fo=1193000(123428H)MOVAX,3428HDIVBX;AX=fo/声音频率OUT42H,ALMOVAL,AHOUT42H,AL;写8253计数器初值RETCODESENDSENDSTART;实验二

4、演示实验(播放歌曲)STACKSSEGMENTWORDSTACK'STACK'DWSTACKSENDSDWSTACKSENDS100HDUP(?)DATASSEGMENTWORDPUBLIC'DATD'GQSDDB60;歌曲速度时间常数YDBDBPLBDWDWDWYJBDB'<>=_-34'音节符号表:1/16,1/8,1/4,1/2,1,2,3,4'ABCDEFG1234567abcdefg'音调符号表130,147,165,175,196,220,247;音调频率表262,294,330,349,392,440,4

5、94523,570,620,650,710,790,860SJBDBGQ1DBDBDBDBGQ2DBDBDBDBDBDBDBDBGQ3DBDBDBDBDBDBDBTSXXDBDATASENDS;歌曲数据表1,2,4,8,16,32,48,64,80,96,112,128;音节时间表60;速度'3-5-3-235-3234'歌曲1'3-5-321-2-3524''1-1FE-EF1-2314',0120;速度'6_76_6_3_5_6_5=633'歌曲2'2_32_2_F_1_2_1_2_F3''1_23_3

6、_F3_233_5_''6_67_6_7_6=7=5=3_533_E_F_F1_''F_3_2=3=F_6=14G_GF=G=2_23=2''G_53=2=G_3_2=3=E_1_F_FF-a_6_''662aba_b_a=b=6_a_6_662',090;速度'1_12_3_31_313-2_23_'歌曲3'4_4_3_2_443_34_5_53_''535-4_45_6_6_5_4_64''5_51_2_3_4_5_646_62_''3_4_5_6

7、_747_73_4_5_6_7_''a37_7_6475a532',0'Input(1-3)EscEnd?$'CODESSEGMENTBYTEPUBLIC'CODE'ASSUMECS:CODES,SS:STACKS,DS:DATAS,ES:DATASSTART:MOVAX,DATASMOVDS,AXMOVES,AXM1:LEADX,TSXXMOVAH,9INT21H;显示提示信息M2:CALLDJP;读键盘JNCM2CMPJECMPJNELEAJMPAL,27MEAL,'1'M3SI,GQ1MA;Esc键结束M3:CMPA

8、L,'2'JNEM4LEASI,GQ2JMPMAM4:CMPAL,'3'JNEM5LEASI,GQ3JMPMAM5:JMPM2MA:MOVAH,2MOVDL,ALINT21H;显示字符MOVDL,13INT21HMOVDL,10INT21HCALLBFGQ;播放歌曲JMPM1ME:MOVAH,4CHINT21H;返回DOS;播放歌曲;入口SI=歌曲数据速度,音调+音节,0BFGQ:PUSHSIPUSHAXLODSBMOVGQSD,AL;歌曲速度BFGQ1:LODSWORAL,ALJZBFGQE;播放结束CALLFCSY;发出声音CALLDJP;读键盘JNCBFG

9、Q1;没有键盘按下转CMPAL,27JNEBFGQ1;非Esc键转BFGQE:POPAXPOPSIRET;发出声音;入口AL=音调,AH=音节FCSY:PUSHDIPUSHDXPUSHCXPUSHBXPUSHAXLEADI,YDB;音调表MOVCX,21;音调表长度REPNESCASB;查找音调JNEFCSYE;没找到退出SUBDI,OFFSETYDB+1ADDDI,DIMOVBX,DI+PLB;取频率LEADI,YJB;音节表MOVCX,8;音节表长度MOVAL,AHREPNESCASB;查找音节JNEFCSYE;没找到退出ADDDI,7MOVAL,3OUT61H,AL;打开声音开关(8255B口)MOVAL,0B6H;8253通道2=方波OUT43H,AL;设置8253控制字MOVDX,12HMOVAX,3428HDIVBX;方波周期=123428H/频率OUT42H,AL;设置8253时间常数MOVAL,AHOUT42H,ALMOVAL,DI;取时间MULGQSD;歌曲速度常数MOVCX,0FCSY1:LOOPFCSY1;延时DECAXJNZFCSY1MOVAL,0OUT61H,AL;关闭声音开关FCSYE:POPAXPOPBXPOPCXPOPDXPOPDIRET;读键盘;入口无;出口NC:无输入,C:有输入;AL=字符DJP:PUSHBXMOVB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论