一: 概述
TM1726是 4×36 LCD顯示驅動控制專用電路,最多可以顯示 144段。內部集成有MCU兩線數字接口、數據鎖存器、LCD驅動等電路。支持 1/3BIAS ,1/2BIAS ,LINE翻轉,FRAME翻轉,支持3V/5V的LCD屏。所有設置均通過2線串行接口傳輸數據。主要應用于段碼LCD顯示屏產品驅動。
二: 特性說明
采用低功耗CMOS工藝
36點LCD驅動
1/2或1/3LCD驅動偏壓可選
支持FRAME和LINE兩種驅動波形,選用FRAME功耗更低
串行接口(SDA ,SCL)
振蕩方式:內置RC振蕩,典型振蕩頻率為95KHZ
封裝形式:LQFP44。
TM1726引腳圖與管腳功能定義:
五:顯示RAM分布
該寄存器存儲通過串行接口從外部器件送到 TM1726的數據,地址從 00-11H共 18個字節(jié)單元,分別與芯片SEG和COM管腳所接的 LCD燈對應,地址分配如下表:
六: 通訊協議
TM1726采用2線串行傳輸協議通訊。
1:開始信號(START)/結束信號(STOP)
開始信號:保持 SCL為“1”電平,SDA從“1”跳“0”,認為是開始信號, 如(圖 3)A段;
結束信號:保持 SCL為“1”電平,SDA從“0”跳“1”,認為是結束信號, 如(圖 3)E段;
2:ACK信號
如果本次通訊正常,芯片在串行通訊的第 8個時鐘下降沿后,TM1726主動把 SDA拉低。直到檢測到 SCL來了上升沿,SDA釋放為輸入狀態(tài)(對芯片而言),如(圖3)D段。
3: 寫“1”和寫“0”。
寫“1”:保持SDA為“1”電平,SCL從“0”跳到“1”,再從“1”跳到“0”,則認為是寫入“1” 如(圖3)B段。
寫“0”:保持SDA為“0”電平,SCL從“0”跳到“1”,再從“1”跳到“0”,則認為是寫入“0” 如(圖3) C段。
單片機源程序如下:
- *文 件 名:TM1726-V1.0
- *當前版本:V1.0
- *MCU 型號:STC12C5608AD
- *開發(fā)環(huán)境:Keil uVision4
- *晶震頻率:11.0592MHZ
- *程序功能:LCD驅動:36SEG*4COM,驅動18個段式LCD顯示0123456789AbCdEFHL;
- *免責聲明:1.此程序為TM1726驅動LCD演示程序,僅作參考之用。
- 2.如有直接使用本例程程序造成經濟損失的,本公司不承擔任何責任
- ********************************************************************************/
- #include <reg52.h> //頭文件
- #include "intrins.h" //包含_nop_()指令頭文件
- #define uchar unsigned char //宏定義
- #define uint unsigned int //宏定義
- #define nop _nop_();_nop_();_nop_(); //宏定義
- /********************定義控制端口**********************/
- sbit SDA=P2^1;
- sbit SCL=P2^0;
- /********************定義數據*************************/
- //******************************0 1 2 3 4 5 6 7 8 9 A b C d E F H L
- unsigned char const CODE[20]={0xEB,0x60,0xC7,0xE5,0x6C,0xAD,0xAF,0xE0,0xEF,0xED,0xEE,0x2F,0x8B,0x67,0x8F,0x8E,0x6E,0x0B,};
- /********************延時函數,延時nms******************/
- void delay_nms(uint n)
- {
- uint i;
- while(n--)
- for(i=0;i<550;i++);
- }
- /********************Start函數*************************/
- void start() //開始信號
- {
- SDA=1;
- nop;
- SCL=1;
- nop;
- SDA=1;
- nop;
- SDA=0;
- nop;
- }
- /********************Stop函數*************************/
- void stop() //停止信號
- {
- SCL=1;
- nop;
- SDA=0;
- nop;
- SDA=1;
- nop;
- SCL=0;
- nop;
- SDA=0;
- }
- /********************ACK函數*************************/
- void ack() //應答信號
- {
- SDA=1;
- nop;
- while(SDA); //第8個時鐘后等待芯片把總線拉低
- //SDA=0;
- SCL=0; //主機給一個上升沿
- nop;
- SCL=1;
- nop;
- SCL=0;
- nop;
- SDA=0; //當前狀態(tài)為芯片釋放為輸入
- nop;
- }
- /***************發(fā)送8bit數據,從低位開始**************/
- void write_8bit(unsigned char dat) //寫一字節(jié)子程序
- {
- unsigned char i;
- for(i=0;i<8;i++)
- {
- SCL=0;
- if(dat&0x01) //檢測SDA電平
- SDA=1;
- else
- SDA=0;
- SCL=1; //SCL上升沿數據被寫入
- dat>>=1;
- }
- SCL=0;
- SDA=0;
- }
- /*****************發(fā)送顯示控制命令*****************/
- void send_cmd(uchar dat) //發(fā)送顯示控制命令
- {
- start(); //開始信號
- write_8bit(dat); //寫入一個8bit的數據,低位在前高位在后
- ack(); //應答信號
- stop(); //停止信號
- }
- /***************顯示函數**************/
- void disp(unsigned char add, unsigned char *p)
- {
- unsigned char i;
- start();
- write_8bit(add); //起始地址
- ack();
- for(i=0;i<18;i++)
- {
- write_8bit(*p);
- p++;
- ack();
- }
- stop();
- send_cmd(0x26); //發(fā)送顯示控制命令:正常模式,LINE模式,1/3偏壓,3.3V
- }
- void main()
- {
- while(1)
- {
- disp(0xc0,CODE); //18個段式LCD顯示0123456789AbCdEFHL;
- delay_nms(200);
- }
- }
復制代碼
所有資料51hei提供下載:
TM1726規(guī)格書.pdf
(1.77 MB, 下載次數: 9)
2019-1-11 09:01 上傳
點擊文件名下載附件
TM1726規(guī)格書
|