for(b=10;b>0;b--);
}
//************************************************** void write_com(uchar com) //写命令
{
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
//************************************************** void write_date(uchar date) //写数据
{
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
//**************************************************
void init_lcd(void)//初始化lcd1602
{
delay(15);

write_com(lcd_mode);
delay(20);
write_com(undisplay_cursor);
delay(20);
write_com(0x06); //let cursor move
delay(20);
write_com(0x01); //clear lcd
delay(20);
}
//**************************************************
void display_string(char *p) //写字符串
{
while(*p)
{
write_date(*p);
delay(20);
p++;
}
}
//**************************************************
void gotoxy(uchar x,uchar y)
{
if(x==1)
write_com(0x80+y-1);
else
write_com(0xc0+y-1);
}
//**************************************************
void display_data(char number)
{
uchar x,y;
x=number/10;
y=number%10;//y=number-10*x;
write_date(int_to_char[x]);
write_date(int_to_char[y]);
}
}
}
}
/********************************************************************/
/******************************************************************** 说明********************************************************************/ 曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长...., 0,0}; 末尾:0,0 表示结束(Important)
音高由三位数字组成:
个位是表示 1~7 这七个音符
十位是表示音符所在的音区:1-低音,2-中音,3-高音;
百位表示这个音符是否要升半音: 0-不升,1-升半音。
音长最多由三位数字组成:
个位表示音符的时值,其对应关系是:
|数值(n): |0 |1 |2 |3 | 4 | 5 | 6
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-26593-17.html