《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > SED1520與PIC單片機(jī)的接口設(shè)計(jì)
SED1520與PIC單片機(jī)的接口設(shè)計(jì)
摘要: 介紹了液晶顯示驅(qū)動(dòng)器SED1520的結(jié)構(gòu)、編程指令,,給出了其與PIC16F874單片機(jī)接口的電路,,并以內(nèi)置SED1520的液晶模塊12232為例介紹如何顯示漢字,并給出顯示部分初始化程序流程,。
Abstract:
Key words :

1引言

  智能儀器儀表設(shè)計(jì)中,通常都要對(duì)測(cè)控信息進(jìn)行顯示。受儀器功耗,、體積及其它條件的影響,一般CRT顯示器往往不太適用,。而半導(dǎo)體數(shù)碼管,,雖能顯示數(shù)碼及少數(shù)字母,卻無法靈活顯示各種文字、圖形,、表格等,,有著較大的局限性。而LCD顯示器由于具有功能強(qiáng),、功耗低,、顯示清晰、構(gòu)造輕巧等優(yōu)點(diǎn),,被廣泛運(yùn)用于各類智能儀器儀表的顯示,。PIC單片機(jī)對(duì)比傳統(tǒng)MCS51系列單片機(jī),它具有內(nèi)置功能模塊多,、抗干擾性好,、速度快、功耗低等優(yōu)點(diǎn),,被廣泛應(yīng)用于工業(yè)控制領(lǐng)域,。本文將以SED1520與PIC16F874為例介紹LCD顯示器與PIC單片機(jī)接口的實(shí)用方法。

  2 SED1520的結(jié)構(gòu),、指令及其與PIC單片機(jī)的接口電路
 

  SED1520的結(jié)構(gòu)框圖如圖1所示,,它主要由定時(shí)計(jì)數(shù)器、行列地址寄存與譯碼電路,、顯示RAM,、MPU接口電路、LCD接口電路組成,。它與外部的接口主要分三個(gè)部分:一部分是電源,、復(fù)位信號(hào)和時(shí)鐘;一部分是LCD接口,、另一部分是與MPU(微處理器)的接口,。與LCD的接口一般已由提供液晶模塊的制造商負(fù)責(zé),對(duì)于液晶模塊的使用者,,只須掌握與MPU接口的部分,。另外,SED1520還需要提供2KHZ的時(shí)鐘信號(hào),。

  SED1520的指令列表如表1,,它的顯示存儲(chǔ)器共有4頁(對(duì)應(yīng)頁地址0~3),每個(gè)頁面上都有80個(gè)字節(jié)(對(duì)應(yīng)列地址為0~79),,每個(gè)字節(jié)中的8位數(shù)據(jù)都對(duì)應(yīng)著顯示屏上同一列的8點(diǎn)行,。列地址指針就是管理這80個(gè)字節(jié)單元的。列地址指針是一個(gè)7位加1計(jì)數(shù)器,。由它和頁地址寄存器組合唯一指定了顯示存儲(chǔ)器的某一個(gè)單元,。SED1520中的RAM共有32行,分為4頁,每頁8行,,這樣如果按8*8點(diǎn)陣顯示字符,,每頁可以寫一行10個(gè)字符,總共寫4行,而漢字一般是16*16點(diǎn)陣,,則每行可顯示5個(gè)漢字,,共可顯示兩行。如果將多個(gè)SED1520拼起來,,就可組成不同顯示容量的液晶模塊,,

  SED1520與PIC16F874的接口電路如圖2所示。各引腳說明如下:

