⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 数字频率合成器DDS9851的驱动程序实验
💻 C
字号:
//===============================================================
//LCM.c开始
//================================================================
#include "spce061a.h"

#define  cs_lcd    IOB13
#define  dat_lcd   IOB14
#define  clk_lcd   IOB15


//==========================================================
//函数名称:void LCM_Write_Comm(unsigned int Comm)
//函数作用:写命令到LCM
//输入参数:要写的数据,高八位必需为零
//日期:2007.01.31
//RS=0,RW=0,E=高脉冲
//==========================================================
void LCM_Write_Comm(unsigned int Comm)
{   
	unsigned int i;
	unsigned int ADS;
	unsigned int iob;
	unsigned int temp;
	ADS=0xf8;
	cs_lcd=1;   				//cs=1
	for(i=8;i>0;i--)
	{
		clk_lcd=0;                    //SCLK=0    
		if(ADS&0x0080)
  			dat_lcd=1;
		else
		    dat_lcd=0;
		clk_lcd=1; 					//CLK=1   
		ADS=ADS<<1;
	}
	*P_Watchdog_Clear=0x0001;
	ADS=Comm<<8;
	ADS=ADS&0xf000;
	temp=Comm<<4;
	temp&=0x00f0;
	ADS=ADS|temp;	
	for(i=16;i>0;i--)
	{    
		clk_lcd=0; 		                    //SCLK=0
		if(ADS&0x8000)
  			dat_lcd=1;
		else
		    dat_lcd=0;
		clk_lcd=1; 							//CLK=1   
		ADS=ADS<<1;
	}
//	cs_lcd=0; 
	//ioa=*P_IOB_Data;                         //CS=0
	//ioa=ioa&Clear_LCM_CS;
	//*P_IOB_Data=ioa; 
	if(Comm==0x01)
	{
		for(i=50;i>0;i--)
		{
			*P_Watchdog_Clear=0x01;
		}
	}
	else
	{
		for(i=10;i>0;i--)
		{
			*P_Watchdog_Clear=0x01;
		}
	}
}
  
//==========================================================

//========================================================== 
//函数名称:void LCM_Write_Data(unsigned int Data)
//函数作用:写数据到LCM
//输入参数:要写的数据,高八位必需为零
//日期:2007.01.31
//RS=1,RW=0,E高脉冲
//==========================================================
void LCM_Write_Data(unsigned int Data)
{
	unsigned int i;
	unsigned int ADS;
	unsigned int iob;
	unsigned int temp;
	ADS=0xfa;
	cs_lcd=1;			                        //CS=1
	for(i=8;i>0;i--)
	{       
		clk_lcd=0;                    //SCLK=0    
		if(ADS&0x0080)
  			dat_lcd=1;
		else
		    dat_lcd=0;
		clk_lcd=1; 					//CLK=1   
		ADS<<=1;
	}
	*P_Watchdog_Clear=0x0001;
	ADS=Data<<8;
	ADS=ADS&0xf000;
	temp=Data<<4;
	temp=temp&0x00f0;
	ADS=ADS|temp;
	for(i=16;i>0;i--)
	{
		clk_lcd=0; 		                    //SCLK=0
		if(ADS&0x8000)
  			dat_lcd=1;
		else
		    dat_lcd=0;
		clk_lcd=1; 							//CLK=1   
		ADS=ADS<<1;
	}
//	cs_lcd=0; 
	//ioa=*P_IOB_Data;                         //CS=0
	//ioa=ioa&Clear_LCM_CS;
	//*P_IOB_Data=ioa; 
}

//===============================================================
//
//LCM.c结束
//
//===============================================================

⌨️ 快捷键说明

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