📄 contrast.c
字号:
/****************************************************
公司: 三扬科技
作者: SUNYUNGCO
日期: 2004年8月17日
****************************************************/
#include <string.h>
#include "..\inc\44b.h"
#include "..\inc\44blib.h"
#include "..\inc\contrast.h"
/*************************************************
LCD的对比度电压采用数字电位器进行调节
控制信号:VCLK,VDIN,VSTRB
对应的CPU控制口线:VCLK-GPC0,VDIN-GPC1,VSTRB-GPC2
*************************************************/
/*************************************************
函数名: SetLCD_Bias
功能: 根据输入参数值调整LCD对比度电压
参数值范围: 0-15
*************************************************/
void SetLCD_Bias(unsigned char Value)
{
unsigned char i,k;
unsigned char SendByte;
i=Value&0x0f; //Value:输入参数值
SendByte=120+i*5;
rPCONC = (rPCONC & 0xffffff00)|0x00000015; //GPC0-2输出
rPUPC=(rPUPC&0xf8); //使能上拉
rPDATC=rPDATC|0x0001; //GPC0=1
Delay1uS();
Delay1uS();
rPDATC=rPDATC|0x0004; //GPC2=1
Delay1uS();
Delay1uS();
rPDATC=rPDATC&0xfffb; //GPC2=0
Delay1uS();
Delay1uS();
rPDATC=rPDATC&0xfffe; //GPC0=0
Delay1uS();
for(i=0;i<8;i++) //写8位数据,输入数据为0-255,256级
{
k=SendByte&0x80;
k=k>>7;
SendByte=SendByte<<1;
if(k)
rPDATC=rPDATC|0x0002; //GPC1=1
else
rPDATC=rPDATC&0xfffd; //GPC1=0
Delay1uS();
rPDATC=rPDATC|0x0001; //GPC0=1
Delay1uS();
Delay1uS();
Delay1uS();
rPDATC=rPDATC&0xfffe; //GPC0=0
}
Delay1uS();
rPDATC=rPDATC&0xfffe; //GPC0=0
Delay1uS();
rPDATC=rPDATC|0x0004; //GPC2=1
Delay1uS();
Delay1uS();
Delay1uS();
rPDATC=rPDATC&0xfffb; //GPC2=0
Delay1uS();
Delay1uS();
}
/*************************************************
函数名: LCD_Bias_Reset
功能:
*************************************************/
void LCD_Bias_Reset(void)
{
rPDATC=rPDATC&0xfffb; //GPC2=0
Delay1uS();
rPDATC=rPDATC|0x0001; //GPC0=1
Delay1uS();
rPDATC=rPDATC|0x0004; //GPC2=1
Delay1uS();
Delay1uS();
Delay1uS();
rPDATC=rPDATC&0xfffb; //GPC2=0
Delay1uS();
rPDATC=rPDATC&0xfffe; //GPC0=0
}
/*****************************************************
函数名: Test_Con
功 能: 数字电位器测试
*****************************************************/
void Test_Con(void)
{
int i;
Uart_Printf("[Running change contrast value(0--15)]\n");
i=Uart_GetIntNum_GJ();
LCD_Bias_Reset();
SetLCD_Bias(i); //LCD对比度调节
Uart_Printf("contrast value=%d,\n",i);
Uart_TxEmpty(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -