JLX12864G-139液晶顯示器的應用設計
引言
電力有源濾波器被公認為是治理電網(wǎng)諧波污染、改善電能質(zhì)量的最有效手段。在基于數(shù)字信號處理器TMS320F2812的電力有源濾波器中,我們選用JLX12864G-139液晶模塊作為人機界面來顯示三相電壓、電流、有功功率、無功功率、補償后電流諧波畸變率等數(shù)據(jù)。本文主要論述TMS320F2812芯片與與液晶模塊之間的硬件接口電路設計與軟件實現(xiàn)液晶顯示方法。
1TMS320F2812與液晶顯示模接口電路設計
1.1JLX12864G-139液晶模塊
JLX12864G-139液晶模塊上排列著128X64點陣,128個列信號及64個行信號與驅(qū)動芯片ST7565R相連并受其控制,驅(qū)動芯片是邦定在LCD玻璃上的(這種加工工藝叫COG)。圖1所示是JLX12864G-139圖像點陣型模塊的電路框圖,它由驅(qū)動芯片ST7565R及幾個電阻、電容組成。液晶模塊在橫向上可分為8頁,第1頁有8行;縱向上可分為128歹從圖1中可以看出,要實現(xiàn)對液晶模塊的控制,主要是對其驅(qū)動芯片ST7565R進行正確的操作。
圖1液晶模塊的電路框圖
1.2接口電路
JLX12864G-139液晶模塊有5V和3.3V兩種供電方案。因為TMS320F2812芯片通用I/O口輸出的電平是0~3.3V的CMOS電平,所以液晶模塊也采用3.3V供電,這樣的話兩者硬件之間就不需要進行電平轉(zhuǎn)換可直接進行相連,從而大大簡化了硬件接口電路的設計,同時也可提高液晶模塊的穩(wěn)定性。
液晶模塊有串行、并行兩種讀寫方式。由引腳PS控制,PS端接高電平為并行接口,低電平為串行接口。串行接口的優(yōu)點是占用I/O口較少,缺點是讀寫速度慢;并行接口的優(yōu)點是讀寫速度快,缺點是占用I/O口較多。因TMS320F2812有多達56個可編程通用I/O引腳,并且電力有源濾波器對速度有一定要求,故本文采用并行接口的讀寫方式(將PS引腳接高電平3.3V)。
DSP芯片MS320F2812與液晶模塊JLX12864G-139的接口電路如圖2所示。DSP芯片與液晶模塊相連的GPIO弓腳設定為通用I/O端口模式。本文所使用到的JLX12864G-139液晶模塊的引腳簡要說明如下:
D0~D7:數(shù)據(jù)總線。
WR:讀/寫。
RD:使能信號。
CS:片選。
RES:復位。低電平復位,低電平至少保持1ps的時間才能完成復位。復位完成后,回到高電平,液晶模塊開始工作。
A0(RS):寄存器選擇信號。高電平為數(shù)據(jù)寄存器,低電平為指令寄存器。
2顯示程序設計
JLX12864G-139液晶模塊的并行接口讀寫時序有8080和6800兩種,兩種主要區(qū)別在于上跳沿還是下跳沿讀寫數(shù)據(jù),其他時序基本一致。圖3所示是JLX12864G-139液晶模塊時序圖。根據(jù)液晶模塊的時序圖用C語言編寫的寫數(shù)據(jù)/指令代碼子程序如下:
//寫指令代碼子程序
voidtransfer_command(unsignedintdata)
{
unsignedinttemp;
clr_cs();
clr_rs();
clr_rd();
clr_wr();
temp=(GpioDataRegs.GPBDAT.all&=0x00ff);
GpioDataRegs.GPBDAT.all=temp|(data?8);
set_rd();
set_cs();
clr_rd();
}
//寫數(shù)據(jù)子程序:
voidtransfer_data(unsignedintdata)
{
unsignedinttemp;
clr_cs();
set_rs();
clr_rd();
clr_wr();
temp=(GpioDataRegs.GPBDAT.all&=0x00ff);GpioDataRegs.GPBDAT.all=temp|(data<<8);
set_rd();
set_cs();
clr_rd();
}
在寫數(shù)據(jù)/指令代碼子程序中用到了預處理命令,在此處僅列出clr_cs()與set_cs()的預處理命令,其他的與這兩條指令基本類似,不再一一列出。
#defineclr_cs()GpioDataRegs.GPBCLEAR.bit.GPIOB5=0;//使復位RES引腳為低電平
#defineset_cs()GpioDataRegs.GPBSET.bit.GPIOB5=0;
//使復位RES引腳為高電平
JLX12864G-139液晶模塊共有23種指令,具體指令可參考文獻,要正確地使用指令格式,才能對液晶進行有效地控制。
在液晶正常顯示字符前,首先要對液晶進行初始化和清顯示屏(即填充的數(shù)據(jù)均為0x00),然后液晶模塊才能正常地顯示。根據(jù)液晶的指令格式,編寫的初始化子程序和清顯示屏子程序分別如下:
//初始化程序
Voidinitial_lcd()
{
clr_res();//低電平復位
delay(20);
set_res();//高電平復位結(jié)束
delay(20);
transfer_command(0xe2);//軟復位delay(5);
transfer_command(0x2c);//升壓步驟1delay(5);
transfer_command(0x2e);//升壓步驟2delay(5);
transfer_command(0x2f);//升壓步驟3delay(5);
transfer_command(0x23);//粗調(diào)對比度transfer_command(0x81);//微調(diào)對比度transfer_command(0x1a);//微調(diào)對比度的值transfer_command(0xa2);//1/9偏壓比transfer_command(0xc0);//行掃描順序transfer_command(0xa1);//列掃描順序transfer_command(0xaf);//開顯示
}
//清顯示屏程序
voidclear_screen()
{
uint8i,j;
for(i=0;i<8;i++)
{
transfer_command(0xb0+i);//頁地址transfer_command(0x10);//列高四位transfer_command(0x00);//列低四位for(j=0;j<129;j++)
{
transfer_data(0x00);//填充數(shù)據(jù)
}
}
}
//延時子程序
voiddelay(unsignedinti)
{
iunsignedintj,k;
for(j=0;j<i;j++)
for(k=0;k<990;k++);
}
3結(jié)語
JLX12864G-139是一個像素為128X64的液晶模塊,在電力有源濾波器中,用它來顯示三相電壓、電流、有功功率、無功功率、補償后電流諧波畸變率等數(shù)據(jù)。液晶模塊與TMS320F2812之間的軟硬件設計方案在電力有源濾波器實際運行過程中應用情況良好,性能也比較穩(wěn)定,能夠在強電磁干擾、電壓波動等惡劣環(huán)境下運行。這種設計方案也可推廣到其他型號的液晶模塊和處理器,特別適合于處理器的外部總線資源緊張但有多余的I/O可供使用的系統(tǒng)。
20211021_61717d981419f__JLX12864G