51单片机控制的16介音乐盒程序及图.pdfVIP

  • 22
  • 0
  • 约2.24万字
  • 约 17页
  • 2021-04-03 发布于湖南
  • 举报
#includereg51.h #define uint unsigned int #define uchar unsigned char sbit P1_7=P1^7 。 sbit P1_1=P1^1 。 sbit P1_2=P1^2 。 uint key_number 。 uint STH0,STL0 。 uchar code tab1[]={0xef,0xdf,0xbf,0x7f} 。 uchar code tab2[]={0xfe,0xfd,0xfb,0xf7} 。 uchar code tab3[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} 。b5E2RGbCAP uint code tab4[]={64021,64103,64260,64400, 64524,64580,64684,64777, p1EanqFDPw 64820,64898,64968,65030, 65058,65110,65157,65178} 。 void delayms(uchar no 。 void keydetect( 。 void display( 。 void timer0_interrupt( 。 main( { TMOD=0x01 。 EA=1 。 ET0=1 。 while(1 { display( 。 keydetect( 。 } } void keydetect( { uint i,j 。 for(i=0 。i=3 。i++ { P2=tab1[i] 。 for(j=0 。j=3 。j++ { if(P3==tab2[j] { 1 / 17 delayms(10 。 if(P3==tab2[j] { if(i==0 key_number=i+j 。 else if(i==1 key_number=i+j+3 。 else if(i==2 key_number=i+j+6 。 else key_number=i+j+9 。 switch(key_number { case 0:{ TR0=1 。 P1_7=~P1^7 。 STH0=tab4[key_number]/256 。 STL0=tab4[key_number]%256 。 delayms(10 。 } 。break 。 case 1:{ TR0=1 。 P1_7=~P1^7 。 STH0=tab4[key_number]/256 。 STL0=tab4[key_number]%256 。 delayms(10 。 } 。break 。 case 2:{ TR0=1 。 P1_7=~P1^7 。 STH0=tab4[key_number]/256 。

文档评论(0)

1亿VIP精品文档

相关文档