摘 要:以由KS0108控制器控制的LCD為例,研究如何使用Proteus進行LCD顯示的仿真。仿真軟件Proteus在原理圖設計、電路、單片機仿真及PCB電路的制作等方面都表現卓越。以一款128×64的LCD為例,一方面探討了如何在液晶上顯示,另一方面突出了Proteus軟件在單片機仿真領域的應用,給出了具體的思路和調試過程,對學習Proteus的仿真有一定的指導意義。
關鍵詞:Proteus; LCD; 單片機; 仿真
中圖分類號:
TN710-34; TP399
文獻標識碼:A
文章編號:1004-373X(2011)19
-0208
-03
Research on LCD Display Based on Proteus
WU Ling-yan, WANG Shou-quan, GUO Wei-bo
(Qingdao Branch of NAEI, Qingdao 266041,China)
Abstract: Taking an example of LCD which is controlled by KS0108 controller, the simulation of LCD display by using Proteus is studied. The Proteus simulation software displays remarkably in schematic diagram design, electric circuit, MCU simulation, manufacture of PCB electric circuit and so on. Taking an example of 128*64 LCD, whose display on the liquid crystal is discussed. The application of the Proteus software in the field of MCU simulation is proposed, and its concrete mentality and debugging process are presented. It has certain guiding sense for studying simulation of Proteus.
Keywords: Proteus; LCD; single-chip microcomputer; simulation
0 引 言
Proteus是英國Labcenter electronics公司出版的EDA工具軟件,它實現了從原理圖設計、代碼調試到單片機與外圍電路的協同仿真,一鍵切換到PCB設計,實現了從概念到產品的完整設計[1],是目前世界上惟一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051,HC11,PIC10/12/16/18/24/30/DsPIC33,AVR,ARM,8086和MSP430等,可編譯匯編語言,同時支持IAR,Keil和MPLAB等多種編譯器[2]。
該軟件資源豐富,其中元器件資源有:數字和模擬、交流和直流等數千種仿真器件,有30多個元件庫;儀表資源有:示波器、邏輯分析儀、虛擬終端、SPI調試器、I2C調試器、信號發生器、模式發生器、交直流電壓表、交直流電流表等。
1 128×64點陣型LCD
目前常用的點陣型LCD有122×32,128×64,240×320等,點陣液晶顯示屏有三種控制器,分別是KS0108,T6963C和ST7920,三種控制器主要區別是: KS0108不帶任何字庫、T6963C帶ASCII碼,ST7920帶國標二級字庫(8 000多個漢字)。
Proteus的器件庫里提供了多種LCD。本文以KS0108控制器控制的LCD為例,研究了該屏的顯示。由KS0108控制器控制的128×64的點陣液晶顯示屏Proteus中有兩種型號:LGM12641BS1R,AMPIRE 128×64。
1.1 LCD的引腳及功能介紹
128×64點陣型LCD LGM12641BS1R和AMPIRE 128×64的引腳及其功能介紹見表1。
從表1中可以看出,LGM12641BS1R和AMPIRE 128×64的主要區別在于屏選信號控制端CS1和CS2, LGM12641BS1R為高電平有效,AMPIRE 128×64為低電平有效。
1.2 液晶的讀寫時序
如圖1所示,在使能端E為高電平,R/W為低電平時,將數據DB0~DB7寫入并鎖存;讀操作為E高電平,R/W為高電平時,將鎖存的數據讀出來,送顯示。
表1 LCD的引腳及功能介紹
引腳號名稱有效電平功能簡介
1CS1(CS1)H(LGM12641BS1R)
L(AMPIRE 128×64)高電平時,選中左半屏(LGM12641BS1R)
低電平時,選中左半屏(AMPIRE 128×64)
2CS2(CS2)H(LGM12641BS1R)
L(AMPIRE 128×64)高電平時,選中右半屏(LGM12641BS1R)
低電平時,選中右半屏(AMPIRE 128×64)
3GND電源地LCD供電端
4VCC電源正LCD供電端
5V0LCD屏操作電壓,調節V0,改變屏顯對比度
6DIH/LD/I=“H”, DB0~DB7為數據
D/I=“L”, DB0~DB7為指令
7R/WH/L讀寫控制
8EH/L使能端
9~16DB0~DB7H/L數據端
17RSTL復位端
18-VOUTLCD驅動負電壓
2 LCD在Proteus中的仿真
2.1 硬件整機電路圖[3-4]
仿真過程中,采用單片機89C52為主控單元,由于同時控制兩塊屏,為避免連線混亂,采用連接節點模式,在連線上加“線標”進行相應連接,整體電路圖如圖2所示。
由于LGM12641BS1R和AMPIRE 128×64屏選信號控制端CS1和CS2有效電平不同, 為實現二者的同步顯示,在AMPIRE 128×64的片選控制端CS1和CS2上分別加了反相器。
圖2 整體電路圖
2.2 仿真步驟
由于該LCD為點陣型的,要顯示中文漢字,就要用輔助的漢字取模工具,作者選用了“清華蓬遠的液晶字庫顯示程序”,取模時注意相關項的設置,否則不能正常顯示,設置如圖3所示。
取模時,采用縱向取模,同時字節倒序。顯示效果如圖4所示。
2.3 程序的調試[5-7]
程序采用C51編寫,用Keil調試(若為匯編語言編寫的程序,Proteus軟件自帶的編譯器也可以編譯,無需Keil),調試過程中,在Project中有個“Options for Target+工程名”的可選項中,點擊 “Output”,在“Creat HEX Fi”前劃對號,以示選中。這樣在Proteus ISIS 仿真環境下,就可以直接加載在keil中生成的*.hex文件,進行仿真演示。
3 結 語
以89C52驅動兩種KS0108控制器控制的LGM12641BS1R和AMPIRE 128×64兩種LCD為例,給出了仿真的注意事項和仿真的效果,為電路簡潔大方,連接方法采用節點法,在連線上加線標實現連接,當然也可以采用總線方式。Proteus在單片機仿真領域應用廣泛, 不但支持8051系列的CPU模型, 還支持68000,AVR,PIC12,PIC16,PIC18,Z80,HC11等
系列的單片機,且還可以仿真模擬電路、數字電路及二者混合的電路,軟件仿真,節約了耗材,提高了效率,簡化了設計過程,值得廣泛使用。
圖5 Keil中hex文件生成的設置
參 考 文 獻
[1]肖婧.單片機系統設計與仿真:基于Proteus[M].北京:北京航空航天大學出版社,2010.
[2]張靖武,周靈斌.單片機系統的Proteus設計與仿真[M].北京:電子工業出版社,2008.
[3]吳凌燕.Multisim 10在單片機仿真中的應用[J].國外電子測量技術,2011,30(3):67-70.
[4]陳潔.EDA軟件技術快速入門[M].北京:中國電力出版社,2009.
[5]唐前輝,丁明亮.Proteus ISIS和Keil在單片機教學中的應用[J].重慶電力高等專科學校學報,2006,11(4):46-49.
[6]李光飛,李良兒,樓然苗.單片機C程序設計實例指導[M].北京:北京航空航天大學出版社,2005.
[7]馬忠梅,籍順心,張凱,等.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2004.
[8]劉超,王玨龍,周求湛.基于NI Multisim 10 MCU模塊的單片機仿真[J].國外電子測量技術,2008,27(8):58-60.
[9]陳景華.Multisim 10在單片機教學中的應用[J].韶關學院學報,2008,29(6):128-132.