找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2554|回复: 8
打印 上一主题 下一主题
收起左侧

基于单片机的音乐盒,错误如图error C129: missing ';' before 'int'请帮忙看看

[复制链接]
跳转到指定楼层
楼主


我做了一个基于单片机的音乐盒,播放两首歌,现在代码出现了一个问题,我解决不了,需要请大家帮忙给我看一下这个代码的问题怎么解决,错误只有一个如图所示,6-1.C(16): error C129: missing ';' before 'int'

单片机源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned int
  4. #define uint unsigned char

  5. sbit K1=P3^2;
  6. sbit beep=P3^7;
  7. uchar i;
  8. uchar song_Index=0,Tone_Index=0;
  9. uchar*song_Tone,*song_Time;

  10. constLED_tab[]=        {0xC0,0xF9,0xA4,0xB0,0x99,
  11. 0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,
  12. 0xA1,0x86,0x8E,0xBF,0xFF};

  13. Unsigned int Tone_tab[]={62018,62401,62491,62895,63184,
  14. 63441,63506,63773,63965,64137,64215,64360,64488,64603,
  15. 64654,64751,64836,64876,64948,65012,65067,65535};

  16. uchar code song1_Tone[]={11,9,11,14,12,14,12,11,11
  17. ,7,8,9,8,7,8,11,9,11,14,13,12,14,11,11,7,8,9,6,7,12,
  18. 14,14,13,12,13,14,12,13,14,12,12,11,10,7,8,11,9,11,
  19. 14,13,12,14,11,11,8,9,10,6,7,0xFf};

  20. uchar code song1_Time[]={4,2,2,8,4,2,2,8,4,2,2,4,2,
  21. 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,
  22. 2,2,2,2,2,2,16,4,2,2,4,2,4,4,8,4,2,2,4,2,12,oxFF};

  23. uchar code song2_Tone[]={7,8,9,7,7,8,9,7,9,10,11,9,
  24. 10,11,11,12,11,10,9,7,11,12,11,10,9,7,7,4,7,7,4,7,oxff};

  25. uchar code song2_Time[]={4,4,4,4,4,4,4,4,4,4,8,4,4,
  26. 8,2,2,2,2,4,4,2,2,2,2,4,4,4,4,8,4,4,8,0xff};

  27. uchar code song3_Tone[]={7,7,7,8,9,9,9,9,10,11,12,
  28. 12,11,10,9,11,11,8,9,7,7,7,7,8,11,9,9,9,10,11,12,
  29. 12,11,10,9,11,11,8,9,7,0xff};

  30. uchar code song3_Time[]={2,2,2,2,4,2,2,2,2,4,2,2,
  31. 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,
  32. 2,2,5,0xff};

  33. uchar code song4_Tone[]={5,9,9,9,9,8,7,8,7,6,5,12,
  34. 12,12,12,12,11,2,11,11,10,9,9,12,12,11,9,8,7,8,7,6,
  35. 5,9,2,7,7,6,5,9,8,7,6,4,12,oxff};

  36. uchar code song4_Time[]={2,2,2,2,2,2,2,2,2,2,8,2,2,
  37. 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,
  38. 2,2,2,2,2,8,oxff};

  39. uchar code song5_Tone[]={11,12,11,9,8,9,11,9,8,7,
  40. 9,11,7,8,9,11,12,11,9,8,9,11,9,8,7,8,7,8,9,7,0xff};

  41. uchar code song5_Time[]={4,4,8,4,4,8,4,4,4,4,2,2,
  42. 2,2,8,4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,oxff};

  43. void delayms(uint ms)
  44. {
  45. uchar a;
  46. while(ms--)
  47. {
  48.   for(a=230;a>0;a--);
  49. }
  50. }

  51. void int0() interrupt 0
  52. {
  53. delayms(100);
  54. if(INT0==0)
  55. {
  56.   TR0=0;
  57.   song_Index++;
  58. }
  59. if(song_Index==1)
  60. {
  61.   song_Tone=song2_Tone;
  62.   song_Time=song2_Time;
  63. }
  64. if(song_Index==2)
  65. {
  66.   song_Tone=song3_Tone;
  67.   song_Time=song3_Time;
  68. }
  69.   if(song_Index==3)
  70. {
  71.   song_Tone=song4_Tone;
  72.   song_Time=song4_Time;
  73. }
  74.   if(song_Index==4)
  75. {
  76.   song_Tone=song5_Tone;
  77.   song_Time=song5_Time;
  78. }
  79.   if(song_Index==5)
  80. {
  81.   song_Tone=song1_Tone;
  82.   song_Time=song1_Time;
  83.   song_Index=0;
  84. }
  85. TR0=1;
  86. i=0;
  87. }

  88. void Timer0() interrupt 1
  89. {
  90. TH0=Tone_tab[Tone_Index]/256;
  91. TL0=Tone_tab[Tone_Index]%256;
  92. beep=~beep;
  93. }

  94. void display(void)
  95. {
  96. P0=LED_tab[song_Index];
  97. }

  98. void int_init(void)
  99. {
  100. TMOD=0x01;
  101. ET0=1;
  102. EX0=1;
  103. IT0=1;
  104. EA=1;
  105. TR0=0;
  106. }

  107. void main(void)
  108. {
  109. int_init();
  110. song_Tone=song1_Tone;
  111. song_Time=song1_Time;
  112. while(1)
  113. {
  114.   display();
  115.   Tone_Index=song_Tone[i];
  116.   if(Tone_Index==0xFF)
  117.   {
  118.    i=0;
  119.    TR0=0;
  120.   }
  121.   TR0=1;
  122.   delayms(song_Time[Tone_Index]*60);
  123.   TR0=0;
  124.   i++;
  125. }
  126. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:313048 发表于 2021-12-29 15:43 | 只看该作者
Unsigned  这个U 要小写  大写后编译器不认
回复

使用道具 举报

板凳
ID:908826 发表于 2021-12-29 15:44 | 只看该作者
U大写了,改成小写
回复

使用道具 举报

地板
ID:161164 发表于 2021-12-29 15:45 | 只看该作者
注意大小阶
注意空格 const LED_tab
注意是0xff 不是 oxff
注意int0已经有寄存器用了,不能再用来命名中断函数
注意Tone_Index是uchar,song_Tone是uchar 指针,不能直接赋值
回复

使用道具 举报

5#
ID:839438 发表于 2021-12-29 15:50 | 只看该作者
Unsigned  要小写unsigned
回复

使用道具 举报

6#
ID:342822 发表于 2021-12-29 20:04 | 只看该作者
错误1   #include<reg52.h>#include<intrins.h>
错误2  constLED_tab[]
错误3  Unsigned int Tone_tab[]
错误4  oxFF

回复

使用道具 举报

7#
ID:998227 发表于 2021-12-30 10:15 | 只看该作者
AUG 发表于 2021-12-29 15:43
Unsigned  这个U 要小写  大写后编译器不认

谢谢,已解决
回复

使用道具 举报

8#
ID:998227 发表于 2021-12-30 10:15 | 只看该作者
13205495918 发表于 2021-12-29 15:44
U大写了,改成小写

谢谢,已解决
回复

使用道具 举报

9#
ID:844772 发表于 2021-12-30 15:50 | 只看该作者
牛人啊,你这么定义是故意的吗?
#define uchar unsigned int
#define uint unsigned char
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表