搜索
bottom↓
回复: 5

12864的问题

[复制链接]

出0入0汤圆

发表于 2011-11-19 01:09:50 | 显示全部楼层 |阅读模式
void writecom(uchar com)//写命令
{
  uchar lcdtemp=0;
  RS_L;
  RW_H;
  LCD_IN;
  do
  {
    EN_H;
    _NOP();
    lcdtemp=LCD2MCU_Data;
    EN_L;
  }
  while(lcdtemp & 0x80);//判断忙
  LCD_OUT;
  RW_L;
  MCU2LCD_Data=com;
  EN_H;
  _NOP();
  EN_L;
}

void writebyte(uchar dat)//写数据函数
{
  uchar lcdtemp=0;
  RS_L;
  RW_H;
  LCD_IN;
  do
  {
    EN_H;
    _NOP();
    lcdtemp=LCD2MCU_Data;
    EN_L;
  }
  while(lcdtemp & 0x80);
  LCD_OUT;
  RW_L;
  RS_H;
  MCU2LCD_Data=dat;
  EN_H;
  _NOP();
  EN_L;
}

void init()//初始化
{
  P2DIR=0X07;
  delay_50ms(4);
  writecom(0x30);
  delay_50us(6);
  writecom(0x02);
  delay_50us(6);
  writecom(0x0c);
  delay_50us(6);
  writecom(0x01);
  delay_50us(6);
  writecom(0x06);
  delay_50us(6);
  writecom(0x80);
}



void main()
{
  WDTCTL = WDTPW + WDTHOLD;
  init();
  writecom(0x90);
  writebyte(0x55);
  LPM4;
}
麻烦哪位大侠看看哪里出错了啊,用的YB12864ZB模块液晶,3.3V电源,屏幕上什么都没有啊,

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-11-19 12:52:45 | 显示全部楼层
各位,这程序有木有问题呀,液晶背后贴的说是5V的,但我看说明书.3.3V也是可以的呀,为嘛就是不显示,逻辑分析仪显示时序是对的

出0入0汤圆

发表于 2011-11-27 00:46:23 | 显示全部楼层
//**********************************************************
//函数名称:LCD12864_Write(uchar cmdordata,uchar Data)
//函数功能:写数据或命令道LCD12864                
//形式参数:uchar cmdordata,uchar Data
//行参说明:命令或者数据
//返回参数:无
//使用说明:传送数据或者命令,当cmdordata=0是,传送命令,当cmdordata=1,传送数据.
//**********************************************************
void LCD12864_Write(unsigned char cmdordata,unsigned char Data)  //传送数据或者命令,当cmdordata=0是,传送命令,当cmdordata=1,传送数据.
{
        LCD12864WaitForReady();
        LCD_CLR_EN;
        LCD_CLR_RW;
        if(cmdordata == 0)
        {
                LCD_CLR_RS;
        }
        else
        {
                LCD_SET_RS;
        }        
        LCD12864_Data_POUT = Data;
        LCD_SET_EN;         
        LCD_CLR_EN;
}
//**********************************************************
//函数名称:LCD12864_Read(void)
//函数功能:从LCD12864中读取数据               
//形式参数:无
//行参说明:无
//返回参数:读取的数据
//使用说明:无
//**********************************************************
uchar LCD12864_Read(void)
{
        uchar data;
        LCD12864WaitForReady();
        LCD12864_SetReadData;
        LCD_SET_RS;
        LCD_SET_RW;
        LCD_SET_EN;
        Delayus(1);
        data = LCD12864_Data_PIN;
        LCD_CLR_EN;
        LCD12864_SetWriteData;
        return data;
}
这个是我以前写过的430F2618的,都能正常读写的
这是主函数中测试的代码:
WDTCTL = WDTPW + WDTHOLD;
unsigned char  ReadOldH,ReadOldL;
P5DIR |= 0x10;
  P5SEL |= 0x10;//用的是P5口
P3DIR = 0xFF;//控制口
LCD12864_Init();
LCD12864_Clear();
  LCD12864_ClearDDRAM();

  LCD12864_Write(COMMAND,0x80);
  LCD12864_Read();
  ReadOldH = LCD12864_Read();
  ReadOldL = LCD12864_Read();
  LCD12864_Write(COMMAND,0x86);
  LCD12864_Write(DATA,ReadOldH);
  LCD12864_Write(DATA,ReadOldL);
while(1);

出0入0汤圆

发表于 2011-12-1 20:27:02 | 显示全部楼层
你发这样的问题估计不会有人回答你,你应该将出问题的某段给出来,并说明运行的现象。

出0入0汤圆

发表于 2011-12-1 20:27:47 | 显示全部楼层
你的程序语言,命名方式不规范

出0入0汤圆

发表于 2011-12-8 09:22:32 | 显示全部楼层
回复【2楼】duandiyinfen  
-----------------------------------------------------------------------

这个程序我曾经写过类似的,应该错不了!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-18 17:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表