打印

武汉中显SDW6448液晶屏串口通讯问题

[复制链接]
1342|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhengxinydc|  楼主 | 2015-10-29 11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用天祥电子PIC TX-5A学习板和武汉中显液晶屏进行串口通讯,怎么试屏上的默认显示都没有反应,哪位朋友有武汉中显的使用经验能分享一下吗?先谢谢了!
沙发
yklstudent| | 2015-10-29 12:49 | 只看该作者
1、确认接线;
2、确认波特率;
3、确认通信协议;
还不行就找对方厂家吧

使用特权

评论回复
板凳
zhengxinydc|  楼主 | 2015-10-29 20:07 | 只看该作者
本帖最后由 zhengxinydc 于 2015-10-29 22:00 编辑

今天下午和厂家联系了,给了些程序,根据这些我写了下面的程序,但是屏还是没有反应,用PICKIT3设断点看,发现主程序执行完初始化程序直接就跳到while(1);程序里面去了,中间的程序根本就没有执行。盼朋友们帮我分析分析。谢谢!
#include<pic.h>
#define uint unsigned int
#define uchar unsigned char
#ifndef u8
#define u8 unsigned char
#endif

#ifndef u16
#define u16 unsigned int
#endif

#ifndef u32
#define u32 unsigned long
#endif

__CONFIG(0X1939);
void init();
void txbyte ( u8 Byte );
u8 recieve_byte ( void );
void tx8p (u8 *P,u8 Size);
void VIEWTECH_00();
void VIEWTECH_40(u16 FC,u16 BC);
void VIEWTECH_52(void);
void VIEWTECH_5E (void);
void VIEWTECH_5F_P(u8 PWM_T);
void VIEWTECH_5F();
void VIEWTECH_E0 (u8 Bode_Set,u8 Para1, u8 Para2);

void main()
{
    init();
    VIEWTECH_00();
    VIEWTECH_5E (void);
    VIEWTECH_52(void);
    while(1);
}
void init()
{
         TRISA=0;
         PORTA=0XFF;
         TXSTA=0x24;
         RCSTA=0X90;
         SPBRG=25;
         GIE=0;
         PEIE=1;
         RCIE=1;
}

/****************************************************************************
*  名    称: send_byte ( )
*  功    能:  串口发送单个字节
*  入口参数:  有      
*  出口参数:  无
****************************************************************************/
void txbyte ( u8 Byte )
{
        TXREG = Byte ;
        while(!TRMT);
        TRMT=0;
}


/****************************************************************************
*  名    称:  recieve_byte ( )
*  功    能:  串口接收一个字节数据
*  入口参数:  无      
*  出口参数:  有
****************************************************************************/
u8 recieve_byte ( void )
  {
    while(!RCIF);
    RCIF=0;
        return RCREG;
  }

/****************************************************************************
*  名    称:  tx8p ( )
*  功    能:  串口发送字符串,Size是字符串的长度
*  入口参数:  有      
*  出口参数:  无
****************************************************************************/

void tx8p (u8 *P,u8 Size)
{
        u8 i;
        for(i=0;i<Size;i++)
                txbyte(*(P+i));
}

/****************************************************************************
*  名    称:  VIEWTECH_00()
*  功    能:  联机测试指令
*  入口参数:  无      
*  出口参数: AA 00 OK_V*.* P1 P2 P3 Pic_ID CC 33 C3 3C
              OK_V*.*,*.*是 SDW 系列的当前软件版本;
P1  是显示屏分辨率(具体参数请参考 0xE0  指令)
P2  是当前用户所设置的串口波特率;
P3  是触摸屏按键配置参数;
Pic_ID 是当前显示图片的 ID;
****************************************************************************/
void VIEWTECH_00()
{
        txbyte(0xAA);
        txbyte(0x00);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}
/****************************************************************************
*  名    称:  VIEWTECH_40()
*  功    能:  联机测试指令
*  入口参数:  FC  前景色调色板
               BC  背景色调色板         
*  出口参数: 无
****************************************************************************/
void VIEWTECH_40(u16 FC,u16 BC)
{
        txbyte(0xAA);
        txbyte(0x40);
        txbyte((FC>>8)&0xff);
        txbyte(FC&0xff);
        txbyte((BC>>8)&0xff);
        txbyte(BC&0xff);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}

/****************************************************************************
*  名    称:  VIEWTECH_52()
*  功    能:  清屏
****************************************************************************/
void VIEWTECH_52(void)
{
        txbyte(0xAA);
        txbyte(0x52);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}


/****************************************************************************
*  名    称:  VIEWTECH_5E()
*  功    能:  关闭背光

****************************************************************************/
void VIEWTECH_5E (void)
{
        txbyte(0xAA);
        txbyte(0x5E);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}
/****************************************************************************
*  名    称:  VIEWTECH_5F()
*  功    能:  背光亮度调整

****************************************************************************/
void VIEWTECH_5F_P(u8 PWM_T)
{
        txbyte(0xAA);
        txbyte(0x5F);
        if(PWM_T<0x63)
         txbyte(PWM_T);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}
/****************************************************************************
*  名    称:  VIEWTECH_5E()
*  功    能:  背光打开最亮

****************************************************************************/
void VIEWTECH_5F()
{
        txbyte(0xAA);
        txbyte(0x5F);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}
/****************************************************************************
*  名    称:  VIEWTECH_E0()
*  功    能:  工作模式设置

******************************************************************************/
void VIEWTECH_E0 (u8 Bode_Set,u8 Para1, u8 Para2)        
{        
        txbyte(0xAA);
        txbyte(0xE0);
        txbyte(Bode_Set);
        txbyte(Para1);
        txbyte(Para2);
        txbyte(0xCC);
        txbyte(0x33);
        txbyte(0xC3);
        txbyte(0x3C);
}

使用特权

评论回复
地板
yklstudent| | 2015-10-29 21:17 | 只看该作者
void main()
{
    init();
        void VIEWTECH_00();
        void VIEWTECH_5E (void);
        void VIEWTECH_52(void);
    while(1);
楼主需要先把C语言恶补下

使用特权

评论回复
5
zhengxinydc|  楼主 | 2015-10-29 22:02 | 只看该作者
失误失误!C语言刚学习,还不是很熟悉,直接把下面的拷贝过来了,让大家见笑了!

使用特权

评论回复
6
zhengxinydc|  楼主 | 2015-10-29 22:27 | 只看该作者
程序经过修改,屏有反应了。谢谢yklstudent !

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

33

帖子

0

粉丝