📄 hallcmsplc502b.lst
字号:
C51 COMPILER V8.01 HALLCMSPLC502B 04/17/2008 09:54:51 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE HALLCMSPLC502B
OBJECT MODULE PLACED IN .\Debug\hallcmsplc502b.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcm\hallcmsplc502b.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.O
-RC) BROWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;
-.\sd;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\hallcmsplc502b.lst) OBJECT(.\Debug\hallcmsplc502b.obj)
line level source
1 /****************************************************************
2 * Viaon Technology (Suzhou) Co.,Ltd
3 *
4 * Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
5 * All rights reserved.
6 *
7 *
8 * Filename: hallcmsplc502b.c
9 *
10 * Programmer: Greg
11 *
12 * Created: 1/2/2008
13 *
14 * Description: public functions
15 *
16 *
17 * Change History (most recent first): 2008.1.2
18 ****************************************************************/
19
20 #include "utiltypedef.h"
21 #include "va4010reg.h"
22 #include "common.h"
23
24 #include "hallcm.h"
25 #include "hallcmsplc502b.h"
26
27 #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
C51 COMPILER V8.01 HALLCMSPLC502B 04/17/2008 09:54:51 PAGE 2
#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);
C51 COMPILER V8.01 HALLCMSPLC502B 04/17/2008 09:54:51 PAGE 3
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
144
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -