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

📄 hallcmsplc502b.c

📁 威望公司MP3 + USB MCU 的参考软件
💻 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 + -