下载此文档

微机接口综合实验电子琴代码.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
微机接口综合实验电子琴代码.docDATA SEGMENTFREQ_LISTDW262D,294D,330D,350D,392D,440D,494D,532D,587D,659D,698D,784D,880,988D,554D,-1DDATA ENDS ;建立数据段CODE SEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVDX,283HMOVAL,81HOUTDX,AL;写8255芯片的控制字,实现工作在方式0,A端口和B端口输出,C端口输入 MOVDX,28BH MOVAL,36H OUTDX,AL;使8253工作在方式3,A口输入,运用计数器0,二进制方式BEGIN:SCAN ;扫描TESTAL,00H;判断有无键按下 JZINK1;有键按下时跳到INK1 JMPBEGIN;没键按下时循环执行BEGIN;确定按下键的位置INK1:MOVCH,0FEH;确定按下键在第几列 MOVCL,00H;将CL清零COLUM:MOVAL,CHMOVDX,280H;将8255的A口地址赋给DX OUTDX,AL;将CPU中的AL值送到8255;的A口中,即送到x1、x2、;x3、x4中MOVDX,282H;将8255的C口地址赋给DX INAL,DX;将C口的值送到AL中L1:TESTAL,01H;检验按下键是否在L1JNZL2;不是L1则跳到L2MOVAL,00H;为了后面用来与FREQ_LIST;数据段中数对应 JMPKCODE;强制跳转到KCODEL2:TESTAL,02H;检验按下键是否在L2JNZL3;不是L2则跳到L3MOVAL,04H;为了后面用来与FREQ_LIST;数据段中数对应。JMPKCODE;强制跳转到KCODEL3:TESTAL,04H;检验按下键是否在L23JNZL4;不是L3则跳到L4MOVAL,08H;为了后面用来与FREQ_LIST;数据段中数对应。JMPKCODE;强制跳转到KCODEL4:TESTAL,08H;检验按下键是否在L4JNZNEXT;不是L4则跳到NEXTMOVAL,0CH;为了后面用来与FREQ_LIST;数据段中数对应。KCODE:ADDAL,CL;实现AL与CL的无进位加法MOVDL,2DMULDL;将AL乘以2结果保存到AX中PLAY:MOVSI,OFFSETFREQ_LIST;使SI指向FREQ_LIST的首地址ADDSI,AX;通过SI加AX实现指针SI的移动MOVDX,0FHMOVAX,4240H;被除数为0F4240HDIVWORDPTR[SI];除数为SI所指的数据MOVDX,288H;将8255的A口地址赋给DXOUTDX,AL;输出商的低4位MOVAL,AHOUTDX,AL;输出商的高4位MOVAL,01HMOVDX,281H OUTDX,AL;打开8253门控GATE0MOVCX,8D;输入计数值CXNEXT3:CALLDALLY;调用延时子程序DALLYLO

微机接口综合实验电子琴代码 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dyx110
  • 文件大小32 KB
  • 时间2020-02-20