• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: G2553  

资源简介

G2553 12864的程序 很有用的 已测

资源截图

代码片段和文件信息

/*
时间:2012-6-30
作者:蔡能
注释:
    这个程序能够实现LCD12864的有ASCII码的数据输入,而汉字还没有解决!!
修改:2012-7-1   1:43
    已经解决汉字的输入,没有什么特别的,就是注意输入法的切换~~~中文的;和英文的
    ;是不同的。
*/

#include “msp430g2553.h“
#define uchar unsigned char
/*
#define CS P2.2;
#define SID P2.1;
#define CLCLK P2.0;
*/
#define CS_1  P2OUT|=0x04;//注意位的操作
#define CS_0  P2OUT&=~0x04;
#define SID_1 P2OUT|=0x02;
#define SID_0 P2OUT&=~0x02;
#define CLK_1 P2OUT|=0x01;
#define CLK_0 P2OUT&=~0x01;
#define nop _NOP();
char tab[]={‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘a‘‘b‘‘c‘‘d‘‘e‘‘f‘};
//#define nop   __no_operation();//可以用这个代替的
void W_str(uchar xuchar yuchar *s);
void write_com(uchar x);
void write_data(uchar x);
void write_string(uchar xuchar yuchar *s);
void delay(uchar z)
{
uchar xy;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}

void W_8bits(uchar W_bits)
{
  uchar itemp;
  for(i=0;i<8;i++)
  {
    temp=W_bits;
    temp<<=i;
    if((temp&0x80)==0)
    {
      SID_0;
      nop;
      CLK_1;
      nop;
      nop;
      CLK_0;
      nop;
      SID_0;
    }
    else
    {
      SID_1;
      nop;
      CLK_1;
      nop;
      nop;
      CLK_0;
      nop;
      SID_0;
    }
  }
}
/*
  rw=1  则表示读出
  rw=0  则表示输入
  rs=1  则表示写数据
  rs=0  则表示写命令
  W_byte(00x)写命令x;
  W_byte(01y)写数据y;
*/
void W_byte(uchar rwuchar rsuchar W_data)
{
  uchar H_dataL_datas_id=0xf8;
  if(rw==0)
  {
    s_id&=~0x04;
  }
  else
  {
    s_id|=0x04;
  }
  if(rs==0)
  {
    s_id&=~0x02;
  }
  else
    {
      s_id|=0x02;
    }
  H_data=W_data;
  H_data&=0xf0;
  L_data=W_data;
  L_data&=0x0f;
  L_data<<=4;
  CS_1;
  W_8bits(s_id);
  W_8bits(H_data);
  W_8bits(L_data);
  CS_0;
}
void lcdinit()
{

  delay(10);
  W_byte(000x38);

评论

共有 条评论