LCD1602小程序

LCD1602小程序LCD1602简单函数,相互学习

LCD1602小程序"

1显示数据

typedef struct {  unsigned long int mL_data;  unsigned long int L_data;  unsigned long int M3_data;}water_date;extern water_date water_data1;

2数据处理函数

/**---------------------------------------------------------------------------------  * @brief       数据处理函数  * @param           无  *    @arg         需处理数据结构体起始地址  * @retval     数据起始地址  ---------------------------------------------------------------------------------*/unsigned char* DATA_DEAL(water_date t){    unsigned char  DIS_DATA[] = {"000mL;000L;000M3"};     if(t.mL_data || t.L_data || t.M3_data)    {        DIS_DATA[0] = (t.mL_data * 1000/450)%1000/100 + 0x30;        DIS_DATA[1] = (t.mL_data * 1000/450)%100/10 + 0x30;        DIS_DATA[2] = (t.mL_data * 1000/450)%10 + 0x30;                DIS_DATA[6] = t.L_data%1000/100 + 0x30;        DIS_DATA[7] = t.L_data%100/10 + 0x30;        DIS_DATA[8] = t.L_data%10 + 0x30;                DIS_DATA[11] = t.M3_data%1000/100 + 0x30;        DIS_DATA[12] = t.M3_data%100/10 + 0x30;        DIS_DATA[13] = t.M3_data%10 + 0x30;        return DIS_DATA;    }    else return 0;}

3显示函数

/**---------------------------------------------------------------------------------* @brief      对应位置显示函数* @param        y:1,2(从第几行开始写)                            x:0-15(从改行的第几位开始写)*    @arg         NULL* @retval     null---------------------------------------------------------------------------------*/unsigned char LCD1602_WRITE(unsigned char y,unsigned char x,unsigned char *write_data){    unsigned char i;    lcd_wcmd(0x06);            //向右移动光标    if(y == 1)    {            lcd_pos(x);                //设置显示位置为第一行的第1个字符        i = 0;        while(*(write_data + i) != '\0')        {                           //显示字符"WLCOME  TO"            lcd_wdat(*(write_data + i));            i++;        //    delay(200);                //控制两字之间显示速度            if(i > 15)            {                LCE1602_STATUS = WRITE_NO;                return LCE1602_STATUS;                    }             }        LCE1602_STATUS = WRITE_OK;      return LCE1602_STATUS;        }    else    {        lcd_pos(0x40 + x);                //设置显示位置为第一行的第1个字符        i = 0;        while(*(write_data + i) != '\0')        {                           //显示字符"WLCOME  TO"            lcd_wdat(*(write_data + i));            i++;        //    delay(200);                //控制两字之间显示速度            if(i > 15)            {                LCE1602_STATUS = WRITE_NO;                return LCE1602_STATUS;                    }             }        LCE1602_STATUS = WRITE_OK;      return LCE1602_STATUS;        }}

————————————————————————————————

今天的文章LCD1602小程序分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29331.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注