找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4247|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

用1602液晶管想顯示0到9數(shù)字 出現(xiàn)的現(xiàn)象是只能顯示0

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:381002 發(fā)表于 2018-11-13 18:05 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
本帖最后由 后影遁 于 2018-11-13 18:08 編輯


#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^5;
sbit lcden=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
uint num;
uint code table[]={'0','1','2','3','4','5','6','7','8','9'};
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
  for(b=10;b>0;b--);
}
void write_com(uchar com)
{
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;

}
void write_date(uchar date)
{
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;

}
void init()
{
dula=0;
wela=0;
write_com(0x38);
delay(20);
write_com(0x0e);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
}
void main()
{
uint  j;
num=0;#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^5;
sbit lcden=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
uint num;
uint code table[]={'0','1','2','3','4','5','6','7','8','9'};
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
  for(b=10;b>0;b--);
}
void write_com(uchar com)
{
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;

}
void write_date(uchar date)
{
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;

}
void init()
{
dula=0;
wela=0;
write_com(0x38);
delay(20);
write_com(0x0e);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
}
void main()
{
uint  j;
num=0;
j=0;
init();//液晶管初始化
write_com(0x80+1);//設(shè)定第一個(gè)顯示數(shù)字的地址
write_date(table[j]);//顯示第一個(gè)數(shù)字
    for( ; j>9; j++)
  {    j++;
     write_com(0x80+1+j);//設(shè)定地址
       delay(20);
     write_date(table[j]);//顯示數(shù)字
       if(j==9)
          while(1);
     delay(100);//延時(shí)
  }
}

j=0;
init();//液晶管初始化
write_com(0x80+1);//設(shè)定第一個(gè)顯示數(shù)字的地址
write_date(table[j]);//顯示第一個(gè)數(shù)字
    for( ; j>9; j++)
  {    j++;
     write_com(0x80+1+j);//設(shè)定地址
       delay(20);
     write_date(table[j]);//顯示數(shù)字
       if(j==9)
          while(1);
     delay(100);//延時(shí)
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:403593 發(fā)表于 2018-11-14 09:39 | 只看該作者
一看就是郭老師的學(xué)生。。。
你這main程序有問(wèn)題啊,是復(fù)制粘貼的時(shí)候弄錯(cuò)了還是本身就是錯(cuò)的?
我給你改了一下,試試看行不行
void main()
{
        uint  j;
        num=0;
        j=0;
        init();//液晶管初始化
        while(1)
        {
                write_com(0x80+1);//設(shè)定第一個(gè)顯示數(shù)字的地址
                write_date(table[j]);//顯示第一個(gè)數(shù)字
                for( j=0; j>9; j++)
                {
                        write_com(0x80+1+j);//設(shè)定地址
                        delay(20);
                        write_date(table[j]);//顯示數(shù)字
                        delay(100);//延時(shí)
                }
        }
}
回復(fù)

使用道具 舉報(bào)

樓主
ID:111634 發(fā)表于 2018-11-14 08:20 | 只看該作者
本帖最后由 zl2168 于 2018-11-14 22:40 編輯

實(shí)例67  LCD1602顯示屏顯示
⒈ LCD1602顯示屏簡(jiǎn)介
⑴ 引腳功能    …
⑵ 內(nèi)部寄存器    …
⑶ 控制指令    …
⑷ 操作時(shí)序    …
⒉ 電路設(shè)計(jì)    …
⒊ 程序設(shè)計(jì)    …
⒋ Keil調(diào)試    …
⒌ Proteus仿真    …

Proteus仿真一下,確認(rèn)有效。 實(shí)例61 LCD1602顯示屏顯示.rar (49.26 KB, 下載次數(shù): 25)

若需改變1602顯示內(nèi)容只須將需顯示的內(nèi)容用ASCII碼寫入顯示數(shù)組,即可。以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1。書中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表