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

📄 user_yjctrl.c

📁 sed1335写数据接口程序实现。找RA8835更换
💻 C
字号:
//文件名:user_yjctrl.c
//作者:drunkwolf
//日期:2006.12.18


#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File

Bool yjpage;//液晶显示区

void sub_yjinit(void)
{
	yjpage=0;
	//IO引脚设置
	GpioMuxRegs.GPBMUX.all=0x0000;	//IO口B作为通用IO使用
	GpioMuxRegs.GPBDIR.all=0xffff;	//输出模式

	GpioDataRegs.GPBCLEAR.lcd.GPIOB_DIR=1;//4245方向设为输出
	GpioDataRegs.GPBCLEAR.lcd.GPIOB_DATA=0xff;//清数据
	GpioDataRegs.GPBSET.lcd.GPIOB_A0=1;
	GpioDataRegs.GPBSET.lcd.GPIOB_CS=1;
	GpioDataRegs.GPBSET.lcd.GPIOB_RD=1;
	GpioDataRegs.GPBSET.lcd.GPIOB_WR=1;
	GpioDataRegs.GPBSET.lcd.GPIOB_RES=1;
	
	//复位液晶
	GpioDataRegs.GPBCLEAR.lcd.GPIOB_RES=1;
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	asm(" RPT #200 || NOP");
	GpioDataRegs.GPBSET.lcd.GPIOB_RES=1;
	asm(" RPT #200 || NOP");
	//初始化	
	sub_yjwrite(0x40,1);	//指令,SYSTEMSET	
	sub_yjwrite(0x30,0);	//参数	
	sub_yjwrite(0x87,0);	//参数	
	sub_yjwrite(0x07,0);	//参数	
	sub_yjwrite(0x28,0);	//参数	
	sub_yjwrite(0x42,0);	//参数	
	sub_yjwrite(0xf0,0);	//参数	
	sub_yjwrite(0x28,0);	//参数	
	sub_yjwrite(0x00,0);	//参数
	sub_yjwrite(0x44,1);	//指令,SCROLL	
	sub_yjwrite(0x00,0);	//参数	
	sub_yjwrite(0x00,0);	//参数	
	sub_yjwrite(0xf0,0);	//参数	
	sub_yjwrite(0x80,0);	//参数	
	sub_yjwrite(0x25,0);	//参数	
	sub_yjwrite(0xf0,0);	//参数	
	sub_yjwrite(0x30,0);	//参数	
	sub_yjwrite(0x2a,0);	//参数	
	sub_yjwrite(0xe0,0);	//参数	
	sub_yjwrite(0x2e,0);	//参数
	sub_yjwrite(0x5a,1);	//指令,HDOT SCR	
	sub_yjwrite(0x00,0);	//参数
	sub_yjwrite(0x5b,1);	//指令,OVLAY	
	sub_yjwrite(0x1C,0);	//参数	
	sub_yjwrite(0x59,1);	//指令,DISP ON/OFF	
	sub_yjwrite(0x04,0);	//参数	
	sub_yjwrite(0x5D,1);	//指令,CSRFORM	
	sub_yjwrite(0x07,0);	//参数	
	sub_yjwrite(0x8F,0);	//参数	
	sub_yjwrite(0x46,1);	//指令,CSRW	
	sub_yjwrite(0x00,0);	//参数	
	sub_yjwrite(0x00,0);	//参数	
	sub_yjwrite(0x4c,1);	//指令,CSR
}

void sub_yjwrite(Uint16 wrdata,Bool cmddata)
{
	GpioDataRegs.GPBCLEAR.lcd.GPIOB_CS=1;	//片选
//	asm(" RPT #10 || NOP");
	GpioDataRegs.GPBDAT.lcd.GPIOB_A0=cmddata;//指令/参数
//	asm(" RPT #10 || NOP");
	GpioDataRegs.GPBSET.lcd.GPIOB_RD=1;		//不允许读信号
//	asm(" RPT #10 || NOP");
	GpioDataRegs.GPBCLEAR.lcd.GPIOB_WR=1;	//允许写信号
//	asm(" RPT #10 || NOP");
	GpioDataRegs.GPBDAT.lcd.GPIOB_DATA=wrdata;//送出数据	
//	asm(" RPT #10 || NOP");
	GpioDataRegs.GPBSET.lcd.GPIOB_WR=1;		//不允许写信号
//	asm(" RPT #10 || NOP");	
	GpioDataRegs.GPBSET.lcd.GPIOB_CS=1;
//	asm(" RPT #20 || NOP");	
}

void sub_yjdisp(void)
{
	if(yjpage)
	{
		sub_yjwrite(0x59,1);	//指令,DISP ON/OFF	
		sub_yjwrite(0x04,0);	//参数	
	}
	else
	{
		sub_yjwrite(0x59,1);	//指令,DISP ON/OFF	
		sub_yjwrite(0x10,0);	//参数	
	}
	yjpage^=1;
}
void sub_yjdata(Uint16 * dispram)
{
	Uint16 x,y,temp;
	if(yjpage)
	{
		x=0x80;
		y=0x25;
	}
	else
	{
		x=0;
		y=0;
	}
	sub_yjwrite(0x46,1);	//指令,CSRW	
	sub_yjwrite(x,0);	//参数	
	sub_yjwrite(y,0);	//参数 
	sub_yjwrite(0x42,1);
	for(y=0;y<240;y++)
	{
		for(x=0;x<40;x++)
		{
			temp=*dispram;
			temp>>=8;
			sub_yjwrite(temp,0);
			x++;
			temp=*dispram++;
			sub_yjwrite(temp,0);
		}
	}	
}
//endfile-------------------------------------------------------

⌨️ 快捷键说明

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