LCD控制器TM1621/HT1621

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/***************************************************************************** *版权信息:深圳天微电子有限公司 *文 件 名:TM1621-V1.0 *当前版本:V1.0 *MCU 型号:STC12C5608AD *开发环境:Keil uVision4 *晶震频率:11.0592MHZ *完成日期:2013-08-07 *程序功能:1.LCD驱动:LCD屏显示0`F *免责声明:1.此程序为TM1621驱动LCD演示程序,仅作参考之用。 2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任 ********************************************************************************/ #include //MCU头文件 #include "intrins.h" //包含nop指令头文件 #define uchar unsigned char //数据类型宏定义 #define uint unsigned int //数据类型宏定义 #define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义 /******************TM1621模块命令定义*********************/ #define SYSDIS 0x00 //关系统振荡器和LCD偏压发生器 #define SYSEN 0x02 //打开系统振荡器 #define LCDOFF 0x04 //关LCD偏压 #define LCDON 0x06 //开LCD偏压 #define TONEON 0x12 //打开声音输出 #define TONEOFF 0x10 //关闭声音输出 #define XTAL 0x28 //外部接晶振 #define RC 0x30 //内部RC振荡 #define BIAS 0x52 //1/3偏压 4公共口 #define WDTDIS 0x0a //禁止看门狗 #define WDTEN 0x0e //开启看门狗 /********************定义控制端口**********************/ sbit CS=P2^1; sbit READ=P2^7; 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位写入TM1621,高位在前 { 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位写入TM1621,低位在前 { unsigned char i; for(i=0;i>=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; } /*******************TM1621初始化**********************/ void TM1621_init() { CS=1; WRITE=1; DATA=1; nop; delay_nms(1); WriteCmd(BIAS); //1/3偏压 4公共口 WriteCmd(RC); //内部RC振荡 WriteCmd(SYSDIS); //关系统振荡器和LCD偏压发生器 WriteCmd(WDTDIS); //禁止看门狗 WriteCmd(SYSEN); //打开系统振荡器 WriteCmd(LCDON); //开LCD偏压 } void main() { TM1621_init(); //开机初始化 delay_nms(1); WriteAllData(0,Tab0,16); //LCD不显示 while(1) { WriteAllData(0,Smg,16); //LCD显示0~F delay_nms(200); WriteAllData(0,Tab0,16); //LCD不显示 delay_nms(200); } }
### 回答1: TM1621HT1621是两种常见的控制片,广泛用于数字显示屏的驱动中。它们有着相同的工作原理和类似的功能,可以实现对7段数码管、点阵显示屏等的控制。 TM1621HT1621官方程序是指官方提供的用于控制这两种片的软件程序。它们通常由片厂商提供,并经过多次验证和优化,具有较高的可靠性和稳定性。 这些官方程序一般包括了片的初始化、数据传输以及功能实现等多个方面。首先,在程序中会进行片的初始化设置,包括设置引脚方向、数据格式等。然后,通过相应的数据传输协议,将指定的数据传输到片中,以实现对数码管或点阵等显示器件的控制。接下来,官方程序还会提供一些常见功能的实现代码,比如显示特定数字、设置亮度等。 在使用这些官方程序时,我们只需要将它们拷贝到我们的开发环境中,并根据需要进行适当的修改即可。由于是官方提供的程序,因此在使用过程中可以相对放心,因为经过了充分的测试和验证。 需要注意的是,由于片提供商有多个,所以不同片的官方程序可能会有所区别。在使用时,我们应该根据实际片型号,选择对应的官方程序进行使用。 总而言之,TM1621HT1621官方程序是用于控制这两种片的软件程序,可以实现对数字显示屏的控制。这些官方程序通过提供初始化设置、数据传输和常见功能的实现代码等,使得我们在开发数字显示器件时更加方便和可靠。 ### 回答2: tm1621ht1621是常用的液晶显示驱动片,它们的官方程序是指官方提供的用于控制这些片的软件代码。 tm1621ht1621片广泛用于数字显示和时钟应用中,可以驱动7段数码管和液晶显示屏。官方程序通常由片制造商提供,具有良好的稳定性和兼容性。 这些官方程序通常包含了常见的显示和控制功能,例如显示数字、字符或图标、设置亮度、设置逻辑电平等。开发人员可以根据自己的需要,在官方程序的基础上进行二次开发,定制自己的应用程序。 官方程序一般是以C语言或汇编语言编写的,使用时需要将程序下载到控制器或单片机中,并通过控制器tm1621ht1621片进行通信,从而控制液晶显示。 在编写官方程序时,开发人员需要了解片的寄存器和指令集,以及与其他硬件的接口方式。为了方便开发和调试,通常会提供相关的开发文档和示例代码。 总而言之,tm1621ht1621官方程序是用于控制这些片的软件代码,可以方便地实现数字显示和控制功能,开发人员可以在官方程序的基础上进行二次开发,以满足自己的特定需求。 ### 回答3: TM1621HT1621是两种常用的LED驱动片,官方程序主要是指在使用这些片时,厂家提供的示例程序或基本功能程序。 官方程序一般包含以下几个方面的内容: 1. 硬件初始化:包括对片进行基本的设置和配置,例如选择工作模式、设置驱动电流、选择段选和位选等。 2. 数据传输:在TM1621HT1621中,数据传输是通过串行通信方式实现的。官方程序会包含相应的数据传输函数,用于向片发送数据或从片读取数据。传输的数据一般是通过特定格式的命令和数据包进行的。 3. LED控制:这是官方程序的核心部分。它通过控制片的位选和段选信号,实现对连接的LED显示器的控制。官方程序会提供一些常用的功能,如显示数字、字符、图标等,同时还包括一些特殊效果,如闪烁、呼吸等。 4. 其他功能:官方程序可能还包含一些其他功能,如键盘扫描、电源管理等。这些功能可以根据具体需求进行配置和调整,以满足不同应用场景的要求。 需要注意的是,官方程序只是在开发初期提供的基础程序,用于测试和验证片的功能。在实际应用中,开发者往往需要根据具体需求进行定制和优化,以满足项目的要求。 总之,TM1621HT1621官方程序是对这两种片的基本功能进行封装和展示的示例程序,开发者可以在此基础上进行二次开发,实现各种不同的LED显示应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值