?

  SED1520的指令的解釋和執(zhí)行不依賴外部時(shí)鐘,,而是由內(nèi)部時(shí)鐘同步的,,所以它的指令執(zhí)行的速度很快,一般不需要檢測(cè)SED1520是否忙,。由于PIC16F874的I/O口是輸出或輸入要對(duì)相應(yīng)寄存器進(jìn)行設(shè)置,,如圖2,PIC16F874的RD口在向SED1520寫數(shù)據(jù)時(shí)要被設(shè)置成輸出口,,而讀數(shù)據(jù)時(shí)又要被設(shè)置成輸入口,,為了精減程序和提高速度,我們可以不用讀SED1520的狀態(tài),,直接向其寫數(shù)據(jù),。這樣SED1520的RD腳直接接高電平,PIC16F874的RC3腳也可省下留作它用,。

  3具體編程實(shí)例

  在具體的實(shí)際應(yīng)用中,我們經(jīng)常要顯示漢字,,一般漢字的字模如圖4,,字節(jié)內(nèi)部的8個(gè)位是橫排的,而對(duì)于SED1520,,字節(jié)的8個(gè)位要豎排,,即每個(gè)字符要跨8行顯示,需要按圖5顯示漢字,。那么要將字模的各字節(jié)按位進(jìn)行如下計(jì)算:將標(biāo)準(zhǔn)字模的字節(jié)組1的8個(gè)字節(jié)的bit7組合起來就成為SED1520漢字字模的字節(jié)1,,bit6組合起來就成為SED1520漢字字模的字節(jié)2,依此類推,,就可計(jì)算出SED1520漢字字模的32個(gè)字節(jié),,顯示時(shí),先確定字節(jié)1的位置(頁地址與列地址),,然后連續(xù)顯示字節(jié)1~字節(jié)16,,再頁地址加1,列地址為字節(jié)1的列地址,設(shè)置好后送字節(jié)17~字節(jié)32即完一成個(gè)漢字顯示,。

  我們將以12232為例介紹液晶模塊的使用方法,,12232內(nèi)置2個(gè)SED1520,通過片選來訪問不同的SED1520,,它可顯示4行(對(duì)應(yīng)0~3頁地址),,每行可顯示122個(gè)字符,前61個(gè)字符對(duì)應(yīng)左邊SED1520,,后61個(gè)字符對(duì)應(yīng)右邊SED1520,,列地址0~60對(duì)應(yīng)這61個(gè)字符的位置,列地址61~79沒有使用,。對(duì)SED1520初始化的程序流程圖如圖3,。清屏是將所有的顯示RAM內(nèi)的數(shù)據(jù)置0,初始化后,,要具體在某個(gè)位置顯示字符需要設(shè)置對(duì)應(yīng)的頁地址(行)和列地址,,然后向SED1520寫數(shù)據(jù)即可。以下為顯示部分初始化程序流程圖,。

  4 結(jié)束語

  SED1520是一款性能價(jià)格比很高的LCD驅(qū)動(dòng)芯片,,將它與單片微機(jī)接口可用于各類儀表,具有硬件省,、功耗低,、軟件程序簡(jiǎn)潔等特點(diǎn)。該接口設(shè)計(jì)已成功應(yīng)用于電動(dòng)汽車電量管理的顯示,,證明該設(shè)計(jì)穩(wěn)定可靠,。

  本文作者創(chuàng)新點(diǎn):單片機(jī)在對(duì)LCD控制器寫數(shù)據(jù)前一般都要先讀它是否忙,以免寫數(shù)據(jù)失敗,而PIC單片機(jī)的I/O口在讀與寫的功能轉(zhuǎn)換中要不停地更改該口的設(shè)置,這樣程序就很繁瑣,還有可能導(dǎo)致系統(tǒng)不穩(wěn)定,。作者在通過實(shí)際設(shè)計(jì)與應(yīng)用后,對(duì)LCD控制器省去了讀狀態(tài)檢測(cè),根據(jù)SED1520的數(shù)據(jù)手冊(cè)中介紹的讀寫時(shí)序,進(jìn)行適當(dāng)延時(shí),這樣精減了程序還省下了在單片機(jī)系統(tǒng)設(shè)計(jì)中比較寶貴的I/O口,,而且系統(tǒng)一直穩(wěn)定。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。