📄 user_yjctrl.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 + -