标题: 用GY-25模块1602显示屏总是无显示,哪位大佬能教一下 [打印本页]

作者: QWQWD    时间: 2019-3-15 18:40
标题: 用GY-25模块1602显示屏总是无显示,哪位大佬能教一下

代码:
//  GY-25
//  ?????????STC89C52
//  ????  11.0592 M
//  ???????LCD1602
//  ???????9600
#include<REG52.H>
#include<math.h>       //Keil library  
#include<stdio.h>      //Keil library
#include<INTRINS.H>
#define uchar unsigned char
#define uint  unsigned int

//********???????*****************************
uchar   BUF[10];          //?????????
uchar   cnt=0;           //?????????????
uchar   sign=0;
int YPR[3];
//sbit  FM=P2^3;
//sbit  LED1=P0^1;
//********???庯??*****************************
void    delay(unsigned int k);
void    SeriPushSend(uchar send_data);
void  display(void);
//*********************************************
//?????ж?
void serial_serve(void) interrupt 4
{
  if(RI==1){         //?ж???
     RI=0;
    BUF[cnt]=SBUF;
  cnt++;        //???????
    if(cnt==8)                //
    {   
     cnt=0;                 //
     sign=1;
    }
  }

}
//*********************************************
//????????
//9600 bps @ 11.059 MHz
void init_uart()
{
TMOD=0x21;   
TH1=0xfd;   
TL1=0xfd;   
SCON=0x50;
PS=1;      //?????ж?????????????
TR0=1;    //????????   
TR1=1;
ET0=1;     //???????0?ж?   
ES=1;
}
//**********???????***************
void delay(unsigned int k)
{      
unsigned int i,j;   
for(i=0;i<k;i++)
{   
for(j=0;j<121;j++)   
{;}
}      
}                  
//*********???????????******************
void  SeriPushSend(uchar send_data)
{
    SBUF=send_data;  
while(!TI);TI=0;   
}
//*************************************
void dis_play(int num)
{ // LED1=0;
if(num<0)
{
  num=-num;
  SeriPushSend('-');
}
else
  SeriPushSend('+');
SeriPushSend(0x30|(num/10000));
SeriPushSend(0x30|(num%10000/1000));
SeriPushSend(0x30|(num%1000/100));
SeriPushSend(0x2e);
SeriPushSend(0x30|(num%100/10));
SeriPushSend(0x30|(num%10));
SeriPushSend(',');
}


//*******************???????????**********************
void display(void)
{
  
  if(sign){
         sign=0;
      if(BUF[0]==0XAA&&BUF[7]==0X55){                         //???ж?   
     
         YPR[0]=(BUF[1]<<8|BUF[2]);  
         YPR[1]=(BUF[3]<<8|BUF[4]);
         YPR[2]=(BUF[5]<<8|BUF[6]);
     
   SeriPushSend('#');
      SeriPushSend('Y');
      SeriPushSend('P');
      SeriPushSend('R');
      SeriPushSend('=');
   
      dis_play(YPR[0]);
   dis_play(YPR[1]);
      dis_play(YPR[2]);  
   
   SeriPushSend(0X0d);
      SeriPushSend(0X0a);
   //if(YPR[0]*100+YPR[1]*10+YPR[2]>30)
   //{
   // FM=0;
  // }   
        }
   }  
}
//***************************************
//??????
void main()
{
   delay(2000);                                               //???  
   init_uart();                                               //?????????
   EA=1;                                                      //?????ж?
   cnt=0;
   SeriPushSend(0XA5);
   SeriPushSend(0X52);                                        //????1???????????????
   while(1){
   display();                                             
   }                                                           //end while
}



作者: 微小苛    时间: 2019-3-15 21:03
你的错误是很明显的,建议你到坛子里面去看一下视频教程,一看你就会明白!
作者: linguangfu    时间: 2019-4-1 22:07
微小苛 发表于 2019-3-15 21:03
你的错误是很明显的,建议你到坛子里面去看一下视频教程,一看你就会明白!

请问能不能点出错误在哪里?

作者: 雷雷的小头    时间: 2019-10-21 22:01
请问楼主用GY25的问题解决了么




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1