|
PT6312原理與應(yīng)用分析
硬件結(jié)構(gòu): VFD即真空熒光顯示屏,其結(jié)構(gòu)和原理可參考單片機(jī)音響技術(shù)網(wǎng) -VFD應(yīng)用指南資料,里面詳細(xì)介紹了VFD的原理結(jié)構(gòu),應(yīng)用等等。 VFD顯示高貴華麗,常應(yīng)用在DVD,高檔的功率放大器,電磁爐,電冰箱等電器產(chǎn)品中用于用戶操作顯示。而與各種VFD顯示配套的驅(qū)動(dòng)常用PT6312,PT6311芯片,驅(qū)動(dòng)芯片的硬件結(jié)構(gòu)主要由掃描信號發(fā)生器、串行通信接口、控制模塊、顯示存儲器、按鍵掃描值寄存器、通用輸入寄存器、LED驅(qū)動(dòng)器、VFD段/位驅(qū)動(dòng)器等構(gòu)成。本文著重講述PT6312即VFD驅(qū)動(dòng)的單片機(jī)編程應(yīng)用。首先認(rèn)識下PT6312連接VFD的電路原理框圖如圖1所示。 圖(1) PT6311電路圖由圖1及電路原理可知,SW輸入端可做為開關(guān)輸入口也可以作為四個(gè)鍵盤的輸入,即在按鍵數(shù)目不多于4個(gè)或者可以利用組合按鍵的情況下,這部分資源也可作為按鍵接口來利用。因此,PT6312實(shí)際提供兩個(gè)鍵盤掃描的接口,一個(gè)是通常的矩陣式鍵盤接口,另一個(gè)就是開關(guān)信號輸入端SW1~SW4。另外,PT6312還集成了外掛四個(gè)LED驅(qū)動(dòng)功能。見內(nèi)部功能圖2所示。 圖(2) PT6312功能框圖鍵盤接口 普通的鍵盤接法主要有兩種:獨(dú)立式和矩陣式。 四個(gè)SW口可直接連接4個(gè)獨(dú)立鍵盤。鍵盤矩陣則可組成6×4接法,鍵的輸入狀態(tài)KEY1-KEY4由讀取信號SEG1/KS1-SEG6/KS6采樣并鎖存到PT6312的內(nèi)部寄存器中,單片機(jī)控制讀鍵只需讀取其鍵盤寄存器內(nèi)的鎖存值并判斷按鍵狀態(tài)即可,使用簡單方便。由圖1所示矩陣式按鍵多達(dá)24個(gè),PT6311的用法相同,但矩陣式按鍵更多,它有比PT6312更多的內(nèi)部寄存器。 PT6312的顯存空間配置情況如圖3所示。實(shí)際應(yīng)用中,顯存空間往往只是使用一部分,因?yàn)樗褂玫娘@存空間大小與設(shè)置的顯示模式有關(guān),圖中的每一行對應(yīng)一字,每一列對應(yīng)八段即一個(gè)字節(jié),相當(dāng)于一段對應(yīng)于一個(gè)字節(jié)的一位。另外,PT6312還有鍵掃描值寄存器、開關(guān)量輸入寄存器和LED輸出寄存器,這些寄存器的數(shù)據(jù)格式如圖4圖5所示。 圖(3) PT6312顯存空間配置
圖(4) PT6312開關(guān)SW和LED
圖(5) PT6312鍵盤矩陣輸入與讀鍵格式
片內(nèi)的控制字 PT6312具有顯示模式設(shè)置、數(shù)據(jù)設(shè)置、地址設(shè)置(針對顯存)和顯示控制等四種控制字。其中最高兩位為指令特征位,由指令解碼器來識別。 外部通信接口及信號時(shí)序 根據(jù)該芯片的電路結(jié)構(gòu),PT6312提供四線制串行接口與外部控制器通信,接口信號線分別為時(shí)鐘CLK、輸入數(shù)據(jù)DIN、輸出數(shù)據(jù)DOUT和選通STB,通信的控制時(shí)序見后。接口電路連接如圖6圖7圖8所示。
圖(6) PT6312時(shí)序圖
圖(7) PT6312掃描和顯示時(shí)間
圖(8) PT6312寫入數(shù)據(jù)
根據(jù)PT6311與外部微控制器的接口協(xié)議,外部控制操作分為寫入控制字、寫入數(shù)據(jù)(包括顯存及LED口)、讀取數(shù)據(jù)(包括鍵值及通用輸入SW口)。寫入控制字/數(shù)據(jù)的時(shí)序如圖9所示,以地址自動(dòng)增一方式連續(xù)寫入顯存數(shù)據(jù)的時(shí)序,讀取數(shù)據(jù)的時(shí)序如圖10所示。 當(dāng)然,鍵盤可根據(jù)需要選擇掛接部分按鍵,但是,由前述內(nèi)部鍵掃描存儲器的對應(yīng)關(guān)系,最好選擇可以連續(xù)讀取鍵值的區(qū)間,便于程序處理和減少讀取時(shí)間和處理時(shí)間。 圖(9) PT6312讀取數(shù)據(jù)
圖(10) PT6312應(yīng)用時(shí)序
單片機(jī)編程實(shí)現(xiàn) PS:主程序調(diào)用顯示更新程序即可更新顯示,順序?yàn)橄雀鶕?jù)顯示屏電路連接的段位,對應(yīng)設(shè)置PT6312段位,寫入PT6312內(nèi)部RAM,再設(shè)置PT6312寫完一個(gè)字節(jié)后其內(nèi)部RAM地址是否自動(dòng)跳轉(zhuǎn)+1,然后再設(shè)置VFD亮度,最后把單片機(jī)處理的顯示數(shù)據(jù)對應(yīng)寫入PT6312的顯存中。 同樣鍵盤程序也需要循環(huán)調(diào)用,鍵盤程序就是給PT6312發(fā)一個(gè)讀鍵命令(先寫入一個(gè)讀鍵命令字給PT6312),再讀出其內(nèi)部按鍵緩存的值判斷按鍵,按鍵按下就執(zhí)行對應(yīng)的功能或者更新單片機(jī)內(nèi)的顯示存儲數(shù)據(jù)。 PT6312的鍵值內(nèi)部緩存有3個(gè),讀三次緩存到3個(gè)寄存器。讀鍵程序可參考單片機(jī)音響技術(shù)網(wǎng)TOPAV-2008開發(fā)板配套之相關(guān)程序。
下面給出顯示與更新的子程序: WR_VFD: MOV A,#MODE_VFD;掃描模式,段位設(shè)置6X16 CALL WR_PT6312_COMD
MOV A,#WR_DIS_MEM_I;地址+1 CALL WR_PT6312_COMD
MOV A,S_DB_DIMMER;顯示亮度設(shè)置 CALL WR_PT6312_COMD
MOV A,#0C0H ;FIRST ADDRESS=00H開始,6311:00H-2FH,6312:00H-15H CALL WR_PT6312_COMD
MOV R1,#ADD_START;顯示值緩存RAM開始地址 WR_VFD2: MOV A,@R1 CALL WR_A_BYTE_TO_VFD0 INC R1;顯示緩存RAM地址+1 MOV A,@R1 CALL WR_A_BYTE_TO_VFD0; INC R1 CJNE R1,#ADD_END,WR_VFD2;循環(huán)寫完全部緩存 SETB P_STB_VFD END_WR_VFD: RET
WR_PT6312_COMD: SETB P_STB_VFD CLR P_STB_VFD WR_A_BYTE_TO_VFD0:;寫入一個(gè)字節(jié) MOV R0,#8 WR_A_BYTE_TO_VFD1: RRC A CLR P_CLK_VFD MOV P_DATA_VFD,C SETB P_CLK_VFD DJNZ R0,WR_A_BYTE_TO_VFD1 RET
RD_A_BYTE_F_VFD0:;讀一個(gè)字節(jié) SETB P_DATA_VFD;讀取先置位 MOV R0,#8 RD_A_BYTE_F_VFD1: CLR P_CLK_VFD MOV C,P_DATA_VFD;CLK上升沿讀出數(shù)據(jù) SETB P_CLK_VFD RRC A DJNZ R0,RD_A_BYTE_F_VFD1 RET
又:PT6311只是矩陣鍵掃緩存多3個(gè),LED口多一個(gè),其段位設(shè)置方式比PT6312多,適應(yīng)更復(fù)雜的顯示屏,所以其內(nèi)部顯示緩存要多些,編程方式幾乎一樣,在此不多說明,可參考PT6311的DATASHEET。 |