隨著科技的不斷發(fā)展,各種各樣的顯示設(shè)備也越來越多樣化,二十世紀(jì)80年代的扭曲屏幕,到如今的智能顯示屏,各種各樣的顯示設(shè)備創(chuàng)造了不同的展示形式。其中,16x2 lcd是一種常用的顯示設(shè)備,具有簡單易用的特點,適合連接到單片機(jī)開發(fā)板進(jìn)行開發(fā)。
在使用16x2 lcd時,我們需要把lcd和arm7-lpc2148單片機(jī)連接在一起,以便單片機(jī)可以控制lcd并顯示文字。連接時需要注意的是,必須確保每個引腳的電壓水平一樣,否則會對設(shè)備造成損壞。因此,建議使用專門的轉(zhuǎn)接板進(jìn)行連接,以降低連接難度和提高連接可靠性。
接下來,我們需要準(zhǔn)備一些基本的元件,例如16x2 lcd、電路板和導(dǎo)線等。首先,將電路板上的相關(guān)元件連接好,并根據(jù)lcd的引腳定義,將lcd連接到電路板上。
接下來,我們需要編寫代碼,以使單片機(jī)完成lcd的控制和文字的顯示。lpc2148單片機(jī)使用的是arm7內(nèi)核,因此我們可以使用keil uvision等開發(fā)軟件來編寫程序。以下是一個簡單的程序示例:
#include
void delay(int i) //延時函數(shù)
{
while(i--);
}
void lcd_write_cmd(unsigned char c) //寫命令函數(shù)
{
io0pin &= ~(1<<17);
io0pin &= ~(1<<16);
io0pin &= ~(0xff<<0);
io0pin |= (c<<0);
io0pin |= (1<<18);
delay(1000);
io0pin &= ~(1<<18);
}
void lcd_write_data(unsigned char c) //寫數(shù)據(jù)函數(shù)
{
io0pin |= (1<<17);
io0pin &= ~(1<<16);
io0pin &= ~(0xff<<0);
io0pin |= (c<<0);
io0pin |= (1<<18);
delay(1000);
io0pin &= ~(1<<18);
}
void lcd_init(void) //初始化函數(shù)
{
lcd_write_cmd(0x38);
lcd_write_cmd(0x0e);
lcd_write_cmd(0x06);
lcd_write_cmd(0x01);
}
int main(void)
{
lcd_init();
lcd_write_data('h');
lcd_write_data('e');
lcd_write_data('l');
lcd_write_data('l');
lcd_write_data('o');
lcd_write_data(' ');
lcd_write_data('w');
lcd_write_data('o');
lcd_write_data('r');
lcd_write_data('l');
lcd_write_data('d');
while(1);
}
上述代碼中,我們定義了幾個函數(shù),包括寫命令函數(shù)、寫數(shù)據(jù)函數(shù)、初始化函數(shù)和延時函數(shù)。在主函數(shù)中,我們先初始化lcd,然后寫入一些數(shù)據(jù),以測試lcd是否可以正常工作。在這里,我們寫入了“hello world”這個字符串,并通過上述連接方式將字符串顯示在lcd上。
總的來說,使用16x2 lcd與arm7-lpc2148連接并顯示文字的過程比較簡單,只需連接好相關(guān)元件,編寫好程序,然后就可以輕松地實現(xiàn)lcd的控制和數(shù)據(jù)的顯示了。以下是一個完整的連接圖例: