voidwrite_date(uchardate)//大致意思:定义送数据子函数{rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}Voidwrite_sfm(ucharadd,uchardate{ucharshi,ge;shi=date/10;ge=... void write_date(uchar date)//大致意思:定义送数据子函数
{
rs=1;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0; }
Void write_sfm(uchar add,uchar date
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x80+0x40+add);
write_date(0x30+shi);?1这里直接调用上面的子函数write_date (0x30+shi); 但这句是什么意思1
write_date(0x30+ge);
} ? 2 另外这个子函数 Void write_sfm(uchar add,uchar date) add,date各是什么意思
看你的程序,大概猜出应该是在液晶第二行显示时分秒信息
Void write_sfm(uchar add,uchar date) ,add看程序是指LCD第二行第add个字符的位置开始,data就是你要显示的数据。0x80+0x40+add=0x0c+add就是指LCD第二行第add个位置的地址。
首先,shi和ge就是你要送去显示的数据的十位和个位。shi和ge都是整型数值,而LCD只能显示字符即ASCII值,因此需要将这两个数变为字符。根据ASCII码表,整型数据变为ASCII是加上ASCII ‘0’的数值,即加上0x30,如3变为ASCII的'3'是3+0x30=0x33,代表的是字符'3'。