找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15984|回复: 10
打印 上一主题 下一主题
收起左侧

TM1621D引脚图LCD驱动规格书和单片机程序下载(可兼容vk1056b)

  [复制链接]
跳转到指定楼层
楼主
特性描述
TM1621D是56点、内存映象和多功能的LCD驱动器,TM1621D的软件配置特性使它适用于多种LCD应用场合,包括LCD模块和显示子系统。主控制器和TM1621D的通讯时序简单,TM1621D还有一个节电命令用于降低系统功耗。

功能特点
  工作电压2.4~ 5.2V
  内嵌256KHz RC 振荡器
  可选1/2或1/3偏压和1/2、1/3或1/4的占空比
  片内时基频率源
  节电命令可用于减少功耗
  一个14x4的LCD 驱动器
  一个内嵌的14x4位显示RAM 内存
  三线串行接口
  片内LCD驱动频率源
  软件配置特征
  数据模式和命令模式指令
  两种数据访问模式
  提供VLCD管脚用于调整LCD操作电压
  封装形式:SOP24

TM1621D引脚图:


TM1621D管脚功能定义:


TM1621D的pdf规格书:


*MCU 型号:STC12C5608AD
*开发环境:Keil uVision4
*晶震频率:11.0592MHZ      
*完成日期:2013-08-07
*程序功能:1.LCD驱动:LCD屏所接SEG显示0~5
*免责声明:1.此程序为TM1621D驱动LCD演示程序,仅作参考之用。
            2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任            
********************************************************************************/
#include <reg52.h>                                         //MCU头文件
#include "intrins.h"                                         //包含nop指令头文件

#define uchar unsigned char                                 //数据类型宏定义
#define uint unsigned int                                 //数据类型宏定义

#define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义


/******************TM1621D模块命令定义*********************/
#define SYSDIS   0x00         //关系统振荡器和LCD偏压发生器        
#define SYSEN    0x02    //打开系统振荡器        

#define LCDOFF   0x04     //关LCD偏压
#define LCDON    0x06     //开LCD偏压
                                                         
#define RC       0x30     //内部RC振荡        

#define BIAS     0x52     //1/3偏压 4公共口        

/********************定义控制端口**********************/
sbit CS=P2^1;
sbit WRITE=P2^0;
sbit DATA=P1^7;

/********************定义数据*************************/
uchar code Smg[16]={0xeb,0x60,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e};  //0~F字型码
uchar code Tab0[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //清屏


/********************延时函数*************************/
void delay_nms(uint n)
{
   uint i;
   while(n--)
     for(i=0;i<500;i++);
}

/********************从高位写入数据*************************/
void Write_Data_H(uchar Data, uchar Cnt)           //Data的高cnt位写入TM1621D,高位在前
{
uchar i;
for(i=0;i<Cnt;i++)
{
  WRITE=0;
  if(Data&0x80)                                   //从最高位发送
    DATA=1;               
  else
    DATA=0;
  nop;
  nop;
  WRITE=1;
  Data<<=1;
}
WRITE=0;
DATA=0;
}

/********************从低位写入数据*************************/
void Write_Data_L(uchar Data,uchar Cnt) //Data 的低cnt位写入TM1621D,低位在前
{
unsigned char i;
for(i=0;i<Cnt;i++)
{
   WRITE=0;
   if(Data&0x01)                                 //从低位发送
     DATA=1;  
   else
     DATA=0;
        nop;
        nop;
        WRITE=1;
        Data>>=1;
}
  WRITE=0;
  DATA=0;  
}

/********************写入控制命令*************************/
void WriteCmd(uchar Cmd)
{
CS=0;
nop;
Write_Data_H(0x80,4);     //写入命令标志100
Write_Data_H(Cmd,8);      //写入命令数据
CS=1;
nop;
}

/*********指定地址写入数据,实际写入后4位************/
void WriteOneData(uchar Addr, uchar Data)
{
CS=0;
Write_Data_H(0xa0,3);     //写入数据标志101
Write_Data_H(Addr<<2,6);  //写入地址数据
Write_Data_L(Data,4);     //写入数据
CS=1;
nop;
}

/*********连续写入方式,每次数据为8位,写入数据************/
void WriteAllData(uchar Addr,uchar *p,uchar cnt)
{
uchar i;
CS=0;
Write_Data_H(0xa0,3);          //写入数据标志101
Write_Data_H(Addr<<2,6);        //写入地址数据
for(i=0;i<cnt;i++)                //写入数据
{
   Write_Data_L(*p,8);            
   p++;
}
CS=1;
nop;
}

/*******************TM1621D初始化**********************/
void TM1621D_init()
{
CS=1;
WRITE=1;
DATA=1;
nop;
delay_nms(1);                        
WriteCmd(BIAS);                 //1/3偏压 4公共口
WriteCmd(RC);                         //内部RC振荡
WriteCmd(SYSDIS);                 //关系统振荡器和LCD偏压发生器
WriteCmd(SYSEN);                 //打开系统振荡器
WriteCmd(LCDON);                 //开LCD偏压
}

void main()
{
TM1621D_init();                //开机初始化
delay_nms(1);
WriteAllData(0,Tab0,16);         //LCD清显存
while(1)
{
  WriteAllData(0x0a,Smg,6);          //LCD SEG10到SEG21显示0~5
}
}

完整的pdf格式文档51黑下载地址:
TM1621D_V1.0代替vk1056b.pdf (353.49 KB, 下载次数: 160)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩

相关帖子

回复

使用道具 举报

沙发
ID:473159 发表于 2019-2-5 21:10 | 只看该作者
先收下,有空看看

评分

参与人数 2黑币 +50 收起 理由
Trump1438 + 15
shuisheng60 + 35

查看全部评分

回复

使用道具 举报

板凳
ID:472242 发表于 2019-3-6 08:03 | 只看该作者
是合泰专用段码显示驱动芯片吗?
回复

使用道具 举报

地板
ID:493259 发表于 2019-3-19 16:33 | 只看该作者
收下,有空看看
回复

使用道具 举报

5#
ID:517428 发表于 2019-4-20 21:54 | 只看该作者
学习了,正好需要
回复

使用道具 举报

6#
ID:648936 发表于 2019-11-25 11:44 | 只看该作者
学习 学习 ,谢谢
回复

使用道具 举报

7#
ID:674531 发表于 2020-2-1 17:37 | 只看该作者
谢谢,非常有用!!
回复

使用道具 举报

8#
ID:137736 发表于 2020-2-4 17:50 来自手机 | 只看该作者
shuisheng60 发表于 2019-3-6 08:03
是合泰专用段码显示驱动芯片吗?

TM的,HT的1621b管脚太多,有时不需要。
回复

使用道具 举报

9#
ID:418573 发表于 2023-6-16 09:18 | 只看该作者
学习一下,以便后用。
回复

使用道具 举报

10#
ID:1064915 发表于 2023-7-6 08:43 | 只看该作者
Smg[16]={0xeb,0x60,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e};
数码管数据如何来的?没有说明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表