📄 hallcmsplc502b.c
字号:
/****************************************************************
* Viaon Technology (Suzhou) Co.,Ltd
*
* Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
* All rights reserved.
*
*
* Filename: hallcmsplc502b.c
*
* Programmer: Greg
*
* Created: 1/2/2008
*
* Description: public functions
*
*
* Change History (most recent first): 2008.1.2
****************************************************************/
#include "utiltypedef.h"
#include "va4010reg.h"
#include "common.h"
#include "hallcm.h"
#include "hallcmsplc502b.h"
#if(DIGITAL_SHOW == DIGITAL_SHOW_LCM)
//Module: 1/33 DUTY, 1/6BIAS
//DUTY Select PINs:DSEL[1:0] = 00 -> DUTY RATIO 1/33, BIAS 1/6 OR 1/5
#if 0
mov a,#0e2h ;inter reset
mov a,#0a2h ;bias=1/9
mov a,#0a1h ;adc=1
mov a,#0c0h ;com scan(reverse)
mov a,#2fh ;power set 111
mov a,#22h ;set 18h
mov a,#0a6h ;all point nomal display
mov a,#0d2h ; //Driving Mode Set
mov a,#01h ; //Mode selection
mov a,#10h ;set column hige 4bit
mov a,#00h ;set column low 4bit
mov a,#40h ;start display line
mov a,#0afh ;disp on
#endif
void halInitSplc502b(void)
{
//the built-in power is being used immediately after turning on the power
//Finish the init sequence in 5ms
//RSTn: L-> Power Stable -> H
#if 0
LCM_RST_OUT();
LCM_RST = 1;
DelayMs(200);
DelayMs(200);
LCM_RST = 0;
DelayMs(200);
DelayMs(200);
DelayMs(200);
LCM_RST = 1;
DelayMs(200);
DelayMs(200);
#endif
//Internal reset
halLCMSPISend(0xe2, FALSE);
//Delay 4ms
DelayMs(4);
//Display off
halLCMSPISend(0xae, FALSE);
//(11) LCD bias setting *2
halLCMSPISend(0xa2, FALSE);
//(8) ADC selection *3
halLCMSPISend(0xa0, FALSE); //0xa0: Normal, 0xa1 Reverse
//(15) Common output state selection *4
halLCMSPISend(0xc0, FALSE); //0xc0: Normal, 0xc8 Reverse
//(16) Power control setting *7
//b2:Booster circuit, b1:Voltage regulator circuit, b0:Voltage follower circuit, 1_ON/0_OFF
halLCMSPISend(0x2f, FALSE);
//17) Setting the built-in resistance radio for regulation of the V5 voltage *5
halLCMSPISend(0x22, FALSE); //0x20 -> 0x27
//Display normal(0xa6)/reverse(0xa7)
halLCMSPISend(0xa6, FALSE);
//Driving Mode Set
halLCMSPISend(0xd2, FALSE);
//Mode selection
halLCMSPISend(0x01, FALSE);
#if 1
//(18) Electronic volume control *6
halLCMSPISend(0x81, FALSE); //mode set
halLCMSPISend(0x10, FALSE); //Register set: 0x01 -> 0x3f
#endif
//Set column high and low 4bits
halLCMSPISend(0x10, FALSE);
halLCMSPISend(0x00, FALSE);
//Set display start line
halLCMSPISend(0x40, FALSE);
//Display on
halLCMSPISend(0xaf, FALSE);
return;
}
void halSetSplc502b(BYTE byStart, BYTE byEnd, BYTE byVal)
{
BYTE i;
while(byStart <= byEnd)
{
halLCMSPIInit();
halLCMSPISend(0xb0+byStart, FALSE);//Page address
halLCMSPISend(0x10, FALSE);//Column address, high 4bits
halLCMSPISend(0x00, FALSE);//Column address, low 4bits;
for(i = 0; i < 128; i++)
//for(i = 0; i < 96; i++)
{
halLCMSPISend(byVal, TRUE);
}
byStart++;
}
//halLCMSPISend(0xaf, FALSE); //Display On(1)/Off(0)
return;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -