編譯時一直出現warning C316:unterminated conditi 請各位幫我看看程式有什麼問題
用的是AT89S52单片机源程序如下: - #include <reg51.h>
- #include <intrins.h>
- #include "kb44.h"
- #include "lcd.h"
- #define s 65536
- #define t 12000000/12/2
- #define d0 s-t/262 //1
- #define re s-t/294 //2
- #define mi s-t/330 //3
- #define fa s-t/349 //4
- #define so s-t/392 //5
- #define la s-t/440 //6
- #define si s-t/494 //7
- #define hdo s-t/523 //8
- sbit SPK=P3^4;
- void LCD_1();
- void LCD_2();
- void LCD_3();
- void LCD_4();
- void delayms(unsigned char ms);
- void delays(int count);
- void soundout();
- unsigned int period=20000;
- unsigned int length;
- unsigned int data j;
- unsigned int table[7]={d0,re,mi,fa,so,la,si};
- unsigned int birth_song[]={d0,d0,d0,d0,d0,d0,d0,d0};
- unsigned int birth_son[]={la,mi,d0,d0,d0,d0,d0,d0};
- unsigned int birth[]={d0,re,mi,d0,
- mi,fa,so,
- so,la,so,fa,mi,d0,
- so,la,so,fa,mi,d0,
- re,so,d0};
- unsigned int tmp;
- char tabl[]={0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f};
- char code mess[]=" knock!!";
- char code mess2[]=" Hello!!";
- char code mess3[]="YES !!";
- char code mess4[]="NO SET !!";
- int kbin;
- void delay(int count);
- void main(void)
- {
- EA=1;
- EX0=1;
- IT0=1;
- while(1){
- int i,j,stp;
- kbin=kbscan();
- P2=0xff;
- switch( kbin){
- case 0:
- EA=1;
- ET0=1;
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- TR0=0;
- LCD_1();
- while(1)
- {
- for(i=0;i<22;i++)
- {
- for(j=0; j<22; j++){
- tmp=birth[i];
- TR0=i;
- i++;
- stp=birth[i];
- delays(period);
- TR0=0;
- P2=~tabl[i];
- delay(500);
- }
- TR0=0;
- }
- }
- break;
- case 1:
- EA=1;
- ET0=1;
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- TR0=0;
- LCD_2();
- while(1)
- {
- for(i=0;i<8;i++)
- {
- for(j=0; j<8; j++){
- tmp=birth_song[i];
- TR0=i;
- i++;
- stp=birth_song[i];
- delays(period);
- TR0=0;
- P2=~tabl[i];
- delay(300);
- }
- TR0=0;
- }
- }
- break;
- case 2:
- EA=1;
- ET0=1;
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- TR0=0;
- LCD_3();
- while(1)
- {
- for(i=0;i<8;i++)
- {
- for(j=0; j<8; j++){
- tmp=birth_song[i];
- TR0=i;
- i++;
- stp=birth_song[i];
- delays(period);
- TR0=0;
- P2=~tabl[i];
- delay(200);
- }
- TR0=0;
- }
- }
- break;
- case 3:
- EA=1;
- ET0=1;
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- TR0=0;
- LCD_4();
- while(1)
- {
- for(i=0;i<8;i++)
- {
- for(j=0; j<8; j++){
- tmp=birth_song[i];
- TR0=i;
- i++;
- stp=birth_song[i];
- delays(period);
- TR0=0;
- P2=~tabl[i];
- delay(100);
- }
- TR0=0;
- }
- }
- break;
- }
- }}
- void soundout()
- {
- int i,j;
- for(i=0;i<length;i++)
- {
- SPK=0;
- for(j=0;j<period;j++);
- SPK=1;
- for(j=0;j<period;j++);
- }
- }
- void delays(int count)
- {
- int i;
- for(i=0;i<count;i++);
- }
- void timer() interrupt 1 using 1
- {
- TH0=tmp/256;
- TL0=tmp%256;
- SPK=!SPK;
- }
- void delayms(unsigned char ms)
- {
- unsigned int i;
- while(ms--)
- {
- for(i=0;i<20300;i++);
- }
- TR0=0;
- }
- void LCD_1()
- {
- char *pp=mess;
- delay(5);
- Init_LCD();
- while(*pp !=0)
- LCD_DATA(*pp++);
- //while(1);
- }
- void LCD_2()
- {
- char *pp=mess2;
- delay(5);
- Init_LCD();
- while(*pp !=0)
- LCD_DATA(*pp++);
- //while(1);
- }
- void LCD_3()
- {
- char *pp=mess3;
- delay(5);
- Init_LCD();
- while(*pp !=0)
- LCD_DATA(*pp++);
- //while(1);
- }
- void LCD_4()
- {
- char *pp=mess4;
- delay(5);
- Init_LCD();
- while(*pp !=0)
- LCD_DATA(*pp++);
- //while(1);
- }
复制代码 |