1601.c

来自「采用AD9851设计的一个产生50M 方波」· C语言 代码 · 共 119 行

C
119
字号
/************************************************************************
*文件名:1601。C                                                        *
*功能:  1601LCD驱动程序。                                              *
*作者:  杨乐                                                           *
*日期:  2009年1月21日                                                  *
************************************************************************/
#include<REG52.h>
#include<intrins.h>
#include<string.h>
#include"lcd.h"
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  write_data                                                   *
*功能:    写入数据                                                     *
*入口参数:无                                                           *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void write_data(unsigned char i)/*写入数据*/
{
  P0 = i;
  RS =1;
  RW =0;
  E =0;
  read_busy();
  E =1;
}
/************************************************************************
*作者:    杨乐                                                         *
*函数名:   initi                                                        *
*功能:    LCD初始化                                                    *
*入口参数:无                                                           *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void initi(void)
{
  unsigned char c[] = {0x01,0x38,0x0c,0x06};
  unsigned char i;
  for(i=0;i<4;i++)
   write_cmd(c[i]);
}
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  write_cmd                                                    *
*功能:    写入指令                                                     *
*入口参数:无                                                           *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void write_cmd(unsigned char i)
{
     P0 = i;
     RS =0 ;
     RW =0;
     E =0;
     read_busy();
     E =1;
}
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  read_busy                                                    *
*功能:    忙判别                                                       *
*入口参数:无                                                           *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void read_busy(void)
{ 
  do
  { 
     P0 &= 0xff;
     RS =0;
     RW =1;
     E =0;
     delay(50);
     E =1;
  }
    while (p0_7 ==1);
}
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  delay                                                        *
*功能:    延时                                                         *
*入口参数:unsigned char x                                              *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void delay(unsigned char x)
{ 
     unsigned char j;
     while((x--)!=0) 
	 for(j=0;j<150;j++);
}
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  display                                                      *
*功能:    在指定位置显示字符                                           *
*入口参数:unsigned char add,unsigned char *p                           *
*返回值:  无                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
void display(unsigned char add,unsigned char p[])
{
  unsigned char i=0; 
   write_cmd(add);
   while(p[i]!='\0')
   {  
     write_data(p[i]);
    // write_cmd(0x10);
     i++;
    }
   
}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?