欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2462|回復: 4
收起左側

lcd1602顯示問題

[復制鏈接]
ID:240203 發表于 2017-10-17 12:10 | 顯示全部樓層 |閱讀模式
麻煩各位大佬幫我看看是哪里出問題了,以下是程序
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit BF=P0^7;
uint t,f,f_g,f_s,m,m_g,m_s,s,s_g,s_s;
void delay1ms()
{
        uchar i,j;
        for(i=0;i<10;i++)
                for(j=0;j<33;j++);       
}
void delay(uchar n)
{
        uchar i;
        for(i=0;i<n;i++)
                delay1ms();
}
uchar BusyTest(void)
{
        bit result;
        RS=0;RW=1;E=1;
        _nop_();_nop_();_nop_();_nop_();
        result=BF;
        E=0;
        return result;
}
void WriteInstruction(uchar dictate)
{
         while(Busytest()==1);
         RS=0;RW=0;E=0;
         _nop_();_nop_();
         P0=dictate;
         _nop_();_nop_();_nop_();_nop_();
         E=1;
         _nop_();_nop_();_nop_();_nop_();
         E=0;
}
void WriteAddress(uchar x)
{
        WriteInstruction(x+0x80);       
}
void WriteData(uchar y)
{
        while(Busytest()==1);
        RS=1;RW=0;E=0;
        P0=y;
        _nop_();_nop_();_nop_();_nop_();
        E=1;
        _nop_();_nop_();_nop_();_nop_();
        E=0;
}
void LcdInitiate()
{
        delay(15);
        WriteInstruction(0x38);
        delay(5);
        WriteInstruction(0x38);
        delay(5);
        WriteInstruction(0x38);
        delay(5);
        WriteInstruction(0x0c);
        delay(5);
        WriteInstruction(0x06);
        delay(5);
        WriteInstruction(0x01);
        delay(5);
}
void Time0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        t++;
}
void init0()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;          
        ET0=1;
        TR0=1;       
}
void main()
{
        init0();
        LcdInitiate();
                m=58;
        while(1)
        {
       
                WriteAddress(0x02);
                WriteData('B');
        WriteAddress(0x03);
        WriteData('e');
                WriteAddress(0x04);
                WriteData('i');
        WriteAddress(0x05);
        WriteData('J');
                WriteAddress(0x06);
                WriteData('i');
        WriteAddress(0x07);
        WriteData('n');
                WriteAddress(0x08);
                WriteData('g');
        WriteAddress(0x0a);
        WriteData('T');
                WriteAddress(0x0b);
                WriteData('i');
        WriteAddress(0x0c);
        WriteData('m');
                WriteAddress(0x0d);
                WriteData('e');
        WriteAddress(0x45);
        WriteData(':');
                WriteAddress(0x48);
                WriteData(':');
                m_s=m/10;
                m_g=m%10;
                WriteAddress(0x4a);
                WriteData(0x30+m_g);
                WriteAddress(0x49);
                WriteData(0x30+m_s);
                        f_s=f/10;
                        f_g=f%10;
                        WriteAddress(0x47);
                        WriteData(0x30+f_g);
                        WriteAddress(0x46);
                        WriteData(0x30+f_s);
                s_s=s/10;
                s_g=s%10;
                WriteAddress(0x44);
                WriteData(0x30+s_g);
                WriteAddress(0x43);
                WriteData(0x30+s_s);
                if(t==5)
                {
                        t=0;
                        m++;
                        if(m==60)
                        {
                                f++;
                                m=0;
                                if(f==60)
                                {
                                        s++;
                                        f=0;
                                }
                        }               
                }
        }
}

仿真開始前段時間

仿真開始前段時間

走一段時間就變這樣了

走一段時間就變這樣了
回復

使用道具 舉報

ID:123289 發表于 2017-10-17 19:33 | 顯示全部樓層
當出現問題時,走單步運行,看看為何不顯示。
回復

使用道具 舉報

ID:111634 發表于 2017-10-17 21:21 | 顯示全部樓層
本帖最后由 zl2168 于 2017-10-17 21:22 編輯

實例67  LCD1602顯示屏顯示。
若需改變1602顯示內容,只須將需顯示的內容用ASCII碼寫入顯示數組
,即可。
實例61 LCD1602顯示屏顯示.rar (49.26 KB, 下載次數: 3)
1602.jpg
Proteus仿真一下,確認有效。
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

ID:166645 發表于 2017-10-17 22:28 | 顯示全部樓層
找一個別人好的歷程,,對比一下,,看看自己的為什么沒有顯示出來,一步一步的找問題
回復

使用道具 舉報

ID:240443 發表于 2017-10-18 05:53 | 顯示全部樓層
不要光仿真,實際板子運行下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表