⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-at89s51单片机试验及实践教程之电子琴.htm

📁 电子琴 1. 实验任务  1. 由 4X4 组成 16 个按钮矩阵
💻 HTM
📖 第 1 页 / 共 4 页
字号:
            <P class=style28>JNZ DK4A </P>
            <P class=style28>CLR TR0 </P>
            <P class=style28>NOKEY4: </P>
            <P class=style28>LJMP WAIT </P>
            <P class=style28>DELY10MS: </P>
            <P class=style28>MOV R6,#10 </P>
            <P class=style28>D1: MOV R7,#248 </P>
            <P class=style28>DJNZ R7,$ </P>
            <P class=style28>DJNZ R6,D1 </P>
            <P class=style28>RET </P>
            <P class=style28>INT_T0: </P>
            <P class=style28>MOV TH0,STH0 </P>
            <P class=style28>MOV TL0,STL0 </P>
            <P class=style28>CPL P1.0 </P>
            <P class=style28>RETI </P>
            <P class=style28>TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H </P>
            <P class=style28>DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H </P>
            <P class=style28>TABLE1: DW 64021,64103,64260,64400 </P>
            <P class=style28>DW 64524,64580,64684,64777 </P>
            <P class=style28>DW 64820,64898,64968,65030 </P>
            <P class=style28>DW 65058,65110,65157,65178 </P>
            <P class=style28>END </P>
            <P class=style28><STRONG>7. C 语言源程序 </STRONG></P>
            <P class=style28>#include &lt;AT89X51.H&gt; </P>
            <P class=style28>unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 
            </P>
            <P class=style28>0x66,0x6d,0x7d,0x07, </P>
            <P class=style28>0x7f,0x6f,0x77,0x7c, </P>
            <P class=style28>0x39,0x5e,0x79,0x71}; </P>
            <P class=style28>unsigned char temp; </P>
            <P class=style28>unsigned char key; </P>
            <P class=style28>unsigned char i,j; </P>
            <P class=style28>unsigned char STH0; </P>
            <P class=style28>unsigned char STL0; </P>
            <P class=style28>unsigned int code tab[]={64021,64103,64260,64400, 
            </P>
            <P class=style28>64524,64580,64684,64777, </P>
            <P class=style28>64820,64898,64968,65030, </P>
            <P class=style28>65058,65110,65157,65178}; </P>
            <P class=style28>void main(void) </P>
            <P class=style28>{ </P>
            <P class=style28>TMOD=0x01; </P>
            <P class=style28>ET0=1; </P>
            <P class=style28>EA=1; </P>
            <P class=style28>while(1) </P>
            <P class=style28>{ </P>
            <P class=style28>P3=0xff; </P>
            <P class=style28>P3_4=0; </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>for(i=50;i&gt;0;i--) </P>
            <P class=style28>for(j=200;j&gt;0;j--); </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>switch(temp) </P>
            <P class=style28>{ </P>
            <P class=style28>case 0x0e: </P>
            <P class=style28>key=0; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0d: </P>
            <P class=style28>key=1; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0b: </P>
            <P class=style28>key=2; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x07: </P>
            <P class=style28>key=3; </P>
            <P class=style28>break; </P>
            <P class=style28>} </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>P1_0=~P1_0; </P>
            <P class=style28>P0=table[key]; </P>
            <P class=style28>STH0=tab[key]/256; </P>
            <P class=style28>STL0=tab[key]%256; </P>
            <P class=style28>TR0=1; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>while(temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>} </P>
            <P class=style28>TR0=0; </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>P3=0xff; </P>
            <P class=style28>P3_5=0; </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>for(i=50;i&gt;0;i--) </P>
            <P class=style28>for(j=200;j&gt;0;j--); </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>switch(temp) </P>
            <P class=style28>{ </P>
            <P class=style28>case 0x0e: </P>
            <P class=style28>key=4; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0d: </P>
            <P class=style28>key=5; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0b: </P>
            <P class=style28>key=6; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x07: </P>
            <P class=style28>key=7; </P>
            <P class=style28>break; </P>
            <P class=style28>} </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>P1_0=~P1_0; </P>
            <P class=style28>P0=table[key]; </P>
            <P class=style28>STH0=tab[key]/256; </P>
            <P class=style28>STL0=tab[key]%256; </P>
            <P class=style28>TR0=1; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>while(temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>} </P>
            <P class=style28>TR0=0; </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>P3=0xff; </P>
            <P class=style28>P3_6=0; </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>for(i=50;i&gt;0;i--) </P>
            <P class=style28>for(j=200;j&gt;0;j--); </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>switch(temp) </P>
            <P class=style28>{ </P>
            <P class=style28>case 0x0e: </P>
            <P class=style28>key=8; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0d: </P>
            <P class=style28>key=9; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0b: </P>
            <P class=style28>key=10; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x07: </P>
            <P class=style28>key=11; </P>
            <P class=style28>break; </P>
            <P class=style28>} </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>P1_0=~P1_0; </P>
            <P class=style28>P0=table[key]; </P>
            <P class=style28>STH0=tab[key]/256; </P>
            <P class=style28>STL0=tab[key]%256; </P>
            <P class=style28>TR0=1; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>while(temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>} </P>
            <P class=style28>TR0=0; </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>P3=0xff; </P>
            <P class=style28>P3_7=0; </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>for(i=50;i&gt;0;i--) </P>
            <P class=style28>for(j=200;j&gt;0;j--); </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>if (temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>switch(temp) </P>
            <P class=style28>{ </P>
            <P class=style28>case 0x0e: </P>
            <P class=style28>key=12; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0d: </P>
            <P class=style28>key=13; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x0b: </P>
            <P class=style28>key=14; </P>
            <P class=style28>break; </P>
            <P class=style28>case 0x07: </P>
            <P class=style28>key=15; </P>
            <P class=style28>break; </P>
            <P class=style28>} </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>P1_0=~P1_0; </P>
            <P class=style28>P0=table[key]; </P>
            <P class=style28>STH0=tab[key]/256; </P>
            <P class=style28>STL0=tab[key]%256; </P>
            <P class=style28>TR0=1; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>while(temp!=0x0f) </P>
            <P class=style28>{ </P>
            <P class=style28>temp=P3; </P>
            <P class=style28>temp=temp &amp; 0x0f; </P>
            <P class=style28>} </P>
            <P class=style28>TR0=0; </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>} </P>
            <P class=style28>void t0(void) interrupt 1 using 0 </P>
            <P class=style28>{ </P>
            <P class=style28>TH0=STH0; </P>
            <P class=style28>TL0=STL0; </P>
            <P class=style28>P1_0=~P1_0; </P>
            <P class=style28>} </P></TD></TR></TBODY></TABLE><!-- InstanceEndEditable --></TD></TR>
  <TR>
    <TD colSpan=2>
      <TABLE cellSpacing=0 cellPadding=0 width=739 align=center border=0>
        <TBODY>
        <TR>
          <TD width=219 
          background=中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/donw_bg01.jpg>&nbsp;</TD>
          <TD width=7><IMG height=24 
            src="中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/down_bitl.jpg" 
            width=7></TD>
          <TD width=292 
          background=中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/down_bg02.jpg>
            <DIV class="style1 style2" align=center>设为首页 | 加入收藏 | <A 
            href="http://www.tengdamc.com/wangzhantj/wangzhantj.htm" 
            target=_blank>推荐网站</A> | <A 
            href="http://www.tengdamc.com/map/map.htm" 
            target=_blank>网站地图</A></DIV></TD>
          <TD width=7><IMG height=24 
            src="中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/down_bitr.jpg" 
            width=7></TD>
          <TD width=214 
          background=中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/donw_bg01.jpg>&nbsp;</TD></TR>
        <TR bgColor=#e7e3e7>
          <TD colSpan=5>
            <DIV align=center><SPAN class=style14><SPAN 
            class=style1>中国腾达测控科技有限公司<BR>地址:南京市建邺区南湖小区15号<BR>电话:025-51745585 
            企业邮箱:</SPAN><SPAN class=style23> <A 
            href="mailto:tengdamc@163.com">tengdamc@163.com</A>
            <SCRIPT 
            src="中国腾达测控科技有限公司-学习下载-单片机试验及实践教程-AT89S51单片机试验及实践教程之电子琴.files/mystat.htm"></SCRIPT>
             </SPAN></SPAN></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- InstanceEnd --></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -