变量pos按位或0x80,也就是取出变量pos的最高位数据,传递给函数Write_LCD_Command()。此函数下面应该会有用到变量pos的地方,那里得到的pos不再是原来的数据了,按位或0x80后,就只有最高位是pos原来最高位的数据,其它位全部置位0。参考资料:亲手码字哦 ...
lcd_wcmd 就是写command 进入cpu来控制lcd. pos就是position, 在lcd裏的位置。 | 就是or 的意思,也就是说任何一个两段程序在一起,有一方有1那就等於1,两方都是0,那就是0. 0x80在data sheet中就是第一行,第一个的位置。 那麽这一段程序就是说你输入pos进去,就可以在lcd的第一行的第pos个位置做一...
lcd_wcmd 就是写command 进入cpu来控制lcd. pos就是position, 在lcd裏的位置。 | 就是or 的意思,也就是说任何一个两段程序在一起,有一方有1那就等於1,两方都是0,那就是0. 0x80在data sheet中就是第一行,第一个的位置。 那麽这一段程序就是说你输入pos进去,就可以在lcd的第一行的...
static int lcd_PutNum(unsigned long num,int XS,int pos) { unsigned long tmp=0; unsigned char numbits=0; if(pos==-1) { lcd_write_command(0x01); usleep(2); pos=0; } if(num==0) { lcd_write_char(pos%20, pos/20, '0'); pos++; } else { if(num<0) { lcd_write_char(po...
void Set_LCD_POS(uchar p){Write_LCD_Command(p|0x80);}//在LCD上显示当前温度void Display_Temperature(){uchar i;uchar t=150;//延时值uchar ng=0;//负数标志char Signed_Current_Temp;//如果为负数则取反加1,并设置负数标识if((Temp_Value[1]&0xf8)==0xf8){Temp_Value[1]=~Temp_Value[1];...
竖杠是退格键左边的那个键~lcd_wcmd(pos | 0x80);上面这个函数是 设定DDRAM地址,也就是设定字符显示的 地方,它只执行了一个指令“向控制器写入0x80|pos的值(这是一个或表达式,表示POS变量与0X80相或,取其结果,0x80是KS0066内部指令的关键字,是表示指定DDRAM首地址的)。
Write_DS1302(0x8E,0x00);//分时日月年依次写入 for(i=1;i<7;i++){ //分的起始地址10000010...
void LCD_Write_Command(uchar cmd) { while(LCD_Busy_Check());//判断LCD是否忙碌 RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd; DelayNOP(); E = 1;DelayNOP();E = 0; } //设置LCD显示位置 void LCD_Set_Pos(uchar pos) { LCD_Write_Command(pos | 0x80); } //写LCD数据...
/写LCD命令void LCD_Write_Command(uchar cmd)while(LCD_Busy_Check();/判断LCD是否忙碌RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd; DelayNOP();E = 1;DelayNOP();E = 0;/设置LCD显示位置void LCD_Set_Pos(uchar pos)LCD_Write_Command(pos | 0x80);/写LCD数据void LCD_Write_Data...
LCD_Write_Data(”:”); }定义显示计时函数 }LCD_Set_POS(0X45),调用函数,用于调用设置显示位置函数,在 此子函数中又嵌套了一个函数调用, LCD_Write_Command(Position|0X80)〔即 LCD_Write_Command(0X45|0X80)〕函数。 word文档可自由复制编辑