找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19608|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

TM1621D引腳圖LCD驅(qū)動規(guī)格書和單片機(jī)程序下載(可兼容vk1056b)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
特性描述
TM1621D是56點(diǎn)、內(nèi)存映象和多功能的LCD驅(qū)動器,TM1621D的軟件配置特性使它適用于多種LCD應(yīng)用場合,包括LCD模塊和顯示子系統(tǒng)。主控制器和TM1621D的通訊時序簡單,TM1621D還有一個節(jié)電命令用于降低系統(tǒng)功耗。

功能特點(diǎn)
  工作電壓2.4~ 5.2V
  內(nèi)嵌256KHz RC 振蕩器
  可選1/2或1/3偏壓和1/2、1/3或1/4的占空比
  片內(nèi)時基頻率源
  節(jié)電命令可用于減少功耗
  一個14x4的LCD 驅(qū)動器
  一個內(nèi)嵌的14x4位顯示RAM 內(nèi)存
  三線串行接口
  片內(nèi)LCD驅(qū)動頻率源
  軟件配置特征
  數(shù)據(jù)模式和命令模式指令
  兩種數(shù)據(jù)訪問模式
  提供VLCD管腳用于調(diào)整LCD操作電壓
  封裝形式:SOP24

TM1621D引腳圖:


TM1621D管腳功能定義:


TM1621D的pdf規(guī)格書:


*MCU 型號:STC12C5608AD
*開發(fā)環(huán)境:Keil uVision4
*晶震頻率:11.0592MHZ      
*完成日期:2013-08-07
*程序功能:1.LCD驅(qū)動:LCD屏所接SEG顯示0~5
*免責(zé)聲明:1.此程序?yàn)門M1621D驅(qū)動LCD演示程序,僅作參考之用。
            2.如有直接使用本例程程序造成經(jīng)濟(jì)損失的,本公司不承擔(dān)任何責(zé)任            
********************************************************************************/
#include <reg52.h>                                         //MCU頭文件
#include "intrins.h"                                         //包含nop指令頭文件

#define uchar unsigned char                                 //數(shù)據(jù)類型宏定義
#define uint unsigned int                                 //數(shù)據(jù)類型宏定義

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


/******************TM1621D模塊命令定義*********************/
#define SYSDIS   0x00         //關(guān)系統(tǒng)振蕩器和LCD偏壓發(fā)生器        
#define SYSEN    0x02    //打開系統(tǒng)振蕩器        

#define LCDOFF   0x04     //關(guān)LCD偏壓
#define LCDON    0x06     //開LCD偏壓
                                                         
#define RC       0x30     //內(nèi)部RC振蕩        

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

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

/********************定義數(shù)據(jù)*************************/
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}; //清屏


/********************延時函數(shù)*************************/
void delay_nms(uint n)
{
   uint i;
   while(n--)
     for(i=0;i<500;i++);
}

/********************從高位寫入數(shù)據(jù)*************************/
void Write_Data_H(uchar Data, uchar Cnt)           //Data的高cnt位寫入TM1621D,高位在前
{
uchar i;
for(i=0;i<Cnt;i++)
{
  WRITE=0;
  if(Data&0x80)                                   //從最高位發(fā)送
    DATA=1;               
  else
    DATA=0;
  nop;
  nop;
  WRITE=1;
  Data<<=1;
}
WRITE=0;
DATA=0;
}

/********************從低位寫入數(shù)據(jù)*************************/
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)                                 //從低位發(fā)送
     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);     //寫入命令標(biāo)志100
Write_Data_H(Cmd,8);      //寫入命令數(shù)據(jù)
CS=1;
nop;
}

/*********指定地址寫入數(shù)據(jù),實(shí)際寫入后4位************/
void WriteOneData(uchar Addr, uchar Data)
{
CS=0;
Write_Data_H(0xa0,3);     //寫入數(shù)據(jù)標(biāo)志101
Write_Data_H(Addr<<2,6);  //寫入地址數(shù)據(jù)
Write_Data_L(Data,4);     //寫入數(shù)據(jù)
CS=1;
nop;
}

/*********連續(xù)寫入方式,每次數(shù)據(jù)為8位,寫入數(shù)據(jù)************/
void WriteAllData(uchar Addr,uchar *p,uchar cnt)
{
uchar i;
CS=0;
Write_Data_H(0xa0,3);          //寫入數(shù)據(jù)標(biāo)志101
Write_Data_H(Addr<<2,6);        //寫入地址數(shù)據(jù)
for(i=0;i<cnt;i++)                //寫入數(shù)據(jù)
{
   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);                         //內(nèi)部RC振蕩
WriteCmd(SYSDIS);                 //關(guān)系統(tǒng)振蕩器和LCD偏壓發(fā)生器
WriteCmd(SYSEN);                 //打開系統(tǒng)振蕩器
WriteCmd(LCDON);                 //開LCD偏壓
}

void main()
{
TM1621D_init();                //開機(jī)初始化
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, 下載次數(shù): 175)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:473159 發(fā)表于 2019-2-5 21:10 | 只看該作者
先收下,有空看看

評分

參與人數(shù) 2黑幣 +50 收起 理由
Trump1438 + 15
shuisheng60 + 35

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:472242 發(fā)表于 2019-3-6 08:03 | 只看該作者
是合泰專用段碼顯示驅(qū)動芯片嗎?
回復(fù)

使用道具 舉報

地板
ID:493259 發(fā)表于 2019-3-19 16:33 | 只看該作者
收下,有空看看
回復(fù)

使用道具 舉報

5#
ID:517428 發(fā)表于 2019-4-20 21:54 | 只看該作者
學(xué)習(xí)了,正好需要
回復(fù)

使用道具 舉報

6#
ID:648936 發(fā)表于 2019-11-25 11:44 | 只看該作者
學(xué)習(xí) 學(xué)習(xí) ,謝謝
回復(fù)

使用道具 舉報

7#
ID:674531 發(fā)表于 2020-2-1 17:37 | 只看該作者
謝謝,非常有用!!
回復(fù)

使用道具 舉報

8#
ID:137736 發(fā)表于 2020-2-4 17:50 來自手機(jī) | 只看該作者
shuisheng60 發(fā)表于 2019-3-6 08:03
是合泰專用段碼顯示驅(qū)動芯片嗎?

TM的,HT的1621b管腳太多,有時不需要。
回復(fù)

使用道具 舉報

9#
ID:418573 發(fā)表于 2023-6-16 09:18 | 只看該作者
學(xué)習(xí)一下,以便后用。
回復(fù)

使用道具 舉報

10#
ID:1064915 發(fā)表于 2023-7-6 08:43 | 只看該作者
Smg[16]={0xeb,0x60,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e};
數(shù)碼管數(shù)據(jù)如何來的?沒有說明
回復(fù)

使用道具 舉報

11#
ID:717439 發(fā)表于 2024-9-4 19:40 | 只看該作者
joyb 發(fā)表于 2023-7-6 08:43
Smg[16]={0xeb,0x60,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e};
數(shù)碼管 ...

數(shù)碼管定義。
回復(fù)

使用道具 舉報

12#
ID:1109793 發(fā)表于 2024-11-15 08:34 | 只看該作者
請教樓主,這個和1621B的代碼是一樣的嗎?我剛弄一個4個8的LCD,把之前1621B的代碼復(fù)制過來,發(fā)現(xiàn)不能用,示波器看三個腳都沒有任何信號啊,咋回事?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表