导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→1335初始化的问题!!

* 90417: 1335初始化的问题!!

   seaman117 
seaman117发表的帖子 

 1335初始化的问题!!
关于1335f的驱动程序,一直点不亮。
硬件检查了没有问题,采用的是SM89156A的IO驱动方式驱动1335f。
主板和液晶屏的连接线大概25cm。

采用IO驱动方式,是不是可以不用管1335f的地址了?
/*
-------------------------------------------------------
I/O configure:
DB0-DB7-----------P0
A0------------------P2.4
RD-----------------P3.7
WR-----------------P3.6
CS-----------------P2.5
RST----------------P2.7
-------------------------------------------------------
*/

#include   <reg51.h>  

#define system_set  0x40
#define sleep_in  0x53
#define disp_on   0x59
#define disp_off  0x58
#define scroll   0x44
#define scrform   0x5d
#define cgram_adr  0x5c
#define csrdir_right 0x4c
#define csrdir_left  0x4d
#define csrdir_up  0x4e
#define csrdir_down  0x4f
#define hdot_scr  0x5a
#define ovlay   0x5b
#define csrw   0x46
#define csrr   0x47
#define mwrite   0x42
#define mread   0x43

#define databus P0

sbit a0 = P2^4;         //a0    ------------->   P2.4
sbit read = P3^7;       //read  ------------->   P3.7
sbit write = P3^6;      //write ------------->   P3.6
sbit cs = P2^5;         //cs    ------------->   P2.5
sbit rst = P2^7;        //read  ------------->   P2.7

sbit P2_0 =P2^0 ;


unsigned char code system_set_ini[8] = {0x34,0x87,0x07,0x27,0x4a,0xf0,0x28,0x00};
unsigned char code scroll_ini1[6] = {0x00,0x00,0xef,0x60,0x09,0xf0};
unsigned char code scroll_ini2[6] = {0xb0,0x04,0x1e,0x60,0x09,0xf0};
unsigned char code scrform_ini[2] = {0x07,0x86};
unsigned char code hdot_scr_ini[2] = {0x00,0x0b};
unsigned char code ovlay_ini[1] = {0x01};
unsigned char code disp_on_ini[1] = {0x16};
unsigned char code disp_off_ini[1] = {0x00};
unsigned char code cur_set_ini[2] = {0x28,0x00};
unsigned char code cur_set_ini1[2] = {0x00,0x00};
unsigned char code cur_set_ini2[2] = {0xb8,0x04};
unsigned char code cur_set_ini3[2] = {0x60,0x09};
unsigned char code null[1] = {0x00};

unsigned char code fill[1]={0xff};


void delay(int t)
{
  int i=0;
  for(i=0;i  <t;i++);
}

void long_delay(int t)
{
  int i=0;
 int n;
  for(i=0;i  <t;i++)
 {
  for(n=0;n  <1000;n++);
  }

}

void sed1335_write(char commandcode, unsigned char code *parameter,int n)
{
 int i=0;

  a0=1;
 read=1;
  databus=commandcode;
  write=0;
  write=1;

  for(i=0;i  <n;i++)
  {
    a0=0;
  read=1;
    databus=parameter[i];
    write=0;
    write=1;
 }
}


void clr_scr()
{
 int i=0;
 sed1335_write(csrdir_right,null,1);
 sed1335_write(csrw,cur_set_ini1,2);
  a0=1;
 read=1;
  databus=mwrite;
  write=0;
  write=1;
 
 for(i=0;i  <28800;i++)
 {
    a0=0;
  read=1;
    databus=0x00;
    write=0;
    write=1;
  }

 sed1335_write(csrw,cur_set_ini1,2);
}

/*******************************************************************
* sed1335 initial *
********************************************************************/
void lcd_ini()
{
 sed1335_write(system_set,system_set_ini,8);
 sed1335_write(scroll,scroll_ini1,6);
 sed1335_write(scrform,scrform_ini,2);
 sed1335_write(hdot_scr,hdot_scr_ini,2);
 sed1335_write(ovlay,ovlay_ini,1);
 sed1335_write(csrw,cur_set_ini1,2);
 sed1335_write(csrdir_right,null,1);
 clr_scr();
 sed1335_write(disp_on,disp_on_ini,1);
 sed1335_write(csrw,cur_set_ini3,2);
 //sed1335_write(mwrite,box,9600);
}


/***************************************************************
* main program *
****************************************************************/
void main()
{
 int i=0;
 int j=0;
 int t=0;
 int k;
 long_delay(10);
 rst=0;
 long_delay(30);
 rst=1;
 long_delay(10);
 cs=0;

 lcd_ini();
 
 clr_scr();
  
 while(1)
 {
  for(k=0;k  <40000;k++) ;
  P2_0 = 0 ;
  for(k=0;k  <40000;k++) ;
  P2_0 = 1 ;
  sed1335_write(csrw,cur_set_ini3,2);
  for(j=0;j  <9600;j++)
  {
   sed1335_write(mwrite,fill,1);
  }
  long_delay(200);

 }
}


发表时间:2006年3月21日14:46:28

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:大侠能给俺一份吗? 谢谢! zchq111@163.com /P P /P
[下一篇帖子]:我有EM78P156E的源程序我有的,我的邮箱;lnhszy@163.com