Ht1621b芯片显示屏驱动

关于HT1621b芯片的详细信息可以参考数据手册上的内容:百度文库HT1621b中文资料

CS : 片选输入接一上拉电阻当/CS 为高电平读写HT1621的数据和命令无效串行接口电路复位当/CS 为低电平和作为输入时读写HT1621的数据和命令有效.

WR : WRITE脉冲输入接一上拉电阻在/WR 信号的上升沿 DATA线上的数据写到HT1621.

DATA : 外接上拉电阻的串行数据输入/输出.

以下为芯片驱动程序(STM8单片机):

#include "stm8s.h"
#include "global.h"/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
//显示芯片HT1621引脚定义
#define HT1621_CS_PORT                GPIOC
#define HT1621_CS_PIN                 GPIO_PIN_7
#define Ht1621CsHigh                  (HT1621_CS_PORT->ODR |= (u8)(HT1621_CS_PIN))
#define Ht1621CsLow                   (HT1621_CS_PORT->ODR &= (u8)(~HT1621_CS_PIN))#define HT1621_WR_PORT                GPIOC
#define HT1621_WR_PIN                 GPIO_PIN_6
#define Ht1621WrHigh                  (HT1621_WR_PORT->ODR |= (u8)(HT1621_WR_PIN))
#define Ht1621WrLow                   (HT1621_WR_PORT->ODR &= (u8)(~HT1621_WR_PIN))#define HT1621_DATA_PORT              GPIOC
#define HT1621_DATA_PIN               GPIO_PIN_5
#define Ht1621DataHigh                (HT1621_DATA_PORT->ODR |= (u8)(HT1621_DATA_PIN))
#define Ht1621DataLow                 (HT1621_DATA_PORT->ODR &= (u8)(~HT1621_DATA_PIN))//LCD屏背光PWM设定
#define BLACK_LIGHT_PORT               GPIOD
#define BLACK_LIGHT_PIN                GPIO_PIN_3
#define LedPwmDuty(A)                  TIM2->CCR2H = (u8)((A)>> 8);TIM2->CCR2L = (u8)(A);
#define LedOn()                        TIM2->CCER1 |= TIM2_CCER1_CC2E
#define LedOff()                       TIM2->CCER1 &= (~TIM2_CCER1_CC2E) #define  COMMAND_CODE                0x80  //命令码
#define  WRITE_DATA_CODE             0xa0  //写命令
#define  READ_DATA_CODE              0xc0  //读命令
#define  DISPLAY_BEGIN_ADDR          (0X0F << 2) //显示起始地址
#define  SYS_EN                      0x02
#define  RC_256K                     0x30
#define  BIAS_13                     0x52
#define  TONE_ON                     0x12  //打开声音输出
#define  TONE_OFF                    0x10
#define  TONE_2K                     0xc0
#define  TONE_4K                     0x80
#define  LCD_ON                      0x06          /* Private variables ---------------------------------------------------------*/
void Ht1621_WriteCommand(uint8_t Cmd);
void Ht1621_WriteNBit(uint8_t BitCnt, uint8_t wData);
/* Public functions ----------------------------------------------------------*/
void Ht1621_Init(void);
void Ht1621_WriteData(const uint8_t *wDataBuf);
void Ht1621_BuzzerControl(uint8_t RunFlag);/*******************************************************************************
函数:延时函数 ms
参数:
返回值:无
*******************************************************************************/
void Ht1621_Delay(uint8_t ms)
{unsigned short jj;for (jj = 1; jj <= ms; jj++){nop();}
}/*******************************************************************************
函数:HT1621初始化
参数:
返回值:无
*******************************************************************************/
void Ht1621_Init(void)
{  Ht1621_WriteCommand(SYS_EN);   //SYS_EN 打开系统振荡器Ht1621_Delay(5);Ht1621_WriteCommand(RC_256K);   //RC_256K 系统时钟源 片内RC振荡器Ht1621_Delay(5);Ht1621_WriteCommand(BIAS_13);  //BIAS13 4个公共口 Ht1621_Delay(5);Ht1621_WriteCommand(TONE_4K);  //TONE_2KC0  TONE_4K80 Ht1621_Delay(5);Ht1621_WriteCommand(LCD_ON);   //LCD_ON 打开LCD偏压发生器Ht1621_Delay(5);
}/*******************************************************************************
函数:HT1621 写一字节数据
参数: 写数据的为位数 和 数据
返回值:无
*******************************************************************************/
void Ht1621_WriteNBit(uint8_t wData , uint8_t BitCnt)
{uint8_t i;for(i=0; i< BitCnt; i++){Ht1621WrLow;Ht1621_Delay(2);if((wData << i) & 0x80){Ht1621DataHigh;}else {Ht1621DataLow;}Ht1621_Delay(2);Ht1621WrHigh;Ht1621_Delay(2);}
}/*******************************************************************************
函数:HT1621 写数据操作(连续写  3位写操作命令+6位地址+ ...数据)
参数: 写数据指针
返回值:无
*******************************************************************************/
void Ht1621_WriteData(const uint8_t *wDataBuf)
{uint8_t i;Ht1621CsLow;Ht1621_Delay(2);Ht1621_WriteNBit(WRITE_DATA_CODE, 3);Ht1621_WriteNBit(DISPLAY_BEGIN_ADDR, 6);            //TODO: 20140820  hzg  注意要对应原理图上的起始地址for(i=0; i<12; i++)                                 {Ht1621_WriteNBit(wDataBuf[i], 8);  }Ht1621CsHigh;Ht1621_Delay(2);
}/*******************************************************************************
函数:HT1621 写命令操作(12位命令数据)
参数: 命令值
返回值:无
*******************************************************************************/
void Ht1621_WriteCommand(uint8_t Cmd)
{Ht1621CsLow;Ht1621_Delay(2);Ht1621_WriteNBit(COMMAND_CODE, 4);       Ht1621_WriteNBit(Cmd, 8);Ht1621CsHigh;Ht1621_Delay(2);
}/*******************************************************************************
函数:HT1621 蜂鸣器输出控制(12位命令数据)
参数: 开关标志
返回值:无
*******************************************************************************/
void Ht1621_BuzzerControl(uint8_t RunFlag)
{(RunFlag == 0)?Ht1621_WriteCommand(TONE_OFF):Ht1621_WriteCommand(TONE_ON);
}

