• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

真心请教 单片机1602特定位置显示数字

bcdc0898ed6e41d7 2020-07-12 浏览量:553
各位好:
/@@*写命令比如光标显示与不显示,需不需要移屏,在液晶什么位置显示        */ 
void xieml (unsigned char ml)
  {
        eo=0;
          dx=0;           // R/W读写选择。H/L..
        sm=0;           //RS 数据/命令选择。H/L.
        P0=ml;
        Lcd1602_Delay1ms(5);
        eo=1;
        Lcd1602_Delay1ms(5);
        eo=0;
  }

/@@*写数据比如在液晶显示什么容        */ 
void xiesj(unsigned char sj)   
{
        eo=0;
    dx=0;           // R/W读写选择。H/L.
        sm=1;           //RS 数据/命令选择。H/L.
        P0=sj;
        Lcd1602_Delay1ms(5);
        eo=1;
        Lcd1602_Delay1ms(5);
        eo=0;                                                          
}
void chushiha()
{
  
   xieml(0X38);
   xieml(0X0c);
  // xieml(0X06);
   xieml(0X01);
}
void main()
{
  InitTimer0();
  chushiha();
  xieml(0X80);
  xiesj(0);
  Lcd1602_Delay1ms(5);
        
xieml(0X80+0X03);
  xiesj(0X04);
  Lcd1602_Delay1ms(5);

        while(1);
}
1206显示的位置对了,但是乱码,,C基础太差了,不知道是哪 里没有定义好,  一行0位置显示0,
一行3位置显示4.
请教 谢

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 注意下xiesj这个函数,它的传入值应该是一个ASCII的字符,因此0x04没意义,应该传0x34
    • 发布于 2020-07-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 这数字是不是用xiesj(0x04),应该用xiesj(34) 或者xiesj('4')
    • 发布于2020-07-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是你的xiejs这个函数里的问题,可能是你的字模的地址偏移不正确的问题。可以把这个函数发出来看一下的。
    • 发布于2020-07-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

真心请教 单片机1602特定位置显示数字