找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请教一下关于单片机+1602液晶的查忙程序问题

查看数: 4749 | 评论数: 4 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-12-22 18:44

正文摘要:

当我采用延时的办法时,protues仿真1602液晶能正常显示字符,但当我用查忙函数时,1602液晶只亮不显示字符。查忙后程序如下: #define DATAPORT P0 #define BUSY  0x80    void ini()  ...

回复

ID:995418 发表于 2021-12-27 20:31
加了个retrun不是相当于屏蔽掉查忙函数了吗,它根本就没运行
ID:871292 发表于 2021-4-25 12:53
谢谢分享!请教为什么加了return就可以了?
ID:327029 发表于 2019-12-24 11:35
已搞定,查忙要设定初始化第一次不查忙.查忙程序需要加return;。
void ini()   //LCD初始化{
       write_order(0x38,0);
       write_order(0x38,0);
      write_order(0x38,0);
        rw=0;
        en=0;
        P2=0xff;
        writeCG();
        write_order(0x38,1);
        write_order(0x0c,1);
        write_order(0x06,1);
        write_order(0x01,1);
        

}
void lcd_wait(void)
{
  return;
    DATAPORT=0xff;             //读LCD前若单片机输出低电平,而读出LCD为高电平,则冲突,Proteus仿真会有显示逻辑黄色
        en=1;
    rs=0;   
    rw=1;   
    _nop_();
    _nop_();
        _nop_();
    while(DATAPORT&BUSY)  
        {  en=0;
           _nop_();
           _nop_();
           en=1;
           _nop_();
           _nop_();
           }         
   en=0;        
        
}
ID:584814 发表于 2019-12-23 10:14
1602不需要查忙,理论上需要实际上不要。但最好留个预热的时间,加电后过半秒再操作。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表