• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: LCD  1/4DUT  4COM  58SEG  

资源简介

VK2C22/VK2C22G 是一款存储器映射和多功能 LCD 控制 / 驱动芯片。该系列芯片显示模式有 176 点 (44×4)VK2C22/VK2C22G 软件配置特性使 得它适用于多种 LCD 应用,包括 LCD 模块和显示子系统。VK2C22/VK2C22G 通过双线双向 I2C 接口与大多数微处理器 / 微控制器进行通信。 VK2C2X系列为I2C介面、RAM mapping的LCD控制暨驱动IC,此系列以先进设计技术降低IC耗电、提升抗杂讯及ESD防护能力。全系列包含VK2C22/VK2C22G、VK2C23/VK2C23G、VK2C24/VK2C24G等。VK2C22已成功获得单相电表客戶的认可及采用,VK2C23及VK2C24适合于点数需求较大的三相电表的应用。

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    Vk16xx.c
  * @author  kevin_guo
  * @version V1.0.0
  * @date    06-30-2014
  * @brief   This file contains all the Vk16xx functions.
  ******************************************************************************
  * @attention
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
#include “global.h“


extern uint8_t selVk16xx_type; 
extern uint8_t Vk16xx_addrbit; 
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define RW_H() Vk16xx_RD_GPIO_PORT ->ODR |=  Vk16xx_WR_PIN
#define RW_L() Vk16xx_RD_GPIO_PORT ->ODR &= ~Vk16xx_WR_PIN

#define CS_H() Vk16xx_CS_GPIO_PORT ->ODR |=  Vk16xx_CS_PIN
#define CS_L() Vk16xx_CS_GPIO_PORT ->ODR &= ~Vk16xx_CS_PIN

#define DATA_H() Vk16xx_DAT_GPIO_PORT ->ODR |=  Vk16xx_DAT_PIN
#define DATA_L() Vk16xx_DAT_GPIO_PORT ->ODR &= ~Vk16xx_DAT_PIN
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
void Nop_Delay(unsigned char ucDat);
/**
  * @brief  Vk16xx clk
  * @param  None 
  * @retval None
  */
void WriteClockVk16xx(void)
{
Nop_Delay(10);
RW_L(); 
Nop_Delay(10);
Nop_Delay(10);
RW_H();
Nop_Delay(10);
}
/**
  * @brief  Write Vk16xx Command
  * @param  None 
  * @retval None
  */
void WriteCommandVk16xx(u8 FunctonCode)
{
u8 Shift = 0x80; 
u8 i;

Nop_Delay(10);
CS_L();    
Nop_Delay(10);
DATA_H();  
WriteClockVk16xx();
DATA_L();  
WriteClockVk16xx();
DATA_L();  
WriteClockVk16xx();

for(i = 0; i < 8; i++) 
{
 if(Shift & FunctonCode) 
 DATA_H(); 
 else 
 DATA_L();   

 WriteClockVk16xx();
 Shift = Shift >> 1;
}
  DATA_L(); 
WriteClockVk16xx(); //发送一个 0 16xx中最后一位 X
  CS_H(); 
Nop_Delay(10);     //CS 片选关  
  DATA_H(); 
Nop_Delay(10);
}
/**
  * @brief  Write Vk16xx Date
  * @param  None 
  * @retval None
  */
void WriteDateVk16xx(u8 Addru8 Dat)
{
u8 i; 
u8 Shift;

if((selvk16xx_type==SEL_VK1621P48)||(selvk16xx_type==SEL_VK1621ABP44)||(selvk16xx_type==SEL_VK1024P16)
||(selvk16xx_type==SEL_VK1056P24)||(selvk16xx_type==SEL_VK1072BP28)||(selvk16xx_type==SEL_VK1072CP28)
||(selvk16xx_type==SEL_VK1088BP32))
Shift = 0x20; //屏蔽高3位 只用5位
else
Shift = 0x40; //屏蔽高1位 只用7位

CS_L(); 
Nop_Delay(10);

DATA_H();  
WriteClockVk16xx();  //101
DATA_L();  
WriteClockVk16xx();
DATA_H();  
WriteClockVk16xx();

for( i = 0; i < vk16xx_addrbit; i++) 
{     
if (Addr & Shift) 
DATA_H(); 
else  
DATA_L();
Nop_Delay(10);
WriteClockVk16xx();
Shift = Shift

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2766  2018-03-19 09:37  vk16xx.h
     文件        9540  2018-03-19 09:37  vk16xx.c
     文件         774  2018-03-19 10:16  VK16XX支持型号.txt

评论

共有 条评论