天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234

技術支持

如何使用PIC單片機控制LCD顯示屏?

更新時間: 2021-12-06

在本案例中,英銳恩單片機開發工程師將介紹如何將16×2 LCD顯示屏連接到PIC18F系列的PIC18F4550單片機。

PIC18F4550的特點:

(1)PIC18F4550屬于PIC18F系列;PIC18F4550是一款8位單片機,采用RISC架構。PIC18F4550有40個PDIP(雙列直插式封裝)引腳和44個TQFP(四方扁平封裝)引腳。
(2)PIC18F4550中嵌入了32KB閃存、2048字節的SRAM(同步隨機存取存儲器)、256字節的EEPROM(電可擦除程序只讀存儲器)。
(3)它有35個I/O引腳,用于與其他外圍設備接口和通信,13通道10位模數轉換器,用于連接和通信模擬外圍設備(直流電機、LDR等)。
(4)它有2個CCP和1個ECCP模塊,是增強型捕獲和比較模塊,主要用于調制和波形生成功能。CCP模塊是16位寄存器,作為16位捕捉位寄存器、16位比較位寄存器、PWM和占空比寄存器。
(5)PIC18F4550具有SPI(串行外設接口)和i2c(內部集成電路)用于主從模式。它具有用于USB流傳輸的SPP(流并行端口)。
(6)PIC18F4550內嵌了4個定時器模塊(timer0到timer3)、2個比較器模塊和3個外部中斷。它具有雙振蕩器選項,允許單片機和USB模塊以不同的時鐘速度運行。它可以在2.0V至5.5V下工作。

16X2 LCD接口PIC單片機電路圖:

Circuit-Diagram-of-16X2-LCD-Interfacing-PIC-Microcontroller.png

16X2 LCD接口PIC單片機-電路說明:

電阻器R1用于為LCD提供對比度。12MHz的晶振連接到Pic單片機PIC18F4550的OSC1和OSC2引腳作為系統時鐘。電容C2和C3將作為晶體振蕩器的濾波器。您可以使用不同的端口或引腳來連接LCD,然后再轉到不同的端口,請檢查數據手冊中的引腳是通用引腳還是特殊功能引腳。

將16X2 LCD連接到PIC:

將LCD連接到PIC與連接到8051沒有什么不同。只有用于接口的引腳、寄存器和架構會有所不同。當我們查看程序時,初始化、向LCD發送數據等功能幾乎相同。

在用于初始化LCD的pic編程中,R/W引腳應為低電平以寫入數據,啟用引腳應為高電平,寄存器選擇引腳(RS)應為高電平以寫入數據。要發送命令,RS應為低電平,R/W引腳應為低電平,使能引腳應為高電平。

初始化LCD功能:

lcdcmd(0x38);//配置LCD為8位模式,2行5×7字體
lcdcmd(0x0C);//顯示開啟和關閉光標
lcdcmd(0x01);//清除顯示屏幕
lcdcmd(0x06);//增加光標
lcdcmd(0x80);//設置光標位置為第一行第一列

向LC發送命令:

rs=0;寄存器選擇引腳為低電平。
rw=0;讀/寫引腳也用于向LCD寫入命令。
en=1;使能引腳為高電平。
向LCD發送數據:
rs=1;寄存器選擇引腳為高電平。
rw=0;讀/寫引腳也用于向LCD寫入命令。
en=1;使能引腳為高電平。

編程步驟:

在您的系統中安裝MPLAB并創建一個新項目,在選擇設備和系列時選擇PIC18F系列并將PIC18F4550控制器添加到您的項目中。
選擇您已安裝的編譯器并將文件添加到您的項目中。添加文件后粘貼下面給出的代碼并運行它。因為它是一個預編譯和測試過的程序,所以你不會發現任何錯誤。
在沒有錯誤的情況下編譯程序后,使用PICKIT2或PICKIT3編程器/調試器將程序轉儲到您的開發板上。
如果您不使用PICKIT,則只需編譯代碼并使HEX文件使用此HEX文件對PIC單片機進行編程。

LCD與PIC18F4550接口程序:

#define rs LATA.F0
#define rw LATA.F1
#define en LATA.F2
//LCD 數據引腳
#define lcdport LATB

void lcd_init();
void lcdcmd(unsigned char);
void lcddata(unsigned char);
unsigned char data[20]=”hello world”;
unsigned int i=0;

void main(void)
{
TRISA=0;                             // 將端口 A 配置為輸出端口
LATA=0;
TRISB=0;                             // 配置端口 B 為輸出端口
LATB=0;
lcd_init();                              // LCD 初始化
while(data[i]!=’\0′)
{
lcddata(data[i]);     // 調用lcddata函數
i++;
Delay_ms(300);
}
}

void lcd_init()
{
lcdcmd(0x38);
lcdcmd (0x0C);
lcdcmd(0x01);
lcdcmd(0x06);
lcdcmd(0x80);

}

void lcdcmd(unsigned char cmdout)
{
lcdport=cmdout;
rs=0;
rw=0;
en=1;
Delay_ms(10);
en=0;
}

void lcddata(unsigned char dataout)
{
lcdport=dataout;
rs=1;
rw=0;
en=1;
Delay_ms(10);
en=0;
}

以上就是英銳恩單片機開發工程師分享的“如何使用PIC單片機控制LCD顯示屏?”。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機。

404
返回首頁 |  返回上一頁
联系我们: 板桥市| 县级市| 缙云县| 永和县| 九寨沟县| 鹤庆县| 永昌县| 交口县| 买车| 富民县| 西华县| 仙居县| 庆城县| 班玛县| 崇信县| 洛隆县| 五台县| 依兰县| 玉门市| 桂林市| 南昌市| 保靖县| 滁州市| 镶黄旗| 平凉市| 慈利县| 车险| 东至县| 徐州市| 攀枝花市| 佳木斯市| 门头沟区| 兴和县| 肥东县| 日土县| 大悟县| 平原县| 美姑县| 康马县| 都匀市| 嘉峪关市|