LCD显示--Ht1621b芯片显示屏驱动相关推荐

  1. LCD显示--HT1621b芯片驱动程序

    HT1621b芯片驱动程序 CS : 片选输入接一上拉电阻当/CS 为高电平读写HT1621的数据和命令无效串行接口电路复位当/CS 为低电平和作为输入时读写HT1621的数据和命令有效. WR :  ...

  2. WINCE5.0+S3C2443系统每隔几分钟会自动关闭LCD显示

    这几天在调试WINCE5.0+S3C2443系统的时候,发现大概每隔6分钟的时候,系统就会自动关闭LCD屏的显示,这时候如果去点击触摸屏就会恢复显示.刚开始我还以为是系统进入了sleep状态了,发现在 ...

  3. LCD高抗干扰液晶段码屏显示驱动芯片:VK2C21A/B/BA/C/D 大量应用于音箱/音响面板LCD显示驱动

    产品品牌:VINKA/永嘉微/永嘉微电 产品型号:VK2C21A/B/C/D/VK2C21BA 封装形式:SOP28/24/20.NSOP16.SSOP24(新封装) 概述: VK2C21是一个点阵式 ...

  4. LED驱动控制器/数码管显示LED驱动芯片VK1640B,8段*12位,上电复位,多用于各种小型LED数码管显示屏驱动

    品牌:永嘉微电/VINKA 型号:VK1640B 封装:SSOP24 年份:新年份 概述 : VK1640B 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口.数据锁存 ...

  5. AT32驱动TFT LCD显示示例

    1.1 案例 TFT LCD显示 1.1.1 简介 TFT LCD液晶显示屏是薄膜晶体管型液晶显示屏,TFT液晶每个像素都可以单独控制,因而每个节点都相对独立,并可以连续控制,这不仅提高了显示的反应速 ...

  6. USB摄像头驱动--LCD显示摄像头图像(附Makefile分析)

    对于一个应用程序,最重要的是明白目的是什么:将摄像头的数据解析出来,按一帧一个图片的方式将数据传到LCD的Framebuffer中去(如果LCD没有自动将Framebuffer中的数据刷到LCD上还需 ...

  7. FPGA RGB565的LCD显示屏驱动(Verilog)

    文章目录 1屏幕 2行场扫描时序 3分析 4代码 4-1产生9M驱动时钟 4-2驱动部分 4-3显示内容部分 4-3顶层 5结果 5-1 5-2 6Testbench 1屏幕 使用像素:480*272 ...

  8. Air系列模块驱动lcd显示

    特别说明:只适用于有spi接口的模块,推荐使用Air202和Air800 1.硬件连线:选择标准SPI协议,对应的LCD与模块之间连线为: Air模块 LCD GND------- 地(GND) SP ...

  9. rk3328 rk3399使用fbtft驱动SPI LCD显示

    rk3328-jd4核心板  LCD lli9341驱动芯片 1.修改编译配置文件,将fbtft编进内核 参考:https://blog.csdn.net/jklinux/article/detail ...

最新文章

  1. JAVA构造方法,继承关系和SUPER关键字
  2. python中保留小数_python保留小数位的三种实现方法
  3. iscroll.js 触屏手机web-kit浏览器滚动效果代码库
  4. Java黑皮书课后题第5章:**5.17(显示金字塔)编写程序,提示用户输入一个在1到15之间的整数,然后显示一个金字塔形状的图案
  5. .NET Core开发日志——RequestDelegate
  6. Xctf练习sql注入--supersqli
  7. MATLAB中的corrcoef函数求两个向量的相关系数。
  8. PAT——1054. 求平均值
  9. 计算机usb速度设置,怎样提升USB2.0的速度 注册列表修改法【详解】
  10. 随身助手271个可用api接口网站php源码(随身助手API)
  11. 基于微信小程序点餐系统的设计与实现(含word论文)
  12. python写邮箱验证工具_python应用POP3、IMAP、SMTP 协议,获取邮箱验证码
  13. 丁磊:那时候我们除了会写软件 什么也不会做
  14. 视频录制——SurfaceView + MediaRecorder 实现视频录制功能
  15. 一款适用甲方企业的外网资产周期性扫描监控系统
  16. python macd底背离_MACD的“底背离”狠不狠?回测告诉你结果
  17. 蓝桥杯第七届省赛 模拟风扇控制系统 by YYC
  18. 阴阳师2017 7服务器维护,《阴阳师》手游4月17日维护更新公告
  19. led伏安特性实验误差分析_1实验数据的误差分析与处理.doc
  20. March 7th Wednesday (三月 七日 水曜日)

热门文章

  1. 阿里P9赞不绝口的公众号
  2. 计算机房防凝露保温材料,你知道机房墙面为什么要做保温吗?那该怎么做?
  3. 2021年全球汽车铝合金轮毂收入大约14400百万美元,预计2028年达到16880百万美元
  4. 为什么说Context是Go中的“吸血鬼” | Gopher Daily (2020.10.26) ʕ◔ϖ◔ʔ
  5. 用 Python 将 html 转为 pdf、word
  6. COPC®认证—Callnovo顾客体验运营优秀实践7.0培训圆满结业
  7. 信号逻辑电平标准详解
  8. 手机中的SIM卡网络命令详解 - USSD代码
  9. 【借用前沿技术搞营销】IoTAI之上,拓展营销新边界
  10. 竞价教程:新手如何快速寻找暴利产品