导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[龙胜]使用的是TIANMA公司的TM128×3



No.66219
作者:龙胜
邮件:lilongsheng1982@sina.com
ID:27668
登陆:3次
文章数:1篇
最后登陆IP:221.232.73.120
最后登陆:2005/6/23 19:57:20
注册:2004/11/14 7:39:59
财富:107
发帖时间:2004/11/14 7:42:25
发贴者IP:221.232.93.22
标题:龙胜:使用的是TIANMA公司的TM128×32AD P1-1的图形液晶显示器,我这样写驱动可以吗?请各位大侠指教一下哦!
摘要:No.66219使用的是TIANMA公司的TM128×32AD P1-1的图形液晶显示器,我这样写驱动可以吗?请各位大侠指教一下哦! /*************************************************************
文件明.Lcd.c
                 实现液晶的驱动,提供显示的基本功能 

  使用的是TIANMA公司的TM128×32AD P1-1的图形液晶显示器
  驱动器为HD61202U

 **************************************************************/
//**********包含头文件***************
#include  <PublicHead.h>  
#include   <Lcd.h>  
//*************端口定义**********************

sbit LCD12832_DI = P3 ^ 4;  //数据或命令危  
//为1表示要显示的数据,为0表示控制数据
sbit LCD12832_RW = P3 ^ 3;  //读写
//为1表示读出,为0表示写入
sbit LCD12832_E = P3 ^ 2;     //使能端,wei0 you xiao
sbit LCD12832_CS = P3 ^ 7;  //片选,wei 1 you xiao//一下订正同此
#define LCD12832_DATA P2  //数据口

void ClearScreen( UNCHAR, UNCHAR, UNCHAR );     //清屏操作
UNCHAR StatusRead();      //读液晶当前状态
void SetX( UNCHAR );      //设置x轴位置,以字符行8个点管理
void SetY( UNCHAR );      //设置y轴位置
void SetStartLine( UNCHAR );      //设置StartLine轴位置
void WriteDisplayData( UNCHAR );  //向RAM写要求显示的数据
UNCHAR ReadDisplayData( UNCHAR );//从RAM读出显示的数据
void SetDisplayOn( void );        //设置显示开
void SetDisplayOff( void );     //设置显示关

/**************************************/

//******设置内部RAM地址指令********
//************************************************
//******设置x轴位置
void SetX( x )                //设置x轴位置,要求W/R=0,D/I=0以字符行管理
UNCHAR x;
{
  UNCHAR h;
  h = StatusRead();         //检测状态
  while ( h & 0x80 );       //此时的wr=1,di=0
  LCD12832_RW = 0;            //此时的wr=0,di=0
  LCD12832_DATA = ( x * 8 ) & 0x0BF;    //写入参数,乘8==>  这样便于以字符行管理
  LCD12832_CS = 1;    //片选,wei 0 you xiao
  LCD12832_E = 0;     //使能端,wei0 you xiao
}
//************************************************
//******设置y轴位置
void SetY( y )                  //设置y轴位置,要求W/R=0,D/I=0
UNCHAR y;
{
  UNCHAR h;
  h = StatusRead();         //检测状态
  while ( h & 0x80 );
  LCD12832_RW = 0;            //此时的wr=0,di=0
  LCD12832_DATA = y & 0x7F;       //写入参数        //写入参数
  LCD12832_CS = 1;    //片选,wei 0 you xiao
  LCD12832_E = 0;     //使能端,wei0 you xiao
}
//************************************************
//******设置开始行
void SetStartLine( StartLine )   //设置StartLine轴位置,要求W/R=0,D/I=0
UNCHAR StartLine;
{
  UNCHAR h;
  h = StatusRead();         //检测状态
  while ( h & 0x80 );
  LCD12832_RW = 0;            //此时的wr=0,di=0
  LCD12832_DATA = StartLine & 0x0FF;  //写入参数  //写入参数
  LCD12832_CS = 1;    //片选,wei 0 you xiao
  LCD12832_E = 0;     //使能端,wei0 you xiao
}
//******设置内部RAM数据读写指令********
//************************************************
//******写液晶,一次一个字节
void WriteDisplayData( W_DisplayData )  //向RAM写要求显示的数据
UNCHAR W_DisplayData;
{
  UNCHAR h;      
  h = StatusRead();         //检测状态
  while ( h & 0x80 );   //此时的wr=0,di=0
  LCD12832_RW = 0;
  LCD12 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:5186毫秒 查询6次