/***********************************************************/
void lcd_pos(uint8 pos)
{
LCD_write_command(pos | 0x80); //数据指针=80+地址变量
}
/**********************************************************/
void show_value(ulong value,uchar pos)
{
dis[4]=value/10000;
dis[4]=dis[4]+0x30;
dis[3]=(value%10000)/1000;
dis[3]=dis[3]+0x30;
dis[2]=((value%10000)%1000)/100;
dis[2]=dis[2]+0x30;
dis[1]=(((value%10000)%1000)%100)/10/1;
dis[1]=dis[1]+0x30;
dis[0]=((((value%10000)%1000)%100)%10)/1;
dis[0]=dis[0]+0x30;
lcd_pos(pos+11);
LCD_write_data(dis[4]);
lcd_pos(pos+12);
LCD_write_data(0x2E);
lcd_pos(pos+13);
LCD_write_data(dis[3]);
lcd_pos(pos+14);
LCD_write_data(dis[2]); //整数位显示
lcd_pos(pos+15);
LCD_write_data(dis[1]); //第一位小数显示
lcd_pos(pos+16);
LCD_write_data(dis[0]); //第二位小数显示
lcd_pos(pos+17);
LCD_write_data(0x56);
}
这是两个LCD1602的显示程序,对其中第一段写入显示地址,以及后来在LCD上显示时很是不太清楚,有没有高手出来说说! |