lpc1114驅(qū)動(dòng)1602_0802程序
圖1.LPC1114驅(qū)動(dòng)LCD1602
圖2.LPC1114驅(qū)動(dòng)LCD0802
LCD1602和LCD0802用的程序是一樣的。
lcd.h文件中,代碼如下:
#ifndef__LCD0802_H__#define__LCD0802_H__#include"lpc11xx.h"#defineOUT_DATA(value)LPC_GPIO2->DATA=(value<<4)#defineRS_LOWLPC_GPIO3->DATA&=~(1<<0)#defineRS_HIGHLPC_GPIO3->DATA|=(1<<0)#defineWR_LOWLPC_GPIO3->DATA&=~(1<<1)#defineWR_HIGHLPC_GPIO3->DATA|=(1<<1)#defineEN_LOWLPC_GPIO3->DATA&=~(1<<2)#defineEN_HIGHLPC_GPIO3->DATA|=(1<<2)externvoiddelay_0802(uint16_tus);externvoidwrite_com(uint16_tcom);externvoidwrite_date(uint16_tdat);externvoidinit_0802(void);externvoidlcd_show(void);#endif
lcd.c文件中,代碼如下:
#include"lcd.h"#include"lpc11xx.h"voiddelay_0802(uint16_tus){uint16_ti,j;for(i=0;i<100;i++)for(j=0;jDIR|=0xFF0;//設(shè)置P2口高8位引腳為輸出,用作LCD8位并行數(shù)據(jù)LPC_GPIO2->DATA|=0XFF0;//P2口高8位引腳置高LPC_GPIO3->DIR|=0x007;//P3口P3.0到P3.3為輸出,用作LCD控制引腳LPC_GPIO3->DATA|=0x007;//P3口P3.0到P3.3置高delay_0802(300);write_com(0x38);delay_0802(100);write_com(0x38);delay_0802(100);write_com(0x38);delay_0802(100);write_com(0x0c);delay_0802(100);write_com(0x06);delay_0802(100);write_com(0x01);delay_0802(100);}
main.c文件中,代碼如下:
/***************************************************名稱:LPC1114驅(qū)動(dòng)LCD08021602*主頻:50Mhz(外部接10MHz晶振,倍頻5倍)*作者:Ration(瑞生電子網(wǎng)CEO)*時(shí)間:2013年12月5日(整理)*版權(quán):版權(quán)歸<單片機(jī)學(xué)習(xí)網(wǎng)>所有,傳播請(qǐng)保持完整性**更多程序請(qǐng)?jiān)L問(wèn):http://www.rationmcu.com*************************************************/#include"lpc11xx.h"#include"lcd.h"uint8_ttable1[8]="Hello";uint8_ttable2[8]="World";voiddelay_ms(uint16_tms){uint16_ti,j;for(i=0;i<5000;i++)for(j=0;j