找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

如何用光电开关计数并用LCD1602显示,求指教

查看数: 5031 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-26 15:17

正文摘要:

本帖最后由 ethanshen 于 2018-5-26 15:27 编辑 如何用光电开关计数并用LCD1602显示,求大神们指教 下面是我写的程序,希望大家帮我看一下,很急!!!!!! 不知道为什么,总是第一下显示,后面就不显示了, ...

回复

ID:427364 发表于 2018-11-15 21:17
楼主,可以让我看下实物引脚怎样连接吗
ID:313959 发表于 2018-5-29 20:24
QIANLILI 发表于 2018-5-28 09:44
程序修改了下。
主程序建议如下:
void main()

key1是什么,为什么我测试了还是数字不变化
ID:298422 发表于 2018-5-28 18:58
你好,  为什么我只显示了  coi 三个字母有时候是8个字母 有时候是全的。 为什么?新手,,
ID:160834 发表于 2018-5-28 09:44
程序修改了下。
主程序建议如下:
void main()
{
        LCD1602Init();
        display_char(0,0,&table1[0]);
        while(1)
        {
                if(key1==0)
                {
                delay(20);
                        if(key1==0)
                        {
                          num++;
                          Write_Cmd(0x01);
                         display_char(0,0,&table1[0]);
                         display_digit(num);  //显示数值加在主程序里  不要放在时间中断里。时间中断有干扰显示。 把时间中断程序取消掉。

                          while(!key1);
                        }
                }
        }
}

仿真测试过。能正确显示递加的数值。

评分

参与人数 1黑币 +80 收起 理由
admin + 80 回帖助人的奖励!

查看全部评分

ID:160834 发表于 2018-5-27 22:27
void display_digit(uchar d)//显示数字
{
        uchar bai,shi,ge;
        bai=d/100;
        shi=d%100/10;
        ge=d%10;
        Write_Dat(bai+'0');
        Write_Dat(shi+'0');
        Write_Dat(ge+'0');
       while(1);    是这句代码  应该取消掉。否则显示一次数字后一直停留在这里不下去。
}

另外 程序显示数字位置代码需要再修改下。现在仿真试下来,计数后是一直往后显示而不是在原位置刷新再显示。

ID:313959 发表于 2018-5-27 08:44
devcang 发表于 2018-5-26 16:22
如果低电平就触发,那检测连接到外部中断上。。。。。。。主函数只管显示

~~~~~~~~~~~

但还是一样的结果啊!
ID:277550 发表于 2018-5-26 16:22
如果低电平就触发,那检测连接到外部中断上。。。。。。。主函数只管显示

~~~~~~~~~~~
ID:303383 发表于 2018-5-26 16:15
提示: 作者被禁止或删除 内容自动屏蔽

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

Powered by 单片机教程网

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