错误代码
#define uint unsigned intuint key, i, j, time, m, k;uchar STH0, STL0, STH1, STL1;sbit sw=P2^7;sbit speaker=P2^4;sbit P37=P3^7;sbit P36=P3^6;sbit P35=P3^5;sbit P34=P3^4;code unsigned char sszymmh[]={6, 2, 2, 6, 2, 2, 7, 2, 4 ,6, 2, 2,6, 2, 2, 7, 2, 4,6, 2, 2, 7, 2, 2, 1, 3, 2 , 7, 2, 2 , 6, 2, 2,7, 2, 1, 6, 2, 1, 4, 2, 4,3, 2, 2, 1, 2, 2, 3, 2, 2, 4, 2, 2, 3, 2, 2, 3, 2, 1, 1, 2, 1, 7, 1, 4,0, 0, 0} ;code unsigned char FREQH[]={0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1, 2, 3, 4, 5, 6, 7, 8, i0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF,} ;code unsigned char FREQL[]={0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F,//1, 2, 3, 4, 5, 6, 7, 8, i0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16,} ;unsigned int code tab[]={64021, 64260, 64400, 64524, 64580, 64684, 64777,64820, 64898, 64968, 65030,65058, 65110, 65157, 65178, 65217} ;void key_music(){24P3=0xff;P34=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50; i>0; i--)for(j=200; j>0; j--) ;temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case 0x0e:key=0;break;case 0x0d:key=1;break;case 0x0b:key=2;break;case 0x07:key=3;break;}speaker=~speaker;STH1=tab[key]/256;STL1=tab[key]%256;TR0=1;temp=P3;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;25P35=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50; i>0; i--)for(j=200; j>0; j--) ;temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case 0x0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=7;break;}speaker=~speaker;STH1=tab[key]/256;STL1=tab[key]%256;TR0=1;temp=P3;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;26P36=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50; i>0; i--)for(j=200; j>0; j--) ;temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case 0x0e:key=8;break;case 0x0d:key=9;break;case 0x0b:key=10;break;case 0x07:key=11;break;}speaker=~speaker;STH1=tab[key]/256;STL1=tab[key]%256;TR0=1;temp=P3;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;27P37=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50; i>0; i--)for(j=200; j>0; j--) ;temp=P3;temp=temp & 0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case 0x0e:key=12;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;}speaker=~speaker;STH1=tab[key]/256;STL1=tab[key]%256;TR0=1;temp=P3;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}}void timer0(void) interrupt 1 using 028{if(sw==1){TH0=STH1;TL0=STL1; }else{TH0=STH0;TL0=STL0; }speaker=!speaker;}void delay(unsigned char t){unsigned char t1;unsigned long t2;for(t1=0; t1<t; t1++){for(t2=0; t2<8000; t2++){;}}TR0=0;}void song(){TH0=STH0;TL0=STL0;TR0=1;delay(time) ;}void music(void){m=0;time=1;sw=1;while(time&&sw==0){if(sw){i=0; continue; }else{k=sszymmh[m]+7*sszymmh[m+1]-1;STH0=FREQH[k];29STL0=FREQL[k];time=sszymmh[m+2];m=m+3;song() ;}}}void main(){TMOD=0x01;ET0=1;EA=1;while(1){if(sw==1) key_music() ;else music() ;}}
这是一个什么程序,出现了什么问题,应该补充清楚才能试着解决
uchar 是不是没有宏定义
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632