史潔
摘 要:硬件電路由 AT89C51 單片機(jī)控制器、1602液晶顯示組成。 通過(guò)C語(yǔ)言對(duì)單片機(jī)進(jìn)行控制操作。 完成了實(shí)物電路并在 Proteus 軟件的基礎(chǔ)上對(duì)結(jié)果進(jìn)行仿真, 得到1602液晶顯示效果圖。 實(shí)驗(yàn)結(jié)果表明, 在單片機(jī)顯示領(lǐng)域的設(shè)計(jì)開(kāi)發(fā)中 Proteus 軟件具有重要的實(shí)用價(jià)值, 可以大幅縮短開(kāi)發(fā)周期, 節(jié)約開(kāi)發(fā)成本。
關(guān)鍵詞:液晶顯示;單片機(jī);Proteus
中圖分類(lèi)號(hào):TP368.12 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:The hardware circuit is composed of AT89C51 singlechip controller and 1602 LCD display. C language to control the operation of the microcontroller. Completed the physical circuit, and on the basis of Proteus software on the results of simulation, obtained 1602 LCD display effect diagram. The experimental results show that Proteus software has important practical value in the design and development of single chip display field, which can greatly shorten the development cycle and save development costs.
Keywords: liquid crystal display, SCM, Proteus
0 引言
Proteus 軟件是英國(guó) Labcenter 公司開(kāi)發(fā)的一個(gè)電路分析與實(shí)物仿真軟件, 它具有模擬電路和數(shù)字電路仿真功能,支持主流單片機(jī)及其外圍電路組成系統(tǒng)的仿真,提供軟件調(diào)試功能。在實(shí)際工程中,通常用 Keil 進(jìn)行軟件仿真,Proteus 進(jìn)行硬件仿真,并進(jìn)行系統(tǒng)聯(lián)調(diào);通過(guò)此方式,可以驗(yàn)證系統(tǒng)設(shè)計(jì)方案的正確性,降低設(shè)計(jì)成本,提高產(chǎn)品開(kāi)發(fā)效率。LCD1602液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn), 在儀器儀表中被廣泛的使用。目前,字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。LCD1602液晶顯示模塊,它可以顯示兩行,每行16個(gè)字符,采用單+5 V電源供電,外圍電路配置簡(jiǎn)單,價(jià)格便宜,具有很高的性?xún)r(jià)比。
1 1602液晶顯示硬件電路的設(shè)計(jì)
(1)主要技術(shù)參數(shù)如表1。
(2)接口信號(hào)說(shuō)明如表2。
(3)基本寫(xiě)操作時(shí)序
寫(xiě)指令如圖1所示。
寫(xiě)數(shù)據(jù)如圖2所示。
(4)RAM地址映射圖
控制器內(nèi)部帶有80×8位(80字節(jié))的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如圖3所示。
(5)指令說(shuō)明
①顯示模式設(shè)置:指令碼為38H,功能為設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口。
②顯示開(kāi)關(guān)及光標(biāo)設(shè)置如表3。
③數(shù)據(jù)指針設(shè)置如表4。
④顯示清屏為01H,顯示回車(chē)為02H。
1602LCD液晶顯示與單片機(jī)連接電路如圖4所示。
2 1602液晶顯示軟件的設(shè)計(jì)
系統(tǒng)的主程序如圖5所示。
顯示單片機(jī)參考程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="danpianji";
sbit rs=P2^0;
sbit e=P2^1;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void tdata(uchar date);
void tcom(uchar com);
void lcdinit();
void main()
{uchar i;
lcdinit();
for(i=0;i<10;i++)
{
tdata(table[i]);
}
while(1);
}
void tdata(uchar date)
{rs=0;
rs=1;
e=0;
delay(2);
P3=date;
e=1;
delay(2);
e=0;
rs=0;
}
void tcom(uchar com)
{rs=1;
rs=0;
e=0;
delay(2);
P3=com;
e=1;
delay(2);
e=0;
rs=1;
}
void lcdinit()
{
tcom(0x38);
tcom(0x0c);
tcom(0x06);
tcom(0x01);
tcom(0x80+0x00);
}
3 仿真顯示
系統(tǒng)仿真是通過(guò) Proteus 軟件及 Keil 軟件的聯(lián)調(diào)實(shí)現(xiàn)的。 首先,在 Keil 中,采用 C 語(yǔ)言編寫(xiě)和調(diào)試源程序,生成.HEX 文件,接著在 Pro
teus 環(huán)境下編輯仿真電路圖如圖6所示,導(dǎo)入.HEX 文件后進(jìn)行軟硬件交互仿真。
4 結(jié)論
實(shí)踐證明, Proteus 是單片機(jī)應(yīng)用產(chǎn)品靈活、高效、正確的設(shè)計(jì)與仿真平臺(tái),為單片機(jī)應(yīng)用產(chǎn)品研發(fā)提供了完整的虛擬實(shí)驗(yàn)室, 改革了單片機(jī)應(yīng)用產(chǎn)品的研發(fā)過(guò)程, 為廣大單片機(jī)初學(xué)者及工程技術(shù)人員提供了單片機(jī)開(kāi)發(fā)輔助手段。
參考文獻(xiàn):
[1] 楊延寧,劉立軍,張志勇.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示電路設(shè)計(jì)[J].液晶與顯示,2009(1):98.
[2] 劉飛,田承雷.單片機(jī)控制液晶顯示器[J].礦業(yè)科學(xué)技術(shù),2005(2):9.
[3] 趙亮.液晶顯示模塊LCD1602應(yīng)用[J].電子制作,2007(3).
[4] 徐瑋.51單片機(jī)綜合學(xué)習(xí)系統(tǒng)——1602字符型液晶顯示篇[J].電子制作,2008(1):21.