51hei圖片20211229151211.jpg (109.67 KB, 下載次數: 38)
下載附件
2021-12-29 15:12 上傳
我做了一個基于單片機的音樂盒,播放兩首歌,現在代碼出現了一個問題,我解決不了,需要請大家幫忙給我看一下這個代碼的問題怎么解決,錯誤只有一個如圖所示,6-1.C(16): error C129: missing ';' before 'int'
單片機源程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned int
- #define uint unsigned char
- sbit K1=P3^2;
- sbit beep=P3^7;
- uchar i;
- uchar song_Index=0,Tone_Index=0;
- uchar*song_Tone,*song_Time;
- constLED_tab[]= {0xC0,0xF9,0xA4,0xB0,0x99,
- 0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,
- 0xA1,0x86,0x8E,0xBF,0xFF};
- Unsigned int Tone_tab[]={62018,62401,62491,62895,63184,
- 63441,63506,63773,63965,64137,64215,64360,64488,64603,
- 64654,64751,64836,64876,64948,65012,65067,65535};
- uchar code song1_Tone[]={11,9,11,14,12,14,12,11,11
- ,7,8,9,8,7,8,11,9,11,14,13,12,14,11,11,7,8,9,6,7,12,
- 14,14,13,12,13,14,12,13,14,12,12,11,10,7,8,11,9,11,
- 14,13,12,14,11,11,8,9,10,6,7,0xFf};
- uchar code song1_Time[]={4,2,2,8,4,2,2,8,4,2,2,4,2,
- 2,12,4,2,2,4,2,4,4,8,4,2,2,4,2,12,4,4,8,4,2,2,8,2,2,
- 2,2,2,2,2,2,16,4,2,2,4,2,4,4,8,4,2,2,4,2,12,oxFF};
- uchar code song2_Tone[]={7,8,9,7,7,8,9,7,9,10,11,9,
- 10,11,11,12,11,10,9,7,11,12,11,10,9,7,7,4,7,7,4,7,oxff};
- uchar code song2_Time[]={4,4,4,4,4,4,4,4,4,4,8,4,4,
- 8,2,2,2,2,4,4,2,2,2,2,4,4,4,4,8,4,4,8,0xff};
- uchar code song3_Tone[]={7,7,7,8,9,9,9,9,10,11,12,
- 12,11,10,9,11,11,8,9,7,7,7,7,8,11,9,9,9,10,11,12,
- 12,11,10,9,11,11,8,9,7,0xff};
- uchar code song3_Time[]={2,2,2,2,4,2,2,2,2,4,2,2,
- 2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,
- 2,2,5,0xff};
- uchar code song4_Tone[]={5,9,9,9,9,8,7,8,7,6,5,12,
- 12,12,12,12,11,2,11,11,10,9,9,12,12,11,9,8,7,8,7,6,
- 5,9,2,7,7,6,5,9,8,7,6,4,12,oxff};
- uchar code song4_Time[]={2,2,2,2,2,2,2,2,2,2,8,2,2,
- 2,2,4,2,2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,4,2,2,2,2,4,
- 2,2,2,2,2,8,oxff};
- uchar code song5_Tone[]={11,12,11,9,8,9,11,9,8,7,
- 9,11,7,8,9,11,12,11,9,8,9,11,9,8,7,8,7,8,9,7,0xff};
- uchar code song5_Time[]={4,4,8,4,4,8,4,4,4,4,2,2,
- 2,2,8,4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,oxff};
- void delayms(uint ms)
- {
- uchar a;
- while(ms--)
- {
- for(a=230;a>0;a--);
- }
- }
- void int0() interrupt 0
- {
- delayms(100);
- if(INT0==0)
- {
- TR0=0;
- song_Index++;
- }
- if(song_Index==1)
- {
- song_Tone=song2_Tone;
- song_Time=song2_Time;
- }
- if(song_Index==2)
- {
- song_Tone=song3_Tone;
- song_Time=song3_Time;
- }
- if(song_Index==3)
- {
- song_Tone=song4_Tone;
- song_Time=song4_Time;
- }
- if(song_Index==4)
- {
- song_Tone=song5_Tone;
- song_Time=song5_Time;
- }
- if(song_Index==5)
- {
- song_Tone=song1_Tone;
- song_Time=song1_Time;
- song_Index=0;
- }
- TR0=1;
- i=0;
- }
- void Timer0() interrupt 1
- {
- TH0=Tone_tab[Tone_Index]/256;
- TL0=Tone_tab[Tone_Index]%256;
- beep=~beep;
- }
- void display(void)
- {
- P0=LED_tab[song_Index];
- }
- void int_init(void)
- {
- TMOD=0x01;
- ET0=1;
- EX0=1;
- IT0=1;
- EA=1;
- TR0=0;
- }
- void main(void)
- {
- int_init();
- song_Tone=song1_Tone;
- song_Time=song1_Time;
- while(1)
- {
- display();
- Tone_Index=song_Tone[i];
- if(Tone_Index==0xFF)
- {
- i=0;
- TR0=0;
- }
- TR0=1;
- delayms(song_Time[Tone_Index]*60);
- TR0=0;
- i++;
- }
- }
復制代碼
|