久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 為什么在仿真上面程序能夠跑起來,但是實物焊接出來,顯示屏一是只亮背光 [打印本頁]

作者: skcxks    時間: 2019-1-7 00:11
標題: 為什么在仿真上面程序能夠跑起來,但是實物焊接出來,顯示屏一是只亮背光
#include "reg51.h"
#define uchar  unsigned char
#define Port P2 //定義數據端口
sbit begin=P3^2;
sbit RS=P3^5; //定義和LCD的連接端口,寫數據指令端口
sbit RW=P3^6; //讀寫端口
sbit E=P3^7;  //使能端口
sbit Busy=P2^7;  //讀忙端口
uchar min=40,sec=0,count=0;
uchar a=0,b=0;
uchar str[]="0123456789";
uchar str1[16]="Team A: **";
uchar str2[16]="Team B: **";
//延時函數
void  delay()
{
    uchar i,j; //延時變量
    for(i=0;i<50;i++)  //t表示循環次數
       for(j=0;j<100;j++) ;
}


//  讀忙信號判斷
void  Read_Busy(void)
{
     uchar k=255;
     Port=0xff;
     RS = 0;
     RW = 1;
     E = 1;
     while((k--)&&(Busy));
     E = 0;
}


//  寫指令函數

void  Write_Comm(uchar lcdcomm)
{
      Read_Busy( ); //先讀忙
      RS = 0; //端口定義為寫指令
      RW = 0;//端口寫入使能
      E = 1; //端口輸入總使能
      Port=lcdcomm;  //數據端送指令
      E = 0; //端口輸入總禁止
}


//寫數據函數
void  Write_Chr(uchar lcddata)
{
      Read_Busy( ); //先讀忙
      RS = 1;//端口寫數據使能
      RW = 0;//端口寫入使能
      E = 1;//端口總輸入使能
      Port = lcddata;   //數據端口送數據
      E = 0;  //端口總輸入禁止
}


//初始化LCD
void  Init_LCD(void)
{
      delay();  //稍微延時,等待LCD進入工作狀態
      Write_Comm(0x38); //8位2行5*8
      Write_Comm(0x0c); //顯示開/關,光標開閃爍開
      Write_Comm(0x01);//清顯示
      Write_Comm(0x02);  //光標歸位
}

void t0() interrupt 1
{
        count++;
        if(count==20)
        {
                sec--;
                count=0;
        }
        if(sec==0)
        {
                 min--;
                sec=59;
        }
        if(min==0)
        {
                TR0=0;
                min=0;
                sec=0;
        }
}

void ex0() interrupt 0
{
        TR0=~TR0;
        while(begin==0);
}

void scankey()//負責改變比分
{
        switch(P1)
        {
                case 0xfe:
                        a=a+1;
                        if(a>99)a=99;
                        break;
                case 0xfd:
                        a=a+2;
                        if(a>99)a=99;
                        break;
                case 0xfb:
                        a=a+3;
                        if(a>99)a=99;
                        break;
                case 0xf7:
                        if(a>0)a=a-1;
                        break;
                case 0xef:
                        b=b+1;
                        if(b>99)b=99;
                        break;
                case 0xdf:
                        b=b+2;
                        if(b>99)b=99;
                        break;
                case 0xbf:
                        b=b+3;
                        if(b>99)b=99;
                        break;
                case 0x7f:
                        if(b>0)b=b-1;
                        break;
        }
        while(P1!=0xff);
}

void display()//負責送顯
{
        uchar m;
        str1[8]=str[a/10];
        str1[9]=str[a%10];
        str1[14]=str[min/10];
        str1[15]=str[min%10];
        Write_Comm(0x80);
        for(m=0;m<16;m++)
          Write_Chr(str1[m]);
        str2[8]=str[b/10];
        str2[9]=str[b%10];
        str2[14]=str[sec/10];
        str2[15]=str[sec%10];
        Write_Comm(0xc0);
        for(m=0;m<16;m++)
          Write_Chr(str2[m]);
}

void main()
{
        EA=1;
        EX0=1;
        ET0=1;
        TMOD=0x01;
        TH0=-50000/256;
        TL0=-50000%256;
        TR0=0;
        Init_LCD();
        while(1)
        {
           scankey();
           display();
        }
}


作者: skcxks    時間: 2019-1-7 00:13
哪里出錯了嗎?為什么在仿真上面程序能夠跑起來,但是實物焊接出來,顯示屏一是只亮背光,二是只有一個一字出現,是延時出錯了,還是對比度的可調電阻出錯?
作者: yzwzfyz    時間: 2019-1-7 07:51
這就是“仿”的真諦。
與你的硬件相關。硬件未必與“仿”的完全一樣。
需要你仔細研讀硬件的手冊,找出區別之所在。
作者: 楊雪飛    時間: 2019-1-7 08:38
這是1602顯示,看描述應該重點檢查接線,或者換LCD,不像是對比度電阻的問題。不過首先調整一下對比度電阻,我沒用可調,一般120Ω電阻接VSS既可,試了多塊LCD這個電阻值基本都能達到最佳狀態。對比度沒有問題那就是接線不良。另外也見程序不通用的1602,極少,不知道你遇得上了不是。建議先用最簡例程點屏正常了再試程序。
作者: 笑天我    時間: 2019-1-7 15:08
我之前也遇到過,我將P0口接了上拉電阻,隨便將可調電阻重新接了一下就好了





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品视频导航 | 中文字幕一区二区三区四区 | 国产1页| 日韩欧美国产精品 | 播放一级毛片 | 亚洲精品一区二三区不卡 | 北条麻妃99精品青青久久 | 91亚洲国产成人精品一区二三 | 中文字幕亚洲视频 | 欧美综合久久久 | 岛国午夜 | 国产一区二区三区在线 | 欧美精品久久久 | 一区二区三区 在线 | 另类专区成人 | 一级片在线观看 | 国产精品99久久久久久动医院 | 草比网站 | 中文字幕一区二区三区不卡 | 三级特黄特色视频 | 久久久久网站 | 美女久久 | 成人一级毛片 | 欧美亚洲视频在线观看 | 国产亚洲精品精品国产亚洲综合 | 九九亚洲| 蜜臀网 | 99精品欧美一区二区三区综合在线 | 99精彩视频 | 一级毛片免费完整视频 | 欧美久久免费观看 | 国产成人精品一区二区 | 欧美精品第三页 | 亚洲人在线 | 国产精品一区二区精品 | 欧美亚洲国产日韩 | 国产精品一区久久久 | 男人的天堂在线视频 | 欧美午夜一区 | 中文字幕国产视频 | 青青久久av北条麻妃海外网 |